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.
|
Clase que implementa un administrador de shaders. Más...
#include <moShaderManager.h>
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 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... | |
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... | |
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 |
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 |
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 419 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 433 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 |
Definición en la línea 141 del archivo moShaderManager.h.
|
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.