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 moShaderManager

Clase que implementa un administrador de shaders. Más...

#include <moShaderManager.h>

Diagrama de herencias de moShaderManager
moResource moMoldeoObject moAbstract moScript

Métodos públicos

 moShaderManager ()
 
virtual ~moShaderManager ()
 
virtual MOboolean Init ()
 
virtual MOboolean Finish ()
 
void Delete ()
 
MOint GetShaderIndex (moText p_name, MOboolean p_create_shader)
 
MOint AddShader (MOuint p_type, moText p_name)
 
MOint AddShader (moText p_filename)
 
MOint AddShader (MOuint p_type, moText p_name, moText p_vert_fn, moText p_frag_fn, moTexturedGrid p_tex_grid)
 
MOboolean DeleteShader (MOint p_idx)
 
MOuint GetShaderCount ()
 
moShaderGetShader (MOuint p_idx)
 
moTextureFilterIndexGetTextureFilterIndex ()
 
moShaderGLSLGetRenderShader ()
 
MOuint GetRSHPositionIndex ()
 
MOuint GetRSHColorsIndex ()
 
MOuint GetRSHColorIndex ()
 
MOuint GetRSHOpacityIndex ()
 
MOuint GetRSHTextureIndex ()
 
MOuint GetRSHNormalIndex ()
 
MOuint GetRSHProjectionMatrixIndex ()
 
MOuint GetRSHTexCoordIndex ()
 
MOuint GetRSHTexCoordEdgeIndex ()
 
MOuint GetRSHWireframeWidthIndex ()
 
MOuint GetRSHTexWSegmentsIndex ()
 
MOuint GetRSHTexHSegmentsIndex ()
 
MOuint GetRSHLightIndex ()
 
- Métodos públicos heredados desde moResource
 moResource ()
 
virtual ~moResource ()
 
moResourceType GetResourceType ()
 
- Métodos públicos heredados desde moMoldeoObject
 moMoldeoObject ()
 
 moMoldeoObject (moMoldeoObjectType p_type)
 
virtual ~moMoldeoObject ()
 
virtual MOboolean Init (moResourceManager *p_pResources)
 
virtual MOboolean CreateConnectors ()
 
virtual MOboolean UpdateConnectors ()
 
virtual MOboolean RefreshValue (moParam &param, int value_index)
 
virtual MOboolean ResolveValue (moParam &param, int value_index, bool p_refresh=false)
 
virtual void Update (moEventList *p_EventList)
 
void SetResourceManager (moResourceManager *p_pResourceManager)
 
moResourceManagerGetResourceManager ()
 
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 moTextGetKeyName () const
 
const moTextGetName () const
 
const moTextGetLabelName () const
 
moConfigGetConfig ()
 
void SyncConnections ()
 
virtual int Save (const moText &p_save_filename=moText(""))
 
void SetConfigName (const moText &p_configname)
 
const moTextGetConfigName () const
 
const moTextGetDescription () const
 Devuelve al descripción del objeto. Más...
 
void SetDescription (const moText &p_Description)
 Fija la descripción de este objeto. Más...
 
const moMobDefinitionGetMobDefinition () const
 
void SetMobDefinition (const moMobDefinition &p_MobDef)
 
