Merge remote-tracking branch 'glBitmap.delphigl.com/unstable'
[LazOpenGLCore.git] / uglcFrameBufferObject.pas
index 7fcc673..b08fba3 100644 (file)
@@ -2,7 +2,37 @@ unit uglcFrameBufferObject;
 
 { Package:      OpenGLCore
   Prefix:       glc - OpenGL Core
-  Beschreibung: diese Unit enthält eine Klassen-Kapselung der OpenGL FrameBufferObjekte }
+  Beschreibung: diese Unit enthält eine Klassen-Kapselung der OpenGL FrameBufferObjekte
+  Beispiel:
+    var
+      fbo: TglcFrameBufferObject;
+      tex: TglcTextureBuffer;
+      buf: TglcRenderBuffer;
+
+    fbo := TglcFrameBufferObject.Create;
+    try
+      ffbo.SetSize(800, 600);
+
+      // creating texture buffer as color buffer
+      tex := TglcTextureBuffer.Create(TglcFormat.fmRGBA, TglcInternalFormat.ifRGBA16F);
+      fbo.AddBuffer(tex, TglcAttachment.atColor0, true);
+
+      // creating render buffer as depth buffer
+      buf := TglcRenderBuffer.Create(TglcInternalFormat.ifDepthComponent);
+      fbo.AddBuffer(buf, TglcAttachment.atDepth, true);
+
+      // render to frame buffer object
+      fbo.Bind;
+      // do normal rendering
+      fbo.Unbind;
+
+      // use texture buffer
+      tex.Bind;
+      // do normal rendering
+      tex.Unbind;
+    finally
+      FreeAndNil(fbo);
+    end; }
 
 {$mode objfpc}{$H+}