}
static vg_shaders;
-VG_STATIC GLuint vg_shader_subshader( const char *src, GLint gliShaderType )
+static GLuint vg_shader_subshader( const char *src, GLint gliShaderType )
{
GLint shader = glCreateShader( gliShaderType );
return shader;
}
-VG_STATIC int vg_shader_compile( struct vg_shader *shader )
+static int vg_shader_compile( struct vg_shader *shader )
{
GLuint program, vert, frag;
*/
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;
}
vg_info( "Compile shader '%s'\n", shader->name );
- if( use_source_files )
- {
+ if( use_source_files ){
char error[260];
char path[260];
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 );
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 );
}
return 1;
}
-VG_STATIC void vg_free_shader( struct vg_shader *shader )
+static void vg_free_shader( struct vg_shader *shader )
{
if( shader->compiled )
{
}
}
-VG_STATIC void vg_shaders_compile(void)
+static void vg_shaders_compile(void)
{
vg_info( "Compiling shaders\n" );
- for( int i=0; i<vg_shaders.count; i ++ )
- {
+ for( int i=0; i<vg_shaders.count; i ++ ){
vg_shader *shader = vg_shaders.shaders[i];
if( !vg_shader_compile( shader ) )
- vg_fatal_exit_loop( "Failed to compile shader" );
+ vg_fatal_error( "Failed to compile shader" );
}
}
-VG_STATIC int vg_shaders_live_recompile(int argc, const char *argv[])
+static int vg_shaders_live_recompile(int argc, const char *argv[])
{
vg_info( "Recompiling shaders\n" );
for( int i=0; i<vg_shaders.count; i ++ )
return 0;
}
-VG_STATIC void vg_shader_register( struct vg_shader *shader )
+static void vg_shader_register( struct vg_shader *shader )
{
if( vg_shaders.count == vg_list_size(vg_shaders.shaders) )
- vg_fatal_exit_loop( "Too many shaders" );
+ vg_fatal_error( "Too many shaders" );
shader->compiled = 0;
shader->id = 0; /* TODO: make this an error shader */