KlayGE 4.4中渲染的改进(五):OpenGL 4.4和OpenGLES 3
2013-12-26 13:42
357 查看
转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2796
上一篇我们提到了SSSSS,作为本系列的最后一篇,本文将介绍KlayGE 4.4的OpenGL和OpenGLES插件的改进。
经过测试,OpenGL插件在NV和Intel的显卡上所有例子都能正常工作。
在开发中发现,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。
本系列就到此为止,KlayGE 4.5的开发已经开始,将会带来更多先进并实用的功能。在这里祝大家新年快乐!
上一篇我们提到了SSSSS,作为本系列的最后一篇,本文将介绍KlayGE 4.4的OpenGL和OpenGLES插件的改进。
OpenGL 4.4
KlayGE在OpenGL方面一直是紧跟spec的步伐,这次也不例外。在八月份OpenGL 4.4发布的时候,glloader和KlayGE的OpenGL插件就很快加上了4.4的支持。并且这次把代码彻底过了一遍,很多原先通过扩展实现的功能,都尽量替换成用核心实现的,提高兼容性。经过测试,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。
本系列就到此为止,KlayGE 4.5的开发已经开始,将会带来更多先进并实用的功能。在这里祝大家新年快乐!
相关文章推荐
- KlayGE 4.4中渲染的改进(一):只需要SM3的TBDR
- KlayGE 4.4中渲染的改进(四):SSSSS
- KlayGE 4.4中渲染的改进(三):高质量无限地形
- KlayGE 4.4中渲染的改进(二):DR的其他改进
- Cocos2d-x3.2与OpenGL渲染总结(一)Cocos2d-x3.2的渲染流程
- OpenGL es3.0 初始化及渲染
- 树莓派raspberry pi3使用opengl渲染图片
- Win32下使用OpenGL实现渲染
- NeHe OpenGL教程 第三课:颜色渲染
- OPenGL 文字渲染
- OpenGL和OpenGLes opengles1.x和opengles2.0
- OpenGL 的渲染流水线
- Chrome渲染管道的性能改进
- opengl离屏渲染图片
- OpenGL 的渲染流水线
- OpenGLES下进行渲染
- 延迟渲染(OpenGL)原理及其案例
- OpenGL-渲染管线的流程(有图有真相)
- OpenGL渲染流程
- opengl入门系列- openglES 2.0 的 VBO 用法和例子