diff --git a/src/graphics/graphics.c b/src/graphics/graphics.c index ae953e8c..bda24979 100644 --- a/src/graphics/graphics.c +++ b/src/graphics/graphics.c @@ -20,21 +20,7 @@ void lovrGraphicsInit() { state.lastTransform = mat4_init(); state.lastProjection = mat4_init(); - 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); + state.defaultShader = lovrGraphicsNewShader(lovrDefaultVertexShader, lovrDefaultFragmentShader); lovrGraphicsReset(); } diff --git a/src/graphics/shader.c b/src/graphics/shader.c index b92e1c3c..3c408c0f 100644 --- a/src/graphics/shader.c +++ b/src/graphics/shader.c @@ -4,8 +4,8 @@ const char* lovrShaderVertexPrefix = "" "#version 150 \n" -"uniform mat4 lovrTransform;" -"uniform mat4 lovrProjection;" +"uniform mat4 lovrTransform; \n" +"uniform mat4 lovrProjection; \n" "in vec3 position;" ""; @@ -14,6 +14,18 @@ const char* lovrShaderFragmentPrefix = "" "out vec4 color;" ""; +const char* lovrDefaultVertexShader = "" +"void main() { \n" +" gl_Position = lovrProjection * lovrTransform * vec4(position.xyz, 1.0); \n" +"}" +""; + +const char* lovrDefaultFragmentShader = "" +"void main() { \n" +" color = vec4(1.0); \n" +"}" +""; + GLuint compileShader(GLenum type, const char* source) { GLuint shader = glCreateShader(type); diff --git a/src/graphics/shader.h b/src/graphics/shader.h index d8fd87fd..2a340fac 100644 --- a/src/graphics/shader.h +++ b/src/graphics/shader.h @@ -9,6 +9,8 @@ typedef struct { extern const char* lovrShaderVertexPrefix; extern const char* lovrShaderFragmentPrefix; +extern const char* lovrDefaultVertexShader; +extern const char* lovrDefaultFragmentShader; GLuint compileShader(GLuint type, const char* filename); GLuint linkShaders(GLuint vertexShader, GLuint fragmentShader);