29 //#include "stretchy_buffer.h"
31 int main( int argc
, char *argv
[] )
35 fs_set_gameinfo( "/home/harry/SteamLibrary/steamapps/common/Counter-Strike Global Offensive/csgo/gameinfo.txt" );
37 printf( "read: %s\n", argv
[1] );
38 //vdf_node *node = vdf_open_file( argv[1] );
40 vmf_map
*map
= vmf_init( argv
[1], 1 );
49 solidgen_ctx_init( &solid_main );
51 vdf_node *world = vdf_next( node, "world", NULL );
53 vdf_foreach( world, "solid", brush )
55 solidgen_push( &solid_main, brush );
60 printf("Timer starts\n");
62 csr_frag *image = (csr_frag *)csr_malloc( 1024*1024*sizeof(csr_frag) );
63 clear_depth( image, 1024, 1024 );
65 for( int i = 0; i < csr_sb_count( solid_main.indices )/3; i ++ )
67 u32 * base = solid_main.indices + i*3;
71 tri[0] = solid_main.verts[ base[0] ];
72 tri[1] = solid_main.verts[ base[1] ];
73 tri[2] = solid_main.verts[ base[2] ];
75 draw_buffers( image, 1024, 1024, (v4f){ -1000.f, -1000.f, 1000.f, 1000.f }, tri, 1 );
78 printf("Timer ends \n");
80 double time_taken = ((double)t)/CLOCKS_PER_SEC; // calculate the elapsed time
81 printf("Tracing took %f seconds to execute\n", time_taken);
83 float *rgba_test = (float *)csr_malloc( 1024*1024*sizeof(float)*3 );
85 for( int i = 0; i < 1024*1024; i ++ )
87 rgba_test[i*3+0] = image[i].qa;
88 rgba_test[i*3+1] = image[i].qb;
89 rgba_test[i*3+2] = image[i].depth;
92 csr_32f_write( "hello.pfm", 1024, 1024, rgba_test );
97 solidgen_to_obj( &solid_main, "hello.obj" );