Difference between revisions of "OpenGL插件对不同驱动的特殊处理"

From KlayGE
Jump to: navigation, search
 
(2 intermediate revisions by one user not shown)
Line 1: Line 1:
由于不同的OpenGL驱动与标准存在一定的偏差,[KlayGE]的OpenGL插件必须做出一定的特殊处理,才能让OpenGL插件在不同驱动上都能顺利运行。
+
由于不同的OpenGL驱动与标准存在一定的偏差,[[KlayGE]]的OpenGL插件必须做出一定的特殊处理,才能让OpenGL插件在不同驱动上都能顺利运行。
  
 
下面是一个列表,标记出所有在OpenGL插件里的特殊处理。其中有些可能是因为错误使用造成的,有些是因为需要避开驱动的bug。
 
下面是一个列表,标记出所有在OpenGL插件里的特殊处理。其中有些可能是因为错误使用造成的,有些是因为需要避开驱动的bug。
Line 14: Line 14:
 
* 不使用glCopyImageSubData来拷贝纹理
 
* 不使用glCopyImageSubData来拷贝纹理
 
* 不使用glBlitFramebuffer来拷贝纹理
 
* 不使用glBlitFramebuffer来拷贝纹理
* 不使用GL_MAP_UNSYNCHRONIZED_BIT
 
  
 
=== Intel ===
 
=== Intel ===
  
* 关闭UBO
 
 
* 不使用glMapBufferRange来映射VBO
 
* 不使用glMapBufferRange来映射VBO
  
 
== 参见 ==
 
== 参见 ==
 
[[OpenGLES插件对不同驱动的特殊处理]]
 
[[OpenGLES插件对不同驱动的特殊处理]]

Latest revision as of 14:59, 12 July 2015

由于不同的OpenGL驱动与标准存在一定的偏差,KlayGE的OpenGL插件必须做出一定的特殊处理,才能让OpenGL插件在不同驱动上都能顺利运行。

下面是一个列表,标记出所有在OpenGL插件里的特殊处理。其中有些可能是因为错误使用造成的,有些是因为需要避开驱动的bug。

列表

NVIDIA

AMD

  • 关闭ConditionalRender
  • 不使用glCopyImageSubData来拷贝纹理
  • 不使用glBlitFramebuffer来拷贝纹理

Intel

  • 不使用glMapBufferRange来映射VBO

参见

OpenGLES插件对不同驱动的特殊处理