KlayGE 4.4中渲染的改进(五):OpenGL 4.4和OpenGLES 3

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

上一篇咱们提到了SSSSS,做为本系列的最后一篇,本文将介绍KlayGE 4.4的OpenGL和OpenGLES插件的改进。测试

OpenGL 4.4

KlayGE在OpenGL方面一直是紧跟spec的步伐,此次也不例外。在八月份OpenGL 4.4发布的时候,glloader和KlayGE的OpenGL插件就很快加上了4.4的支持。而且此次把代码完全过了一遍,不少原先经过扩展实现的功能,都尽可能替换成用核心实现的,提升兼容性。spa

通过测试,OpenGL插件在NV和Intel的显卡上全部例子都能正常工做。插件

OpenGLES 3.0

虽然GLES3出了有一段时间了,但硬件支持度和开发环境都还没跟上,因此原先OpenGLES插件只支持2.0。此次尝试了PowerVR和Mali的OpenGLES 3模拟器,以为还行,就加上了GLES3的支持。Adreno的模拟器在dll导出上不合规范,须要额外的工做才有可能载入。因此这个版本暂不支持。游戏

在开发中发现,PVR和Mali都不支持GL_EXT_color_buffer_half_float和GL_EXT_color_buffer_float,无法渲染到浮点纹理。奇葩的是Tegra 3虽然也没报告支持那两个扩展,但能写入ABGR16F格式的纹理。 PVR的模拟器甚至不支持读取浮点纹理,即使是GLES3要求支持。另外,因为ESSL生成器还不是很完善,目前的ESSL只能用GLES2的,因此不支持3D纹理和ddx/ddy。开发

在VAO方面,虽然GLES3支持VAO,但彷佛不支持把index buffer也放入VAO。因此每次得单独设置index buffer。get

本系列就到此为止,KlayGE 4.5的开发已经开始,将会带来更多先进并实用的功能。在这里祝你们新年快乐!it

相关文章
相关标签/搜索