如何在XNA中覆盖颜色插值?

时间:2012-11-16 09:59:39

标签: colors xna interpolation

当您为3个顶点绘制3种不同颜色的三角形时,XNA会自动在这些顶点之间插入像素颜色。我想禁用此行为并提供我自己的算法来确定中间像素的颜色(例如,使用3种颜色的平均值)。如何在XNA中完成这项工作?

1 个答案:

答案 0 :(得分:1)

插值是着色器的基本行为,你无法避免。 如果将顶点数据发送到像素着色器,则将插入形成三角形的三个顶点的数据。

因此,如果你想使用三种颜色的平均值,一个选项可能会在cpu中预先计算它们...并通过一个不同的顶点缓冲区将它发送到gpu,这样你可以在你想要的时候改变它而不需要改变它包含顶点位置的顶点缓冲区....

当然,如果一个顶点与两个三角形共享,并且它有不同的颜色,你必须复制它。