I'm currently trying to blend a bunch of sprites together in Three.js. What I've found is that giving my sprite shader negative gl_FragColor.rgba
values interacts perfectly with my postprocessing shader, whereas positive values are bland without adjustment. I'd rather not adjust my postproccessing shader as it already does exactly what it needs to with other objects.
Here's the difference:
Positive gl_FragColor.rgba
values:
Negative gl_FragColor.rgba
values:
I'd rather not anger the OpenGL Specification Gods as I've heard you can get inconsistent behaviour across vendors and drivers depending on what you do.
Is there something in the spec that either disallows negative values, or states such behavior is undefined? Or are such shenanigans generally safe?