glsl&不同值的透视校正

时间:2012-04-04 20:40:41

标签: math opengl graphics glsl texture-mapping

是光栅化器使用透视校正插值的每个变化的顶点值(或更新版本的glsl值是否超出顶点着色器)?这是硬件依赖吗?

发生削波时,如何计算削波顶点的值?

我尝试撤消透视校正并注意剪裁的多边形的奇怪行为,我想更好地了解幕后发生的事情。

1 个答案:

答案 0 :(得分:3)

Pre-GL 3.0,影响透视校正插值的唯一方法是使用提示。通常,glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST)会激活所有变化的透视校正插值,而glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST)通常会将其关闭。请注意,这些是驱动程序提示,仅此而已;司机不 以这种方式做出反应。

在GLSL 1.30+(OpenGL 3.0+)中,您可以强制每个输出/输入以特定方式进行插值。 interpolation qualifier smooth表示透视正确;如果您未指定限定符,则这是默认值。 noperspective表示......显而易见。

剪切总是以这样的方式完成,就好像它没有被剪裁一样(或者在硬件精度范围内足够接近)。因此,如果一个值透视正确插值,那么为剪切顶点生成的值也必须使用透视校正插值。

相关问题