Default shader;

This commit is contained in:
bjorn 2016-09-27 19:56:36 -07:00
parent dba017c8df
commit 64361660b9
2 changed files with 22 additions and 0 deletions

View File

@ -27,6 +27,23 @@ void lovrGraphicsInit() {
// TODO customize via lovr.conf
lovrGraphicsSetProjection(.1f, 100.f, 67 * M_PI / 180);
char vertexShaderSource[128];
snprintf(vertexShaderSource, sizeof(vertexShaderSource), "%s",
"void main() { \n"
" gl_Position = lovrProjection * lovrTransform * vec4(position.xyz, 1.0); \n"
"}"
);
char fragmentShaderSource[64];
snprintf(fragmentShaderSource, sizeof(fragmentShaderSource), "%s",
"void main() { \n"
" color = vec4(1.0); \n"
"}"
);
state.defaultShader = lovrGraphicsNewShader(vertexShaderSource, fragmentShaderSource);
lovrGraphicsSetShader(state.defaultShader);
}
void lovrGraphicsClear(int color, int depth) {
@ -92,6 +109,10 @@ Shader* lovrGraphicsGetShader() {
// TODO default shader
void lovrGraphicsSetShader(Shader* shader) {
if (!shader) {
shader = state.defaultShader;
}
state.activeShader = shader;
glUseProgram(shader->id);
}

View File

@ -9,6 +9,7 @@ typedef vec_t(mat4) vec_mat4_t;
typedef struct {
Shader* activeShader;
Shader* defaultShader;
vec_mat4_t transforms;
mat4 lastTransform;
mat4 projection;