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編譯器以不同的方式工作,例如在生成的機器代碼中,無論如何計算所有分支。在這種情況下,上述構造是沒有意義的,只能由其他情況取代。