1 #ifndef INCLUDE_CAVEVIEW_H
2 #define INCLUDE_CAVEVIEW_H
6 #include "stb_voxel_render.h"
18 float transform
[3][3];
21 uint8 sv_blocktype
[34][34][18];
22 uint8 sv_lighting
[34][34][18];
25 // a 3D checkerboard of empty,solid would be: 32x32x255x6/2 ~= 800000
26 // an all-leaf qchunk would be: 32 x 32 x 255 x 6 ~= 1,600,000
28 #define BUILD_QUAD_MAX 400000
29 #define BUILD_BUFFER_SIZE (4*4*BUILD_QUAD_MAX) // 4 bytes per vertex, 4 vertices per quad
30 #define FACE_BUFFER_SIZE ( 4*BUILD_QUAD_MAX) // 4 bytes per quad
33 extern void mesh_init(void);
34 extern void render_init(void);
35 extern void world_init(void);
36 extern void ods(char *fmt
, ...); // output debug string
37 extern void reset_cache_size(int size
);
40 extern void render_caves(float pos
[3]);
43 #include "cave_parse.h" // fast_chunk
45 extern fast_chunk
*get_converted_fastchunk(int chunk_x
, int chunk_y
);
46 extern void build_chunk(int chunk_x
, int chunk_y
, fast_chunk
*fc_table
[4][4], raw_mesh
*rm
);
47 extern void reset_cache_size(int size
);
48 extern void deref_fastchunk(fast_chunk
*fc
);