如何在HLSL中使用布尔变量实现逻辑?

时间:2014-04-25 16:58:33

标签: c# xna hlsl

此代码在HLSL ps_2_0中可以正常工作,但不会在ps_3_0中编译。 如果我用true替换变量,它将编译。有谁知道怎么做?

float4 setBoolToFloat(bool input)
{
    float4 output;
    output.xyzw = (input) ? 1.0f : 0.0f;
    return output;
}

1 个答案:

答案 0 :(得分:0)

不确定为什么会这样,但当我将三行代码移动到最初调用setBoolToFloat的位置时,错误就消失了。我只是在几个地方调用此功能,因此我不会尝试花更多时间来使其工作。我想知道为什么它没有,但我只是和它一起生活。