Quero compor modelos e partículas convencionais baseados em triângulo com uma cena traçada por raios a uma taxa de quadros razoável.
O webGL não permite escrever o gl_FragDepth
sombreador no fragmento. Você não pode ter vários destinos de renderização, mas pode renderizar em uma textura RGBA e, em seguida, usar essa textura como entrada para outro draw-op. Para que eu possa renderizar minha cena traçada por raios e armazenar a profundidade como entrada para o próximo estágio. Obviamente, isso está longe de ser o ideal, mas viável.
Eu adoraria estar errado sobre isso, e isso é coletado por tentativa e erro, e não por qualquer fonte definitiva; corrija quaisquer suposições defeituosas
Como você pode empacotar / descompactar um float e, idealmente, alguns bits de flag e tal, em uma textura RGBA eficientemente em um shader de fragmento GLSL?