Frage
Ich habe eine Rendering-Setup haben, in dem ich zu einem Frame Buffer Objekt schreiben auf eine Textur angebracht und das Rendering selbst verwendet auch die Textur ich Rendern.
Ist das eine gute Idee? Könnte es einige seltsame Fragen hier beteiligt sein, die ich bin vielleicht nicht bewusst?
Lösung
Dies wird in undefiniertem Verhalten führen, was bedeutet, es mit jeder zukünftigen Treiberversion brechen kann, und verhält sich anders auf unterschiedliche Hardware. Um auf der sicheren Seite zu sein, sollten Sie nie in eine Textur machen, die zur Zeit gebunden ist (das heißt, die möglicherweise lesen und zugleich geschrieben werden können - das ist das Problem tatsächlich). Versuchen Sie, eine Kopie der Textur zu machen und machen in diesem statt.
Werfen Sie einen Blick auf die spec , specifially Abschnitt 4.4. 3 „Rendering Wenn ein Bild eines Bound-Textur-Objekt auch an dem Framebuffer-Attached“