Linderdaum Engine: clGLFrameBuffer Class Reference
Updated: Sun Feb 5 2012 22:59:50
clGLFrameBuffer Class Reference

#include <GLFrameBuffer.h>

List of all members.

Public Member Functions

 clGLFrameBuffer ()
virtual ~clGLFrameBuffer ()
virtual void AfterConstruction ()
virtual void InitRenderTarget (const int Width, const int Height, const int Depth, const int BitsPerChannel, const bool HasDepthBuffer, const int MRTCount)
virtual void InitRenderTargetV (const LArray< LVector4i > &WidthHeightDepthBitsPerChannel, const bool HasDepthBuffer)
virtual iTextureGetColorTexture (int MRTIndex) const
virtual iTextureGetDepthTexture () const
virtual void Bind (int TargetIndex) const
virtual void BindReadFrom (int TargetIndex) const
virtual void UnBind () const
virtual LVector4 GetViewport () const
virtual void UpdateWithProgram (iShaderProgram *Program)
 Run shader program for every slice of the framebuffer color texture.
virtual void UpdateWithRenderState (clRenderState *Shader)
 Run shader for every slice of the framebuffer color texture.
 FWD_EVENT_HANDLER (Event_SURFACE_DETACHED)
 FWD_EVENT_HANDLER (Event_SURFACE_ATTACHED)

Protected Member Functions

void CheckFrameBuffer () const

Private Attributes

int FMemSize
Luint FFrameBuffer
LArray< iTexture * > FColorBuffers
iTextureFDepthBuffer
LArray< LVector4iFColorBuffersParams
 (Width, Height, Depth, BitsPerChannel) for every attached color buffer
bool FHasDepthBuffer

Constructor & Destructor Documentation

clGLFrameBuffer::clGLFrameBuffer ( ) [inline]
clGLFrameBuffer::~clGLFrameBuffer ( ) [virtual]

Member Function Documentation

void clGLFrameBuffer::AfterConstruction ( ) [virtual]

Reimplemented from iObject.

void clGLFrameBuffer::Bind ( int  TargetIndex) const [virtual]

Bind as the current render target

Implements iRenderTarget.

void clGLFrameBuffer::BindReadFrom ( int  TargetIndex) const [virtual]

Bind color buffer TargetIndex as the current render target to read pixels

Implements iRenderTarget.

void clGLFrameBuffer::CheckFrameBuffer ( ) const [protected]
clGLFrameBuffer::FWD_EVENT_HANDLER ( Event_SURFACE_DETACHED  )
clGLFrameBuffer::FWD_EVENT_HANDLER ( Event_SURFACE_ATTACHED  )
iTexture * clGLFrameBuffer::GetColorTexture ( int  MRTIndex) const [virtual]

Return color texture object for specified index of MRT render target

Implements iRenderTarget.

iTexture * clGLFrameBuffer::GetDepthTexture ( ) const [virtual]

Return depth texture object for this render target

Implements iRenderTarget.

LVector4 clGLFrameBuffer::GetViewport ( ) const [virtual]

Viewport size for this texture in pixels

Implements iRenderTarget.

void clGLFrameBuffer::InitRenderTarget ( const int  Width,
const int  Height,
const int  Depth,
const int  BitsPerChannel,
const bool  HasDepthBuffer,
const int  MRTCount 
) [virtual]

Initialize render target, WidthHeightDepthBitsPerChannel contains as many 4-vectors as MRTCount

Implements iRenderTarget.

void clGLFrameBuffer::InitRenderTargetV ( const LArray< LVector4i > &  WidthHeightDepthBitsPerChannel,
const bool  HasDepthBuffer 
) [virtual]

Implements iRenderTarget.

void clGLFrameBuffer::UnBind ( ) const [virtual]

Unbind render target

Implements iRenderTarget.

void clGLFrameBuffer::UpdateWithProgram ( iShaderProgram Program) [virtual]

Run shader program for every slice of the framebuffer color texture.

Implements iRenderTarget.

void clGLFrameBuffer::UpdateWithRenderState ( clRenderState Shader) [virtual]

Run shader for every slice of the framebuffer color texture.

Implements iRenderTarget.


Member Data Documentation

(Width, Height, Depth, BitsPerChannel) for every attached color buffer


The documentation for this class was generated from the following files: