Rasterfarm-SDK
Loading...
Searching...
No Matches
FrameBuffer Class Reference

#include <framebuffer.h>

Classes

class  Attribute
 
class  ExportTask
 

Public Member Functions

 FrameBuffer (const Texture::Attribute &textureAttribute, Raster::Scene *pScene=nullptr)
 
 FrameBuffer (Texture *pTexture, Raster::Scene *pScene=nullptr)
 
virtual ~FrameBuffer ()
 
void setAttribute (const Texture::Attribute &textureAttribute)
 
bool hasScene (Raster::Scene *pScene)
 
void addScene (Raster::Scene *pScene)
 
void removeScene (Raster::Scene *pScene)
 
void init ()
 
const Vector4f & getBackgroundColor ()
 
void setBackgroundColor (const Vector4f &color)
 
void addTexture (Texture *pTexture)
 
void removeImage (TextureHandle handle)
 
TextureHandle getBoundImage ()
 
bool hasImage (TextureHandle handle)
 
bool hasImage (Texture *pTexture)
 
void bindFramebuffer (TextureHandle handle)
 
bool checkStatus ()
 
void setSize (uint width, uint height)
 
FrameBufferHandle getHandle (TextureHandle handle)
 
Attribute & getAttribute ()
 
OutputAttachment getTextureAttachmentPoint () const
 
uint getMask () const
 
RenderBufferHandle getColorRenderBuffer () const
 
RenderBufferHandle getDepthRenderBuffer () const
 
RenderBufferHandle getStencilRenderBuffer () const
 
 FrameBuffer (const Engine::Texture::Attribute &textureAttribute, Raster::Scene *pScene=nullptr)
 
 FrameBuffer (Engine::Texture *pTexture, Raster::Scene *pScene=nullptr)
 
 FrameBuffer (const Attribute &attribute, bool display, Raster::Scene *pScene=nullptr)
 
virtual ~FrameBuffer ()
 
void setAttribute (const Texture::Attribute &textureAttribute)
 
RenderBuffer * getRenderBuffer ()
 
bool hasScene (Raster::Scene *pScene)
 
void addScene (Raster::Scene *pScene)
 
void removeScene (Raster::Scene *pScene)
 
const Vector4f & getBackgroundColor ()
 
void setBackgroundColor (const Vector4f &color)
 
bool hasImage (ImageMemory *pImage)
 
bool hasImage (Texture *pTexture)
 
FrameBufferHandle getFrameBufferHandle (ImageMemory *pImage)
 
FrameBufferHandle getFrameBufferHandle (const HeapArray< ImageMemory * > &pImage)
 
FrameBufferHandle updateFrameBufferHandle (const HeapArray< ImageMemory * > &pImage)
 
void addImage (ImageMemory *pImage)
 
void addTexture (Texture *pTexture)
 
void removeImage (ImageMemory *pImage)
 
ImageMemory * getBoundImage ()
 
void bindFramebuffer (ImageMemory *pTexture)
 
bool checkStatus ()
 
ImageMemory * getImage ()
 
FrameBufferHandle getHandle (ImageMemory *pTexture)
 
Attribute & getAttribute ()
 
uint getMask () const
 
RenderBuffer * getRenderBuffer () const
 
void createPipelines (Raster::GeometricBase *pGeometricObject)
 
void createPipelines (Raster::Scene *pScene)
 
void createPipelines (FrameBufferHandle handle)
 
void destroyPipelines (FrameBufferHandle handle)
 
void exportPngImage (ImageMemory *pImageMemory, const char *filename)
 

Static Public Member Functions

static void invalidate (BufferTarget target, uint numAttachments, const OutputAttachment *attachments)
 
static void invalidate (BufferTarget target, uint numAttachments, const OutputAttachment *attachments)
 

Protected Attributes

Attribute attribute
 
List< Raster::Scene * > pSceneList
 
Vector4f backgroundColor
 
UnorderedMap< TextureHandle, FrameBufferHandle > frameBufferHandle
 
RenderBufferHandle colorRenderBuffer
 
RenderBufferHandle depthRenderBuffer
 
RenderBufferHandle stencilRenderBuffer
 
TextureHandle textureHandle
 
OutputAttachment textureAttachmentPoint
 
uint mask
 
RenderBuffer * pRenderBuffer
 
ImageMemory * pBoundImage
 
UnorderedMap< ImageMemory *, FrameBufferHandle > frameBufferHandle
 

Friends

class RenderBuffer
 
class Raster::Scene
 

Constructor & Destructor Documentation

◆ FrameBuffer() [1/5]

FrameBuffer::FrameBuffer ( const Texture::Attribute & textureAttribute,
Raster::Scene * pScene = nullptr )

