pxl8/demo3d/client/bsp/demo3d_bsp_render.h

32 lines
817 B
C
Raw Permalink Normal View History

#pragma once
#include "demo3d_bsp.h"
#include "pxl8_gfx.h"
2026-04-15 00:27:16 -05:00
#include "pxl8_mesh.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct demo3d_bsp_render_state {
pxl8_gfx_material* materials;
2026-04-14 13:16:47 -05:00
pxl8_mesh* mesh;
u8* render_face_flags;
u32 num_materials;
u32 num_faces;
bool exterior;
} demo3d_bsp_render_state;
demo3d_bsp_render_state* demo3d_bsp_render_state_create(u32 num_faces);
void demo3d_bsp_render_state_destroy(demo3d_bsp_render_state* state);
void demo3d_bsp_render(pxl8_gfx* gfx, const demo3d_bsp* bsp,
demo3d_bsp_render_state* state,
const pxl8_gfx_draw_opts* opts);
void demo3d_bsp_set_material(demo3d_bsp_render_state* state, u16 material_id,
const pxl8_gfx_material* material);
#ifdef __cplusplus
}
#endif