GLSL-为什么保留位算子?什么是使用Bitwise OPS的好替代方法(效仿位于位的浮点OP)

StackOverflow https://stackoverflow.com/questions/3543273

  •  30-09-2019
  •  | 
  •  

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

有帮助吗?

解决方案

在GLSL 1.0规格中,它们被保留为“供将来使用”,这是1.3规格。它允许标量和向量的未签名和签名整数。

您应该开始着色器

#version 130

其他提示

我也遇到了这个问题,例如试图在 着色器玩具 使用Chrome。

这个问题 有两个答案,显示了您可以在没有位运算符的情况下实现位XOR的方法。它们可能很慢,但是在某些情况下它们会足够快。有总比没有好。

您可能还会看到是否 + 取决于您的要求,是足够近的近似值。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top