Files
c-prime/application/demos/example.opengl/engine/shader.h
2025-11-17 10:28:09 +01:00

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;