HLSL 中的比较操作
Comparison operations in HLSL
我正在阅读 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;
有人可以确认这是否正确吗,如果我跑题了。
如有任何帮助,我们将不胜感激。
我联系了这个着色器的作者,过了一段时间他回复并确认这就是这个特定表达式的计算方式
我正在阅读 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;
有人可以确认这是否正确吗,如果我跑题了。
如有任何帮助,我们将不胜感激。
我联系了这个着色器的作者,过了一段时间他回复并确认这就是这个特定表达式的计算方式