{ 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+}