shr*_*har 5 xna
我是shaders和HLSL的新手,已经完成了BasicEffect类.我理解管道是如何工作的,特别是对于只有1遍的着色器.但是,如果使用2遍或N遍着色器,我不太明白2(或N)个着色器输出的结果是如何组合的.
你能解释一下这个组合是怎么做的吗?如果可能的话,您更喜欢使用多次通过着色器而不是多次单通着色器的示例?
Ara*_*nda 6
多通道着色器只需将结果添加到上一个通道即可.它们可用于支持多个灯光,尤其是当GPU的着色器模型没有足够的指令来支持一次通过所需数量的灯光时.
除非你真的需要,否则我不建议使用多个pass,因为它会使alpha混合和雾等事情复杂化.您需要在第一次传递到后续传递时以不同方式设置混合状态.
[编辑]根据Melchior Blausand的评论,根据当前的混合操作和混合模式,每次传递的输出与当前值组合更为正确,其中当前值是组合所有先前传递的结果.多通道着色器通常使用ADD混合模式组合多个灯光.另请注意,Alpha通道可以与不同的混合模式组合到颜色通道.
归档时间:
15 年,1 月 前
查看次数:
4109 次
最近记录:
13 年,6 月 前