OpenGL中的不变性和多边形偏移之间有什么区别

时间:2013-03-07 10:34:58

标签: opengl-es

OpenGL中的不变性和多边形偏移之间有什么区别。我对两者感到困惑。因为两者都与低岁差问题有关。

1 个答案:

答案 0 :(得分:2)

来自GLES 2.0规范:

  

[...]方差指的是获得不同价值的可能性   来自不同着色器中的相同表达式。例如,说两句   顶点着色器每个都设置gl_Position,两者中的表达式相同   着色器,以及该表达式中的输入值是相同的   两个着色器都运行。

     

由于两个着色器的独立编译,有可能   分配给gl_Position的值不完全相同   两个着色器运行。在此示例中,这可能会导致问题   在多遍算法中对齐几何。一般来说,这样   允许着色器之间的差异。为防止变异,变量   可以声明为不变的,无论是单独的还是全局的   设置。

换句话说,invariant是由gles为您(程序员)提供的一种机制,用于告诉实现当编译某个着色器代码时,生成的gpu代码必须相同每次

多边形偏移,嗯,完全不相关。我推荐您使用官方常见问题解答https://www.opengl.org/archives/resources/faq/technical/polygonoffset.htm