Quiero componer modelos y partículas convencionales basados en triángulos con una escena de trazado de rayos a una velocidad de cuadro razonable.
webGL no le permite escribir gl_FragDepth
en el sombreador de fragmentos. No puede tener múltiples objetivos de renderizado, pero puede renderizar a una textura RGBA y luego usar esa textura como entrada para otra operación de dibujo. Entonces puedo renderizar mi escena de trazado de rayos y almacenar la profundidad como entrada para la siguiente etapa. Obviamente, esto está lejos de ser ideal, pero viable.
Me encantaría estar equivocado sobre esto, y esto se obtiene de la prueba y el error en lugar de cualquier fuente definitiva; por favor corrija cualquier suposición defectuosa
¿Cómo puede empacar / desempacar un flotador e, idealmente, algunos bits de bandera y demás, en una textura RGBA de manera eficiente en un sombreador de fragmentos GLSL?