#ifndef _shader #define _shader // Macros #define GL_GLEXT_PROTOTYPES #include "stdlib.h" extern char * __ClassNames[]; // Includes #include "sampler2D.h" #include "../char.h" #include "../array.h" #include "../fileSystem.h" #include #include #include #include #include "uniform.h" #include "member.h" #include "block.h" typedef struct shader{ GLuint glShader; } shader; void shader_constructor( shader * this, GLuint shaderType ); void shader_loadFromFile( shader * this, char * shaderPath ); void shader_checkShaderForErrors( shader * this, GLuint shader ); typedef struct attribute{ GLchar name[64]; GLint location; GLenum type; } attribute; shader shader_new( GLuint shaderType ); shader * shader_newPointer( GLuint shaderType ); attribute attribute_new( ); attribute * attribute_newPointer( ); #endif typedef struct shader shader; typedef struct attribute attribute;