WebGL - Lesen von Pixeldaten aus render-buffer
Ist es ein Weg, um die rohen pixel-Daten aus einem WebGL Rendern Puffer-oder frame-buffer, der vom Bildschirm?
Ich bin mit WebGL zu tun, einige der Bildverarbeitung, z.B. verwischen ein Bild, anpassen von Farbe, etc.
Ich bin mit der frame-buffer zu Rendern Texturen auf die volle Bildgröße, dann mit, dass die textur für die Anzeige im viewport auf eine kleinere Größe. Kann ich den pixel-Daten in einem Puffer oder textur, so kann ich mit ihm in einem normalen canvas-2d-Kontext? Oder bin ich stecken mit der änderung der viewport auf die volle Bildgröße und greifen die Daten mit Leinwand.toDataURL()?
Dank.
- Hast du eigentlich eine Antwort auf diese? Die Antwort, die Sie markiert haben, sieht nicht, wie es eigentlich die Frage beantwortet.
- Ich nehme an, die eigentliche Antwort ist Nein, man kann nicht die pixel-Daten aus einem Puffer. Verwenden Sie
readPixels()
war der nächste, den ich bekam eine Antwort, also habe ich es akzeptiert. Sollte ich unaccept, die Antwort? - Ich glaube nicht, dass das notwendig ist. Es sei denn, jemand bietet eine nützliche Antwort, brainjam hat indirekt Ihre Frage beantwortet. Ich war nur neugierig.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist eine sehr alte Frage, aber ich habe mir für die gleichen in three.js vor kurzem. Es gibt keinen direkten Weg zu "render" frame buffer", aber eigentlich ist es getan, indem Sie render to texture (RTT) Prozess. Ich check den framework-Quellcode und herauszufinden, die folgenden code:
readPixels()
sollte das tun, was Sie wollen. Lesen Sie mehr in der WebGL-Spezifikation bei http://www.khronos.org/registry/webgl/specs/latest/