58 for (j = 0; j < 4; j++)
59 for (i = 0; i < 4; i++)
66 for (j = 0; j < 4; j++)
67 for (i = 0; i < 4; i++)
75 for (
int j = 0; j < 4; j++)
76 for (
int i = 0; i < 4; i++)
82 for (
int j = 0; j < 4; j++)
83 for (
int i = 0; i < 4; i++)
194 for (j = 0; j < 4; j++)
195 for (i = 0; i < 4; i++)
198 for (k = 0; k < 4; k++)
202 for (j = 0; j < 4; j++)
203 for (i = 0; i < 4; i++)
248 m_int = momax(1e-3, m_int);
284 MOfloat a, b, c, d, e, f, g, h, i;
339 yrc = sqrt(2.0) / mag;
515 for (i = 0; i < p_src_tex.Count(); i++)
520 for (i = 0; i < p_dest_tex.Count(); i++) {
529 moShaderCG* pcg = NULL;
559 uname =
moText(
"tempo_angle");
562 uname =
moText(
"dest_tex_size");
565 uname =
moText(
"fade_const");
568 uname =
moText(
"tempo_dt");
571 uname =
moText(
"tempo_delta");
574 uname =
moText(
"tempo_syncro");
577 uname =
moText(
"tempo_ticks");
580 uname =
moText(
"dest_tex_size");
583 uname =
moText(
"fade_const");
586 uname =
moText(
"random_uniform");
608 uname = uniform_var_name;
640 Apply( p_i, 1.0, p_params);
671 Apply( p_cycle, 1.0, p_params);
702 Apply( p_tempo, 1.0, p_params);
732 Apply( p_src_mob, 1.0, p_params);
736 if (p_src_mob==NULL)
return;
748 SetupShader(w, h, p_tempo, p_fade, p_params, p_src_mob);
764 Apply( p_src_mob, NULL, p_fade, p_params );
789 float a = p_tempo->
ang;
852 if (uniform_var_type==
"FLOAT") {
854 float p_float = p_src_object->
GetConfig()->
Eval( uniform_var_name );
857 int inletidx = p_src_object->
GetInletIndex(uniform_var_name);
859 float p_float = p_src_object->
GetInlets()->Get(inletidx)->GetData()->Float();
864 if (uniform_var_type==
"INT") {
866 int p_int = p_src_object->
GetConfig()->
Int( uniform_var_name );
869 int inletidx = p_src_object->
GetInletIndex(uniform_var_name);
871 int p_int = p_src_object->
GetInlets()->Get(inletidx)->GetData()->Int();
928 glPolygonMode(GL_FRONT, GL_FILL);
958 for (i = 0; i < n; i++)
981 if (fbo != NULL) fbo->
Unbind();
989 glActiveTextureARB(GL_TEXTURE0_ARB + i);
999 glActiveTextureARB(GL_TEXTURE0_ARB + i);
1009 glActiveTextureARB(GL_TEXTURE0_ARB + i);
1016 if (p_mob==NULL)
return;
1030 src_tempo = &fs.
tempo;
1037 glActiveTextureARB(GL_TEXTURE0_ARB + i);
1048 glActiveTextureARB(GL_TEXTURE0_ARB + i - 1);
1049 glBindTexture(
m_src_tex[i-1]->GetTexTarget(), 0);
MOboolean m_reattach_dest_tex
moValueBase & GetSubValue(MOint p_indexsubvalue=0)
MOdouble Eval(moParamReference p_paramreference, double x,...)
Acceso rápido a evaluar la función
moTextureIndex m_dest_tex
void SetZShearMatrix(float dx, float dy)
void BindSrcTex(MOuint p_i)
int GetParamIndex(moText p_paramname)
Devuelve el índice correspondiente al parámetro por nombre.
void SetXRotateMatrix(float rs, float rc)
MOint Int(moParamReference p_paramreference)
Acceso rápido a un valor entero.
void SetYRotateMatrix(float rs, float rc)
MOuint AttachTexture(MOuint p_width, MOuint p_height, const moTexParam &p_param, MOuint p_glid, MOuint p_attach_point)
MOboolean RectTexture(GLenum p_target) const
void PrintVertShaderLog()
virtual MOboolean Init()
Inicializa el objeto.
GLint GetUniformID(const moText &uName)
MOdouble syncro
Syncronización o factor fraccionario, 1.0 predeterminado, sino KX donde K puede ser fraccional (un núme...
void Apply(MOuint p_i, MOfloat p_fade, const moTextFilterParam &p_params)
void SetGLConf(MOint w, MOint h)
virtual void StartShader()
void Update(MOfloat p_bright, MOfloat p_cont)
MOdouble delta
variacion de frecuencia entre 0X y 2X, delta es real
clase de para manejar textos
void Multiply(moColorMatrix &p_mat)
virtual const moEffectState & GetEffectState()
void SimpleHueRotateMatrix()
MOboolean m_PreserveLuminance
MOuint GetGLId(MOuint p_idx)
moText m_TextureFilterLabelName
Clase Base para Objetos Moldeo ( moEffect, moIODevice, moResource, moConsole )
virtual void StopShader()
Objeto dibujable, pre-efecto ( primeros efectos en el orden de dibujado )
clase base para el manejo de una textura
GLenum m_draw_buffers[MO_MAX_COLOR_ATTACHMENTS_EXT]
moRenderManager * m_renderman
Objeto dibujable, efecto ( efectos en el orden de dibujado )
MOint GetColorAttachPoint(MOuint p_attach_point)
void SetupShader(MOint w, MOint h, moTempo *p_tempo, MOfloat p_fade, const moTextFilterParam &p_params, moMoldeoObject *p_src_object=NULL)
manejador de operaciones comunes de Open GL
static moDebug * MODebug2
Clase de impresión de errores para depuración
moMoldeoObjectType GetType() const
MOint Add(moText p_name, moTextureManager *p_tex_man)
moDefineDynamicArray(moTextureFilterArray) moColorMatrix
MOuint GetFBOAttachPoint() const
void XFormPoint(float &tx, float &ty, float &tz)
moParam & GetParam(MOint p_paramindex=-1)
Devuelve el parámetro por índice.
MOulong ticks
tiempo en milisegundos (obsoleto) se usa moTimer ahora.
MOdouble dt
incremento diferencial de tiempo
GLint m_src_tex_unit[MO_MAX_TEXTURE_UNITS]
void SetZRotateMatrix(float rs, float rc)
virtual MOboolean Finish()
void CheckDestTexAttachStatus()
MOint GetInletIndex(moText p_connector_name) const
void Update(MOfloat p_int, MOfloat p_sat, MOfloat p_hue)
LIBMOLDEO_API moText0 IntToStr(int a)
void getParamIDs(void *p_shader)
clase base para objetos dibujables
Objeto dibujable, post-efecto ( últímos efectos en el orden de dibujado )
int m_uniform_variables_idx[MAX_UNIFORM_VARS]
idx of uniform parameters variables in moMoldeoObject
moTextFilterParam m_DefParams
idx of uniform variables in shader code moShader
GLint m_src_tex_offset[MO_MAX_TEXTURE_UNITS]
void DrawGrid(MOint w, MOint h, MOint l)
void PrintFragShaderLog()
void Copy(moColorMatrix &p_mat)
MOuint GetValuesCount() const
void Message(moText p_text)
Anuncia un mensaje al usuario además de guardarlo en el log de texto.
void SetOrthographicView(MOint p_width=0, MOint p_height=0, float left=0.0, float right=1.0, float bottom=0.0, float top=1.0, float znear=-1.0, float zfar=1.0)
MOboolean m_use_screen_tex
static Real UnitRandom(unsigned int uiSeed=0)
moTexParam GetTexParam() const