Answers:
该WebGL的维基包含在其FAQ层次结构中的一节“ WebGL和OpenGL的差异似乎把重点放在“桌面” OpenGL实现和,唉,在WebGL的差别不是很详细”(主要是它是关于行为,而不是API) 。
如果没有为您提供足够的详细信息,则可能需要手动将最新的WebGL草案与OpenGL ES或OpenGL规范进行比较。
您是否检查过最新的WebGL草案?
根据草稿,在有矛盾的情况下,OpenGL ES 2.0规范是最终授权。
第6章概述了从OpenGL ES 2.0到WebGL的区别。
我发现了一个很好的资源,可以比较在不同版本的OpenGL / WebGL / OpenGL ES中可用的特定API。
我想您会在这里找到所需的内容:http : //web.eecs.umich.edu/~sugih/courses/eecs487/common/notes/APITables.xml
一种查看方法是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幂纹理限制。它增加了变换反馈(顶点着色器写入缓冲区的能力)。它还添加了遮挡查询。顶点数组对象是标准的(在WebGL / ES 3.0中是可选的)。还有许多其他次要功能。
ES 3.1(可能还有WebGL的下一版本)增加了计算着色器(片段着色器执行随机访问写入的能力)。片段着色器目前只能写入其所请求的片段/像素,而计算着色器并写入所需的任何位置。
您还想使用其他哪些功能?