我正在阅读CSM阴影映射的HLSL实现,并且遇到了一行我不太了解的代码
float3 pos;
float3 CascadeDistances;
...
float3 weights = ( pos.z < CascadeDistances );
有人可以告诉我这里发生了什么以及这项任务的结果是什么。
我认为它可能扩展到像
这样的东西float3 weights;
weights.x = ( pos.z < CascadeDistances.x ) ? 1 : 0;
weights.y = ( pos.z < CascadeDistances.y ) ? 1 : 0;
weights.z = ( pos.z < CascadeDistances.z ) ? 1 : 0;
如果我离开,有人可以确认这是否正确。
任何帮助将不胜感激。
答案 0 :(得分:0)
我联系了这个着色器的作者,过了一段时间后他回复并确认这是这个特定表达式的评估方式