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.
Referencia de la Clase moShaderGLSL

#include <moShaderGLSL.h>

Diagrama de herencias de moShaderGLSL
Inheritance graph
Diagrama de colaboración para moShaderGLSL:
Collaboration graph

Métodos públicos

 moShaderGLSL ()
 
virtual ~moShaderGLSL ()
 
virtual MOboolean Init ()
 
virtual MOboolean Finish ()
 
virtual void CreateVertShader (const moText &vert_source)
 
virtual void CreateFragShader (const moText &frag_source)
 
virtual void CreateGeomShader (const moText &geom_source)
 
virtual void CreateTessShader (const moText &tess_source)
 
virtual void CreateShader (const moText &vert_source, const moText &frag_source)
 
virtual void CreateShader (const moText &vert_source, const moText &frag_source, const moText &geom_source)
 
virtual void CreateShader (const moText &vert_source, const moText &frag_source, const moText &geom_source, const moText &tess_source)
 
virtual void LoadVertShader (const moText &vert_filename)
 
virtual void LoadFragShader (const moText &frag_filename)
 
virtual void LoadGeomShader (const moText &geom_filename)
 
virtual void LoadTessShader (const moText &tess_filename)
 
virtual void LoadShader (const moText &vert_filename, const moText &frag_filename)
 
virtual void LoadShader (const moText &vert_filename, const moText &frag_filename, const moText &geom_filename)
 
virtual void LoadShader (const moText &vert_filename, const moText &frag_filename, const moText &geom_filename, const moText &tess_filename)
 
virtual void StartShader ()
 
virtual void StopShader ()
 
void PrintVertShaderLog ()
 
void PrintFragShaderLog ()
 
void PrintGeomShaderLog ()
 
void PrintTessShaderLog ()
 
GLint GetUniformID (const moText &uName)
 
GLint GetAttribID (const moText &aName)
 
- Métodos públicos heredados desde moShader
 moShader ()
 
virtual ~moShader ()
 
virtual MOboolean ShaderActive ()
 
MOint VertErrorCode ()
 
MOint FragErrorCode ()
 
MOint GeomErrorCode ()
 
MOint TessErrorCode ()
 
MOuint GetType ()
 
void SetType (MOuint p_type)
 
moText GetName ()
 
void SetName (const moText &p_name)
 
moTexturedGrid GetGrid ()
 
void SetGrid (moTexturedGrid p_grid)
 
void DrawGrid (MOint w, MOint h, MOint l)
 
- Métodos públicos heredados desde moAbstract
 moAbstract ()
 
virtual ~moAbstract ()
 
MOboolean Initialized ()
 Pregunta si está inicializado. Más...
 

Métodos protegidos

void compileVertShader (const moText &vert_source)
 
void compileFragShader (const moText &frag_source)
 
void compileGeomShader (const moText &geom_source)
 
void compileTessShader (const moText &tess_source)
 
void linkProgram ()
 
void printInfoLog (GLhandleARB obj)
 
- Métodos protegidos heredados desde moShader
virtual moText LoadShaderSource (const moText &p_fn)
 

Atributos protegidos

GLhandleARB m_ProgramObject
 
GLhandleARB m_FragmentShader
 
GLhandleARB m_VertexShader
 
GLhandleARB m_GeometryShader
 
GLhandleARB m_TesselationShader
 
- Atributos protegidos heredados desde moShader
MOuint m_type
 
moText m_name
 
moTexturedGrid m_grid
 
MOboolean m_Active
 
MOint m_VertErrorCode
 
MOint m_FragErrorCode
 
MOint m_GeomErrorCode
 
MOint m_TessErrorCode
 

Otros miembros heredados

- Atributos públicos heredados desde moShader
moConfig m_Config
 
- 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

Clase que encapsula un shader escrito en el lenguaje GLSL.

Definición en la línea 47 del archivo moShaderGLSL.h.

Documentación del constructor y destructor

◆ moShaderGLSL()

moShaderGLSL::moShaderGLSL ( )

El constructor por defecto de la clase.

Definición en la línea 37 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:

◆ ~moShaderGLSL()

moShaderGLSL::~moShaderGLSL ( )
virtual

El destructor por defecto de la clase.

Definición en la línea 48 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:

Documentación de las funciones miembro

◆ compileFragShader()

