WebGL - Lesen von Pixeldaten aus dem Render-Puffer

8

Gibt es eine Möglichkeit, die Rohpixeldaten aus einem WebGL-Render-Puffer oder Framebuffer zu erhalten, der nicht auf dem Bildschirm angezeigt wird?

Ich benutze WebGL, um eine Bildverarbeitung zu machen, z.B. Verwischen eines Bildes, Anpassen der Farbe usw. Ich verwende Bildpuffer, um Texturen in voller Bildgröße zu rendern, und verwende dann diese Textur, um sie im Ansichtsfenster in einer kleineren Größe anzuzeigen. Kann ich die Pixeldaten eines Puffers oder einer Textur erhalten, damit ich in einem normalen Canvas 2d-Kontext damit arbeiten kann? Oder bleibe ich dabei, den Darstellungsbereich auf die volle Bildgröße zu ändern und die Daten mit canvas.toDataURL ()?

zu erfassen

Danke.

    
Sean Kent 30.05.2011, 03:03
quelle

2 Antworten

3

Das ist eine sehr alte Frage, aber ich habe kürzlich in three.js nach dem gleichen gesucht. Es gibt keine direkte Möglichkeit, den Frame-Puffer zu rendern, aber tatsächlich wird dies durch den Render-to-Texture (RTT) -Prozess gemacht. Ich überprüfe den Framework-Quellcode und finde den folgenden Code heraus:

%Vor%     
to_masz 22.03.2014, 14:50
quelle
5

readPixels() sollte tun, was Sie wollen. Lesen Sie mehr in der WebGL-Spezifikation unter Ссылка

    
brainjam 31.05.2011 18:04
quelle