revised filtering & api
[csRadar.git] / csRadar.c
index de19eba919c9411a9f523d53fd010ececf517b82..909a645b5ebe00db26268a61709155a3d62c5c9d 100644 (file)
--- a/csRadar.c
+++ b/csRadar.c
@@ -20,7 +20,6 @@
 #include "vmdl.h"
 #include "vmf.h"
 
-
 // CSR main
 #include "csrDraw.h"
 #include "csr32f.h"
@@ -39,6 +38,45 @@ int main( int argc, char *argv[] )
                
                vmf_map *map = vmf_init( argv[1], 1 );
                
+               csr_target target;
+               
+               csr_create_target( &target, 1024, 1024, (v4f){ -1000.f, -1000.f, 1000.f, 1000.f } );
+               csr_rt_clear( &target );
+               
+               csr_filter filter_layout =
+               {
+                       .classname = NULL,
+                       .visgroup = "tar_layout"
+               };
+               
+               csr_filter filter_buyzone =
+               {
+                       .classname = "func_buyzone",
+                       .visgroup = NULL
+               };
+               
+               draw_vmf_group( &target, map, map->root, &filter_buyzone, NULL, NULL );
+               
+               float *rgba_test = (float *)csr_malloc( 1024*1024*sizeof(float)*3 );
+               
+               for( int l = 0; l < 1024; l ++ )
+               {
+                       for( int x = 0; x < 1024; x ++ )
+                       {
+                               float *dst = &rgba_test[ (l*1024+x)*3 ];
+                               csr_frag *src = &target.fragments[ ((1023-l)*1024+x) ];
+                               
+                               dst[0] = src->co[0];
+                               dst[1] = src->co[1];
+                               dst[2] = src->co[2];
+                       }
+               }
+               
+               csr_32f_write( "hello.pfm", 1024, 1024, rgba_test );
+               
+               csr_rt_free( &target );
+               
+               free( rgba_test );
                vmf_free( map );
                fs_exit();