Eine Möglichkeit, dies zu betrachten, ist WebGL, OpenGL ES 2.0, und OpenGL ES 2.0 ist OpenGL, wobei alle alten Cruft entfernt wurden.
Da Shader hinzugefügt glPushMatrix
wurden glLight
, glVertex
machte es keinen Sinn , die alte Pipeline mit festen Funktionen usw. beizubehalten.
Sind diese "fehlenden" Funktionen oder korrekt und ordnungsgemäß "veraltete" Funktionen?
Welche spezifischen Funktionen suchen Sie?
WebGL / OpenGL ES 2.0 ist ein grundlegender Vertex- und Fragment-Shader. Es gibt nur begrenzte Unterstützung für Nicht-Power-of-2-Texturen und nur wenige Texturformate (99% aller Texturen sind RGB8 oder RGBA8). Die Unterstützung von Gleitkomma-Texturen ist optional, wird jedoch von den meisten Geräten unterstützt. Die Unterstützung für das Rendern in Gleitkomma-Texturen ist jedoch seltener. Nur wenige mobile Geräte unterstützen das Rendern in eine Gleitkomma-Textur.
WebGL2 (gerade ausgeliefert) und OpenGL ES 3.0 haben eine Menge neuer Texturformate hinzugefügt, darunter ganzzahlige Texturen und 3D-Texturen. Die Nicht-Potenz-von-2-Texturgrenzen wurden entfernt. Es wurde Transformations-Feedback hinzugefügt (die Fähigkeit eines Vertex-Shaders, in einen Puffer zu schreiben). Es wurden auch Okklusionsabfragen hinzugefügt. Vertex-Array-Objekte sind Standard (sie waren in WebGL / ES 3.0 optional). Es gibt eine Reihe weiterer kleinerer Funktionen.
ES 3.1 (und wahrscheinlich die nächste Version von WebGL) fügt Compute-Shader hinzu (die Fähigkeit eines Fragment-Shaders, Schreibvorgänge mit wahlfreiem Zugriff auszuführen). Fragment-Shader konnten im Moment nur auf das von ihnen angeforderte Fragment / Pixel schreiben, während sie Shader berechnen und schreiben, wo immer sie wollen.
Welche anderen Funktionen wollten Sie verwenden?