Referencia de la Clase moRenderManager

#include <moRenderManager.h>

Diagrama de herencias de moRenderManager

moResource moMoldeoObject moAbstract moScript Lista de todos los miembros.

Métodos públicos

 moRenderManager ()
virtual ~moRenderManager ()
bool Lock ()
bool Unlock ()
virtual MOboolean Init (moRenderManagerMode p_render_to_texture_mode, MOint p_screen_width, MOint p_screen_height, MOint p_render_width, MOint p_render_height)
virtual MOboolean Finish ()
void SetView (int p_width, int p_height)
MOboolean IsRenderToFBOEnabled ()
MOboolean RenderResEqualScreenRes ()
void SetRenderToTexMode (moRenderManagerMode p_render_to_texture_mode)
MOint GetRenderToTexMode ()
void BeginUpdate ()
void BeginUpdateDevice ()
void EndUpdateDevice ()
void EndUpdate ()
void BeginUpdateObject ()
void EndUpdateObject ()
void BeginDraw ()
void BeginDrawEffect ()
void EndDrawEffect ()
void EndDraw ()
void DrawRenderTexure (MOint p_resolution)
void DrawTexture (MOint p_resolution, MOint p_tex_num)
void DrawTexture (MOint p_width, MOint p_height, MOint p_tex_num)
void SaveScreen ()
void CopyRenderToTexture (MOint p_tex_num)
MOint RenderTexGLId (MOint p_tex_num)
MOint ScreenWidth ()
MOint ScreenHeight ()
MOint RenderWidth ()
MOint RenderHeight ()
MOboolean MultiTextureSupported ()
MOboolean FramebufferObjectSupported ()
MOboolean ShadersSupported ()
void SetOutputConfiguration (moRenderOutputConfiguration p_output_configuration)
moRenderOutputConfiguration GetOutputConfiguration ()
moBucketsPoolGetFramesPool ()

Métodos protegidos

MOboolean ValidSourceTexNum (MOint p_tex_num)
MOboolean ValidDestTexNum (MOint p_tex_num)

Atributos protegidos

moLock m_RenderLock
MOboolean m_saved_screen
moTextureManagerm_pTextureManager
moGLManagerm_pGLManager
moFBManagerm_pFBManager
moDecoderManagerm_pDecoderManager
moRenderOutputConfiguration m_OutputConfiguration
moBucketsPoolm_pFramesPool
moRenderManagerMode m_render_to_texture_mode
MOint m_screen_width
MOint m_screen_height
MOint m_render_width
MOint m_render_height
MOint m_render_tex_moid [6]
MOuint m_render_attach_points [4]
MOuint m_fbo_idx

Descripción detallada

Clase que implementa el administrador de render. Este administrador crea 4 texturas que son utilizadas para guardar estadios sucesivos en cada iteración de dibujo: 1) textura de render, identificada con MO_RENDER_TEX, donde se almacena el resultado del render luego de aplicar cada efecto. Es decir, luego de aplicar el efecto i, esta textura contiene el render incluyendo la textura i inclusive. Sin embargo, esta textura es sólo utilizada cuando se está usando el mode de render a FBO fuera de pantalla. 2) textura de pantalla, identificada con MO_SCREEN_TEX, donde se almacena el estado actual del render cuando se ejecuta la función SaveScreen. 3) textura de efectos, identificada con MO_EFFECTS_TEX, donde se almancena el resultado del render luego de aplicar todos los pre-efectos y efectos (pero no los post-efectos). 4) textura final, identificada con MO_FINAL_TEX, donde se almancena el resultado del render luego de aplicar todos los efectos y post-efectos.


Documentación del constructor y destructor

moRenderManager::moRenderManager  ) 
 

Constructor por defecto.

virtual moRenderManager::~moRenderManager  )  [virtual]
 

Destructor por defecto.


Documentación de las funciones miembro

void moRenderManager::BeginDraw  ) 
 

Esta función debe ser llamada antes del bucle de dibujo de los efectos de Moldeo en la consola. Si se está usando el render a FBO, se activa el FBO correspondiente junto con los búfers de color.

void moRenderManager::BeginDrawEffect  ) 
 

Esta función debe ser llamada antes de la ejecución de la función Draw de los efectos de Moldeo en la consola. Crea un lock en el thread de render, guarda la configuración de OpenGL y configura un viewport en perspectiva con las dimensiones de render de pantalla.

void moRenderManager::BeginUpdate  ) 
 

Esta función debe ser llamada antes del bucle de ejecución de la función Update de los objetos y dispositivos de Moldeo en la consola.

void moRenderManager::BeginUpdateDevice  ) 
 

Esta función debe ser llamada antes de la ejecución de la función Update de los dispositivos de Moldeo en la consola. Crea un lock en el thread de render y guarda la configuración de OpenGL.

void moRenderManager::BeginUpdateObject  ) 
 

Esta función debe ser llamada antes de la ejecución de la función Update de los objetos de Moldeo en la consola. Crea un lock en el thread de render y guarda la configuración de OpenGL.

void moRenderManager::CopyRenderToTexture MOint  p_tex_num  ) 
 

Copia el contenido de la pantalla (o del búfer de dibujo si está haciendo off-screen rendering a un FBO) a la textura especificada (MO_RENDER_TEX, MO_SCREEN_TEX, MO_EFFECTS_TEX o MO_FINAL_TEX).

Parámetros:
p_tex_num textura de destino.

void moRenderManager::DrawRenderTexure MOint  p_resolution  )  [inline]
 

Dibuja el contenido de la textura de render con la resolución requerida (MO_SCREEN_RESOLUTION o. MO_RENDER_RESOLUTION).

Parámetros:
p_resolution resolución con que es dibujada la textura.

void moRenderManager::DrawTexture MOint  p_width,
MOint  p_height,
MOint  p_tex_num
 

Dibuja el contenido de la textura especificada (MO_RENDER_TEX, MO_SCREEN_TEX, MO_EFFECTS_TEX o MO_FINAL_TEX) con la resolución requerida en alto x ancho.

Parámetros:
p_width alto con el que es dibujada la textura especificada.
p_height ancho con el que es dibujada la textura especificada.
p_tex_num textura a dibujar.

void moRenderManager::DrawTexture MOint  p_resolution,
MOint  p_tex_num
 

Dibuja el contenido de la textura especificada (MO_RENDER_TEX, MO_SCREEN_TEX, MO_EFFECTS_TEX o MO_FINAL_TEX) con la resolución requerida (MO_SCREEN_RESOLUTION o MO_RENDER_RESOLUTION).

Parámetros:
p_resolution resolución con que es dibujada la textura.
p_tex_num textura a dibujar.

void moRenderManager::EndDraw  ) 
 

Esta función debe ser llamada luego del bucle de dibujo de los efectos de Moldeo en la consola. Si se está usando el render a FBO, se desactiba el FBO correspondiente.

void moRenderManager::EndDrawEffect  ) 
 

Esta función debe ser llamada luego de la ejecución de la función Draw de los efectos de Moldeo en la consola. Destraba el lock en el thread de render y restaura la configuración de OpenGL.

void moRenderManager::EndUpdate  ) 
 

Esta función debe ser llamada luego del bucle de ejecución de la función Update de los objetos y dispositivos de Moldeo en la consola.

void moRenderManager::EndUpdateDevice  ) 
 

Esta función debe ser llamada luego de la ejecución de la función Update de los dispositivos de Moldeo en la consola. Destraba el lock en el thread de render y restaura la configuración de OpenGL.

void moRenderManager::EndUpdateObject  ) 
 

Esta función debe ser llamada luego de la ejecución de la función Update de los objetos de Moldeo en la consola. Destraba el lock en el thread de render y restaura la configuración de OpenGL.

virtual MOboolean moRenderManager::Finish  )  [virtual]
 

Método de finalización.

Devuelve:
el resultado de la operación: true o false.

Reimplementado de moResource.

MOboolean moRenderManager::FramebufferObjectSupported  ) 
 

Verifica que la placa gráfica soporte FrameBuffer Objects (FBO).

Devuelve:
true si la capacidad de FBOs está soportada, false en caso contrario.

moBucketsPool* moRenderManager::GetFramesPool  )  [inline]
 

moRenderOutputConfiguration moRenderManager::GetOutputConfiguration  ) 
 

MOint moRenderManager::GetRenderToTexMode  )  [inline]
 

Devuelve el modo de render utilizado en este momento.

Devuelve:
el modo de render actual.

virtual MOboolean moRenderManager::Init moRenderManagerMode  p_render_to_texture_mode,
MOint  p_screen_width,
MOint  p_screen_height,
MOint  p_render_width,
MOint  p_render_height
[virtual]
 

Método de inicialización. Las dimensiones de render son distintas de las dimensiones de la pantalla, esto permite renderear en baja resolución, por ejemplo 320x200, y lueg re-escalar el resultado del render a una resolución más alta.

Parámetros:
p_render_to_texture_mode si es true, entonces el render se hace a un FBO, si es false, se utiliza el framebuffer de la pantalla.
p_screen_width ancho de la pantalla.
p_screen_height alto de la pantalla.
p_render_width ancho de render.
p_render_height alto de render.
Devuelve:
el resultado de la operación: true o false.

MOboolean moRenderManager::IsRenderToFBOEnabled  ) 
 

Devuelve true o false dependiendo si el render a FBO está habilitado.

Devuelve:
true si el render se está haciendo fuera de pantalla (a un FBO) o false si se está haciendo al framebuffer de la pantalla.

bool moRenderManager::Lock  ) 
 

Crea un lock en el thread de render para evitar conflictos de recursos.

Devuelve:
el resultado de la operación: true o false.

MOboolean moRenderManager::MultiTextureSupported  ) 
 

Verifica que la placa gráfica soporte texturas múltiples.

Devuelve:
true si la capacidad de texturas múltiples está soportada, false en caso contrario.

MOint moRenderManager::RenderHeight  )  [inline]
 

Devuelve alto de render.

Devuelve:
alto de render.

MOboolean moRenderManager::RenderResEqualScreenRes  ) 
 

Compara al resolución de render con la resolución de la pantalla y devuelve el resultado de la comparación.

Devuelve:
true si las resoluciones de render y de pantalla son iguales, false en caso contrario.

MOint moRenderManager::RenderTexGLId MOint  p_tex_num  ) 
 

Devuelve el OpenGL ID de la textura especificada (MO_RENDER_TEX, MO_SCREEN_TEX, MO_EFFECTS_TEX o MO_FINAL_TEX).

Devuelve:
p_tex_num textura de la cual se pude el OpenGL ID.

MOint moRenderManager::RenderWidth  )  [inline]
 

Devuelve ancho de render.

Devuelve:
ancho de render.

void moRenderManager::SaveScreen  ) 
 

Copia el contenido de la pantalla (o del búfer de dibujo si está haciendo off-screen rendering a un FBO) a la textura MO_SCREEN_TEX.

MOint moRenderManager::ScreenHeight  ) 
 

Devuelve alto de la pantalla.

Devuelve:
alto de la pantalla.

MOint moRenderManager::ScreenWidth  ) 
 

Devuelve ancho de la pantalla.

Devuelve:
ancho de la pantalla.

void moRenderManager::SetOutputConfiguration moRenderOutputConfiguration  p_output_configuration  ) 
 

void moRenderManager::SetRenderToTexMode moRenderManagerMode  p_render_to_texture_mode  ) 
 

Establece el modo de render (MO_RENDER_TO_TEXTURE_FBOBJECT o MO_RENDER_TO_TEXTURE_FBSCREEN).

Parámetros:
p_render_to_texture_mode nuevo modo de render.

void moRenderManager::SetView int  p_width,
int  p_height
 

MOboolean moRenderManager::ShadersSupported  ) 
 

Verifica que la placa gráfica soporte shaders.

Devuelve:
true si la capacidad de shaders está soportada, false en caso contrario.

bool moRenderManager::Unlock  ) 
 

Destraba el lock creado con la función Lock.

Devuelve:
el resultado de la operación: true o false.

MOboolean moRenderManager::ValidDestTexNum MOint  p_tex_num  )  [inline, protected]
 

MOboolean moRenderManager::ValidSourceTexNum MOint  p_tex_num  )  [inline, protected]
 


Documentación de los datos miembro

MOuint moRenderManager::m_fbo_idx [protected]
 

moRenderOutputConfiguration moRenderManager::m_OutputConfiguration [protected]
 

moDecoderManager* moRenderManager::m_pDecoderManager [protected]
 

moFBManager* moRenderManager::m_pFBManager [protected]
 

moBucketsPool* moRenderManager::m_pFramesPool [protected]
 

moGLManager* moRenderManager::m_pGLManager [protected]
 

moTextureManager* moRenderManager::m_pTextureManager [protected]
 

MOuint moRenderManager::m_render_attach_points[4] [protected]
 

MOint moRenderManager::m_render_height [protected]
 

MOint moRenderManager::m_render_tex_moid[6] [protected]
 

moRenderManagerMode moRenderManager::m_render_to_texture_mode [protected]
 

MOint moRenderManager::m_render_width [protected]
 

moLock moRenderManager::m_RenderLock [protected]
 

MOboolean moRenderManager::m_saved_screen [protected]
 

MOint moRenderManager::m_screen_height [protected]
 

MOint moRenderManager::m_screen_width [protected]
 


La documentación para esta clase fué generada a partir del siguiente archivo:
Generado el Sun Jul 18 16:13:34 2010 para MOLDEO por  doxygen 1.4.6-NO