OpenGL中的不变性和多边形偏移之间有什么区别。我对两者感到困惑。因为两者都与低岁差问题有关。
答案 0 :(得分:2)
来自GLES 2.0规范:
[...]方差指的是获得不同价值的可能性 来自不同着色器中的相同表达式。例如,说两句 顶点着色器每个都设置gl_Position,两者中的表达式相同 着色器,以及该表达式中的输入值是相同的 两个着色器都运行。
由于两个着色器的独立编译,有可能 分配给gl_Position的值不完全相同 两个着色器运行。在此示例中,这可能会导致问题 在多遍算法中对齐几何。一般来说,这样 允许着色器之间的差异。为防止变异,变量 可以声明为不变的,无论是单独的还是全局的 设置。
换句话说,invariant是由gles为您(程序员)提供的一种机制,用于告诉实现当编译某个着色器代码时,生成的gpu代码必须相同每次
多边形偏移,嗯,完全不相关。我推荐您使用官方常见问题解答https://www.opengl.org/archives/resources/faq/technical/polygonoffset.htm