28 //#include "stretchy_buffer.h"
30 int main( int argc
, char *argv
[] )
34 fs_set_gameinfo( "/home/harry/SteamLibrary/steamapps/common/Counter-Strike Global Offensive/csgo/gameinfo.txt" );
36 printf( "read: %s\n", argv
[1] );
37 //vdf_node *node = vdf_open_file( argv[1] );
39 vmf_map
*map
= vmf_init( argv
[1], 1 );
43 csr_create_target( &target
, 1024, 1024 );
44 csr_rt_clear( &target
);
46 csr_filter filter_layout
=
49 .visgroup
= "tar_layout"
52 csr_filter filter_buyzone
=
54 .classname
= "func_buyzone",
58 csr_filter filter_setup
=
62 .compute_bounds_only
= 1
65 draw_vmf_group( &target
, map
, map
->root
, &filter_setup
, NULL
, NULL
);
66 csr_auto_fit( &target
, 128.f
);
68 draw_vmf_group( &target
, map
, map
->root
, NULL
, NULL
, NULL
);
70 float *rgba_test
= (float *)csr_malloc( 1024*1024*sizeof(float)*3 );
72 for( int l
= 0; l
< 1024; l
++ )
74 for( int x
= 0; x
< 1024; x
++ )
76 float *dst
= &rgba_test
[ (l
*1024+x
)*3 ];
77 csr_frag
*src
= &target
.fragments
[ ((1023-l
)*1024+x
) ];
85 csr_32f_write( "hello.pfm", 1024, 1024, rgba_test
);
87 csr_rt_free( &target
);
97 solidgen_ctx_init( &solid_main );
99 vdf_node *world = vdf_next( node, "world", NULL );
101 vdf_foreach( world, "solid", brush )
103 solidgen_push( &solid_main, brush );
108 printf("Timer starts\n");
110 csr_frag *image = (csr_frag *)csr_malloc( 1024*1024*sizeof(csr_frag) );
111 clear_depth( image, 1024, 1024 );
113 for( int i = 0; i < csr_sb_count( solid_main.indices )/3; i ++ )
115 u32 * base = solid_main.indices + i*3;
119 tri[0] = solid_main.verts[ base[0] ];
120 tri[1] = solid_main.verts[ base[1] ];
121 tri[2] = solid_main.verts[ base[2] ];
123 draw_buffers( image, 1024, 1024, (v4f){ -1000.f, -1000.f, 1000.f, 1000.f }, tri, 1 );
126 printf("Timer ends \n");
128 double time_taken = ((double)t)/CLOCKS_PER_SEC; // calculate the elapsed time
129 printf("Tracing took %f seconds to execute\n", time_taken);
131 float *rgba_test = (float *)csr_malloc( 1024*1024*sizeof(float)*3 );
133 for( int i = 0; i < 1024*1024; i ++ )
135 rgba_test[i*3+0] = image[i].qa;
136 rgba_test[i*3+1] = image[i].qb;
137 rgba_test[i*3+2] = image[i].depth;
140 csr_32f_write( "hello.pfm", 1024, 1024, rgba_test );
145 solidgen_to_obj( &solid_main, "hello.obj" );