◆ FrameBuffer() [2/5]

FrameBuffer::FrameBuffer ( Texture * pTexture,
Raster::Scene * pScene = nullptr )

◆ ~FrameBuffer() [1/2]

virtual FrameBuffer::~FrameBuffer ( )
virtual

◆ FrameBuffer() [3/5]

FrameBuffer::FrameBuffer ( const Engine::Texture::Attribute & textureAttribute,
Raster::Scene * pScene = nullptr )

Construct a FrameBuffer object using a Texture's attributes.

Parameters
ATexture::Attribute object.
Anoptional Scene object.

◆ FrameBuffer() [4/5]

FrameBuffer::FrameBuffer ( Engine::Texture * pTexture,
Raster::Scene * pScene = nullptr )

Construct a FrameBuffer object using a Texture.

Parameters
ATexture::Attribute object.
Anoptional Scene object.

◆ FrameBuffer() [5/5]

FrameBuffer::FrameBuffer ( const Attribute & attribute,
bool display,
Raster::Scene * pScene = nullptr )

Construct a FrameBuffer object using a FrameBuffer's attributes.

Parameters
AFrameBuffer::Attribute object.
Trueis targeting a display.
Anoptional Scene object.

◆ ~FrameBuffer() [2/2]

virtual FrameBuffer::~FrameBuffer ( )
virtual

Member Function Documentation

◆ addImage()

void FrameBuffer::addImage ( ImageMemory * pImage)

◆ addScene() [1/2]

void FrameBuffer::addScene ( Raster::Scene * pScene)

Notifies the Scene so it can notify this RenderPass of new Programs and respective GraphicsPipelines.

◆ addScene() [2/2]

void FrameBuffer::addScene ( Raster::Scene * pScene)

Notifies the Scene so it can notify this RenderPass of new Programs and respective GraphicsPipelines.

◆ addTexture() [1/2]

void FrameBuffer::addTexture ( Texture * pTexture)

◆ addTexture() [2/2]

void FrameBuffer::addTexture ( Texture * pTexture)

◆ bindFramebuffer() [1/2]

void FrameBuffer::bindFramebuffer ( ImageMemory * pTexture)
Parameters
ImageMemoryobject to bind for rendering, or nullptr to unbind currently bound ImageMemory object.

◆ bindFramebuffer() [2/2]

void FrameBuffer::bindFramebuffer ( TextureHandle handle)

◆ checkStatus() [1/2]

bool FrameBuffer::checkStatus ( )

◆ checkStatus() [2/2]

bool FrameBuffer::checkStatus ( )

◆ createPipelines() [1/3]

void FrameBuffer::createPipelines ( FrameBufferHandle handle)

◆ createPipelines() [2/3]

void FrameBuffer::createPipelines ( Raster::GeometricBase * pGeometricObject)

◆ createPipelines() [3/3]

void FrameBuffer::createPipelines ( Raster::Scene * pScene)

◆ destroyPipelines()

void FrameBuffer::destroyPipelines ( FrameBufferHandle handle)

◆ exportPngImage()

void FrameBuffer::exportPngImage ( ImageMemory * pImageMemory,
const char * filename )

◆ getAttribute() [1/2]

Attribute & FrameBuffer::getAttribute ( )
inline

◆ getAttribute() [2/2]

Attribute & FrameBuffer::getAttribute ( )
inline

◆ getBackgroundColor() [1/2]

const Vector4f & FrameBuffer::getBackgroundColor ( )
inline

◆ getBackgroundColor() [2/2]

const Vector4f & FrameBuffer::getBackgroundColor ( )
inline

◆ getBoundImage() [1/2]

TextureHandle FrameBuffer::getBoundImage ( )
inline

◆ getBoundImage() [2/2]

ImageMemory * FrameBuffer::getBoundImage ( )
inline

◆ getColorRenderBuffer()

RenderBufferHandle FrameBuffer::getColorRenderBuffer ( ) const
inline

◆ getDepthRenderBuffer()

RenderBufferHandle FrameBuffer::getDepthRenderBuffer ( ) const
inline

◆ getFrameBufferHandle() [1/2]

FrameBufferHandle FrameBuffer::getFrameBufferHandle ( const HeapArray< ImageMemory * > & pImage)

◆ getFrameBufferHandle() [2/2]

FrameBufferHandle FrameBuffer::getFrameBufferHandle ( ImageMemory * pImage)

◆ getHandle() [1/2]

FrameBufferHandle FrameBuffer::getHandle ( ImageMemory * pTexture)

◆ getHandle() [2/2]

FrameBufferHandle FrameBuffer::getHandle ( TextureHandle handle)

◆ getImage()

