Puedo obtener un sombreador para leer en dos texturas, pero para la salida parece que solo hay gl_FragColor. ¿Hay alguna forma de renderizar dos texturas diferentes de un sombreador? Estoy usando Processing y la biblioteca GLGraphics por cierto.¿Puede la salida GLSL dos/texturas múltiples al mismo tiempo?
Respuesta
Sí, puede escribir en gl_FragData, que es una matriz de resultados (el tamaño depende de su implementación). O con las versiones más recientes de GL, tanto gl_FragColor como gl_FragData están en desuso y usted declara sus propias variables out
para que el sombreador de fragmentos escriba. Declare múltiples tales out
vars para múltiples buffers de salida.
No sé si esto es exactamente lo que estás tratando de hacer, pero con Frame Buffer Objects (FBOs) puedes dibujar en múltiples memorias intermedias de color simultáneamente.
Sin embargo, dentro del sombreado seguirá siendo como si estuviera escribiendo un fragmento. Es decir, el sombreador no sabe cuántos archivos adjuntos tiene el FBO.
Sí. Podemos. PERO Tenga en cuenta que gl_FragData ya no es compatible con GLSL 4.0. Especificar la ubicación como:
glBindFragDataLocation(programHandle, 0, "FragColor");
.....
espero que se podía leer el libro de GLSL libro de cocina de la lengua 4.0 sombreado.
Creo que las ubicaciones explícitas se prefieren sobre 'glBindFragDataLocation' – RecursiveExceptionException
- 1. ¿Múltiples listboxes se desplazan al mismo tiempo?
- 2. Ajax solicitudes múltiples al mismo tiempo
- 3. Cargar accesorios múltiples al mismo tiempo
- 4. Ejecutando múltiples hilos al mismo tiempo
- 5. Número de archivo máximo puede php subir al mismo tiempo
- 6. ¿Define múltiples variables al mismo tiempo en MATLAB?
- 7. Obtenga múltiples datos de sensor al mismo tiempo en Android
- 8. forma más rápida de ejecutar múltiples métodos al mismo tiempo
- 9. Retransmisiones de Async múltiples al mismo tiempo - ASP.NET
- 10. Comportamiento de WaitForMultipleObjects cuando múltiples identificadores señalan al mismo tiempo
- 11. Cómo tener múltiples bocetos de processing.js ejecutándose al mismo tiempo
- 12. Ordenando múltiples elementos al mismo tiempo usando jQuery UI
- 13. ¿Cómo eliminar múltiples índices de una lista al mismo tiempo?
- 14. Múltiples procesos accediendo al mismo archivo
- 15. ¿Puede usar AnkhSVN y VisualSVN al mismo tiempo?
- 16. puede usar Hibernate y Tomcat Connection pool al mismo tiempo?
- 17. ¿Puede una clase implementar dos interfaces al mismo tiempo?
- 18. C++ Entrada y salida a la ventana de la consola al mismo tiempo
- 19. ¿Es posible ver múltiples ramas de git al mismo tiempo para el mismo proyecto?
- 20. ¿Cómo puedo capturar la salida y mostrarla al mismo tiempo con Python?
- 21. ¿Cómo registrar la salida en bash y verla en el terminal al mismo tiempo?
- 22. jQuery: ¿objeto y función al mismo tiempo?
- 23. Reproduce dos sonidos al mismo tiempo
- 24. ¿Puede el iPhone4 grabar desde la cámara frontal y la cámara trasera al mismo tiempo?
- 25. ¿Usar accept() y select() al mismo tiempo?
- 26. XNA - Creando muchas partículas al mismo tiempo
- 27. ¿Puedo seleccionar y actualizar al mismo tiempo?
- 28. MySQL selecciona dos tablas al mismo tiempo
- 29. ¿GLSL utiliza SLI? ¿OpenCL? ¿Qué es mejor, GLSL o OpenCL para múltiples GPU?
- 30. Foldmethod = marcador y sintaxis al mismo tiempo?
Gracias. Me gustaría ver un ejemplo de código de cómo se haría esto en GLSL y tal vez algún pseudo código para la aplicación host si ese es el término correcto. – Moss
En realidad, lo descubrí por mi cuenta. Solo tuve que decir "variando vec4 Color1, Color2", etc. en la parte superior y eso pareció vincularse automáticamente a la matriz de texturas que ya estaba pasando. Y luego establecer esas variables a algo en algún lugar dentro de void main(). – Moss
¿Esto es compatible con OpenGLES 2.0? –