libmoldeo (Moldeo 1.0 Core)  1.0
libmoldeo is the group of objects and functions that executes the basic operations of Moldeo 1.0 Platform.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
moFBO Class Reference

#include <moFBO.h>

Inheritance diagram for moFBO:
moAbstract

Public Member Functions

 moFBO ()
 
virtual ~moFBO ()
 
virtual MOboolean Init (moGLManager *p_gl)
 
virtual MOboolean Finish ()
 
MOboolean HasDepthBuffer ()
 
MOboolean HasStencilBuffer ()
 
MOboolean AddDepthStencilBuffer ()
 
void Bind ()
 
void Unbind ()
 
void SetReadTexture (MOuint p_attach_point)
 
void SetDrawTexture (MOuint p_attach_point)
 
void SetReadTexture (MOuint p_glid, MOuint p_width, MOuint p_height, const moTexParam &p_param, MOuint p_attach_point=0)
 
void SetDrawTexture (MOuint p_glid, MOuint p_width, MOuint p_height, const moTexParam &p_param, MOuint p_attach_point=0)
 
MOint GetColorAttachPoint (MOuint p_attach_point)
 
MOint GetTextureGLId (MOuint p_attach_point)
 
MOint GetColorAttachPointIndex (MOuint p_glid)
 
MOuint GetColorAttachPointsCount ()
 
MOuint AddTexture (MOuint p_width, MOuint p_height, const moTexParam &p_param, MOuint p_glid, MOuint &p_attach_point)
 
MOuint AttachTexture (MOuint p_width, MOuint p_height, const moTexParam &p_param, MOuint p_glid, MOuint p_attach_point)
 
void ClearAttachements ()
 
MOuint CheckStatus () const
 
MOboolean IsValidTexture (MOuint p_width, MOuint p_height, const moTexParam &p_param) const
 
MOuint GetGLId () const
 
MOuint GetTarget () const
 
MOuint GetInternalFormat () const
 
MOuint GetWidth () const
 
MOuint GetHeight () const
 
- Public Member Functions inherited from moAbstract
 moAbstract ()
 
virtual ~moAbstract ()
 
virtual MOboolean Init ()
 Inicializa el objeto. More...
 
MOboolean Initialized ()
 Pregunta si está inicializado. More...
 

Additional Inherited Members

- Public Attributes inherited from moAbstract
MOboolean m_bInitialized
 Valor de inicialización More...
 
- Static Public Attributes inherited from moAbstract
static moDebugMODebug2 = new moDebug()
 Clase de impresión de errores para depuración More...
 
static moTextHeapMODebug = new moTextHeap()
 Lista de textos. More...
 

Detailed Description

Clase que encapsula un FrameBuffer Object (FBO) de OpenGL. Este tipo de objeto facilita enormemente las operaciones de render a textura. Varias texturas pueden ser asociadas (attached) como búfers de color a un FBO, de esta manera se puede hacer un render a varias texturas simultáneamente. A un FBO también pueden ser asociados búfers de stencil y depth. De esta manera un FBO puede representar un contexto de render completo donde se pueden llevar a cabo todas las operaciones de dibujo que se efectúan normalmente en el framebuffer de la pantalla. Nota: los términos punto de asociación y búfer de color son utilizados como sinónimos en los comentarios que siguen.

Definition at line 60 of file moFBO.h.

Constructor & Destructor Documentation

moFBO::moFBO ( )

Constructor por defecto.

moFBO::~moFBO ( )
virtual

Destructor por defecto.

Definition at line 53 of file moFBO.cpp.

Member Function Documentation

MOboolean moFBO::AddDepthStencilBuffer ( )

Crea y asocia depth y stencil búfers al FBO.

Definition at line 86 of file moFBO.cpp.

MOuint moFBO::AddTexture ( MOuint  p_width,
MOuint  p_height,
const moTexParam p_param,
MOuint  p_glid,
MOuint p_attach_point 
)

Agrega la textura con los parámetros especificados como nuevo búfer de color.

