GL EXT framebuffer object
Inhaltsverzeichnis
EXT_framebuffer_object
Die Orginalspezifikation finden Sie unter "Ressourcen" am Ende des Artikels. |
Abfragestring
GL_EXT_framebuffer_object
Beschreibung
Diese Extension stellt ein Interface bereit um in Ziele zu rendern welche nicht vom Fenstersystem bereitgestellt wurde. Sie ähneln damit den PBuffers, nur muss man sich hier nicht mit Plattformabhängigen wgl/glX-Befehlen herumplagen. Auch die lästigen Context-Switches entfallen.
Diese neuen Renderziele sind so genannte Framebufferobjekte. Sie selber stellen aber noch keine Puffer bereit, daher kann man an sie Renderbuffer und Texturen binden. Dies ist möglich für die bisherigen logischen standard GL Puffertypen: color, depth, und stencil.
Ein Binden eines Framebufferbildes an den Accumationbuffer wird hier auf eine spätere Extension verschoben. |
Wenn ein Framebufferbild an den Framebuffer gebunden wurde, dient es als Quelle für Readoperationen wie glReadPixels und als Ziel für Fragmentoperationen.
Durch die Einführung von Framebufferbildern als Renderziel wird nichtsichtbares Rendern (offscreen rendering) ermöglicht.
Weiterhin wird das Rendern in Texturen dahingehend vereinfacht, dass man das Texturbild als Framebufferbild binden kann, und so direkt in die Textur rendern kann. Dies geschieht indem man durch die Angabe von Mipmap-Level, Cubemap-Fläche (für Cubemap Texturen) und einem Z-Offset (nur bei 3D Texturen) ein bestimmtes Bild eines Texturobjekts wählt.
Die "Render To Texture Semantik" ist vergleichbar mit dem klassischen Rendern in den Framebuffer mit anschließendem Aufruf von glCopyTexSubImage. Vorteil der neuen Methode ist, dass man ads selbe Ergebnis erhält dabei aber auf das Kopieren der Daten verzichten kann.
Verwendung
Kombinierungsarten
Operanden
Weitere Sachen
Hinweise
Neue Funktionen
- glIsRenderbufferEXT
- glBindRenderbufferEXT
- glDeleteRenderbuffersEXT
- glGenRenderbuffersEXT
- glRenderbufferStorageEXT
- glGetRenderbufferParameterivEXT
- glIsFramebufferEXT
- glBindFramebufferEXT
- glDeleteFramebuffersEXT
- glGenFramebuffersEXT
- glCheckFramebufferStatusEXT
- glFramebufferTexture1DEXT
- glFramebufferTexture2DEXT
- glFramebufferTexture3DEXT
- glFramebufferRenderbufferEXT
- glGetFramebufferAttachmentParameterivEXT
- glGenerateMipmapEXT
Neue Tokens
Neue Parameterwerte
Neue States
Abhängigkeiten
Interne Links auf Extensions von denen die hier beschriebene abhängt
Ressourcen
http://www.opengl.org/documentation/extensions/EXT_framebuffer_object.txt http://download.nvidia.com/developer/presentations/2005/GDC/OpenGL_Day/OpenGL_FrameBuffer_Object.pdf