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 erfassenDanke.
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%Tags und Links javascript html5 canvas image-processing webgl