127 cout <<
"error shader" << endl;
139 cout <<
"error shader" << endl;
153 cout <<
"error shader" << endl;
207 CreateShader(vert_source, frag_source, geom_source, tess_source);
218 glUseProgramObjectARB(0);
256 const char *source = (
const char *)vert_source;
257 const char **psource = &source;
258 cout <<
"Source:" << source << endl;
264 GLchar *vertexInfoLog;
267 cout <<
"Compiled VS:" << IsCompiled_FS << endl;
269 cout <<
" maxLength: " << maxLength << endl;
272 vertexInfoLog =
new GLchar[maxLength];
277 if(IsCompiled_FS ==
MO_FALSE && maxLength)
279 glGetShaderInfoLog(
m_VertexShader, 512, &maxLength, vertexInfoLog);
280 cout <<
" maxLength: " << maxLength <<
" infoLog: " << vertexInfoLog << endl;
284 +
moText(vertexInfoLog) );
293 +
moText(vertexInfoLog) );
295 delete [] vertexInfoLog;
303 const char *source = (
const char *)frag_source;
304 const char **psource = &source;
310 char *fragmentInfoLog;
318 fragmentInfoLog =
new char[maxLength];
320 glGetShaderInfoLog(
m_FragmentShader, maxLength, &maxLength, fragmentInfoLog);
325 +
moText(fragmentInfoLog) );
329 delete [] fragmentInfoLog;
342 const char *source = (
const char *)geom_source;
343 const char **psource = &source;
349 char *geometryInfoLog;
357 geometryInfoLog =
new char[maxLength];
359 glGetShaderInfoLog(
m_GeometryShader, maxLength, &maxLength, geometryInfoLog);
364 +
moText(geometryInfoLog) );
368 delete [] geometryInfoLog;
418 GLint progLinkSuccess;
419 glGetObjectParameterivARB(
m_ProgramObject, GL_OBJECT_LINK_STATUS_ARB, &progLinkSuccess);
424 if (!progLinkSuccess) {
435 GLint infologLength = 0;
436 GLsizei charsWritten = 0;
439 glGetObjectParameterivARB(obj, GL_OBJECT_INFO_LOG_LENGTH_ARB, &infologLength);
441 if (infologLength > 0)
443 infoLog = (
char *)malloc(infologLength);
444 glGetInfoLogARB(obj, infologLength, &charsWritten, infoLog);
void compileVertShader(const moText &vert_source)
GLhandleARB m_TesselationShader
virtual void CreateGeomShader(const moText &geom_source)
virtual MOboolean Finish()
void Error(moText p_text)
Anuncia y registra un error.
GLhandleARB m_VertexShader
void printInfoLog(GLhandleARB obj)
virtual void LoadGeomShader(const moText &geom_filename)
GLhandleARB m_ProgramObject
virtual void CreateTessShader(const moText &tess_source)
virtual MOboolean Finish()
virtual moText LoadShaderSource(const moText &p_fn)
void PrintTessShaderLog()
void PrintVertShaderLog()
GLint GetUniformID(const moText &uName)
virtual void CreateFragShader(const moText &frag_source)
virtual void StopShader()
virtual void StartShader()
clase de para manejar textos
void compileTessShader(const moText &tess_source)
virtual void LoadVertShader(const moText &vert_filename)
void Log(moText p_text)
Escribe un mensaje en el archivo de registro (log)
GLhandleARB m_FragmentShader
void compileFragShader(const moText &frag_source)
virtual void StopShader()
virtual void LoadShader(const moText &vert_filename, const moText &frag_filename)
virtual void LoadFragShader(const moText &frag_filename)
void SetType(MOuint p_type)
virtual void CreateShader(const moText &vert_source, const moText &frag_source)
static moDebug * MODebug2
Clase de impresión de errores para depuración.
void PrintGeomShaderLog()
virtual void LoadTessShader(const moText &tess_filename)
LIBMOLDEO_API moText0 IntToStr(int a)
void PrintFragShaderLog()
virtual void StartShader()
void Message(moText p_text)
Anuncia un mensaje al usuario además de guardarlo en el log de texto.
virtual void CreateVertShader(const moText &vert_source)
GLint GetAttribID(const moText &aName)
GLhandleARB m_GeometryShader
void compileGeomShader(const moText &geom_source)