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.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
moShader Class Referenceabstract

#include <moShader.h>

Inheritance diagram for moShader:
moAbstract moShaderGLSL

Public Member Functions

 moShader ()
 
virtual ~moShader ()
 
virtual MOboolean Init ()
 
virtual MOboolean Finish ()
 
virtual void CreateVertShader (const moText &vert_source)=0
 
virtual void CreateFragShader (const moText &frag_source)=0
 
virtual void CreateShader (const moText &vert_source, const moText &frag_source)=0
 
virtual void LoadVertShader (const moText &vert_filename)=0
 
virtual void LoadFragShader (const moText &frag_filename)=0
 
virtual void LoadShader (const moText &vert_filename, const moText &frag_filename)=0
 
virtual void StartShader ()
 
virtual void StopShader ()
 
virtual MOboolean ShaderActive ()
 
MOint VertErrorCode ()
 
MOint FragErrorCode ()
 
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)
 
- Public Member Functions inherited from moAbstract
 moAbstract ()
 
virtual ~moAbstract ()
 
MOboolean Initialized ()
 Pregunta si está inicializado. More...
 

Public Attributes

moConfig m_Config
 
- Public Attributes inherited from moAbstract
MOboolean m_bInitialized
 Valor de inicialización More...
 

Protected Member Functions

virtual void compileVertShader (const moText &vert_source)=0
 
virtual void compileFragShader (const moText &frag_source)=0
 
virtual moText LoadShaderSource (const moText &p_fn)
 

Protected Attributes

MOuint m_type
 
moText m_name
 
moTexturedGrid m_grid
 
MOboolean m_Active
 
MOint m_VertErrorCode
 
MOint m_FragErrorCode
 

Additional Inherited Members

- Static Public Attributes inherited from moAbstract
static moDebugMODebug2 = new moDebug()
 Clase de impresión de errores para depuración More...
 
static moTextHeapMODebug = new moTextHeap()
 Lista de textos. More...
 

Detailed Description

Clase base para encapsular shaders de OpenGL. Un programa de shaders tiene tres etapas: el shader de vértices, donde las coordenadas 3D de los vértices son proyectadas a coordenadas homogéneas de pantalla, el shader de geometría, donde nuevos vértices y conectividades entre los mismos pueden ser definidos, y el shader de fragmentos, donde las primitivas geométricas, ya rasterizadas, son dibujadas en la panalla u otro búfer de escritura. Un programa de shader no necesita tener estas tres etapas definidas. Puede consistir sólo en un shader de fragmentos, con lo cual los estadios de vértices y geometría utilizan la funcionalidad por defecto ofrecida por OpenGL en el pipeline gráfico por defecto.

Definition at line 163 of file moShader.h.

Constructor & Destructor Documentation

moShader::moShader ( )

El constructor por defecto de la clase.

Definition at line 200 of file moShader.cpp.

moShader::~moShader ( )
virtual

El destructor por defecto de la clase.

Definition at line 209 of file moShader.cpp.

Member Function Documentation

virtual void moShader::compileFragShader ( const moText frag_source)
protectedpure virtual

Implemented in moShaderGLSL.

virtual void moShader::compileVertShader ( const moText vert_source)
protectedpure virtual

Implemented in moShaderGLSL.

virtual void moShader::CreateFragShader ( const moText frag_source)
pure virtual

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

Parameters
frag_sourcecódigo fuente del shader de vértices.

Implemented in moShaderGLSL.

virtual void moShader::CreateShader ( const moText vert_source,
const moText frag_source 
)
pure virtual

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

Parameters
vert_sourcecódigo fuente del shader de vértices.
frag_sourcecódigo fuente del shader de vértices.

Implemented in moShaderGLSL.

virtual void moShader::CreateVertShader ( const moText vert_source)
pure virtual

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

Parameters
vert_sourcecódigo fuente del shader de vértices.

Implemented in moShaderGLSL.

void moShader::DrawGrid ( MOint  w,
MOint  h,
MOint  l 
)
inline

Dibuja la grilla asociada a este shader con ancho w y alto w, aplicando las capas hasta la número l.

Parameters
wancho con el que se dibuja la grilla.
halto con el que se dibuja la grilla.
lnúmero de capas de textura a aplicar.

Definition at line 283 of file moShader.h.

MOboolean moShader::Finish ( )
virtual

Método de finalización.

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

Reimplemented from moAbstract.

Reimplemented in moShaderGLSL.

Definition at line 219 of file moShader.cpp.

MOint moShader::FragErrorCode ( )

Devuelve el código del último error ocurrido en el shader de fragmentos.

Returns
código de error.

Definition at line 248 of file moShader.cpp.

moTexturedGrid moShader::GetGrid ( )
inline

Devuelve el objeto de grilla 2D utilizado por este shader.

Returns
objeto de grilla 2D.

Definition at line 270 of file moShader.h.

moText moShader::GetName ( )
inline

Devuelve el nombre del shader.

Returns
nombre del shader.

Definition at line 259 of file moShader.h.

MOuint moShader::GetType ( )
inline

Devuelve el tipo de shader: MO_SHADER_GLSL o MO_SHADER_CG.

Returns
tipo de shader.

Definition at line 249 of file moShader.h.

MOboolean moShader::Init ( )
virtual

Método de inicialización.

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

Reimplemented from moAbstract.

Reimplemented in moShaderGLSL.

Definition at line 214 of file moShader.cpp.

virtual void moShader::LoadFragShader ( const moText frag_filename)
pure virtual

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

Parameters
frag_filenamenombre del archivo con el código fuente del shader de fragmentos.

Implemented in moShaderGLSL.

virtual void moShader::LoadShader ( const moText vert_filename,
const moText frag_filename 
)
pure virtual

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

Parameters
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.

Implemented in moShaderGLSL.

moText moShader::LoadShaderSource ( const moText p_fn)
protectedvirtual

Definition at line 253 of file moShader.cpp.

virtual void moShader::LoadVertShader ( const moText vert_filename)
pure virtual

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

Parameters
vert_filenamenombre del archivo con el código fuente del shader de vértices.

Implemented in moShaderGLSL.

void moShader::SetGrid ( moTexturedGrid  p_grid)
inline

Establece el objeto de grilla 2D a utilizar por este shader.

Parameters
m_gridnuevo objeto de grilla 2D.

Definition at line 275 of file moShader.h.

void moShader::SetName ( const moText p_name)
inline

Establece el nombre del shader.

Parameters
p_namenuevo nombre del shader.

Definition at line 264 of file moShader.h.

void moShader::SetType ( MOuint  p_type)
inline

Establece el tipo de shader.

Parameters
p_typenuevo tipo de shader.

Definition at line 254 of file moShader.h.

MOboolean moShader::ShaderActive ( )
virtual

Devuelve el estado del shader.

Returns
true si el shader está activo, false en caso contrario.

Definition at line 238 of file moShader.cpp.

void moShader::StartShader ( )
virtual

Activa el shader.

Reimplemented in moShaderGLSL.

Definition at line 228 of file moShader.cpp.

void moShader::StopShader ( )
virtual

Desactiva el shader.

Reimplemented in moShaderGLSL.

Definition at line 233 of file moShader.cpp.

MOint moShader::VertErrorCode ( )

Devuelve el código del último error ocurrido en el shader de vértices.

Returns
código de error.

Definition at line 243 of file moShader.cpp.

Member Data Documentation

MOboolean moShader::m_Active
protected

Definition at line 294 of file moShader.h.

moConfig moShader::m_Config

Definition at line 286 of file moShader.h.

MOint moShader::m_FragErrorCode
protected

Definition at line 296 of file moShader.h.

moTexturedGrid moShader::m_grid
protected

Definition at line 292 of file moShader.h.

moText moShader::m_name
protected

Definition at line 290 of file moShader.h.

MOuint moShader::m_type
protected

Definition at line 289 of file moShader.h.

MOint moShader::m_VertErrorCode
protected

Definition at line 295 of file moShader.h.


The documentation for this class was generated from the following files: