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.
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Amigas 'defines' Grupos Páginas
Referencia de la Clase moTextureFilter

#include <moTextureFilter.h>

Diagrama de herencias de moTextureFilter
moAbstract

Métodos públicos

 moTextureFilter ()
 
virtual ~moTextureFilter ()
 
virtual MOboolean Init (moGLManager *p_glman, moRenderManager *p_renderman, moTextureArray &p_src_tex, moTextureArray &p_dest_tex, moShader *p_shader, const moTextFilterParam &p_params)
 
virtual MOboolean Finish ()
 
void Apply (MOuint p_i, MOfloat p_fade, const moTextFilterParam &p_params)
 
void Apply (MOuint p_i)
 
void Apply (MOfloat p_cycle, MOfloat p_fade, const moTextFilterParam &p_params)
 
void Apply (MOfloat p_cycle)
 
void Apply (moTempo *p_tempo, MOfloat p_fade, const moTextFilterParam &p_params)
 
void Apply (moTempo *p_tempo)
 
void Apply (moMoldeoObject *p_src_mob, MOfloat p_fade, const moTextFilterParam &p_params)
 
void Apply (moMoldeoObject *p_src_mob, moTempo *p_tempo, MOfloat p_fade, const moTextFilterParam &p_params)
 
void Apply (moMoldeoObject *p_src_mob)
 
moTextureIndexGetSrcTex ()
 
moTextureIndexGetDestTex ()
 
moShaderGetShader ()
 
void CheckDestTexAttachStatus ()
 
void SetTextureFilterLabelName (moText p_text)
 
moText GetTextureFilterLabelName ()
 
const moTextFilterParamGetTextFilterParam ()
 
- 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 protegidos

void SetupShader (MOint w, MOint h, moTempo *p_tempo, MOfloat p_fade, const moTextFilterParam &p_params, moMoldeoObject *p_src_object=NULL)
 
void SetGLConf (MOint w, MOint h)
 
void RestoreGLConf ()
 
void BindDestFBO ()
 
void UnbindDestFBO ()
 
void BindSrcTex (MOuint p_i)
 
void BindSrcTex (MOfloat p_cycle)
 
void BindSrcTex (moTempo *p_tempo)
 
void BindSrcTex (moMoldeoObject *p_mob)
 
void UnbindSrcTex ()
 
void RenderTexQuad (MOint w, MOint h)
 

Atributos protegidos

moShaderm_shader
 
moRenderManagerm_renderman
 
moGLManagerm_glman
 
moText m_TextureFilterLabelName
 
GLint m_src_tex_unit [MO_MAX_TEXTURE_UNITS]
 
GLint m_src_tex_offset [MO_MAX_TEXTURE_UNITS]
 
GLint m_tempo_angle
 
GLint m_tempo_dt
 
GLint m_tempo_syncro
 
GLint m_tempo_delta
 
GLint m_tempo_ticks
 
GLint m_fade_const
 
GLint m_dest_tex_size
 
GLint m_random_uniform
 
int m_uniform_idx
 
int m_uniform_variables_idx [MAX_UNIFORM_VARS]
 idx of uniform parameters variables in moMoldeoObject Más...
 
moTextFilterParam m_DefParams
 idx of uniform variables in shader code moShader Más...
 
moTextureIndex m_src_tex
 
moTextureIndex m_dest_tex
 
GLboolean m_blend_on
 
GLint m_poly_mode
 
GLenum m_draw_buffers [MO_MAX_COLOR_ATTACHMENTS_EXT]
 
MOboolean m_use_screen_tex
 
MOboolean m_reattach_dest_tex
 

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

Esta clase define un filtro 2D para aplicar en texturas. Un filtro es básicamente un programa de shader (escrito en CG o GLSL) con un conjunto de predefinido de parámetros uniformes y una grilla 2D donde las texturas fuente son mapeadas. Los puntos de la grilla 2D pueden ser modificados en el estadio de vértices del filtro, permitiendo distorsiones arbitrarias en la forma de la texturas.

Definición en la línea 156 del archivo moTextureFilter.h.

Documentación del constructor y destructor

moTextureFilter::moTextureFilter ( )

El constructor por defecto de la clase.

Definición en la línea 493 del archivo moTextureFilter.cpp.

virtual moTextureFilter::~moTextureFilter ( )
inlinevirtual

El destructor por defecto de la clase.

Definición en la línea 166 del archivo moTextureFilter.h.

Documentación de las funciones miembro

void moTextureFilter::Apply ( MOuint  p_i,
MOfloat  p_fade,
const moTextFilterParam p_params 
)

Aplica el filtro sobre las texturas de orígen y escribiendo el resutlado en las texturas de destino.

Parámetros
p_icuadro a utilizar en las texturas de orígen (en el caso de que sean animadas).
p_fadeconstante de "fading" utilizada para mezclar el resultado del filtro.
p_paramsparámetros del filtro.

Definición en la línea 643 del archivo moTextureFilter.cpp.

void moTextureFilter::Apply ( MOuint  p_i)

Definición en la línea 638 del archivo moTextureFilter.cpp.

void moTextureFilter::Apply ( MOfloat  p_cycle,
MOfloat  p_fade,
const moTextFilterParam p_params 
)

Aplica el filtro sobre las texturas de orígen y escribiendo el resutlado en las texturas de destino.

Parámetros
p_cyclefracción del ciclo entre 0.0 y 1.0 a utilizar en las texturas de orígen (en el caso de que sean animadas).
p_fadeconstante de "fading" utilizada para mezclar el resultado del filtro.
p_paramsparámetros del filtro.

Definición en la línea 674 del archivo moTextureFilter.cpp.

void moTextureFilter::Apply ( MOfloat  p_cycle)

Definición en la línea 669 del archivo moTextureFilter.cpp.

void moTextureFilter::Apply ( moTempo p_tempo,
MOfloat  p_fade,
const moTextFilterParam p_params 
)

Aplica el filtro sobre las texturas de orígen y escribiendo el resutlado en las texturas de destino.

Parámetros
p_tempotempo a utilizar en las texturas de orígen (en el caso de que sean animadas).
p_fadeconstante de "fading" utilizada para mezclar el resultado del filtro.
p_paramsparámetros del filtro.

Definición en la línea 705 del archivo moTextureFilter.cpp.

void moTextureFilter::Apply ( moTempo p_tempo)

Definición en la línea 700 del archivo moTextureFilter.cpp.

void moTextureFilter::Apply ( moMoldeoObject p_src_mob,
MOfloat  p_fade,
const moTextFilterParam p_params 
)

Definición en la línea 762 del archivo moTextureFilter.cpp.

void moTextureFilter::Apply ( moMoldeoObject p_src_mob,
moTempo p_tempo,
MOfloat  p_fade,
const moTextFilterParam p_params 
)

Definición en la línea 735 del archivo moTextureFilter.cpp.

void moTextureFilter::Apply ( moMoldeoObject p_src_mob)

Definición en la línea 730 del archivo moTextureFilter.cpp.

void moTextureFilter::BindDestFBO ( )
protected

Definición en la línea 944 del archivo moTextureFilter.cpp.

void moTextureFilter::BindSrcTex ( MOuint  p_i)
protected

Definición en la línea 984 del archivo moTextureFilter.cpp.

void moTextureFilter::BindSrcTex ( MOfloat  p_cycle)
protected

Definición en la línea 994 del archivo moTextureFilter.cpp.

void moTextureFilter::BindSrcTex ( moTempo p_tempo)
protected

Definición en la línea 1004 del archivo moTextureFilter.cpp.

void moTextureFilter::BindSrcTex ( moMoldeoObject p_mob)
protected

Definición en la línea 1014 del archivo moTextureFilter.cpp.

void moTextureFilter::CheckDestTexAttachStatus ( )

Verifica que todas las texturas de destino estén asociadas a lo búfers de color del mismo FBO. En caso contrario, las mismas serán re-asociadas (utilizando el FBO de la primera textura de destino) en el momento de aplicar el filtro.

Definición en la línea 1053 del archivo moTextureFilter.cpp.

MOboolean moTextureFilter::Finish ( )
virtual

Método de finalización.

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

Reimplementado de moAbstract.

Definición en la línea 628 del archivo moTextureFilter.cpp.

moTextureIndex* moTextureFilter::GetDestTex ( )
inline

Devuelve el puntero a la lista de texturas de destino.

Devuelve
puntero a la lista de texturas de destino.

Definición en la línea 224 del archivo moTextureFilter.h.

moShader* moTextureFilter::GetShader ( )
inline

Definición en la línea 226 del archivo moTextureFilter.h.

moTextureIndex* moTextureFilter::GetSrcTex ( )
inline

Devuelve el puntero a la lista de texturas de orígen.

Devuelve
puntero a la lista de texturas de orígen.

Definición en la línea 219 del archivo moTextureFilter.h.

const moTextFilterParam& moTextureFilter::GetTextFilterParam ( )
inline

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

moText moTextureFilter::GetTextureFilterLabelName ( )
inline

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

MOboolean moTextureFilter::Init ( moGLManager p_glman,
moRenderManager p_renderman,
moTextureArray &  p_src_tex,
moTextureArray &  p_dest_tex,
moShader p_shader,
const moTextFilterParam p_params 
)
virtual

Método de inicialización de la grilla.

Parámetros
p_glmanpuntero al administrador de OpenGL.
p_rendermanpuntero al administrador de render.
p_src_texreferencia a la lista de texturas de orígen.
p_dest_texreferencia a la lista de texturas de destino.
p_shaderpuntero al programa de shader que define el filtro.
p_paramspuntero al objeto de parámetros a utilizar en este filtro.
Devuelve
true si la operación fue exitosa, false en caso contrario.

Definición en la línea 502 del archivo moTextureFilter.cpp.

void moTextureFilter::RenderTexQuad ( MOint  w,
MOint  h 
)
protected
void moTextureFilter::RestoreGLConf ( )
protected

Definición en la línea 934 del archivo moTextureFilter.cpp.

void moTextureFilter::SetGLConf ( MOint  w,
MOint  h 
)
protected

Definición en la línea 920 del archivo moTextureFilter.cpp.

void moTextureFilter::SetTextureFilterLabelName ( moText  p_text)
inline

Definición en la línea 237 del archivo moTextureFilter.h.

void moTextureFilter::SetupShader ( MOint  w,
MOint  h,
moTempo p_tempo,
MOfloat  p_fade,
const moTextFilterParam p_params,
moMoldeoObject p_src_object = NULL 
)
protected

TODO: load and evaluate each parameter of m_shader->config using also p_src_object as parameters!!!

TODO: load and evaluate each parameter of m_shader->config using also p_src_object as parameters!!!

        if (uniform_var_type=="FLOAT") {
          float p_float = 0.0;
          int paramidx = p_src_object->GetConfig()->GetParamIndex(uniform_var_name);
          if (paramidx>-1) {
            p_float = p_src_object->GetConfig()->Eval( moParamReference(paramidx)  );
          } else {
            int inletidx = p_src_object->GetInletIndex(uniform_var_name);
            if (inletidx>-1) {
              p_float = p_src_object->GetInlets()->Get(inletidx)->GetData()->Float();
            }
          }
          glUniform1fARB( m_uniform_variables_idx[u], p_float );

MODebug2->Message("Assigning FLOAT:" + FloatToStr(p_float)); } else if (uniform_var_type=="INT") { float p_int = 0; int paramidx = p_src_object->GetConfig()->GetParamIndex(uniform_var_name); if (paramidx>-1) { p_int = p_src_object->GetConfig()->Int( moParamReference(paramidx) ); } else { int inletidx = p_src_object->GetInletIndex(uniform_var_name); if (inletidx>-1) { p_int = p_src_object->GetInlets()->Get(inletidx)->GetData()->Int(); } } glUniform1iARB( m_uniform_variables_idx[u], p_int ); MODebug2->Message("Assigning FLOAT:" + FloatToStr(p_float)); }

Definición en la línea 769 del archivo moTextureFilter.cpp.

void moTextureFilter::UnbindDestFBO ( )
protected

Definición en la línea 978 del archivo moTextureFilter.cpp.

void moTextureFilter::UnbindSrcTex ( )
protected

Definición en la línea 1044 del archivo moTextureFilter.cpp.

Documentación de los datos miembro

GLboolean moTextureFilter::m_blend_on
protected

Definición en la línea 278 del archivo moTextureFilter.h.

moTextFilterParam moTextureFilter::m_DefParams
protected

idx of uniform variables in shader code moShader

Definición en la línea 272 del archivo moTextureFilter.h.

moTextureIndex moTextureFilter::m_dest_tex
protected

Definición en la línea 276 del archivo moTextureFilter.h.

GLint moTextureFilter::m_dest_tex_size
protected

Definición en la línea 264 del archivo moTextureFilter.h.

GLenum moTextureFilter::m_draw_buffers[MO_MAX_COLOR_ATTACHMENTS_EXT]
protected

Definición en la línea 280 del archivo moTextureFilter.h.

GLint moTextureFilter::m_fade_const
protected

Definición en la línea 263 del archivo moTextureFilter.h.

moGLManager* moTextureFilter::m_glman
protected

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

GLint moTextureFilter::m_poly_mode
protected

Definición en la línea 279 del archivo moTextureFilter.h.

GLint moTextureFilter::m_random_uniform
protected

Definición en la línea 265 del archivo moTextureFilter.h.

MOboolean moTextureFilter::m_reattach_dest_tex
protected

Definición en la línea 283 del archivo moTextureFilter.h.

moRenderManager* moTextureFilter::m_renderman
protected

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

moShader* moTextureFilter::m_shader
protected

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

moTextureIndex moTextureFilter::m_src_tex
protected

Definición en la línea 275 del archivo moTextureFilter.h.

GLint moTextureFilter::m_src_tex_offset[MO_MAX_TEXTURE_UNITS]
protected

Definición en la línea 257 del archivo moTextureFilter.h.

GLint moTextureFilter::m_src_tex_unit[MO_MAX_TEXTURE_UNITS]
protected

Definición en la línea 256 del archivo moTextureFilter.h.

GLint moTextureFilter::m_tempo_angle
protected

Definición en la línea 258 del archivo moTextureFilter.h.

GLint moTextureFilter::m_tempo_delta
protected

Definición en la línea 261 del archivo moTextureFilter.h.

GLint moTextureFilter::m_tempo_dt
protected

Definición en la línea 259 del archivo moTextureFilter.h.

GLint moTextureFilter::m_tempo_syncro
protected

Definición en la línea 260 del archivo moTextureFilter.h.

GLint moTextureFilter::m_tempo_ticks
protected

Definición en la línea 262 del archivo moTextureFilter.h.

moText moTextureFilter::m_TextureFilterLabelName
protected

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

int moTextureFilter::m_uniform_idx
protected

Definición en la línea 268 del archivo moTextureFilter.h.

int moTextureFilter::m_uniform_variables_idx[MAX_UNIFORM_VARS]
protected

idx of uniform parameters variables in moMoldeoObject

Definición en la línea 269 del archivo moTextureFilter.h.

MOboolean moTextureFilter::m_use_screen_tex
protected

Definición en la línea 282 del archivo moTextureFilter.h.


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