void moShaderGLSL::compileFragShader ( const moText frag_source)
protectedvirtual

Implementa moShader.

Definición en la línea 300 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ compileGeomShader()

void moShaderGLSL::compileGeomShader ( const moText geom_source)
protectedvirtual

Implementa moShader.

Definición en la línea 339 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ compileTessShader()

void moShaderGLSL::compileTessShader ( const moText tess_source)
protectedvirtual

Implementa moShader.

Definición en la línea 378 del archivo moShaderGLSL.cpp.

Gráfico de llamadas a esta función:

◆ compileVertShader()

void moShaderGLSL::compileVertShader ( const moText vert_source)
protectedvirtual

Implementa moShader.

Definición en la línea 253 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ CreateFragShader()

void moShaderGLSL::CreateFragShader ( const moText frag_source)
virtual

Crea el shader de fragmentos a partir del código fuente en frag_source.

Parámetros
frag_sourcecódigo fuente del shader de vértices.

Implementa moShader.

Definición en la línea 98 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ CreateGeomShader()

void moShaderGLSL::CreateGeomShader ( const moText geom_source)
virtual

Crea el shader de geometría a partir del código fuente en geom_source.

Parámetros
geom_sourcecódigo fuente del shader de vértices.

Implementa moShader.

Definición en la línea 105 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ CreateShader() [1/3]

void moShaderGLSL::CreateShader ( const moText vert_source,
const moText frag_source 
)
virtual

Crea los shaders de vértices y fragmentos a partir del código fuente en vert_source y frag_source.

Parámetros
vert_sourcecódigo fuente del shader de vértices.
frag_sourcecódigo fuente del shader de vértices.

Implementa moShader.

Definición en la línea 119 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ CreateShader() [2/3]

void moShaderGLSL::CreateShader ( const moText vert_source,
const moText frag_source,
const moText geom_source 
)
virtual

Implementa moShader.

Definición en la línea 131 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:

◆ CreateShader() [3/3]

void moShaderGLSL::CreateShader ( const moText vert_source,
const moText frag_source,
const moText geom_source,
const moText tess_source 
)
virtual

Implementa moShader.

Definición en la línea 144 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:

◆ CreateTessShader()

void moShaderGLSL::CreateTessShader ( const moText tess_source)
virtual

Crea el shader de teselación a partir del código fuente en tess_source.

Parámetros
geom_sourcecódigo fuente del shader de vértices.

Implementa moShader.

Definición en la línea 112 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ CreateVertShader()

void moShaderGLSL::CreateVertShader ( const moText vert_source)
virtual

Crea el shader de vértices a partir del código fuente en vert_source.

Parámetros
vert_sourcecódigo fuente del shader de vértices.

Implementa moShader.

Definición en la línea 91 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ Finish()

MOboolean moShaderGLSL::Finish ( )
virtual

Método de finalización.

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

Reimplementado de moShader.

Definición en la línea 58 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ GetAttribID()

GLint moShaderGLSL::GetAttribID ( const moText aName)

Devuelve el identificador OpenGL del parámetro por atributo en el shader (puede ocurrir en el shader de vértices o fragmentos

Parámetros
pNamenombre del parámetro por atributo.
Devuelve
identificador OpenGL del parámetro.

Definición en la línea 248 del archivo moShaderGLSL.cpp.

Gráfico de llamadas a esta función:

◆ GetUniformID()

GLint moShaderGLSL::GetUniformID ( const moText uName)

Devuelve el identificador OpenGL del parámetro uniforme en el shader (puede ocurrir en el shader de vértices o fragmentos

Parámetros
pNamenombre del parámetro uniforme.
Devuelve
identificador OpenGL del parámetro.

Definición en la línea 242 del archivo moShaderGLSL.cpp.

Gráfico de llamadas a esta función:

◆ Init()

MOboolean moShaderGLSL::Init ( )
virtual

Método de inicialización.

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

Reimplementado de moShader.

Definición en la línea 53 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ linkProgram()

void moShaderGLSL::linkProgram ( )
protected

Definición en la línea 415 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ LoadFragShader()

void moShaderGLSL::LoadFragShader ( const moText frag_filename)
virtual

Crea el shader de fragmentos a partir del código fuente en el archivo frag_filename.

Parámetros
frag_filenamenombre del archivo con el código fuente del shader de fragmentos.

Implementa moShader.

Definición en la línea 165 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:

◆ LoadGeomShader()

void moShaderGLSL::LoadGeomShader ( const moText geom_filename)
virtual

Crea el shader de geometría a partir del código fuente en el archivo geom_filename.

Parámetros
geom_filenamenombre del archivo con el código fuente del shader de geometría.

Implementa moShader.

Definición en la línea 171 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:

◆ LoadShader() [1/3]

void moShaderGLSL::LoadShader ( const moText vert_filename,
const moText frag_filename 
)
virtual

Crea los shaders de vértices y fragmentos a partir del código fuente en los archivos vert_filename y frag_filename.

Parámetros
vert_filenamenombre del archivo con el código fuente del shader de vértices.
frag_filenamenombre del archivo con el código fuente del shader de fragmentos.
geom_filenamenombre del archivo con el código fuente del shader de geometría.
tess_filenamenombre del archivo con el código fuente del shader de teselación.

Implementa moShader.

Definición en la línea 184 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:

◆ LoadShader() [2/3]

void moShaderGLSL::LoadShader ( const moText vert_filename,
const moText frag_filename,
const moText geom_filename 
)
virtual

Implementa moShader.

Definición en la línea 192 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:

◆ LoadShader() [3/3]

void moShaderGLSL::LoadShader ( const moText vert_filename,
const moText frag_filename,
const moText geom_filename,
const moText tess_filename 
)
virtual

Implementa moShader.

Definición en la línea 201 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:

◆ LoadTessShader()

void moShaderGLSL::LoadTessShader ( const moText tess_filename)
virtual

Crea el shader de teselación a partir del código fuente en el archivo tess_filename.

Parámetros
tess_filenamenombre del archivo con el código fuente del shader de teselación.

Implementa moShader.

Definición en la línea 177 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:

◆ LoadVertShader()

void moShaderGLSL::LoadVertShader ( const moText vert_filename)
virtual

Crea el shader de vértices a partir del código fuente en el archivo vert_filename.

Parámetros
vert_filenamenombre del archivo con el código fuente del shader de vértices.

Implementa moShader.

Definición en la línea 159 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:

◆ PrintFragShaderLog()

void moShaderGLSL::PrintFragShaderLog ( )

Imprime los mensajes generados al compilar el shader de fragmentos.

Definición en la línea 227 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ PrintGeomShaderLog()

void moShaderGLSL::PrintGeomShaderLog ( )

Imprime los mensajes generados al compilar el shader de geometría.

Definición en la línea 232 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:

◆ printInfoLog()

void moShaderGLSL::printInfoLog ( GLhandleARB  obj)
protected

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

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ PrintTessShaderLog()

void moShaderGLSL::PrintTessShaderLog ( )

Imprime los mensajes generados al compilar el shader de teselación.

Definición en la línea 237 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:

◆ PrintVertShaderLog()

void moShaderGLSL::PrintVertShaderLog ( )

Imprime los mensajes generados al compilar el shader de vértices.

Definición en la línea 222 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:

◆ StartShader()

void moShaderGLSL::StartShader ( )
virtual

Activa el shader.

Reimplementado de moShader.

Definición en la línea 210 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:

◆ StopShader()

void moShaderGLSL::StopShader ( )
virtual

Desactiva el shader.

Reimplementado de moShader.

Definición en la línea 216 del archivo moShaderGLSL.cpp.

Gráfico de llamadas para esta función:

Documentación de los datos miembro

◆ m_FragmentShader

GLhandleARB moShaderGLSL::m_FragmentShader
protected

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

◆ m_GeometryShader

GLhandleARB moShaderGLSL::m_GeometryShader
protected

Definición en la línea 179 del archivo moShaderGLSL.h.

◆ m_ProgramObject

GLhandleARB moShaderGLSL::m_ProgramObject
protected

Definición en la línea 176 del archivo moShaderGLSL.h.

◆ m_TesselationShader

GLhandleARB moShaderGLSL::m_TesselationShader
protected

Definición en la línea 180 del archivo moShaderGLSL.h.

◆ m_VertexShader

GLhandleARB moShaderGLSL::m_VertexShader
protected

Definición en la línea 178 del archivo moShaderGLSL.h.


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