X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=vg%2Fvg_shader.h;h=ff8a5f0dc143c6126167394579fc4cced7922499;hb=3363633178b1eea582304742ad1202487af0feb1;hp=ede1b1311e31d53c03e8cd9fe3c44cf25916faed;hpb=56d6d59869fcdd9d23b0135e3262d9d29c218e05;p=fishladder.git diff --git a/vg/vg_shader.h b/vg/vg_shader.h index ede1b13..ff8a5f0 100644 --- a/vg/vg_shader.h +++ b/vg/vg_shader.h @@ -19,6 +19,7 @@ static inline int static_str_index( const char *list[], int len, const char *str } #pragma GCC diagnostic pop +#define SHADER_NAME( NAME ) (NAME##_static_shader.program) #define SHADER_USE( NAME ) glUseProgram( NAME##_static_shader.program ) #define SHADER_UNIFORM( NAME, U ) NAME##_shader_uniforms[ STR_STATIC_INDEX( NAME##_shader_names, U ) ] @@ -83,7 +84,7 @@ static int vg_shader_compile( struct vg_shader *shader ) { vg_info( "Compile shader '%s'\n", shader->sym ); - GLuint vert, frag, geo; + GLuint vert, frag, geo = 0; vert = vg_shader_subshader( shader->src_vert, GL_VERTEX_SHADER ); frag = vg_shader_subshader( shader->src_frag, GL_FRAGMENT_SHADER ); @@ -100,7 +101,7 @@ static int vg_shader_compile( struct vg_shader *shader ) } shader->program = glCreateProgram(); - if( shader->src_geo ) + if( geo ) glAttachShader( shader->program, geo ); glAttachShader( shader->program, vert ); @@ -110,7 +111,7 @@ static int vg_shader_compile( struct vg_shader *shader ) glDeleteShader( vert ); glDeleteShader( frag ); - if( shader->src_geo ) + if( geo ) glDeleteShader( geo ); // Check for link errors