#include "shader.h" #include "includes.h" unsigned int loadShader(const char* filename, unsigned int shadertype) { void* shader_source = SDL_LoadFile(filename, NULL); unsigned int shader = glCreateShader(shadertype); glShaderSource(shader, 1, (const char**)&shader_source, NULL); glCompileShader(shader); SDL_free(shader_source); int success; glGetShaderiv(shader, GL_COMPILE_STATUS, &success); if (!success) { printf("Couldn't compile shader\n"); return 0; } return shader; } unsigned int shaderProgram(unsigned int vertex_shader, unsigned int fragment_shader) { unsigned int shader_program; shader_program = glCreateProgram(); glAttachShader(shader_program, vertex_shader); glAttachShader(shader_program, fragment_shader); glLinkProgram(shader_program); int success; glGetProgramiv(shader_program, GL_LINK_STATUS, &success); if (!success) { printf("Couldn't link shader program\n"); return 0; } return shader_program; }