Comment effectuer des opérations de bits dans GLSL?Comment effectuer des opérations de bits dans GLSL
En utilisant le style régulier C opérateurs, &
|
au niveau du bit, ^
ou !
ne fonctionne pas.
Comment effectuer des opérations de bits dans GLSL?Comment effectuer des opérations de bits dans GLSL
En utilisant le style régulier C opérateurs, &
|
au niveau du bit, ^
ou !
ne fonctionne pas.
Ils ont été introduits avec GLSL 1.30 (OGL 3.0). En fonction de ce que vous voulez faire, vous pouvez éventuellement les émuler avec des opérations en virgule flottante, par exemple x & (2^n)-1 = frac(x/(2^n))*(2^n)
, mais vous devrez prendre soin des erreurs en virgule flottante.
Y a-t-il d'autres exemples comme ça? Cette opération ET est ce dont j'avais le plus besoin, mais aussi quelques OU serait utile ... – St0fF
Vous devez mettre soit
#version 130
ou
#extension GL_EXT_gpu_shader4 : enable
dans le haut de shader pour obtenir l'accès aux opérateurs de bits
Voir le code exemple ici: http: // stackoverflow .com/a/23730491/763355 – MoDJ