私は WebGL でいくつかの実験を行っています。そのうちの 1 つは XOR エフェクト フラグメント シェーダーです。何らかの理由で、すべてのビット演算子は GLSL で予約されており、使用するとコンパイラ エラーが発生します。なぜこれらのオペレーターは違法なのですか? | の代わりに何を使用できますか? この場合?
opengl - GLSL - ビット単位の演算子が予約されているのはなぜですか? ビット単位の演算 (ビット単位でエミュレートする浮動小数点演算) を使用する代わりに使用できる適切な方法は何ですか?
8211 次
2 に答える
4
GLSL 1.0 仕様では、これらは「将来の使用のために」予約されており、1.3 仕様でした。スカラーとベクトルの両方の符号なしおよび符号付き整数に使用できます。
シェーダーを開始する必要があります
#version 130
于 2010-08-22T20:42:57.527 に答える
3
私もこの問題に遭遇しました。たとえば、Chromeを使用してShaderToyでSlisesixを実行しようとしました。
この質問には、ビット演算子なしでビット単位XORを実装する方法を示す2つの回答があります。遅いかもしれませんが、場合によっては十分に速いでしょう。何もないよりマシ。
+
要件に応じて、ビット単位のXORに十分に近いかどうかも確認できます。
于 2011-05-19T19:49:39.563 に答える