How do I perform bit operations in glsl
15,499
Solution 1
They have been introduced with GLSL 1.30 (OGL 3.0).
Depending on what you want to do, you could eventually emulate them with floating point operations, x & (2^n)-1 = frac(x/(2^n))*(2^n)
for example, but you'll have to take care of floating point errors.
Solution 2
You need to put either
#version 130
or
#extension GL_EXT_gpu_shader4 : enable
in the top of your shader to get access to the bit operators
Author by
GameFreak
Updated on June 04, 2022Comments
-
GameFreak over 1 year
How do I perform bit operations in glsl?
Using the regular C style bitwise operators
|
,&
,^
, or!
does not work. -
St0fF about 6 yearsAre there more examples like that? This AND operation is what I needed the most, but also some OR would come in handy...
-
Admin over 4 years@St0fF If you can find a way to do
¬
(not gate) then you can combine it with∧
(and gate) using DeMorgan's law to obtainp ∨ q = ¬( ¬p ∧ ¬q )
.