你能控制如何在多边形上插入顶点着色器输出吗?

时间:2014-02-21 11:06:26

标签: opengl 3d shader direct3d cg

这是一个常见问题,顶点着色器的输出被线性插值为3D / 4D矢量值,从而导致伪像。例如,如果顶点着色器输出标准化矢量,您通常仍需要在片段着色器中对其进行重新规范化。

D3D / OpenGL / Cg是否提供了控制如何插值的方法?例如你能建议插值意味着什么,以便可以进行一些上下文感知插值吗?

1 个答案:

答案 0 :(得分:1)

与Pavel Beliy提到的GLSL interpolation qualifiers一样,Direct3D(HLSL)有一组有限的Interpolation Modifiers,您可以在数据结构的每个成员或传递给像素着色器的任何参数上设置。请参阅this MSDN page的备注部分。

支持的修饰符集限制为线性,质心,无插值,无视和样本(有关详细信息,请参阅链接)。

不幸的是,您的问题和评论的措辞似乎表明您需要对所使用的插值技术进行更详细的控制。例如,没有一个能解决重新规范插值向量的需要。