1

我有以下代码:

(voxelCoord.x < 0 ||  
voxelCoord.y < 0 || voxelCoord.z < 0 || voxelCoord.x > 1 
|| voxelCoord.y > 1 || voxelCoord.z > 1)

但是,我认为应该可以优化这一点。我认为使用 min 和 max 会让我退缩,有没有像钳子这样的解决方案可以让我检查边界是否通过?

例如; 将

钳位(voxelCoord,float3(0),float3(1))!= voxelCoord

工作?

4

1 回答 1

1

任何(voxelCoord < 0 || voxelCoord > 1)

比您编写的更简洁,并且编译的 D3D-IL 指令少 2 条。在驱动程序的编译器尝试优化它们之后是否更优化将取决于其他因素(硬件是基于矢量还是基于标量)。

于 2013-06-18T20:07:20.997 回答