ImageMemory * FrameBuffer::getImage ( )
inline

◆ getMask() [1/2]

uint FrameBuffer::getMask ( ) const
inline

◆ getMask() [2/2]

uint FrameBuffer::getMask ( ) const
inline

◆ getRenderBuffer() [1/2]

RenderBuffer * FrameBuffer::getRenderBuffer ( )
inline

◆ getRenderBuffer() [2/2]

RenderBuffer * FrameBuffer::getRenderBuffer ( ) const

◆ getStencilRenderBuffer()

RenderBufferHandle FrameBuffer::getStencilRenderBuffer ( ) const
inline

◆ getTextureAttachmentPoint()

OutputAttachment FrameBuffer::getTextureAttachmentPoint ( ) const
inline

◆ hasImage() [1/4]

bool FrameBuffer::hasImage ( ImageMemory * pImage)

◆ hasImage() [2/4]

bool FrameBuffer::hasImage ( Texture * pTexture)

◆ hasImage() [3/4]

bool FrameBuffer::hasImage ( Texture * pTexture)

◆ hasImage() [4/4]

bool FrameBuffer::hasImage ( TextureHandle handle)

◆ hasScene() [1/2]

bool FrameBuffer::hasScene ( Raster::Scene * pScene)

◆ hasScene() [2/2]

bool FrameBuffer::hasScene ( Raster::Scene * pScene)

◆ init()

void FrameBuffer::init ( )

◆ invalidate() [1/2]

static void FrameBuffer::invalidate ( BufferTarget target,
uint numAttachments,
const OutputAttachment * attachments )
static

◆ invalidate() [2/2]

static void FrameBuffer::invalidate ( BufferTarget target,
uint numAttachments,
const OutputAttachment * attachments )
static

◆ removeImage() [1/2]

void FrameBuffer::removeImage ( ImageMemory * pImage)

◆ removeImage() [2/2]

void FrameBuffer::removeImage ( TextureHandle handle)

◆ removeScene() [1/2]

void FrameBuffer::removeScene ( Raster::Scene * pScene)

Notifies the Scene so it can notify this RenderPass of new Programs and respective GraphicsPipelines.

◆ removeScene() [2/2]

void FrameBuffer::removeScene ( Raster::Scene * pScene)

Notifies the Scene so it can notify this RenderPass of new Programs and respective GraphicsPipelines.

◆ setAttribute() [1/2]

void FrameBuffer::setAttribute ( const Texture::Attribute & textureAttribute)

◆ setAttribute() [2/2]

void FrameBuffer::setAttribute ( const Texture::Attribute & textureAttribute)

◆ setBackgroundColor() [1/2]

void FrameBuffer::setBackgroundColor ( const Vector4f & color)
inline

◆ setBackgroundColor() [2/2]

void FrameBuffer::setBackgroundColor ( const Vector4f & color)

◆ setSize()

void FrameBuffer::setSize ( uint width,
uint height )

◆ updateFrameBufferHandle()

FrameBufferHandle FrameBuffer::updateFrameBufferHandle ( const HeapArray< ImageMemory * > & pImage)

Friends And Related Symbol Documentation

◆ Raster::Scene

friend class Raster::Scene
friend

◆ RenderBuffer

friend class RenderBuffer
friend

Member Data Documentation

◆ attribute

Attribute FrameBuffer::attribute
protected

◆ backgroundColor

Vector4f FrameBuffer::backgroundColor
protected

Backgound color for the given scene.

◆ colorRenderBuffer

RenderBufferHandle FrameBuffer::colorRenderBuffer
protected

◆ depthRenderBuffer

RenderBufferHandle FrameBuffer::depthRenderBuffer
protected

◆ frameBufferHandle [1/2]

UnorderedMap< TextureHandle, FrameBufferHandle > FrameBuffer::frameBufferHandle
protected

◆ frameBufferHandle [2/2]

UnorderedMap< ImageMemory *, FrameBufferHandle > FrameBuffer::frameBufferHandle
protected

◆ mask

uint FrameBuffer::mask
protected

◆ pBoundImage

ImageMemory* FrameBuffer::pBoundImage
protected

◆ pRenderBuffer

RenderBuffer* FrameBuffer::pRenderBuffer
protected

◆ pSceneList

List< Raster::Scene * > FrameBuffer::pSceneList
protected

The Scenes that are currently rendering to this FrameBuffer.

◆ stencilRenderBuffer

RenderBufferHandle FrameBuffer::stencilRenderBuffer
protected

◆ textureAttachmentPoint

OutputAttachment FrameBuffer::textureAttachmentPoint
protected

◆ textureHandle

TextureHandle FrameBuffer::textureHandle
protected

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