![]() |
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.
|
Clase que implementa un administrador de shaders. Más...
#include <moShaderManager.h>
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 () |
moShader * | GetShader (MOuint p_idx) |
moTextureFilterIndex * | GetTextureFilterIndex () |
moShaderGLSL & | GetRenderShader () |
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 () |
![]() | |
moResource () | |
virtual | ~moResource () |
moResourceType | GetResourceType () |
![]() | |
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. Más... | |
void | SetDescription (const moText &p_Description) |
Fija la descripción de este objeto. Más... | |
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 (const 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 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 () |
![]() | |
moAbstract () | |
virtual | ~moAbstract () |
MOboolean | Initialized () |
Pregunta si está inicializado. Más... | |
![]() | |
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) |
Otros miembros heredados | |
![]() | |
typedef int(* | Function) (moLuaVirtualMachine &vm) |
![]() | |
MOboolean | m_bInitialized |
Valor de inicialización. Más... | |
![]() | |
Function | Functions [255] |
![]() | |
static moDebug * | MODebug2 = new moDebug() |
Clase de impresión de errores para depuración. Más... | |
static moTextHeap * | MODebug = new moTextHeap() |
Lista de textos. Más... | |
![]() | |
void | SetResourceType (moResourceType p_restype) |
![]() | |
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... | |
![]() | |
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... | |
moResourceManager * | m_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... | |
moInlet * | InletScreenWidth |
moInlet * | InletScreenHeight |
moInlet * | InletTimeabs |
moInlet * | InletPreconfig |
MOboolean | m_bConnectorsLoaded |
int | __iscript |
![]() | |
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... | |
![]() | |
static moLuaVirtualMachine | m_vm |
static moLuaDebugger | m_dbg |
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.
moShaderManager::moShaderManager | ( | ) |
El constructor por defecto de la clase.
Definición en la línea 251 del archivo moShaderManager.cpp.
|
inlinevirtual |
El destructor por defecto de la clase.
Definición en la línea 66 del archivo moShaderManager.h.
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.
p_type | especifica si el shader es CG o GLSL. |
p_name | nombre del shader a crear. |
Definición en la línea 294 del archivo moShaderManager.cpp.
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.
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.
p_type | especifica si el shader es CG o GLSL. |
p_name | nombre del shader a crear. |
p_vert_fn | archivo con el código del shader de vértices. |
p_vert_fn | archivo con el código del shader de fragmentos. |
p_tex_grid | objeto de grilla 2D para deformación de texturas. |
Definición en la línea 421 del archivo moShaderManager.cpp.
|
inline |
Elimina todos los shaders cargados hasta el momento.
Definición en la línea 83 del archivo moShaderManager.h.
Elimina el shader con índice p_idx.
p_idx | índice del shader a eliminar. |
Definición en la línea 435 del archivo moShaderManager.cpp.
|
virtual |
Método de finalización.
Reimplementado de moResource.
Definición en la línea 267 del archivo moShaderManager.cpp.
|
inline |
Definición en la línea 145 del archivo moShaderManager.h.
|
inline |
Definición en la línea 157 del archivo moShaderManager.h.
|
inline |
Definición en la línea 153 del archivo moShaderManager.h.
|
inline |
Definición en la línea 195 del archivo moShaderManager.h.
|
inline |
Definición en la línea 169 del archivo moShaderManager.h.
|
inline |
Definición en la línea 161 del archivo moShaderManager.h.
|
inline |
Definición en la línea 149 del archivo moShaderManager.h.
|
inline |
Definición en la línea 173 del archivo moShaderManager.h.
|
inline |
Definición en la línea 181 del archivo moShaderManager.h.
|
inline |
Definición en la línea 177 del archivo moShaderManager.h.
|
inline |
Definición en la línea 192 del archivo moShaderManager.h.
|
inline |
Definición en la línea 165 del archivo moShaderManager.h.
|
inline |
Definición en la línea 189 del archivo moShaderManager.h.
|
inline |
Definición en la línea 185 del archivo moShaderManager.h.
Devuelve un puntero al shader con índice p_idx.
p_idx | índice del shader . |
Definición en la línea 139 del archivo moShaderManager.h.
|
inline |
Devuelve el número de shaders.
Definición en la línea 133 del archivo moShaderManager.h.
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.
p_name | nombre del shader a buscar. |
p_create_shader | si es true intenta crear el shader si el mismo no es encontrado. |
Definición en la línea 282 del archivo moShaderManager.cpp.
|
inline |
|
virtual |
Método de inicialización.
#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.
|
private |
Definición en la línea 201 del archivo moShaderManager.h.
|
private |
Definición en la línea 200 del archivo moShaderManager.h.
|
private |
Objeto que referencia cada sombreador aplicadp Cada sombreador aplicado a una textura tiene diferentes texturas de entrada y texturas de salida parametros de aplicacion (!!!) parametro de alpha (mezcla de este sombreador)
Definición en la línea 227 del archivo moShaderManager.h.
|
private |
Definición en la línea 203 del archivo moShaderManager.h.
|
private |
Definición en la línea 205 del archivo moShaderManager.h.
|
private |
Definición en la línea 207 del archivo moShaderManager.h.
|
private |
Definición en la línea 217 del archivo moShaderManager.h.
|
private |
Definición en la línea 210 del archivo moShaderManager.h.
|
private |
Definición en la línea 206 del archivo moShaderManager.h.
|
private |
Definición en la línea 208 del archivo moShaderManager.h.
|
private |
Definición en la línea 211 del archivo moShaderManager.h.
|
private |
Definición en la línea 213 del archivo moShaderManager.h.
|
private |
Definición en la línea 212 del archivo moShaderManager.h.
|
private |
Definición en la línea 216 del archivo moShaderManager.h.
|
private |
Definición en la línea 209 del archivo moShaderManager.h.
|
private |
Definición en la línea 215 del archivo moShaderManager.h.
|
private |
Definición en la línea 214 del archivo moShaderManager.h.
|
private |
Definición en la línea 228 del archivo moShaderManager.h.