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 Vector4fgetBackgroundColor ()
 
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)
 
AttributegetAttribute ()
 
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)
 
RenderBuffergetRenderBuffer ()
 
bool hasScene (Raster::Scene *pScene)
 
void addScene (Raster::Scene *pScene)
 
void removeScene (Raster::Scene *pScene)
 
const Vector4fgetBackgroundColor ()
 
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)
 
AttributegetAttribute ()
 
uint getMask () const
 
RenderBuffergetRenderBuffer () 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, FrameBufferHandleframeBufferHandle
 
RenderBufferHandle colorRenderBuffer
 
RenderBufferHandle depthRenderBuffer
 
RenderBufferHandle stencilRenderBuffer
 
TextureHandle textureHandle
 
OutputAttachment textureAttachmentPoint
 
uint mask
 
RenderBufferpRenderBuffer
 
ImageMemory * pBoundImage
 
UnorderedMap< ImageMemory *, FrameBufferHandleframeBufferHandle
 

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: