我正在glsl片段着色器中做一些事情,并得到一些奇怪的结果。我用于计算的代码现在不应该真正相关,但对于某种“调试”,我会根据变量所在的范围显示颜色。
编码为: (影子是浮动的)
if(shadow == 0.0f)
{
vFragColor = vec4(1.0f, 0.0f, 0.0f, 0.0f);
}
else if(shadow == 1.0f)
{
vFragColor = vec4(0.0f, 1.0f, 0.0f, 0.0f);
}
else if(shadow < 1.0f && shadow > 0.0f)
{
vFragColor = vec4(0.0f, 0.0f, 1.0f, 0.0f);
}
else if(shadow < 0.0f)
{
vFragColor = vec4(1.0f, 0.0f, 1.0f, 0.0f);
}
else if(shadow > 1.0f)
{
vFragColor = vec4(0.0f, 1.0f, 1.0f, 0.0f);
}
else
{
vFragColor = vec4(1.0f, 1.0f, 1.0f, 0.0f);
}
根据我的理解,不应该在最后输入“else”,因为代码在检查任何可能的值之前。 但是,对于我得到一些奇怪结果的区域,我想做那种“调试”,代码进入“else”语句。
有人知道这会怎么样吗?我根本不明白这一点......
答案 0 :(得分:6)
花车也可以是#34;不是数字&#34;