Ich habe ein Framebuffer-Objekt, in dem ich Multi-Target-Rendering auf N Texturen verwende, die daran gebunden sind. Zu einer bestimmten Zeit möchte ich den Inhalt einiger dieser Texturen löschen, aber nicht alle. Wenn ichIst es möglich, bestimmte Texturen in einem Framebuffer mit Multi-Target-Rendering zu löschen?
glClearColor(0.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
zum FBO binded jede Textur rufen wird gelöscht werden (bin ich richtig?). Gibt es eine Möglichkeit, dies auf bestimmte Zeichenpuffer/Texturen zu tun?
Vielen Dank. Was ist der richtige Gebrauch von glClearBufferfv? Ist glClearBufferfv (GL_COLOR_ATTACHEMENT0, 0, & Farbe [0]) in Ordnung? (wo die Farbe ein float [4] Array ist) – darius
@darius: "* glClearBufferfv *" nimmt ein Array von Floats. Das ist es, was [das "fv" immer bedeutet] (https://www.opengl.org/wiki/Nomenclature#Function_suffixes). In diesem Fall sind es immer 4 Floats. Genauso wie die 'iv'-Version 4 vorzeichenbehaftete Ganzzahlen (zum Löschen von Integer-Format-Puffern) und' uiv' 4 vorzeichenlose Ganzzahlen benötigt. –
Danke für den Link! Der Teil, an dem ich wirklich Zweifel hatte, sind die ersten beiden Argumente. Wenn ich richtig verstanden habe, sind sie das GLenum des Puffers und der Platz im Farbpuffer-Array von GLenum. Also, im Allgemeinen Sachen wie GL_COLOR_ATTACHEMENT0 + i, i – darius