Один із способів поглянути на це WebGL - це OpenGL ES 2.0, а OpenGL ES 2.0 - OpenGL, при цьому всі видалені застарілі версії.
Оскільки шейдери були додані всі фіксованою функції трубопроводу в спадок glPushMatrix
,glLight
, і glVertex
т.д. все не має сенсу тримати навколо.
Тож ці "відсутні" функції чи правильно і правильно "застарілі" функції?
Які конкретні особливості ви шукаєте?
WebGL / OpenGL ES 2.0 - це основні шейдери вершин та фрагментів. Існує обмежена підтримка текстур без потужності-2 та лише декілька текстурних форматів (не дуже велика межа - це 99% усіх текстур RGB8 або RGBA8). Підтримка текстур з плаваючою комою необов’язкова, але більшість пристроїв підтримує їх. Підтримка візуалізації текстур з плаваючою комою рідше. Мало хто з мобільних пристроїв підтримує візуалізацію текстури з плаваючою точкою.
WebGL2 (щойно поставляється) та OpenGL ES 3.0 додали багато нових форматів текстур, включаючи текстуру на основі цілої кількості та 3D-текстури. Це прибрало межі текстури без потужності-2. Це додало зворотній зв'язок трансформації (можливість вершинного шейдера записувати в буфер). Він також додав запити оклюзії. Об'єкти масиву Vertex є стандартними (вони були необов'язковими в WebGL / ES 3.0). Існує маса інших більш незначних функцій.
ES 3.1 (і, можливо, наступна версія WebGL) додає обчислювальні шейдери (можливість шейдера фрагментів робити записи випадкового доступу). Фрагментні шейдери могли записувати лише до того фрагменту / пікселя, який проситься про них на даний момент, тоді як обчислюють шейдери та записують куди завгодно.
Які ще функції ви хотіли використати?