Mercurial > sdl-ios-xcode
diff src/render/opengl/SDL_shaders_gl.c @ 5236:e82908c86c9c
Made the shaders easier to debug when they don't compile
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 08 Feb 2011 20:31:39 -0800 |
parents | 8efa43b915be |
children | 55b31686f82b |
line wrap: on
line diff
--- a/src/render/opengl/SDL_shaders_gl.c Tue Feb 08 20:23:52 2011 -0800 +++ b/src/render/opengl/SDL_shaders_gl.c Tue Feb 08 20:31:39 2011 -0800 @@ -31,6 +31,8 @@ /* OpenGL shader implementation */ +/*#define DEBUG_SHADERS*/ + typedef struct { GLenum program; @@ -74,51 +76,43 @@ /* SHADER_SOLID */ { /* vertex shader */ - " \ -varying vec4 v_color; \ - \ -void main() \ -{ \ - gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; \ - v_color = gl_Color; \ -} \ -", +"varying vec4 v_color;\n" +"\n" +"void main()\n" +"{\n" +" gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n" +" v_color = gl_Color;\n" +"}", /* fragment shader */ - " \ -varying vec4 v_color; \ - \ -void main() \ -{ \ - gl_FragColor = v_color; \ -} \ -" +"varying vec4 v_color;\n" +"\n" +"void main()\n" +"{\n" +" gl_FragColor = v_color;\n" +"}" }, /* SHADER_RGB */ { /* vertex shader */ - " \ -varying vec4 v_color; \ -varying vec2 v_texCoord; \ - \ -void main() \ -{ \ - gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; \ - v_color = gl_Color; \ - v_texCoord = vec2(gl_MultiTexCoord0); \ -} \ -", +"varying vec4 v_color;\n" +"varying vec2 v_texCoord;\n" +"\n" +"void main()\n" +"{\n" +" gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n" +" v_color = gl_Color;\n" +" v_texCoord = vec2(gl_MultiTexCoord0);\n" +"}", /* fragment shader */ - " \ -varying vec4 v_color; \ -varying vec2 v_texCoord; \ -uniform sampler2D tex0; \ - \ -void main() \ -{ \ - gl_FragColor = texture2D(tex0, v_texCoord) * v_color; \ -} \ -" +"varying vec4 v_color;\n" +"varying vec2 v_texCoord;\n" +"uniform sampler2D tex0;\n" +"\n" +"void main()\n" +"{\n" +" gl_FragColor = texture2D(tex0, v_texCoord) * v_color;\n" +"}" }, }; @@ -142,8 +136,11 @@ info = SDL_stack_alloc(char, length+1); ctx->glGetInfoLogARB(shader, length, NULL, info); SDL_LogError(SDL_LOG_CATEGORY_RENDER, - "Failed to compile shader:\n%s\n%s", source, info); -fprintf(stderr, "Failed to compile shader:\n%s\n%s", source, info); + "Failed to compile shader:\n%s%s\n%s", defines, source, info); +#ifdef DEBUG_SHADERS + fprintf(stderr, + "Failed to compile shader:\n%s%s\n%s", defines, source, info); +#endif SDL_stack_free(info); return SDL_FALSE;