Estoy ejecutando algunos experimentos en WebGL, uno de ellos es un sombreador de fragmentos de efectos XOR. Por alguna razón, todos los operadores bit a bit están reservados en GLSL y causan un error de compilación cuando se usan. ¿Por qué son estos operadores ilegales? ¿Qué puedo usar en lugar de | ¿en este caso?GLSL: ¿por qué se reservan los operadores bit a bit? ¿Cuál es una buena alternativa al uso de operaciones bit a bit (operaciones de punto flotante que emulan bit a bit)
Respuesta
En la especificación GLSL 1.0, se reservaron "para uso futuro", que era la especificación 1.3. Está permitido para enteros sin signo y con signo, tanto escalares como vectoriales.
Usted debe comenzar su shader por
#version 130
Gracias, supongo que la versión 1.3 no es compatible con el webgl de Chromium, ya que recibo el error 'Número de versión no admitido por ESSL' – schellsan
La mayoría de las veces, puede dar una solución xor con if(): i = 0; if (cond1) i ++; if (cond2) i ++; if (i == 1) .... – Calvin1602
para XOR lógico, sí ... pero la pregunta era para * bitwise * XOR; ¿cómo solucionas eso? – LarsH
me encontré con este problema también, por ejemplo, tratando de ejecutar Slisesix en Shader Toy usando Chrome.
This question tiene dos respuestas que muestran las formas en que podría implementar XOR en modo bit sin operadores bit a bit. Podrían ser lentos, pero en algunos casos serían lo suficientemente rápidos. Mejor que nada.
También puede ver si +
es una aproximación suficientemente cercana a XOR bit a bit, dependiendo de cuáles sean sus requisitos.
Gracias! Ojalá pudiera elegir esta respuesta también. – schellsan
- 1. operaciones bit a bit sobre no números
- 2. Lua - Operaciones lógicas de bit a bit
- 3. ¿Qué son los operadores bit a bit?
- 4. aplicaciones prácticas de operaciones bit a bit
- 5. Implementación de ArrayDeque.allocateElements (operaciones bit a bit)
- 6. operaciones bit a bit MySQL y filtrar
- 7. Operaciones bit a bit con enteros grandes
- 8. operaciones bit a bit en Postgres
- 9. Reemplazar bit menos significativo con operaciones bit a bit
- 10. Operaciones bit a bit en el corto
- 11. operaciones bit a bit de 48 bits en Javascript?
- 12. MySQL operaciones bit a bit, filtro de floración
- 13. operaciones bit a bit en el vector <bool>
- 14. operadores bit a bit en Postgres
- 15. Lista de Python para operaciones bit a bit
- 16. Operaciones bit a bit en cadenas grandes en PHP
- 17. ¿Las operaciones bit a bit siguen siendo prácticas?
- 18. Java - desplazamiento circular usando operaciones bit a bit
- 19. Python: aritmética bit a bit sin signo de 32 bit
- 20. Tipo de devolución de operadores bit a bit en C++
- 21. PHP matriz bit a bit
- 22. OR bit a bit de las constantes
- 23. bit a bit de sustracción en Python
- 24. salida extraña por bit a bit NO
- 25. ¿Qué hacen estos operadores bit a bit de JavaScript?
- 26. AND bit a bit, bit a bit pregunta Incluido O, en Java
- 27. Algunas preguntas sobre los operadores bit a bit
- 28. Arrays de desplazamiento bit a bit
- 29. Cuál es la forma más eficiente de hacer operaciones bit a bit en una matriz C
- 30. Explicación de bit a bit NO operador
Mencionó un efecto XOR, pero luego dijo "en lugar de' | '" (el operador OR bit a bit). ¿Querías decir "en lugar de'^'"? – LarsH
Bueno, iba después del primer efecto esta esta publicación - http://mrdoob.com/blog/post/623 El autor lo llamó el efecto 'XOR', por lo que el mono ve que el mono lo hace. Su nombre podría tener más que ver con el aspecto del efecto que con el código que lo afecta. – schellsan