GLSL - ¿Por qué se reservan operadores de bits? ¿Qué es una buena alternativa al uso de operaciones a nivel de bits (operaciones de punto flotante que emulan bit a bit)

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

  •  30-09-2019
  •  | 
  •  

Pregunta

Me estoy quedando en algunos experimentos WebGL, siendo uno de ellos un fragment shader efecto XOR. Por alguna razón, todos los operadores de bits están reservados en GLSL y causan un error de compilación cuando se utiliza. ¿Por qué son ilegales estos operadores? ¿Qué puedo usar en lugar de | en este caso?

¿Fue útil?

Solución

En la especificación 1.0 GLSL, que estaban reservados "para uso futuro", que fue la especificación 1.3. Se permitió enteros sin signo y firmados, tanto escalares y vectoriales.

Se debe comenzar su shader por

#version 130

Otros consejos

me encontré con este problema también, por ejemplo, intentar ejecutar Slisesix en Shader juguete usando Chrome.

Esta pregunta tiene dos respuestas que muestran formas en que podría poner en práctica sin XOR bit a bit operadores bit a bit. Podrían ser lento, pero en algunos casos que serían lo suficientemente rápido. Es mejor que nada.

También puede ver si + es una aproximación suficientemente cerca de XOR bit a bit, dependiendo de cuales sean sus necesidades.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top