88 lines
973 B
C
88 lines
973 B
C
#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 <stdio.h>
|
|
|
|
#include <GL/glx.h>
|
|
|
|
#include <GL/gl.h>
|
|
|
|
#include <GL/glext.h>
|
|
|
|
#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;
|
|
|
|
|
|
|