2009-11-09 38 views
7

如何在glsl中执行位操作?如何在glsl中执行位操作

使用常规C风格按位运算符|,&,^!不起作用。

+0

看到这里的示例代码:HTTP://计算器.com/a/23730491/763355 – MoDJ 2015-11-02 23:45:14

回答

6

它们已经与GLSL1.30(OGL 3.0)一起引入。

根据你想要做什么,你最终可以用浮点运算来模拟它们,例如x & (2^n)-1 = frac(x/(2^n))*(2^n),但是你必须注意浮点错误。

+0

是否还有更多类似的例子?这个AND操作是我最需要的,但也有一些OR会派上用场。 – St0fF 2017-11-27 14:00:05

5

你需要把两种

#version 130 

#extension GL_EXT_gpu_shader4 : enable 

在着色器的顶部以访问该位运营商