virtual moConfigDefinitionGetDefinition (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!!! Más...
 
virtual int ScriptCalling (moLuaVirtualMachine &vm, int iFunctionNumber)
 
virtual void HandleReturns (moLuaVirtualMachine &vm, const char *strFunc)
 
virtual const moMobStateGetState () 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 moTextToJSON ()
 
- Métodos públicos heredados desde moAbstract
 moAbstract ()
 
virtual ~moAbstract ()
 
MOboolean Initialized ()
 Pregunta si está inicializado. Más...
 
- Métodos públicos heredados desde 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 ()
 
moLuaVirtualMachinemvm (void)
 

Otros miembros heredados

- Tipos públicos heredados desde moScript
typedef int(* Function )(moLuaVirtualMachine &vm)
 
- Atributos públicos heredados desde moAbstract
MOboolean m_bInitialized
 Valor de inicialización. Más...
 
- Atributos públicos heredados desde moScript
Function Functions [255]
 
- 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...
 
- Métodos protegidos heredados desde moResource
void SetResourceType (moResourceType p_restype)
 
- Métodos protegidos heredados desde moMoldeoObject
virtual void LoadDefinition ()
 Carga las definiciones de parámetros del archivo de configuración. Más...
 
virtual void ScriptExeInit ()
 Corre la funcion de script Run o Compila el nuevo script. Más...
 
virtual void ScriptExeRun ()
 
virtual void ScriptExeUpdate ()
 
virtual void ScriptExeFinish ()
 
void SetScript (const moText &p_script)
 
int luaPushDebugString (moLuaVirtualMachine &vm)
 Función de impresión de cadena de carácteres cómoda para la depuración. Más...
 
int luaGetResourceManager (moLuaVirtualMachine &vm)
 Devuelve el objeto de moResourceManager para el manejo de recursos: texturas, videos, archivos, etc.. Más...
 
int luaSetPreconf (moLuaVirtualMachine &vm)
 Fija la preconfiguración de este objeto. Más...
 
int luaGetPreconf (moLuaVirtualMachine &vm)
 Devuelve la preconfiguración de este objeto. Más...
 
int luaGetParamIndex (moLuaVirtualMachine &vm)
 Devuelve el índice del parámetro. Más...
 
int luaGetCurrentValue (moLuaVirtualMachine &vm)
 Devuelve el índice del valor actual de un parámetro. Más...
 
int luaSetCurrentValue (moLuaVirtualMachine &vm)
 Fija el índice del valor actual de un parámetro. Más...
 
int luaGetValuesCount (moLuaVirtualMachine &vm)
 Devuelve la cantidad de valores de un parámetro. Más...
 
int luaGetInletIndex (moLuaVirtualMachine &vm)
 Devuelve el índice del inlet (o parámetro). Por ejemplo: this:luaGetInletIndex("alpha"). Más...
 
int luaGetInletData (moLuaVirtualMachine &vm)
 Devuelve el dato según el índice del inlet. Más...
 
int luaSetInletData (moLuaVirtualMachine &vm)
 Fija el dato de un inlet (o parametro) dado el índice del inlet. Más...
 
int luaGetTrackerSystemData (moLuaVirtualMachine &vm)
 
int luaGetTrackerFeaturesCount (moLuaVirtualMachine &vm)
 
int luaGetTrackerValidFeatures (moLuaVirtualMachine &vm)
 
int luaGetTrackerFeature (moLuaVirtualMachine &vm)
 
int luaGetTrackerVariance (moLuaVirtualMachine &vm)
 
int luaGetTrackerBarycenter (moLuaVirtualMachine &vm)
 
int luaGetTrackerAcceleration (moLuaVirtualMachine &vm)
 
int luaGetTrackerVelocity (moLuaVirtualMachine &vm)
 
int luaGetTrackerZone (moLuaVirtualMachine &vm)
 
int luaGetTrackerHistory (moLuaVirtualMachine &vm)
 
int luaStartTrackerHistory (moLuaVirtualMachine &vm)
 devuelve la cantidad de records registrados?! Más...
 
int luaPauseTrackerHistory (moLuaVirtualMachine &vm)
 arranca la grabacion Más...
 
int luaContinueTrackerHistory (moLuaVirtualMachine &vm)
 
int luaStopTrackerHistory (moLuaVirtualMachine &vm)
 
int luaGetHistoryRecord (moLuaVirtualMachine &vm)
 Devuelve...el baricentro. Más...
 
int luaGetHistoryBarycenter (moLuaVirtualMachine &vm)
 va de parametro el id del tracker, el id de la instancia Más...
 
int luaGetHistoryVariance (moLuaVirtualMachine &vm)
 Devuelve las varianzas. Más...
 
int luaGetHistoryBounding (moLuaVirtualMachine &vm)
 Devuelve los rectangulos. Más...
 
int luaGetHistoryAverage (moLuaVirtualMachine &vm)
 Devuelve los promedios. Más...
 
int luaGetHistoryMinMax (moLuaVirtualMachine &vm)
 Devuelve el rectangulo max, min. Más...
 
- Atributos protegidos heredados desde moMoldeoObject
moText m_FullJSON
 
moText m_Script
 
moMobDefinition m_MobDefinition
 Definición del objeto. Más...
 
moMobState m_MobState
 Moldeo Object State. Más...
 
moConfig m_Config
 Configuración de parámetros del objeto. Más...
 
moResourceManagerm_pResourceManager
 Puntero al administrador de recursos. Más...
 
moOutlets m_Outlets
 Conectores de salida, Arreglo de moOutlet's. Más...
 
moInlets m_Inlets
 Conectores de entrada, Arreglo de moInlet's. Más...
 
moInletInletScreenWidth
 
moInletInletScreenHeight
 
moInletInletTimeabs
 
moInletInletPreconfig
 
MOboolean m_bConnectorsLoaded
 
int __iscript
 
- Atributos protegidos heredados desde moScript
bool m_initialized
 
int m_nMethods
 
int m_iThisRef
 
int m_nArgs
 
const char * m_strFunctionName
 
int m_iMethodBase
 
int m_iMethodBaseIterator
 actual class index method base Más...
 
int m_iMethodBaseAncestors
 actual class iterator index method base Más...
 
int m_MethodBases [256]
 increment on each call to RegisterFunctions Más...
 
- Atributos protegidos estáticos heredados desde moScript
static moLuaVirtualMachine m_vm
 
static moLuaDebugger m_dbg
 

Descripción detallada

Clase que implementa un administrador de shaders.

Clase que implementa un administrador de shaders.

Definición en la línea 55 del archivo moShaderManager.h.

Documentación del constructor y destructor

moShaderManager::moShaderManager ( )

El constructor por defecto de la clase.

Definición en la línea 251 del archivo moShaderManager.cpp.

virtual moShaderManager::~moShaderManager ( )
inlinevirtual

El destructor por defecto de la clase.

Definición en la línea 66 del archivo moShaderManager.h.

Documentación de las funciones miembro

MOint moShaderManager::AddShader ( MOuint  p_type,
moText  p_name 
)

Agrega un shader de tipo p_type (MO_SHADER_GLSL o MO_SHADER_CG) en blanco, es decir, sin vértices de fragmentos o vértices asociados al mismo.

Parámetros
p_typeespecifica si el shader es CG o GLSL.
p_namenombre del shader a crear.
Devuelve
índice del nuevo shader.

Definición en la línea 294 del archivo moShaderManager.cpp.

MOint moShaderManager::AddShader ( moText  p_filename)

Agrega un shader especificado en el archivo de configuración p_filename. Este archivo contiene la siguiente información: el tipo de shader (CG o GLSL), los archivos contieniendo el código de los shaders de vértices y fragmentos, y la configuración de la grilla 2D utilizada para implementar deformaciones de texturas.

Devuelve
índice del nuevo shader.

Definición en la línea 326 del archivo moShaderManager.cpp.

MOint moShaderManager::AddShader ( MOuint  p_type,
moText  p_name,
moText  p_vert_fn,
moText  p_frag_fn,
moTexturedGrid  p_tex_grid 
)

Agrega un shader de tipo p_type (MO_SHADER_GLSL o MO_SHADER_CG), carga en el mismo los shaders de vértices y fragmentos cuyo código está contenido en los archivos especificados, y asocia la grilla pasada como parámetro.

Parámetros
p_typeespecifica si el shader es CG o GLSL.
p_namenombre del shader a crear.
p_vert_fnarchivo con el código del shader de vértices.
p_vert_fnarchivo con el código del shader de fragmentos.
p_tex_gridobjeto de grilla 2D para deformación de texturas.
Devuelve
índice del nuevo shader.

Definición en la línea 419 del archivo moShaderManager.cpp.

void moShaderManager::Delete ( )
inline

Elimina todos los shaders cargados hasta el momento.

Definición en la línea 83 del archivo moShaderManager.h.

MOboolean moShaderManager::DeleteShader ( MOint  p_idx)

Elimina el shader con índice p_idx.

Parámetros
p_idxíndice del shader a eliminar.
Devuelve
true si la operación fue exitosa, false en caso contrario.

Definición en la línea 433 del archivo moShaderManager.cpp.

MOboolean moShaderManager::Finish ( )
virtual

Método de finalización.

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

Reimplementado de moResource.

Definición en la línea 267 del archivo moShaderManager.cpp.

moShaderGLSL& moShaderManager::GetRenderShader ( )
inline

Definición en la línea 145 del archivo moShaderManager.h.

MOuint moShaderManager::GetRSHColorIndex ( )
inline

Definición en la línea 157 del archivo moShaderManager.h.

MOuint moShaderManager::GetRSHColorsIndex ( )
inline

Definición en la línea 153 del archivo moShaderManager.h.

MOuint moShaderManager::GetRSHLightIndex ( )
inline

Definición en la línea 195 del archivo moShaderManager.h.

MOuint moShaderManager::GetRSHNormalIndex ( )
inline

Definición en la línea 169 del archivo moShaderManager.h.

MOuint moShaderManager::GetRSHOpacityIndex ( )
inline

Definición en la línea 161 del archivo moShaderManager.h.

MOuint moShaderManager::GetRSHPositionIndex ( )
inline

Definición en la línea 149 del archivo moShaderManager.h.

MOuint moShaderManager::GetRSHProjectionMatrixIndex ( )
inline

Definición en la línea 173 del archivo moShaderManager.h.

MOuint moShaderManager::GetRSHTexCoordEdgeIndex ( )
inline

Definición en la línea 181 del archivo moShaderManager.h.

MOuint moShaderManager::GetRSHTexCoordIndex ( )
inline

Definición en la línea 177 del archivo moShaderManager.h.

MOuint moShaderManager::GetRSHTexHSegmentsIndex ( )
inline

Definición en la línea 192 del archivo moShaderManager.h.

MOuint moShaderManager::GetRSHTextureIndex ( )
inline

Definición en la línea 165 del archivo moShaderManager.h.

MOuint moShaderManager::GetRSHTexWSegmentsIndex ( )
inline

Definición en la línea 189 del archivo moShaderManager.h.

MOuint moShaderManager::GetRSHWireframeWidthIndex ( )
inline

Definición en la línea 185 del archivo moShaderManager.h.

moShader* moShaderManager::GetShader ( MOuint  p_idx)
inline

Devuelve un puntero al shader con índice p_idx.

Parámetros
p_idxíndice del shader .
Devuelve
puntero al shader solicitado.

Definición en la línea 139 del archivo moShaderManager.h.

MOuint moShaderManager::GetShaderCount ( )
inline

Devuelve el número de shaders.

Devuelve
número de shaders.

Definición en la línea 133 del archivo moShaderManager.h.

MOint moShaderManager::GetShaderIndex ( moText  p_name,
MOboolean  p_create_shader 
)

Devuelve el índice del shader con nombre p_name. Si el shader no existe y p_create_shader es true, entonces intenta crear un nuevo shader interpretando a p_name como el nombre del archivo de configuración del mismo.

Parámetros
p_namenombre del shader a buscar.
p_create_shadersi es true intenta crear el shader si el mismo no es encontrado.
Devuelve
índice del shader.

Definición en la línea 282 del archivo moShaderManager.cpp.

moTextureFilterIndex* moShaderManager::GetTextureFilterIndex ( )
inline

Definición en la línea 141 del archivo moShaderManager.h.

MOboolean moShaderManager::Init ( )
virtual

Método de inicialización.

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

#version 150

uniform mat4 model; uniform vec3 cameraPosition;

material settings uniform sampler2D materialTex; uniform float materialShininess; uniform vec3 materialSpecularColor;

uniform struct Light { vec3 position; vec3 intensities; //a.k.a the color of the light float attenuation; float ambientCoefficient; } light;

in vec2 fragTexCoord; in vec3 fragNormal; in vec3 fragVert;

out vec4 finalColor;

void main() { vec3 normal = normalize(transpose(inverse(mat3(model))) * fragNormal); vec3 surfacePos = vec3(model * vec4(fragVert, 1)); vec4 surfaceColor = texture(materialTex, fragTexCoord); vec3 surfaceToLight = normalize(light.position - surfacePos); vec3 surfaceToCamera = normalize(cameraPosition - surfacePos);

ambient vec3 ambient = light.ambientCoefficient * surfaceColor.rgb * light.intensities;

diffuse float diffuseCoefficient = max(0.0, dot(normal, surfaceToLight)); vec3 diffuse = diffuseCoefficient * surfaceColor.rgb * light.intensities;

specular float specularCoefficient = 0.0; if(diffuseCoefficient > 0.0) specularCoefficient = pow(max(0.0, dot(surfaceToCamera, reflect(-surfaceToLight, normal))), materialShininess); vec3 specular = specularCoefficient * materialSpecularColor * light.intensities;

attenuation float distanceToLight = length(light.position - surfacePos); float attenuation = 1.0 / (1.0 + light.attenuation * pow(distanceToLight, 2));

linear color (color before gamma correction) vec3 linearColor = ambient + attenuation*(diffuse + specular);

final color (after gamma correction) vec3 gamma = vec3(1.0/2.2); finalColor = vec4(pow(linearColor, gamma), surfaceColor.a); }

check moResourceInit

Reimplementado de moResource.

Definición en la línea 101 del archivo moShaderManager.cpp.


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