Move default shader code into shader;

This commit is contained in:
bjorn 2016-09-28 19:34:48 -07:00
parent ab14cf5d31
commit ccd0b5374e
3 changed files with 17 additions and 17 deletions

View File

@ -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();
}

View File

@ -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);

View File

@ -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);