27 //#include "stretchy_buffer.h"
29 int main( int argc
, char *argv
[] )
31 vmf_vert
*triangles
= NULL
;
32 vmf_vert oh_yeah_yeah
= {0};
34 for( int i
= 0; i
< 22; i
++ )
36 triangles
= csr_sb_reserve( triangles
, 3, sizeof( vmf_vert
) );
38 vmf_vert
*tri
= triangles
+ csr_sb_count( triangles
);
40 tri
[0] = oh_yeah_yeah
;
41 tri
[1] = oh_yeah_yeah
;
42 tri
[2] = oh_yeah_yeah
;
44 csr_sb_inc( triangles
, 3 );
50 printf( "read: %s\n", argv
[1] );
51 vdf_node
*node
= vdf_open_file( argv
[1] );
57 solidgen_ctx_init( &solid_main
);
59 vdf_node
*world
= vdf_next( node
, "world", NULL
);
61 vdf_foreach( world
, "solid", brush
)
63 solidgen_push( &solid_main
, brush
);
66 vmf_vert
*triangles
= NULL
;
68 for( int i
= 0; i
< csr_sb_count( solid_main
.indices
)/3; i
++ )
70 u32
* base
= solid_main
.indices
+ i
*3;
72 triangles
= csr_sb_reserve( triangles
, 3, sizeof( vmf_vert
) );
74 vmf_vert
*tri
= triangles
+ csr_sb_count( triangles
);
76 tri
[0] = solid_main
.verts
[ base
[0] ];
77 tri
[1] = solid_main
.verts
[ base
[1] ];
78 tri
[2] = solid_main
.verts
[ base
[2] ];
80 csr_sb_inc( triangles
, 3 );
83 csr_frag
*image
= (csr_frag
*)csr_malloc( 1024*1024*sizeof(csr_frag
) );
84 draw_buffers( image
, 1024, 1024, (v4f
){ -1000.f
, -1000.f
, 1000.f
, 1000.f
}, triangles
, csr_sb_count( triangles
)/3 );
86 float *rgba_test
= (float *)csr_malloc( 1024*1024*sizeof(float)*3 );
88 for( int i
= 0; i
< 1024*1024; i
++ )
90 rgba_test
[i
*3+0] = image
[i
].qa
;
91 rgba_test
[i
*3+1] = image
[i
].qb
;
92 rgba_test
[i
*3+2] = image
[i
].depth
;
95 csr_32f_write( "hello.pfm", 1024, 1024, rgba_test
);
99 csr_sb_free( triangles
);
101 solidgen_to_obj( &solid_main
, "hello.obj" );