我正在 WebGL 中进行一些实验,其中一个是 XOR 效果片段着色器。由于某种原因,所有按位运算符都保留在 GLSL 中,并且在使用时会导致编译器错误。为什么这些运营商是非法的?我可以用什么代替 | 在这种情况下?
问问题
8211 次
2 回答
4
在 GLSL 1.0 规范中,它们被保留为“供将来使用”,即 1.3 规范。它允许用于无符号和有符号整数,包括标量和向量。
你应该开始你的着色器
#version 130
于 2010-08-22T20:42:57.527 回答
3
我也遇到了这个问题,例如尝试使用 Chrome在Shader Toy中运行 Slisesix。
这个问题有两个答案,展示了无需按位运算符即可实现按位异或的方法。它们可能很慢,但在某些情况下它们会足够快。有总比没有好。
您可能还会看到是否+
足够接近按位异或的近似值,具体取决于您的要求。
于 2011-05-19T19:49:39.563 回答