/* * Copyright (C) 2018 Tomasz Kramkowski * SPDX-License-Identifier: MIT */ #ifndef GLPROG_H #define GLPROG_H #include "gl.h" struct shader { GLuint prog; struct { #define SH_UNI(_, name) GLint name; #include "shaders/data.h" } uni; }; struct glprog_progs { #define SH_PROG(name) struct shader name; #include "shaders/data.h" struct { #define SH_IN(_, name) GLint name; #include "shaders/data.h" } attr; }; extern struct glprog_progs prog; void glprog_init(void); #endif // GLPROG_H