Jak wykonać operacje bitowe w glsl?Jak wykonać operacje bitowe w glsl
Używanie zwykłych operatorów bitowych w stylu C |
, &
, ^
lub !
nie działa.
Jak wykonać operacje bitowe w glsl?Jak wykonać operacje bitowe w glsl
Używanie zwykłych operatorów bitowych w stylu C |
, &
, ^
lub !
nie działa.
Zostały wprowadzone z GLSL 1.30 (OGL 3.0).
W zależności od tego, co chcesz zrobić, możesz na przykład emulować je operacjami zmiennoprzecinkowymi, na przykład x & (2^n)-1 = frac(x/(2^n))*(2^n)
, ale musisz zadbać o błędy zmiennoprzecinkowe.
Czy jest więcej takich przykładów? Ta operacja AND jest tym, czego najbardziej potrzebowałem, ale może też przydać się trochę OR ... – St0fF
Musisz umieścić albo
#version 130
lub
#extension GL_EXT_gpu_shader4 : enable
w górnej części cieniującego, aby uzyskać dostęp do operatorów bitowych
patrz przykład kod tutaj: http: // stackoverflow .com/a/23730491/763355 – MoDJ