Hallo
Ist es möglich, OpenGL anstatt im 32Bit RGBA-Modus auch in einem 32Bit Graustufen-Modus laufen zu lassen? Ich meine nicht das umwandeln einer RGB-Textur in eine Graustufen-Textur, sondern wirklich ein Umstellen von OpenGL.
Registriert: Sa Okt 26, 2002 17:14 Beiträge: 188 Wohnort: Hannover/Lüneburg
Mir fällt da spontan nur ein, die Szene in einen PBufer oder Texture zu rendern und dann ein bildschirmfüllendes Quad zu zeichnen und diesem die Texture zuzuweisen. Dabei ein Fragmentprogramm verwenden, dass diese Umwandlung vornimmt. SO habe ich das jedenfalls mal zu Testzwecken gemacht. Nachteil: halbwegs moderne Hardware benötigt.
_________________ Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?
Registriert: Di Jul 01, 2003 18:59 Beiträge: 887 Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
Das ist denk ich nicht moglich. De ist nich etwas wie einer 32bit gruastufen modus fur windows oder opengl. Warscheinlich reichen 256 graustufen aus um ein gutes bild zu machten so sie konnen einer 256 farben modus nutzen mit ein graustufen palete. Ich weis nicht sicher das opengl das palete andern last.... Sonst bleibt nur rendern nach einder texture ubrich und dieser per software umzusetzen nach graustufen und dies zu rendern.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Im Redbook stand was zu verschiednenen Farbmodi. SoS hatte geschreiben, dass die technik veraltet wäre und nicht mehr benutzt wird, ich weis nix genauerers darüber aber eventuell kann SoS hier licht ins dunkel bringen.
Der Modus (COLOR PLATES) den ich meine war früher dazu da nicht benötigte Farben nicht mit in die Farbpalette zu laden. Dadurch konnte man Platz sparen. Vieleicht kann man das für deine Zwecke nutzen.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Der Palettenmodus hätte im Endeffekt dazu genutzt werden können, allerdings wird der von modernen Grafikkarten nicht mehr unterstützt, also bringt das nix. Und Palettenmodus heisst nicht wie Flash sagt bestimmte Farben NICHT zu laden, sondern um eine bestimmte Farbpalette zu laden. Früher war das halt ne Hardwarelimitation, weshalb man nen Palettenmods entwickelt hat.
Im Endeffekt hast du heute eigentlich nur drei Möglichkeiten :
- Fragmentshader/programm der/das die Farbwerte automatisch in Graustufen wandelt (Geht OHNE PBuffer)
- Die Texturdaten als GL_LUMINANCE übergeben
- Am besten direkt alle Texturen im Bildbearbeitungsprogramm in Graustufen umwandeln
Nen echten 32-Bit-Graustufenmodus gibts unter OpenGL nämlich nicht.
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.