1 // Copyright (C) 2021 Harry Godden (hgn) - All Rights Reserved
6 // Super basic model compiler
7 int main( int argc
, char *argv
[] )
11 vg_error( "Need input/output files\n" );
15 float *vertex_buffer
= NULL
;
19 file
= fopen( argv
[1], "r" );
23 output
= fopen( argv
[2], "w" );
26 vg_error( "couldn't open output for writing\n" );
31 fprintf( output
, "/*triangle buffer generated from source file: '%s'*/\n", argv
[1] );
36 while(( c
= getc(file
)) != EOF
)
38 if( i
>= vg_list_size( line
) )
40 vg_error( "Line was way too long.. (line %d)\n", j
+1 );
41 arrfree( vertex_buffer
);
55 sscanf( line
+2, "%f %f %f", vert
, vert
+1, vert
+2 );
56 arrpush( vertex_buffer
, vert
[0] );
57 arrpush( vertex_buffer
, -vert
[2] );
61 else if( line
[0] == 'f' )
64 sscanf( line
+2, "%d %d %d", tri
, tri
+1, tri
+2 );
66 for( int k
= 0; k
< 3; k
++ )
67 fprintf( output
, "%.6ff,%.6ff,", vertex_buffer
[(tri
[k
]-1)*2], vertex_buffer
[(tri
[k
]-1)*2+1] );
68 fprintf( output
, "\n" );
80 arrfree( vertex_buffer
);
86 vg_error( "Couldn't open source file\n" );