Android OpenGL ES Framebuffer-Objekte - Tiefenpuffer in Textur rendern

Ich verwende ein Android-Gerät mit Froyo, das OpenGL ES 1.1 und OpenGL ES 2.0 unterstützt.

Ich möchte den Tiefenpuffer in eine Textur rendern. Nachdem ich eine Reihe von Beispielen für OpenGL und OpenGL ES auf anderen Plattformen (einschließlich iPhone) gesehen habe, habe ich eine Reihe von FBO-Konfigurationen ausprobiert.

Ich scheine in der Lage zu sein, ein FBO-Setup mit einer Farbtextur zu erhalten, aber jedes Mal, wenn ich eine Tiefenstruktur anhänge, schlägt dies fehl.

Mein aktueller Code basiert aufdieses Beispiel, aber auch eine Farbtextur erstellen, anstatt die Zeichen- und Lesepuffer auf "Keine" zu setzen.

Gibt es ein einfaches Beispiel für die Konfiguration eines OpenGL ES FBO unter Android, um die Tiefe einer Textur zu rendern? Gibt es alternativ ein Dokument, das beschreibt, was unterstützt wird und was nicht?

Vielen Dank für die Kommentare - Ich brauchte speziell eine Lösung für ES 1.1, wenn sie auf Android gefunden werden konnte und funktioniert. Ich möchte auch ES 2 betrachten. Ich bin nicht sicher, ob ich die Idee des Packens der Tiefeninformationen in einen Farbpuffer verstehe. Haben Sie eine Referenz, die ich mir ansehen kann, um die Idee besser zu verstehen?

Regarding Code - meine Quelle unterscheidet sich kaum von dem Link, den ich oben gepostet habe. Der Framebuffer-Status ist, dass er nicht vollständig ist.

Danke für den Fragment-Shader-Vorschlag - ich verstehe jetzt die Idee. Werde mir das ansehen, wenn ich keine andere Lösung zum Laufen bringen kann. Mein Ideal ist es, Tiefe und Farbe gleichzeitig zu erhalten - ich möchte nicht wirklich Farbe und Tiefe separat rendern, wenn ich es verbessern kann.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage