光栅化器是否使用透视校正对每个变化的顶点值(或在较新版本的 glsl 值中“走出”顶点着色器)进行插值?这取决于硬件吗?
当发生裁剪时,裁剪顶点的值是如何计算的?
我尝试撤消透视校正,并注意到被剪切的多边形的奇怪行为,我想更好地了解幕后发生的事情。
在 GL 3.0 之前,影响透视正确插值的唯一方法是使用提示。一般来说,glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST)
将激活所有变化的透视正确插值,同时glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST)
一般都会将其关闭。请注意,这些只是驱动程序提示,仅此而已;司机不have以这种方式做出反应。
在 GLSL 1.30+ (OpenGL 3.0+) 中,您可以强制每个输出/输入以特定方式进行插值。这插值限定符 http://www.opengl.org/wiki/GLSL_Type_Qualifiers#Interpolation_qualifiers smooth
意味着透视正确;如果您不指定限定符,则这是默认值。noperspective
意思是……显而易见的。
剪切总是以这样的方式完成,即它的工作方式就像没有剪切一样(或者在硬件精度内足够接近)。因此,如果对某个值进行透视正确插值,则为剪裁顶点生成的值也必须使用透视正确插值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)