我有以下代码:
(voxelCoord.x < 0 ||
voxelCoord.y < 0 || voxelCoord.z < 0 || voxelCoord.x > 1
|| voxelCoord.y > 1 || voxelCoord.z > 1)
但是,我认为应该可以对此进行优化。我认为使用min和max会让我回头,是否有像clamp这样的解决方案让我检查边界是否通过?
例如;会
clamp(voxelCoord,float3(0),float3(1))!= voxelCoord
工作?
答案 0 :(得分:1)
任何(voxelCoord&lt; 0 || voxelCoord&gt; 1)
更简洁,编译的D3D-IL指令少于您编写的指令。在驱动程序编译器优化它们之后是否更优化将取决于其他因素(硬件是基于矢量还是基于标量的)。