Nach http://www.opengl.org/sdk/docs/man/xhtml/glFramebufferTexture.xml, sollte ein Aufruf an glFramebufferTexture
wie folgt aussehen:Was ist der Punkt des textarget-Parameters für glFramebufferTexture?
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, textureId, 0);
Wenn die API bereits die textureId
weiß, warum braucht man es das Ziel (GL_TEXTURE_2D
) wissen? Bedeutet dies, dass die Textur vor diesem Aufruf gebunden sein sollte? d.h. muss ich anrufen:
glBindTexture(GL_TEXTURE_2D, textureId);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, textureId, 0);
glBindTexture(GL_TEXTURE_2D, 0);
Oder wird glFramebufferTexture2D
alles behandeln?
Also sagst du, ich sollte aufhören, 'glFramebufferTexture2D' zu verwenden und stattdessen' glFramebufferTextureLayer' zu verwenden? Und ich brauche mir keine Gedanken darüber zu machen, ob ich die Textur vor und nach den Anrufen binden soll. –
@MarkIngram: Ich habe den letzten Satz geändert, um es klarer zu machen. Und meine Erklärung, warum das Ziel dort ist, sollte klarstellen, dass du die Textur nicht binden musst; Ich habe keine Ahnung, wie Sie diese Idee überhaupt bekommen haben. –
Danke Nicol, ich verwende eine Textur als Ausgabe einer GPGPU-Operation, also werde ich es nicht mit Cubemaps zu tun haben. Ich habe die Idee von einem Beispiel-Apple-Code, aber es könnte sein, dass sie nur die Textur nicht gelöst haben, wenn sie damit fertig waren. –