{
char name[30];
char type[20];
+
+ int array;
}
uniform_buffer[100];
static int uniform_count;
{
start += 8;
struct uniform *uf = &uniform_buffer[ uniform_count ++ ];
+ uf->array = 0;
for( int i=0;; i++ )
{
if( start[i] == '\0' )
start[i] = '\0';
strncpy( uf->name, start, sizeof(uf->name) );
}
+
+ if( start[i] == '[' )
+ {
+ start[i] = '\0';
+ strncpy( uf->name, start, sizeof(uf->name) );
+ uf->array = 1;
+ }
if( start[i] == ' ' )
{
for( int i=0; i<uniform_count; i++ )
{
struct uniform *uf = &uniform_buffer[i];
+ if( uf->array ) continue;
+
if( !strcmp(uf->type,"vec2") )
{
fprintf( header, "static void shader_%s_%s(v2f v){\n"