Parameters
p_widthancho de la textura a asociar.
p_heightalto de la textura a asociar.
p_paramparámetros de la textura a asociar.
p_glidOpenGL ID de la textura a asociar.
p_attach_pointen esta variable pasada por referencia es devuelto el índice del punto de asociación asignado a la textura.
Returns
resultado de la operación de asociación.

Definition at line 174 of file moFBO.cpp.

MOuint moFBO::AttachTexture ( MOuint  p_width,
MOuint  p_height,
const moTexParam p_param,
MOuint  p_glid,
MOuint  p_attach_point 
)

Asocia la textura con los parámetros especificados al búfer de color p_attach_point.

Parameters
p_widthancho de la textura a asociar.
p_heightalto de la textura a asociar.
p_paramparámetros de la textura a asociar.
p_glidOpenGL ID de la textura a asociar.
p_attach_pointíndice del punto de asociación al cual será asociada la textura.
Returns
resultado de la operación de asociación.

Definition at line 218 of file moFBO.cpp.

void moFBO::Bind ( )

Activa este FBO. Todos los renders se realizaran a las texturas asociadas a los búfers de color de este FBO. Guarda el framebuffer actual.

Definition at line 114 of file moFBO.cpp.

MOuint moFBO::CheckStatus ( ) const

Devuelve el estado del FBO.

Returns
estado del FBO.

Definition at line 273 of file moFBO.cpp.

void moFBO::ClearAttachements ( )

Limpia todos los puntos de asociación de este FBO.

Definition at line 260 of file moFBO.cpp.

MOboolean moFBO::Finish ( )
virtual

Finaliza el FBO.

Returns
true si la operación fue exitosa, false en caso contrario.

Reimplemented from moAbstract.

Definition at line 70 of file moFBO.cpp.

MOint moFBO::GetColorAttachPoint ( MOuint  p_attach_point)

Devuelve el identificador de OpenGL para el punto de asociación p_attach_point.

Parameters
p_attach_pointíndice del punto de asociación.
Returns
identificador de OpenGL.

Definition at line 153 of file moFBO.cpp.

MOint moFBO::GetColorAttachPointIndex ( MOuint  p_glid)

Devuelve el índice del punto de asociación al cual está vinculada la textura con OpenGL ID p_glid.

Parameters
p_glidOpenGL ID de la textura.
Returns
índice del punto de asociación.

Definition at line 167 of file moFBO.cpp.

MOuint moFBO::GetColorAttachPointsCount ( )
inline

Devuelve el número de puntos de asociación búfers de color utilizados en este momento.

Returns
número de puntos de asociación.

Definition at line 169 of file moFBO.h.

MOuint moFBO::GetGLId ( ) const
inline

Devuelve el identificador de OpenGL de este FBO.

Returns
identificador de OpenGL.

Definition at line 218 of file moFBO.h.

MOuint moFBO::GetHeight ( ) const
inline

Devuelve el alto de las texturas asociadas a los búfers de color de este FBO.

Returns
alto de la texturas asociadas.

Definition at line 238 of file moFBO.h.

MOuint moFBO::GetInternalFormat ( ) const
inline

Devuelve el formato interno (GL_RGBA, GL_RGB, etc.) de las texturas asociadas a los búfers de color de este FBO.

Returns
formato interno de las texturas asociadas.

Definition at line 228 of file moFBO.h.

MOuint moFBO::GetTarget ( ) const
inline

Devuelve el tárget OpenGL (GL_TEXTURE_2D, GL_TEXTURE_RECT, etc.) de las texturas asociadas a los búfers de color de este FBO.

Returns
OpenGL target de las texturas asociadas.

Definition at line 223 of file moFBO.h.

MOint moFBO::GetTextureGLId ( MOuint  p_attach_point)

Devuelve el OpenGL ID de la textura vinculada al punto de asociación p_attach_point.

Parameters
p_attach_pointíndice del punto de asociación.
Returns
OpenGL ID de la textura.

Definition at line 160 of file moFBO.cpp.

MOuint moFBO::GetWidth ( ) const
inline

Devuelve el ancho de las texturas asociadas a los búfers de color de este FBO.

Returns
ancho de la texturas asociadas.

Definition at line 233 of file moFBO.h.

MOboolean moFBO::HasDepthBuffer ( )
inline

Devuelve true o false dependiendo si el FBO tiene un depth búfer asociado.

Returns
true o false de acuerdo a la presencia de un depth búfer.

Definition at line 88 of file moFBO.h.

MOboolean moFBO::HasStencilBuffer ( )
inline

Devuelve true o false dependiendo si el FBO tiene un stencil búfer asociado.

Returns
true o false de acuerdo a la presencia de un stencil búfer.

Definition at line 93 of file moFBO.h.

MOboolean moFBO::Init ( moGLManager p_gl)
virtual

Initicializa el FBO utilizando p_gl como adminstrador de OpenGL.

Parameters
p_glpuntero al administrador de OpenGL.
Returns
true si la operación fue exitosa, false en caso contrario.

Definition at line 58 of file moFBO.cpp.

MOboolean moFBO::IsValidTexture ( MOuint  p_width,
MOuint  p_height,
const moTexParam p_param 
) const

Revisa que una textura de tamaño p_width x p_height y parámetros p_param sea compatible con la actual configuración de los puntos de asociación. Una vez que una textura es asociada a un búfer de color

Parameters
p_widthancho a revisar.
p_heightalto a revisar.
p_paramparámetros a revisar.
Returns
resultado de la revisión: true en caso de que los parámetros sean compatibles, false en caso contrario.

Definition at line 316 of file moFBO.cpp.

void moFBO::SetDrawTexture ( MOuint  p_attach_point)

Establece como textura de escritura aquella asociada en el búfer de color con índice p_attach_point en este FBO.

Parameters
p_attach_pointíndice del búfer de color a utilizar.

Definition at line 131 of file moFBO.cpp.

void moFBO::SetDrawTexture ( MOuint  p_glid,
MOuint  p_width,
MOuint  p_height,
const moTexParam p_param,
MOuint  p_attach_point = 0 
)

Establece como textura de lectura aquella con OpenGL ID p_glid. Si dicha textura ya esta asociada al FBO, el efecto de esta función es equivalente al de llamar SetDrawTexture con el índice p_attach_point correspondiente a dicha textura. En el caso de que la textura no este asociada, es asociada (attached) utilizando la función AttachTexture con los parámetros p_width, p_height, etc.

Parameters
p_glidOpenGL ID de la textura a asociar.
p_widthancho de la textura a asociar.
p_heightalto de la textura a asociar.
p_paramparámetros de la textura a asociar.
p_attach_pointíndice del punto de asociación (el búfer de color del FBO) al cual vincular la textura.
See also
AttachTexture

Definition at line 145 of file moFBO.cpp.

void moFBO::SetReadTexture ( MOuint  p_attach_point)

Establece como textura de lectura aquella asociada en el búfer de color con índice p_attach_point en este FBO.

Parameters
p_attach_pointíndice del búfer de color a utilizar.

Definition at line 125 of file moFBO.cpp.

void moFBO::SetReadTexture ( MOuint  p_glid,
MOuint  p_width,
MOuint  p_height,
const moTexParam p_param,
MOuint  p_attach_point = 0 
)

Establece como textura de escritura aquella con OpenGL ID p_glid. Si dicha textura ya esta asociada al FBO, el efecto de esta función es equivalente al de llamar SetReadTexture con el índice p_attach_point correspondiente a dicha textura. En el caso de que la textura no este asociada, es asociada (attached) utilizando la función AttachTexture con los parámetros p_width, p_height, etc.

Parameters
p_glidOpenGL ID de la textura a asociar.
p_widthancho de la textura a asociar.
p_heightalto de la textura a asociar.
p_paramparámetros de la textura a asociar.
p_attach_pointíndice del punto de asociación (el búfer de color del FBO) al cual vincular la textura.
See also
AttachTexture

Definition at line 137 of file moFBO.cpp.

void moFBO::Unbind ( )

Desactiva este FBO y restaura el framebuffer activo antes de llamar Bind().

Definition at line 120 of file moFBO.cpp.


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