Initial commit
This commit is contained in:
125
application/demos/example.opengl/engine/shader.c
Normal file
125
application/demos/example.opengl/engine/shader.c
Normal file
@@ -0,0 +1,125 @@
|
||||
/*
|
||||
* This file is automaticaly generated, Please dont edit this file!
|
||||
*/
|
||||
#include <engine/shader.h>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void shader_constructor( shader * this, GLuint shaderType ) {
|
||||
|
||||
this->glShader = glCreateShader( shaderType );
|
||||
|
||||
}
|
||||
|
||||
void shader_loadFromFile( shader * this, char * shaderPath ) {
|
||||
|
||||
text * shaderSource = fileSystem_readFile( filesystem, shaderPath, "utf8" );
|
||||
|
||||
glShaderSource( this->glShader, 1, &shaderSource->value, NULL );
|
||||
|
||||
glCompileShader( this->glShader );
|
||||
|
||||
shader_checkShaderForErrors( this, this->glShader );
|
||||
|
||||
}
|
||||
|
||||
void shader_checkShaderForErrors( shader * this, GLuint shader ) {
|
||||
|
||||
GLint isCompiled = 0;
|
||||
|
||||
glGetShaderiv( shader, GL_COMPILE_STATUS, &isCompiled );
|
||||
|
||||
if( isCompiled == GL_FALSE )
|
||||
{
|
||||
GLint maxLength = 0;
|
||||
|
||||
glGetShaderiv( shader, GL_INFO_LOG_LENGTH, &maxLength );
|
||||
|
||||
GLchar errorMessage[ maxLength ];
|
||||
|
||||
glGetShaderInfoLog( shader, maxLength, &maxLength, errorMessage );
|
||||
|
||||
printf("\n\n\n\n Error: %s\n\n\n\n\n\n", errorMessage);
|
||||
|
||||
|
||||
glDeleteShader( shader );
|
||||
|
||||
exit( 0 );
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
shader shader_new(GLuint shaderType) {
|
||||
|
||||
shader instance;
|
||||
|
||||
shader_constructor( &instance, shaderType);
|
||||
|
||||
return instance;
|
||||
|
||||
}
|
||||
|
||||
shader * shader_newPointer(GLuint shaderType) {
|
||||
|
||||
struct shader * pointer = malloc( sizeof ( struct shader ) );
|
||||
|
||||
shader_constructor( pointer , shaderType);
|
||||
|
||||
return pointer;
|
||||
|
||||
}
|
||||
|
||||
attribute attribute_new() {
|
||||
|
||||
attribute instance;
|
||||
|
||||
return instance;
|
||||
|
||||
}
|
||||
|
||||
attribute * attribute_newPointer() {
|
||||
|
||||
struct attribute * pointer = malloc( sizeof ( struct attribute ) );
|
||||
|
||||
return pointer;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user