libmoldeo (Moldeo 1.0 Core)  1.0
libmoldeo es el conjunto de objetos y funciones, que permiten ejecutar las operaciones básicas de la plataforma Moldeo, y que compone su núcleo.
Referencia de la Clase moFBO

#include <moFBO.h>

Diagrama de herencias de moFBO
Inheritance graph
Diagrama de colaboración para moFBO:
Collaboration graph

Métodos públicos

 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
 
- Métodos públicos heredados desde moAbstract
 moAbstract ()
 
virtual ~moAbstract ()
 
virtual MOboolean Init ()
 Inicializa el objeto. Más...
 
MOboolean Initialized ()
 Pregunta si está inicializado. Más...
 

Métodos privados

void InitAttachPointsArray ()
 

Atributos privados

moGLManagerm_gl
 
MOuint m_fbo
 
GLenum m_target
 
GLint m_internal_format
 
MOuint m_width
 
MOuint m_height
 
MOboolean m_has_depth_buffer
 
MOboolean m_has_stencil_buffer
 
MOuint m_DepthStencilTex
 
MOuint m_num_color_attach_points
 
MOuint m_tex_glid_array [MO_MAX_COLOR_ATTACHMENTS_EXT]
 
MOuint m_attach_points_array [MO_MAX_COLOR_ATTACHMENTS_EXT]
 

Otros miembros heredados

- Atributos públicos heredados desde moAbstract
MOboolean m_bInitialized
 Valor de inicialización. Más...
 
- Atributos públicos estáticos heredados desde moAbstract
static moDebugMODebug2 = new moDebug()
 Clase de impresión de errores para depuración. Más...
 
static moTextHeapMODebug = new moTextHeap()
 Lista de textos. Más...
 

Descripción detallada

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.

Definición en la línea 60 del archivo moFBO.h.

Documentación del constructor y destructor

◆ moFBO()

moFBO::moFBO ( )

Constructor por defecto.

◆ ~moFBO()

moFBO::~moFBO ( )
virtual

Destructor por defecto.

Definición en la línea 53 del archivo moFBO.cpp.

Gráfico de llamadas para esta función:

Documentación de las funciones miembro

◆ AddDepthStencilBuffer()

MOboolean moFBO::AddDepthStencilBuffer ( )

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

Definición en la línea 86 del archivo moFBO.cpp.

Gráfico de llamadas para esta función:

◆ AddTexture()

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.

Parámetros
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.
Devuelve
resultado de la operación de asociación.

Definición en la línea 174 del archivo moFBO.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ AttachTexture()

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.

Parámetros
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.
Devuelve
resultado de la operación de asociación.

Definición en la línea 218 del archivo moFBO.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ Bind()

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.

Definición en la línea 114 del archivo moFBO.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ CheckStatus()

MOuint moFBO::CheckStatus ( ) const

Devuelve el estado del FBO.

Devuelve
estado del FBO.

Definición en la línea 273 del archivo moFBO.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ ClearAttachements()

void moFBO::ClearAttachements ( )

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

Definición en la línea 260 del archivo moFBO.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ Finish()

MOboolean moFBO::Finish ( )
virtual

Finaliza el FBO.

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

Reimplementado de moAbstract.

Definición en la línea 70 del archivo moFBO.cpp.

Gráfico de llamadas a esta función:

◆ GetColorAttachPoint()

MOint moFBO::GetColorAttachPoint ( MOuint  p_attach_point)

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

Parámetros
p_attach_pointíndice del punto de asociación.
Devuelve
identificador de OpenGL.

Definición en la línea 153 del archivo moFBO.cpp.

Gráfico de llamadas a esta función:

◆ GetColorAttachPointIndex()

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.

Parámetros
p_glidOpenGL ID de la textura.
Devuelve
índice del punto de asociación.

Definición en la línea 167 del archivo moFBO.cpp.

Gráfico de llamadas a esta función:

◆ GetColorAttachPointsCount()

MOuint moFBO::GetColorAttachPointsCount ( )
inline

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

Devuelve
número de puntos de asociación.

Definición en la línea 169 del archivo moFBO.h.

◆ GetGLId()

MOuint moFBO::GetGLId ( ) const
inline

Devuelve el identificador de OpenGL de este FBO.

Devuelve
identificador de OpenGL.

Definición en la línea 218 del archivo moFBO.h.

◆ GetHeight()

MOuint moFBO::GetHeight ( ) const
inline

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

Devuelve
alto de la texturas asociadas.

Definición en la línea 238 del archivo moFBO.h.

◆ GetInternalFormat()

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.

Devuelve
formato interno de las texturas asociadas.

Definición en la línea 228 del archivo moFBO.h.

◆ GetTarget()

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.

Devuelve
OpenGL target de las texturas asociadas.

Definición en la línea 223 del archivo moFBO.h.

◆ GetTextureGLId()

MOint moFBO::GetTextureGLId ( MOuint  p_attach_point)

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

Parámetros
p_attach_pointíndice del punto de asociación.
Devuelve
OpenGL ID de la textura.

Definición en la línea 160 del archivo moFBO.cpp.

◆ GetWidth()

MOuint moFBO::GetWidth ( ) const
inline

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

Devuelve
ancho de la texturas asociadas.

Definición en la línea 233 del archivo moFBO.h.

◆ HasDepthBuffer()

MOboolean moFBO::HasDepthBuffer ( )
inline

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

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

Definición en la línea 88 del archivo moFBO.h.

◆ HasStencilBuffer()

MOboolean moFBO::HasStencilBuffer ( )
inline

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

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

Definición en la línea 93 del archivo moFBO.h.

◆ Init()

MOboolean moFBO::Init ( moGLManager p_gl)
virtual

Initicializa el FBO utilizando p_gl como adminstrador de OpenGL.

Parámetros
p_glpuntero al administrador de OpenGL.
Devuelve
true si la operación fue exitosa, false en caso contrario.

Definición en la línea 58 del archivo moFBO.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ InitAttachPointsArray()

void moFBO::InitAttachPointsArray ( )
private

Definición en la línea 324 del archivo moFBO.cpp.

Gráfico de llamadas a esta función:

◆ IsValidTexture()

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

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

Definición en la línea 316 del archivo moFBO.cpp.

◆ SetDrawTexture() [1/2]

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.

Parámetros
p_attach_pointíndice del búfer de color a utilizar.

Definición en la línea 131 del archivo moFBO.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ SetDrawTexture() [2/2]

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.

Parámetros
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.
Ver también
AttachTexture

Definición en la línea 145 del archivo moFBO.cpp.

Gráfico de llamadas para esta función:

◆ SetReadTexture() [1/2]

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.

Parámetros
p_attach_pointíndice del búfer de color a utilizar.

Definición en la línea 125 del archivo moFBO.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ SetReadTexture() [2/2]

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.

Parámetros
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.
Ver también
AttachTexture

Definición en la línea 137 del archivo moFBO.cpp.

Gráfico de llamadas para esta función:

◆ Unbind()

void moFBO::Unbind ( )

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

Definición en la línea 120 del archivo moFBO.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

Documentación de los datos miembro

◆ m_attach_points_array

MOuint moFBO::m_attach_points_array[MO_MAX_COLOR_ATTACHMENTS_EXT]
private

Definición en la línea 255 del archivo moFBO.h.

◆ m_DepthStencilTex

MOuint moFBO::m_DepthStencilTex
private

Definición en la línea 251 del archivo moFBO.h.

◆ m_fbo

MOuint moFBO::m_fbo
private

Definición en la línea 242 del archivo moFBO.h.

◆ m_gl

moGLManager* moFBO::m_gl
private

Definición en la línea 240 del archivo moFBO.h.

◆ m_has_depth_buffer

MOboolean moFBO::m_has_depth_buffer
private

Definición en la línea 249 del archivo moFBO.h.

◆ m_has_stencil_buffer

MOboolean moFBO::m_has_stencil_buffer
private

Definición en la línea 250 del archivo moFBO.h.

◆ m_height

MOuint moFBO::m_height
private

Definición en la línea 247 del archivo moFBO.h.

◆ m_internal_format

GLint moFBO::m_internal_format
private

Definición en la línea 245 del archivo moFBO.h.

◆ m_num_color_attach_points

MOuint moFBO::m_num_color_attach_points
private

Definición en la línea 253 del archivo moFBO.h.

◆ m_target

GLenum moFBO::m_target
private

Definición en la línea 244 del archivo moFBO.h.

◆ m_tex_glid_array

MOuint moFBO::m_tex_glid_array[MO_MAX_COLOR_ATTACHMENTS_EXT]
private

Definición en la línea 254 del archivo moFBO.h.

◆ m_width

MOuint moFBO::m_width
private

Definición en la línea 246 del archivo moFBO.h.


La documentación para esta clase fue generada a partir de los siguientes ficheros: