Made the shaders easier to debug when they don't compile
This commit is contained in:
parent
296fa03f71
commit
505dd64abe
1 changed files with 37 additions and 40 deletions
|
@ -31,6 +31,8 @@
|
||||||
|
|
||||||
/* OpenGL shader implementation */
|
/* OpenGL shader implementation */
|
||||||
|
|
||||||
|
/*#define DEBUG_SHADERS*/
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
GLenum program;
|
GLenum program;
|
||||||
|
@ -74,51 +76,43 @@ static const char *shader_source[NUM_SHADERS][2] =
|
||||||
/* SHADER_SOLID */
|
/* SHADER_SOLID */
|
||||||
{
|
{
|
||||||
/* vertex shader */
|
/* vertex shader */
|
||||||
" \
|
"varying vec4 v_color;\n"
|
||||||
varying vec4 v_color; \
|
"\n"
|
||||||
\
|
"void main()\n"
|
||||||
void main() \
|
"{\n"
|
||||||
{ \
|
" gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n"
|
||||||
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; \
|
" v_color = gl_Color;\n"
|
||||||
v_color = gl_Color; \
|
"}",
|
||||||
} \
|
|
||||||
",
|
|
||||||
/* fragment shader */
|
/* fragment shader */
|
||||||
" \
|
"varying vec4 v_color;\n"
|
||||||
varying vec4 v_color; \
|
"\n"
|
||||||
\
|
"void main()\n"
|
||||||
void main() \
|
"{\n"
|
||||||
{ \
|
" gl_FragColor = v_color;\n"
|
||||||
gl_FragColor = v_color; \
|
"}"
|
||||||
} \
|
|
||||||
"
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/* SHADER_RGB */
|
/* SHADER_RGB */
|
||||||
{
|
{
|
||||||
/* vertex shader */
|
/* vertex shader */
|
||||||
" \
|
"varying vec4 v_color;\n"
|
||||||
varying vec4 v_color; \
|
"varying vec2 v_texCoord;\n"
|
||||||
varying vec2 v_texCoord; \
|
"\n"
|
||||||
\
|
"void main()\n"
|
||||||
void main() \
|
"{\n"
|
||||||
{ \
|
" gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n"
|
||||||
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; \
|
" v_color = gl_Color;\n"
|
||||||
v_color = gl_Color; \
|
" v_texCoord = vec2(gl_MultiTexCoord0);\n"
|
||||||
v_texCoord = vec2(gl_MultiTexCoord0); \
|
"}",
|
||||||
} \
|
|
||||||
",
|
|
||||||
/* fragment shader */
|
/* fragment shader */
|
||||||
" \
|
"varying vec4 v_color;\n"
|
||||||
varying vec4 v_color; \
|
"varying vec2 v_texCoord;\n"
|
||||||
varying vec2 v_texCoord; \
|
"uniform sampler2D tex0;\n"
|
||||||
uniform sampler2D tex0; \
|
"\n"
|
||||||
\
|
"void main()\n"
|
||||||
void main() \
|
"{\n"
|
||||||
{ \
|
" gl_FragColor = texture2D(tex0, v_texCoord) * v_color;\n"
|
||||||
gl_FragColor = texture2D(tex0, v_texCoord) * v_color; \
|
"}"
|
||||||
} \
|
|
||||||
"
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -142,8 +136,11 @@ CompileShader(GL_ShaderContext *ctx, GLenum shader, const char *defines, const c
|
||||||
info = SDL_stack_alloc(char, length+1);
|
info = SDL_stack_alloc(char, length+1);
|
||||||
ctx->glGetInfoLogARB(shader, length, NULL, info);
|
ctx->glGetInfoLogARB(shader, length, NULL, info);
|
||||||
SDL_LogError(SDL_LOG_CATEGORY_RENDER,
|
SDL_LogError(SDL_LOG_CATEGORY_RENDER,
|
||||||
"Failed to compile shader:\n%s\n%s", source, info);
|
"Failed to compile shader:\n%s%s\n%s", defines, source, info);
|
||||||
fprintf(stderr, "Failed to compile shader:\n%s\n%s", source, info);
|
#ifdef DEBUG_SHADERS
|
||||||
|
fprintf(stderr,
|
||||||
|
"Failed to compile shader:\n%s%s\n%s", defines, source, info);
|
||||||
|
#endif
|
||||||
SDL_stack_free(info);
|
SDL_stack_free(info);
|
||||||
|
|
||||||
return SDL_FALSE;
|
return SDL_FALSE;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue