Source: http://proyectos.moldeo.org/documentation/libmoldeo/doc/es/html/classmo_render_manager.html
Timestamp: 2018-03-19 08:47:02+00:00

Document:
libmoldeo (Moldeo 1.0 Core): Referencia de la Clase moRenderManager
Referencia de la Clase moRenderManager
#include <moRenderManager.h>
void SetInterfaceView (int p_width, int p_height)
bool Screenshot (moText pathname, moText &screenshot_result, const moText &image_format="PNG", const moText &file_pattern="image_{DATETIME}_{####}.png")
bool PreviewShot (bool shot_start=false)
MOint ScreenWidth () const
MOint ScreenHeight () const
MOint InterfaceWidth () const
MOint InterfaceHeight () const
float ScreenProportion () const
MOint RenderWidth () const
MOint RenderHeight () const
float RenderProportion () const
MOboolean MultiTextureSupported () const
MOboolean FramebufferObjectSupported () const
MOboolean ShadersSupported () const
MOboolean IsTextureNonPowerOf2Disabled () const
moRenderOutputConfiguration & GetOutputConfiguration ()
int CreateLayer (moEffect *p_scene_effect)
void RenderLayer (int layer_id)
int Render (moObject3D *p_pObj, moCamera3D *p_pCamera)
MOboolean ValidSourceTexNum (MOint p_tex_num) const
MOboolean ValidDestTexNum (MOint p_tex_num) const
moTimerAbsolute m_PreviewShotTimer
int m_PreviewShotIteration
moShaderManager * m_pSHManager
MOint m_interface_width
MOint m_interface_height
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.
Definición en la línea 158 del archivo moRenderManager.h.
moRenderManager::moRenderManager ( )
Definición en la línea 77 del archivo moRenderManager.cpp.
moRenderManager::~moRenderManager ( )
Destructor por defecto.
Definición en la línea 110 del archivo moRenderManager.cpp.
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.
Definición en la línea 375 del archivo moRenderManager.cpp.
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.
Definición en la línea 381 del archivo moRenderManager.cpp.
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.
Definición en la línea 341 del archivo moRenderManager.cpp.
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.
Definición en la línea 345 del archivo moRenderManager.cpp.
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.
Definición en la línea 363 del archivo moRenderManager.cpp.
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).
p_tex_num textura de destino.
Definición en la línea 769 del archivo moRenderManager.cpp.
int moRenderManager::CreateLayer ( moEffect * p_scene_effect )
Definición en la línea 136 del archivo moRenderManager.cpp.
void moRenderManager::DrawRenderTexure ( MOint p_resolution )
Dibuja el contenido de la textura de render con la resolución requerida (MO_SCREEN_RESOLUTION o. MO_RENDER_RESOLUTION).
p_resolution resolución con que es dibujada la textura.
Definición en la línea 285 del archivo moRenderManager.h.
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).
p_tex_num textura a dibujar.
Definición en la línea 590 del archivo moRenderManager.cpp.
void moRenderManager::DrawTexture ( MOint p_width,
MOint p_height,
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.
p_width alto con el que es dibujada la textura especificada.
p_height ancho con el que es dibujada la textura especificada.
Definición en la línea 596 del archivo moRenderManager.cpp.
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.
add last frame to bucket pool
Definición en la línea 552 del archivo moRenderManager.cpp.
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.
Definición en la línea 546 del archivo moRenderManager.cpp.
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.
Definición en la línea 359 del archivo moRenderManager.cpp.
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.
Definición en la línea 352 del archivo moRenderManager.cpp.
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.
Definición en la línea 369 del archivo moRenderManager.cpp.
MOboolean moRenderManager::Finish ( )
el resultado de la operación: true o false.
Definición en la línea 315 del archivo moRenderManager.cpp.
MOboolean moRenderManager::FramebufferObjectSupported ( ) const
Verifica que la placa gráfica soporte FrameBuffer Objects (FBO).
true si la capacidad de FBOs está soportada, false en caso contrario.
Definición en la línea 808 del archivo moRenderManager.cpp.
moBucketsPool* moRenderManager::GetFramesPool ( )
Definición en la línea 396 del archivo moRenderManager.h.
moRenderOutputConfiguration & moRenderManager::GetOutputConfiguration ( )
Definición en la línea 130 del archivo moRenderManager.cpp.
MOint moRenderManager::GetRenderToTexMode ( )
Devuelve el modo de render utilizado en este momento.
el modo de render actual.
Definición en la línea 224 del archivo moRenderManager.h.
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
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.
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.
&& (m_render_to_texture_mode == RENDERMANAGER_MODE_FRAMEBUFFER || m_render_to_texture_mode==RENDERMANAGER_MODE_VDPAU)
Definición en la línea 145 del archivo moRenderManager.cpp.
MOint moRenderManager::InterfaceHeight ( ) const
Devuelve alto de la pantalla.
Definición en la línea 851 del archivo moRenderManager.cpp.
MOint moRenderManager::InterfaceWidth ( ) const
Devuelve ancho de la pantalla de interface.
ancho de la pantalla de interface.
Definición en la línea 847 del archivo moRenderManager.cpp.
MOboolean moRenderManager::IsRenderToFBOEnabled ( )
Devuelve true o false dependiendo si el render a FBO está habilitado.
true si el render se está haciendo fuera de pantalla (a un FBO) o false si se está haciendo al framebuffer de la pantalla.
Definición en la línea 326 del archivo moRenderManager.cpp.
MOboolean moRenderManager::IsTextureNonPowerOf2Disabled ( ) const
Definición en la línea 819 del archivo moRenderManager.cpp.
bool moRenderManager::Lock ( )
Crea un lock en el thread de render para evitar conflictos de recursos.
Definición en la línea 115 del archivo moRenderManager.cpp.
MOboolean moRenderManager::MultiTextureSupported ( ) const
Verifica que la placa gráfica soporte texturas múltiples.
true si la capacidad de texturas múltiples está soportada, false en caso contrario.
Definición en la línea 803 del archivo moRenderManager.cpp.
bool moRenderManager::PreviewShot ( bool shot_start = false )
Dispara una secuencia de 4 capturas de pantalla ( a razón de 1 por segundo) en la carpeta del proyecto que servirán para previsualizarlo.
Definición en la línea 647 del archivo moRenderManager.cpp.
int moRenderManager::Render ( moObject3D * p_pObj,
moCamera3D * p_pCamera
ACTIVATE TEXTURE UNIT 0
Pass TEXTURE UNIT 0 (use glActiveTexture and glBindTexture )
Definición en la línea 390 del archivo moRenderManager.cpp.
MOint moRenderManager::RenderHeight ( ) const
Devuelve alto de render / procesamiento.
alto de render / procesamiento.
Definición en la línea 879 del archivo moRenderManager.cpp.
void moRenderManager::RenderLayer ( int layer_id )
Definición en la línea 141 del archivo moRenderManager.cpp.
float moRenderManager::RenderProportion ( ) const
Devuelve proporción de la pantalla de procesamiento, la relación del ancho por la altura.
Definición en la línea 883 del archivo moRenderManager.cpp.
MOboolean moRenderManager::RenderResEqualScreenRes ( )
Compara al resolución de render con la resolución de la pantalla y devuelve el resultado de la comparación.
true si las resoluciones de render y de pantalla son iguales, false en caso contrario.
Definición en la línea 331 del archivo moRenderManager.cpp.
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).
p_tex_num textura de la cual se pude el OpenGL ID.
Definición en la línea 796 del archivo moRenderManager.cpp.
MOint moRenderManager::RenderWidth ( ) const
Devuelve ancho de render / procesamiento.
ancho de render / procesamiento.
Definición en la línea 875 del archivo moRenderManager.cpp.
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.
Definición en la línea 634 del archivo moRenderManager.cpp.
MOint moRenderManager::ScreenHeight ( ) const
Definición en la línea 835 del archivo moRenderManager.cpp.
float moRenderManager::ScreenProportion ( ) const
Devuelve proporción de la pantalla de salida, la relación del ancho por la altura.
Definición en la línea 857 del archivo moRenderManager.cpp.
bool moRenderManager::Screenshot ( moText pathname,
moText & screenshot_result,
const moText & image_format = "PNG",
const moText & file_pattern = "image_{DATETIME}_{####}.png"
Atamos la textura de TexScreen : SCREEN_TEXTURE
TODO: Copia los pixeles de la pantalla a la textura atada aqui podriamos usar el glCopyTexSubImage....(para mantener potencias de dos)
crear directorio si no existe
Generamos un archivo de imagen a partir de la textura TexScreen actualizada
Definición en la línea 676 del archivo moRenderManager.cpp.
MOint moRenderManager::ScreenWidth ( ) const
Devuelve ancho de la pantalla.
Definición en la línea 823 del archivo moRenderManager.cpp.
void moRenderManager::SetInterfaceView ( int p_width,
int p_height
Definición en la línea 912 del archivo moRenderManager.cpp.
void moRenderManager::SetOutputConfiguration ( moRenderOutputConfiguration p_output_configuration )
Definición en la línea 124 del archivo moRenderManager.cpp.
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).
p_render_to_texture_mode nuevo modo de render.
Definición en la línea 336 del archivo moRenderManager.cpp.
void moRenderManager::SetView ( int p_width,
Definición en la línea 900 del archivo moRenderManager.cpp.
MOboolean moRenderManager::ShadersSupported ( ) const
Verifica que la placa gráfica soporte shaders.
true si la capacidad de shaders está soportada, false en caso contrario.
Definición en la línea 813 del archivo moRenderManager.cpp.
bool moRenderManager::Unlock ( )
Destraba el lock creado con la función Lock.
Definición en la línea 119 del archivo moRenderManager.cpp.
MOboolean moRenderManager::ValidDestTexNum ( MOint p_tex_num ) const
Definición en la línea 435 del archivo moRenderManager.h.
MOboolean moRenderManager::ValidSourceTexNum ( MOint p_tex_num ) const
Definición en la línea 434 del archivo moRenderManager.h.
MOuint moRenderManager::m_fbo_idx
Definición en la línea 432 del archivo moRenderManager.h.
MOint moRenderManager::m_interface_height
Definición en la línea 428 del archivo moRenderManager.h.
MOint moRenderManager::m_interface_width
moRenderOutputConfiguration moRenderManager::m_OutputConfiguration
Definición en la línea 420 del archivo moRenderManager.h.
moDecoderManager* moRenderManager::m_pDecoderManager
Definición en la línea 418 del archivo moRenderManager.h.
moFBManager* moRenderManager::m_pFBManager
Definición en la línea 415 del archivo moRenderManager.h.
moBucketsPool* moRenderManager::m_pFramesPool
Definición en la línea 422 del archivo moRenderManager.h.
moGLManager* moRenderManager::m_pGLManager
Definición en la línea 414 del archivo moRenderManager.h.
int moRenderManager::m_PreviewShotIteration
Definición en la línea 408 del archivo moRenderManager.h.
moTimerAbsolute moRenderManager::m_PreviewShotTimer
Definición en la línea 407 del archivo moRenderManager.h.
moShaderManager* moRenderManager::m_pSHManager
Definición en la línea 416 del archivo moRenderManager.h.
moTextureManager* moRenderManager::m_pTextureManager
Definición en la línea 413 del archivo moRenderManager.h.
MOuint moRenderManager::m_render_attach_points[4]
Definición en la línea 431 del archivo moRenderManager.h.
MOint moRenderManager::m_render_height
Definición en la línea 427 del archivo moRenderManager.h.
MOint moRenderManager::m_render_tex_moid[6]
Definición en la línea 430 del archivo moRenderManager.h.
moRenderManagerMode moRenderManager::m_render_to_texture_mode
Definición en la línea 424 del archivo moRenderManager.h.
MOint moRenderManager::m_render_width
moLock moRenderManager::m_RenderLock
Definición en la línea 409 del archivo moRenderManager.h.
MOboolean moRenderManager::m_saved_screen
Definición en la línea 411 del archivo moRenderManager.h.
MOint moRenderManager::m_screen_height
Definición en la línea 426 del archivo moRenderManager.h.
MOint moRenderManager::m_screen_width
libmoldeo/moRenderManager.h
libmoldeo/moRenderManager.cpp

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución