summaryrefslogtreecommitdiff
path: root/src/engine/M_shader.h
blob: 0dbd17092003668e10ac05edd428549f592b42c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#pragma once 

#include <stdio.h>

#include <SDL3/SDL_iostream.h>

#include <glad/gl.h>

typedef struct {
	unsigned int prog;
	unsigned int vertex_shader, fragment_shader;
	unsigned int transform_loc, view_loc, projection_loc;
} M_ShaderProgram;

unsigned int M_loadShader(const char* filename, unsigned int shadertype);

M_ShaderProgram M_createShaderProgram(const char *vertex_shader, const char* fragment_shader);

M_ShaderProgram M_compileShaderProgram(unsigned int vertex_shader, unsigned int fragment_shader);

void M_killShaderProgram(M_ShaderProgram *shader_program);