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) を実行できます。