我有一个非常简单的问题,但由于找不到解决方案,我正在把我的大脑靠在墙上。
我在嵌入式系统中使用着色器处理器,并且由于片段着色器中的性能不佳而无法使用条件。
我有两个花车,两者都可以是0或1。
如果第二个float为1,我想反转第一个float的值。
基本上
if(floatA==1.0)
{
if(floatB==1.0)
{
floatB=0.0;
}
else
{
floatB=1.0;
}
}
- 只是没有条件,但数学上是x..X
任何想法? :d
答案 0 :(得分:3)
怎么样:
floatB = ( floatA * ( 1 - floatB )) + ((1 - floatA) * floatB )
如果float为1,则为floatB = 1-floatB
,否则如果float为零,则为floatB = floatB
;