ich wollt grad für mein Flipbook ein paar verschiedene BlendModes einbauen (Multiply, Screen etc) und dachte das wäre ja mit Shadern problemlos machbar.. aber, mir fiel dann auf, das es anscheinend nicht geht die farbe des pixels das grade im FragmentShader bearbeitet wird rauszubekommen..
Ich hatte es probiert á la:
gl_FragColor = gl_FragColor * Texture;
aber es wird immer Schwarz, da gl_FragColor bei der abfrage 0,0,0,0 ist
Gibt's da irgendne möglichkeit das hinzubekommen, OHNE das ich es in eine Textur/Framebuffer rendern muß um das dann an den Shader zu übergeben?
Nein, das geht nicht, aber ein glCopyTexSubImage() vorher sollte in den meisten Fällen unproblematisch und einfacher als direktes Rendern in eine Texture sein.
Man kann sich dann ja am Anfang des Shadern gl_FragColor = texture2d(...) hinschreiben, dann hat man es fast.
Registriert: Mo Sep 02, 2002 15:41 Beiträge: 867 Wohnort: nahe Stuttgart
Ist es nicht so, dass du die Frames bzw. die Ausgabedaten sowieso jeweils auf einer Textur hast?
Dann wäre ja auch ganz simpel gl_FragColor = texture2d() * texture2d(); etc. möglich.
Ist es nicht so, dass du die Frames bzw. die Ausgabedaten sowieso jeweils auf einer Textur hast? Dann wäre ja auch ganz simpel gl_FragColor = texture2d() * texture2d(); etc. möglich.
ja hab ich schon, aber ich möchte ja wie in nem Stack arbeiten, also erst B über A blenden, dann C über das ergebnis etc.. sonst müßt ich ja nen elend langen shader schreiben (zumal dann mehr als 4 TMUs/Layer eh nich geht).
Hab es jetzt via glCopyTexSubImage gemacht, klappt auch wunderbar und es ist nicht wirklich nen geschwindigkeits verlust zu spüren
Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.