if( start[i] == ';' )
{
start[i] = '\0';
- strncpy( uf->name, start, sizeof(uf->name) );
+ vg_strncpy( start, uf->name, sizeof(uf->name),
+ k_strncpy_always_add_null );
}
if( start[i] == '[' )
{
start[i] = '\0';
- strncpy( uf->name, start, sizeof(uf->name) );
+ vg_strncpy( start, uf->name, sizeof(uf->name),
+ k_strncpy_always_add_null );
uf->array = 1;
}
if( !type_set )
{
- strncpy( uf->type, start, sizeof(uf->type) );
+ vg_strncpy( start, uf->type, sizeof(uf->type),
+ k_strncpy_always_add_null );
type_set = 1;
}
start = start+i+1;
strcat( path, name );
strcat( path, ".h" );
- printf( "Compiling shader called '%s'\n", name );
+ vg_low( "Compiling shader called '%s'\r", name );
FILE *header = fopen( path, "w" );
if( !header )
types[] =
{
{ "float", "float f", "glUniform1f(%s,f);" },
+ { "bool", "int b", "glUniform1i(%s,b);" },
{ "vec2", "v2f v", "glUniform2fv(%s,1,v);" },
{ "vec3", "v3f v", "glUniform3fv(%s,1,v);" },
{ "vec4", "v4f v", "glUniform4fv(%s,1,v);" },
{ "sampler2D", "int i", "glUniform1i(%s,i);" },
+ { "samplerCube", "int i", "glUniform1i(%s,i);" },
+ { "mat2", "m2x2f m", "glUniformMatrix2fv(%s,1,GL_FALSE,(float*)m);" },
{ "mat4x3", "m4x3f m", "glUniformMatrix4x3fv(%s,1,GL_FALSE,(float*)m);" },
{ "mat3", "m3x3f m", "glUniformMatrix3fv(%s,1,GL_FALSE,(float*)m);" },
{ "mat4", "m4x4f m", "glUniformMatrix4fv(%s,1,GL_FALSE,(float*)m);" },