OpenGL ES30 和 OpenGL ES31 分别于 推出,现在已经有完整的benchmark来测试es30 和es31的功能了,并且也有一些游戏已经使用了es30或者es31.
从es30和es31的更新可以看到,新版本增加了很多新特性:
支持了遮挡查询(Occlusion query)。
支持uniform block object。
同时也支持MRT(Multi-render target).
增加了大量的draw call,es20只有drawelements和drawarrays,现在有indirect draw,draw instance等。
增加了VAO(可以同时设置一堆buffer)
增加了compute shader和seperate shader
增了了transform feedback.
新支持了很多贴图格式和压缩纹理格式
这些是印象比较深刻的,也是我常用的,还有很多新特性不太记得清楚了~~
其实个人感觉shader本身的改动也挺大,去掉了attribute和varying的关键词,改用in 和out。
后面要开始依依写代码来讲解一些新特性,包括上面没有提到的。
(没错,这篇文章就是凑数的...)