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.
|
#include <moRenderManager.h>
Public Member Functions | |
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) |
void | SetInterfaceView (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 () |
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) |
void | CopyRenderToTexture (MOint p_tex_num) |
MOint | RenderTexGLId (MOint p_tex_num) |
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 |
void | SetOutputConfiguration (moRenderOutputConfiguration p_output_configuration) |
moRenderOutputConfiguration & | GetOutputConfiguration () |
moBucketsPool * | GetFramesPool () |
int | CreateLayer (moEffect *p_scene_effect) |
void | RenderLayer (int layer_id) |
int | Render (moObject3D *p_pObj, moCamera3D *p_pCamera) |
Public Member Functions inherited from moResource | |
moResource () | |
virtual | ~moResource () |
virtual MOboolean | Init () |
moResourceType | GetResourceType () |
Public Member Functions inherited from moMoldeoObject | |
moMoldeoObject () | |
moMoldeoObject (moMoldeoObjectType p_type) | |
virtual | ~moMoldeoObject () |
virtual MOboolean | Init (moResourceManager *p_pResources) |
virtual MOboolean | CreateConnectors () |
virtual MOboolean | UpdateConnectors () |
virtual MOboolean | RefreshValue (moParam ¶m, int value_index) |
virtual MOboolean | ResolveValue (moParam ¶m, int value_index, bool p_refresh=false) |
virtual void | Update (moEventList *p_EventList) |
void | SetResourceManager (moResourceManager *p_pResourceManager) |
moResourceManager * | GetResourceManager () |
MOint | GetId () const |
void | SetId (MOint p_id) |
moMoldeoObjectType | GetType () const |
void | SetType (moMoldeoObjectType p_type) |
void | SetName (const moText &p_name) |
void | SetLabelName (const moText &p_labelname) |
void | SetKeyName (const moText &p_keyname) |
const moText & | GetKeyName () const |
const moText & | GetName () const |
const moText & | GetLabelName () const |
moConfig * | GetConfig () |
void | SyncConnections () |
virtual int | Save (const moText &p_save_filename=moText("")) |
void | SetConfigName (const moText &p_configname) |
const moText & | GetConfigName () const |
const moText & | GetDescription () const |
Devuelve al descripción del objeto. More... | |
void | SetDescription (const moText &p_Description) |
Fija la descripción de este objeto. More... | |
const moMobDefinition & | GetMobDefinition () const |
void | SetMobDefinition (const moMobDefinition &p_MobDef) |
virtual moConfigDefinition * | GetDefinition (moConfigDefinition *p_configdefinition=NULL) |
moOutlets * | GetOutlets () |
moInlets * | GetInlets () |
MOint | GetInletIndex (moText p_connector_name) const |
MOint | GetOutletIndex (moText p_connector_name) const |
virtual void | RegisterFunctions () |
beware ! call only once or die!!! More... | |
virtual int | ScriptCalling (moLuaVirtualMachine &vm, int iFunctionNumber) |
virtual void | HandleReturns (moLuaVirtualMachine &vm, const char *strFunc) |
virtual const moMobState & | GetState () const |
virtual bool | SetState (const moMobState &p_MobState) |
virtual void | Activate () |
virtual void | Deactivate () |
virtual bool | Activated () const |
virtual void | Select () |
virtual void | Unselect () |
virtual bool | Selected () const |
virtual void | SetConsoleParamIndex (MOint p_paramindex) |
virtual void | SetConsoleValueIndex (MOint p_valueindex) |
virtual const moText & | ToJSON () |
Public Member Functions inherited from moAbstract | |
moAbstract () | |
virtual | ~moAbstract () |
MOboolean | Initialized () |
Pregunta si está inicializado. More... | |
Public Member Functions inherited from moScript | |
moScript () | |
virtual | ~moScript (void) |
void | InitScript () |
void | FinishScript () |
bool | IsInitialized () |
bool | CompileFile (const char *strFilename) |
bool | CompileBuffer (unsigned char *pbBuffer, size_t szLen) |
int | RegisterFunction (const char *strFuncName, moScript::Function &fun) |
int | RegisterFunction (const char *strFuncName) |
int | RegisterBaseFunction (const char *strFuncName) |
bool | SelectScriptFunction (const char *strFuncName) |
void | AddFunctionParam (int iInt) |
void | AddFunctionParam (float fFloat) |
void | AddFunctionParam (char *string) |
bool | RunSelectedFunction (int nReturns=0) |
bool | ScriptHasFunction (const char *strScriptName) |
int | methods (void) |
virtual int | ResetScriptCalling () |
virtual int | NextScriptCalling () |
moLuaVirtualMachine & | mvm (void) |
Additional Inherited Members | |
Public Types inherited from moScript | |
typedef int(* | Function )(moLuaVirtualMachine &vm) |
Public Attributes inherited from moAbstract | |
MOboolean | m_bInitialized |
Valor de inicialización More... | |
Public Attributes inherited from moScript | |
Function | Functions [255] |
Static Public Attributes inherited from moAbstract | |
static moDebug * | MODebug2 = new moDebug() |
Clase de impresión de errores para depuración More... | |
static moTextHeap * | MODebug = new moTextHeap() |
Lista de textos. More... | |
Static Protected Attributes inherited from moScript | |
static moLuaVirtualMachine | m_vm |
static moLuaDebugger | m_dbg |
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.
Definition at line 158 of file moRenderManager.h.
moRenderManager::moRenderManager | ( | ) |
Constructor por defecto.
Definition at line 77 of file moRenderManager.cpp.
|
virtual |
Destructor por defecto.
Definition at line 110 of file 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.
Definition at line 375 of file 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.
Definition at line 381 of file 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.
Definition at line 341 of file 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.
Definition at line 345 of file 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.
Definition at line 363 of file 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. |
Definition at line 769 of file moRenderManager.cpp.
int moRenderManager::CreateLayer | ( | moEffect * | p_scene_effect | ) |
Definition at line 136 of file moRenderManager.cpp.
|
inline |
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. |
Definition at line 285 of file moRenderManager.h.
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_resolution | resolución con que es dibujada la textura. |
p_tex_num | textura a dibujar. |
Definition at line 590 of file moRenderManager.cpp.
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. |
p_tex_num | textura a dibujar. |
Definition at line 596 of file 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
Definition at line 552 of file 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.
Definition at line 546 of file 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.
Definition at line 359 of file 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.
Definition at line 352 of file 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.
Definition at line 369 of file moRenderManager.cpp.
|
virtual |
Método de finalización.
Reimplemented from moResource.
Definition at line 315 of file moRenderManager.cpp.
MOboolean moRenderManager::FramebufferObjectSupported | ( | ) | const |
Verifica que la placa gráfica soporte FrameBuffer Objects (FBO).
Definition at line 808 of file moRenderManager.cpp.
|
inline |
Definition at line 396 of file moRenderManager.h.
moRenderOutputConfiguration & moRenderManager::GetOutputConfiguration | ( | ) |
Definition at line 130 of file moRenderManager.cpp.
|
inline |
Devuelve el modo de render utilizado en este momento.
Definition at line 224 of file moRenderManager.h.
|
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.
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)
Definition at line 145 of file moRenderManager.cpp.
MOint moRenderManager::InterfaceHeight | ( | ) | const |
Devuelve alto de la pantalla.
Definition at line 851 of file moRenderManager.cpp.
MOint moRenderManager::InterfaceWidth | ( | ) | const |
Devuelve ancho de la pantalla de interface.
Definition at line 847 of file moRenderManager.cpp.
MOboolean moRenderManager::IsRenderToFBOEnabled | ( | ) |
Devuelve true o false dependiendo si el render a FBO está habilitado.
Definition at line 326 of file moRenderManager.cpp.
MOboolean moRenderManager::IsTextureNonPowerOf2Disabled | ( | ) | const |
Definition at line 819 of file moRenderManager.cpp.
bool moRenderManager::Lock | ( | ) |
Crea un lock en el thread de render para evitar conflictos de recursos.
Definition at line 115 of file moRenderManager.cpp.
MOboolean moRenderManager::MultiTextureSupported | ( | ) | const |
Verifica que la placa gráfica soporte texturas múltiples.
Definition at line 803 of file 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.
Definition at line 647 of file moRenderManager.cpp.
int moRenderManager::Render | ( | moObject3D * | p_pObj, |
moCamera3D * | p_pCamera | ||
) |
ACTIVATE TEXTURE UNIT 0
Pass TEXTURE UNIT 0 (use glActiveTexture and glBindTexture )
Definition at line 390 of file moRenderManager.cpp.
MOint moRenderManager::RenderHeight | ( | ) | const |
Devuelve alto de render / procesamiento.
Definition at line 879 of file moRenderManager.cpp.
void moRenderManager::RenderLayer | ( | int | layer_id | ) |
Definition at line 141 of file moRenderManager.cpp.
float moRenderManager::RenderProportion | ( | ) | const |
Devuelve proporción de la pantalla de procesamiento, la relación del ancho por la altura.
Definition at line 883 of file 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.
Definition at line 331 of file moRenderManager.cpp.
Devuelve el OpenGL ID de la textura especificada (MO_RENDER_TEX, MO_SCREEN_TEX, MO_EFFECTS_TEX o MO_FINAL_TEX).
Definition at line 796 of file moRenderManager.cpp.
MOint moRenderManager::RenderWidth | ( | ) | const |
Devuelve ancho de render / procesamiento.
Definition at line 875 of file 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.
Definition at line 634 of file moRenderManager.cpp.
MOint moRenderManager::ScreenHeight | ( | ) | const |
Devuelve alto de la pantalla.
Definition at line 835 of file moRenderManager.cpp.
float moRenderManager::ScreenProportion | ( | ) | const |
Devuelve proporción de la pantalla de salida, la relación del ancho por la altura.
Definition at line 857 of file 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
Definition at line 676 of file moRenderManager.cpp.
MOint moRenderManager::ScreenWidth | ( | ) | const |
Devuelve ancho de la pantalla.
Definition at line 823 of file moRenderManager.cpp.
void moRenderManager::SetInterfaceView | ( | int | p_width, |
int | p_height | ||
) |
Definition at line 912 of file moRenderManager.cpp.
void moRenderManager::SetOutputConfiguration | ( | moRenderOutputConfiguration | p_output_configuration | ) |
Definition at line 124 of file 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. |
Definition at line 336 of file moRenderManager.cpp.
void moRenderManager::SetView | ( | int | p_width, |
int | p_height | ||
) |
Definition at line 900 of file moRenderManager.cpp.
MOboolean moRenderManager::ShadersSupported | ( | ) | const |
Verifica que la placa gráfica soporte shaders.
Definition at line 813 of file moRenderManager.cpp.
bool moRenderManager::Unlock | ( | ) |
Destraba el lock creado con la función Lock.
Definition at line 119 of file moRenderManager.cpp.
Definition at line 435 of file moRenderManager.h.
Definition at line 434 of file moRenderManager.h.
|
protected |
Definition at line 432 of file moRenderManager.h.
|
protected |
Definition at line 428 of file moRenderManager.h.
|
protected |
Definition at line 428 of file moRenderManager.h.
|
protected |
Definition at line 420 of file moRenderManager.h.
|
protected |
Definition at line 418 of file moRenderManager.h.
|
protected |
Definition at line 415 of file moRenderManager.h.
|
protected |
Definition at line 422 of file moRenderManager.h.
|
protected |
Definition at line 414 of file moRenderManager.h.
|
protected |
Definition at line 408 of file moRenderManager.h.
|
protected |
Definition at line 407 of file moRenderManager.h.
|
protected |
Definition at line 416 of file moRenderManager.h.
|
protected |
Definition at line 413 of file moRenderManager.h.
|
protected |
Definition at line 431 of file moRenderManager.h.
|
protected |
Definition at line 427 of file moRenderManager.h.
|
protected |
Definition at line 430 of file moRenderManager.h.
|
protected |
Definition at line 424 of file moRenderManager.h.
|
protected |
Definition at line 427 of file moRenderManager.h.
|
protected |
Definition at line 409 of file moRenderManager.h.
|
protected |
Definition at line 411 of file moRenderManager.h.
|
protected |
Definition at line 426 of file moRenderManager.h.
|
protected |
Definition at line 426 of file moRenderManager.h.