0
我不是HLSL编译器的专家,他们是如何与分支机构合作的,但我对这个问题有不同的看法。所以要具体:在C/C++,将可以完美地实现这样的:HLSL编译器优化奇怪吗?
if (factor == 0)
{
// Simple calculation in special case of factor=0
}
else if (factor == 1)
{
// Simple calculation in special case of factor=1
}
else
{
// Much more complex calculation in general case of arbitrary factor
}
在大部分时间因素是0或1的情况下是对HLSL同样如此?我多次读过HLSL编译器以不同的方式工作,例如在生成的机器代码中,无论如何计算所有分支。在这种情况下,上述构造是没有意义的,只能由其他情况取代。