Ich will eine gerenderte Szene in Graustufen rechnen und dann einen entsprechnenden Farbeteile(Rot oder Grün&Blau) weglassen. Eine Möglichkeit um Graustufen zu erzeugen, die ich ausprobiert habe, ist indem ich das mit glPixelTransferf, glReadPixels und glDrawPixels mache. Das dauert es aber pro Frame fast 2 Sekunden :/. Ist aber ohnehin ehr eine fusch Lösung.
Gibt es eine Möglichkeit die Szene gleich in Graustufen rendern zu lassen? Anschließend könnte man ja dann entsprechend mit glColorMask(GL_TRUE, GL_FALSE, GL_FALSE, GL_FALSE) zum Beispiel nur den Rot-Anteil heraus filtern?
Zusatz: Wenn du die einzelnen Farbanteile haben willst ist glColorMask (wie du schon selbst herausgefunden hast) eine Option. Dafür braucht es dann auch keinen Shader. Eine Lösung um Graustufen ohne Shader zu erzeugen wäre die einzelnen Farbanteile jeweils in eine Textur zu rendern und dann entsprechend der obigen Faktoren zusammen zu blenden. Aber der Einsatz eines Shader macht dir hier das Leben wirklich leichter...den dann brauchst du statt 4 Passes nur einen einzigen.
Mitglieder in diesem Forum: 0 Mitglieder und 2 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.