上一篇咱們提到了SSSSS,做爲本系列的最後一篇,本文將介紹KlayGE 4.4的OpenGL和OpenGLES插件的改進。測試
KlayGE在OpenGL方面一直是緊跟spec的步伐,此次也不例外。在八月份OpenGL 4.4發佈的時候,glloader和KlayGE的OpenGL插件就很快加上了4.4的支持。而且此次把代碼完全過了一遍,不少原先經過擴展實現的功能,都儘可能替換成用核心實現的,提升兼容性。spa
通過測試,OpenGL插件在NV和Intel的顯卡上全部例子都能正常工做。插件
雖然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