Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想使用图形算术对 2 个整数进行 isequals(a,b) 比较(我不能使用逻辑 If 运算符,因为我需要线性逻辑),以:
如果 a=b 返回1 如果 a!=b 返回 0
例如,我可以写:
1-saturate(distance(a,b)); // to return 1 if a = b.
和
1-step(abs(a-b));
在 cg 数学中有更快的方法吗?
float result = (a == b); // Works in HLSL...
是什么让你觉得 == 不是你想要的?
sat(abs(ab)*FLOAT_MAX) 怎么样?abs 和 sat 在算术上都应该是免费的。如果 a 和 b 非常接近,这可能会以依赖于实现的方式中断。如果你需要反转,你总是可以做 sat(1-x)。