5

我正在 WebGL 中进行一些实验,其中一个是 XOR 效果片段着色器。由于某种原因,所有按位运算符都保留在 GLSL 中,并且在使用时会导致编译器错误。为什么这些运营商是非法的?我可以用什么代替 | 在这种情况下?

4

2 回答 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 回答