转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2823

[消息来源]

在正在举行的GDC 2014上,Khronos发布了OpenGL ES 3.1的规范。总体来说,OpenGL ES 3.1以OpenGL 4.4为蓝本,把一些原本是桌面API的功能带到了移动平台。

OpenGL ES 3.1的新功能包括:

  • Compute shader:GLSL ES也开始支持compute shader了,和桌面API取齐。来自OpenGL 4.3。
  • 分离式shader:可以分开绑定不同stage的shader。来自OpenGL 4.1。
  • 间接绘制指令:允许从一个buffer object提供Draw的参数,而不用倒回CPU发起Draw。来自OpenGL 4.0。
  • 增强了纹理的功能:包括multisample的纹理、stencil的纹理,以及在纹理上执行gather操作一次读取4个像素。来自OpenGL 4.1和4.3。
  • 着色语言的改进:新的算术和位域操作,允许使用更接近桌面的shader编程。来自OpenGL 4.0。
  • 可选的扩展:显式地对sample点着色,高级的混合模式等。来自OpenGL 4.0。
  • 向下兼容OpenGL ES 2.0和3.0:可以把ES 3.1的新功能添加到原有的2.0和3.0程序中。

理论上所有支持OpenGL 4.4或DirectX 11的GPU都能支持OpenGL ES 3.1。移动方面,NVIDIA的Tegra K1是肯定支持了。其他几家也表示欢迎这个新标准。