GLSL: (negative) Werte in Textur zwischenspeichern.
-
Moin Moin!
Ich versuch mich grad an GLSL. Ich hab 'nen iterativen Algorithmus, und jeder Iterationsschritt soll als Pass im Fragment Shader ausgefuehrt werden. Die Zwischenergebnisse moechte ich jeweils in Texturen festhalten.
Das Problem: die Zwischenergebnisse koennen auch NEGATIV sein. Da die Werte beim Speichern in der Textur ja zu Farben umgewandelt werden, gehen diese Informationen ja verloren (Oder versteh ich da was falsch)?
Kann ich irgendwie auch negative Werte in einer Textur zwischenspeichern?
-
du kannst doch deine Ergebnisse nochmal hinterher skalieren und verschieben so dass es passt. Quasi texturpixel=x*Ergebnis+y. Am Ende musst du diese Transformation nur rückgängig machen.
-
Daran hab ich auch gedacht, allerdings kenn ich im voraus den Range nicht, in dem die Werte sich bewegen. Ich hatte eigentlich gehofft dafuer gaebs eine Standardloesung oder so....
-
Ich glaube die ARB_texture_float Extension ist ganz genau das, wonach ich gesucht hatte: http://www.opengl.org/registry/specs/ARB/texture_float.txt
-
Wenn du die Range nicht kennst, "musst" du sowieso float Texturen verwenden