From: hgn Date: Wed, 31 May 2023 19:49:41 +0000 (+0100) Subject: shader patch X-Git-Url: https://harrygodden.com/git/?p=vg.git;a=commitdiff_plain;h=886372585da811a5653579e2ff03a0f96c87ee5d shader patch --- diff --git a/vg_shader.h b/vg_shader.h index 86b6ba6..3334922 100644 --- a/vg_shader.h +++ b/vg_shader.h @@ -81,14 +81,11 @@ VG_STATIC int vg_shader_compile( struct vg_shader *shader ) */ int use_source_files = 0; - if( shader->compiled ) - { - if( shader->vs.orig_file && shader->fs.orig_file ) - { + if( shader->compiled ){ + if( shader->vs.orig_file && shader->fs.orig_file ){ use_source_files = 1; } - else - { + else { vg_warn( "No source files for shader '%s'\n", shader->name ); return 1; } @@ -96,8 +93,7 @@ VG_STATIC int vg_shader_compile( struct vg_shader *shader ) vg_info( "Compile shader '%s'\n", shader->name ); - if( use_source_files ) - { + if( use_source_files ){ char error[260]; char path[260]; @@ -109,14 +105,20 @@ VG_STATIC int vg_shader_compile( struct vg_shader *shader ) strcat( path, shader->fs.orig_file ); char *fragment_src = stb_include_file( path, "", "../../shaders", error ); - if( !vertex_src || !fragment_src ) - { - vg_error( "Could not find shader source files (%s)\n", - shader->vs.orig_file ); - - free( vertex_src ); - free( fragment_src ); - return 0; + if( !vertex_src || !fragment_src ){ + const char *errstr = "Could not find shader source files (%s)\n"; + if( shader->compiled ){ + vg_warn( errstr, shader->vs.orig_file ); + free( vertex_src ); + free( fragment_src ); + return 1; + } + else{ + vg_error( errstr, shader->vs.orig_file ); + free( vertex_src ); + free( fragment_src ); + return 0; + } } vert = vg_shader_subshader( vertex_src, GL_VERTEX_SHADER ); @@ -125,8 +127,7 @@ VG_STATIC int vg_shader_compile( struct vg_shader *shader ) free( vertex_src ); free( fragment_src ); } - else - { + else{ vert = vg_shader_subshader( shader->vs.static_src, GL_VERTEX_SHADER ); frag = vg_shader_subshader( shader->fs.static_src, GL_FRAGMENT_SHADER ); } @@ -179,8 +180,7 @@ VG_STATIC void vg_shaders_compile(void) { vg_info( "Compiling shaders\n" ); - for( int i=0; i