25 struct static_mesh_system_state;
u32 kstatic_mesh_render_data_flag_bits
Collection of flags for a static mesh submesh to be rendered.
Definition: core_render_types.h:434
#define KAPI
Import/export qualifier.
Definition: defines.h:205
_Bool b8
8-bit boolean type
Definition: defines.h:58
unsigned short u16
Unsigned 16-bit integer.
Definition: defines.h:22
unsigned long long u64
Unsigned 64-bit integer.
Definition: defines.h:28
u64 kname
A kname is a string hash made for quick comparisons versus traditional string comparisons.
Definition: kname.h:36
u16 kstatic_mesh
Represents a single static mesh, which contains geometry.
Definition: kresource_types.h:53
The material system is responsible for managing materials in the engine, including reference counting...
Contains various math types required for the engine.
KAPI b8 static_mesh_tint_set(struct static_mesh_system_state *state, kstatic_mesh_instance instance, vec4 tint)
KAPI b8 static_mesh_system_initialize(u64 *memory_requirement, struct static_mesh_system_state *state, static_mesh_system_config config)
KAPI void static_mesh_system_shutdown(struct static_mesh_system_state *state)
KAPI void static_mesh_instance_release(struct static_mesh_system_state *state, kstatic_mesh_instance *instance)
KAPI b8 static_mesh_is_loaded(struct static_mesh_system_state *state, kstatic_mesh m)
KAPI void static_mesh_render_data_destroy(kstatic_mesh_render_data *render_data)
struct static_mesh_system_config static_mesh_system_config
KAPI b8 static_mesh_submesh_count_get(struct static_mesh_system_state *state, kstatic_mesh m, u16 *out_count)
KAPI const material_instance * static_mesh_submesh_material_instance_get_at(struct static_mesh_system_state *state, kstatic_mesh_instance instance, u16 index)
KAPI const kgeometry * static_mesh_submesh_geometry_get_at(struct static_mesh_system_state *state, kstatic_mesh m, u16 index)
KAPI kstatic_mesh_instance static_mesh_instance_acquire(struct static_mesh_system_state *state, kname asset_name)
KAPI b8 static_mesh_extents_get(struct static_mesh_system_state *state, kstatic_mesh m, extents_3d *out_extents)
KAPI b8 static_mesh_tint_get(struct static_mesh_system_state *state, kstatic_mesh_instance instance, vec4 *out_tint)
KAPI b8 static_mesh_render_data_generate(struct static_mesh_system_state *state, kstatic_mesh_instance instance, kstatic_mesh_render_data_flag_bits flags, kstatic_mesh_render_data *out_render_data)
struct kstatic_mesh_instance kstatic_mesh_instance
Represents an instance of a static mesh. This is to be used in the world. Material instances are obta...
KAPI kstatic_mesh_instance static_mesh_instance_acquire_from_package(struct static_mesh_system_state *state, kname asset_name, kname package_name)
Represents the extents of a 3d object.
Definition: math_types.h:213
Represents geometry to be used for various purposes (rendering objects in the world,...
Definition: geometry.h:38
Represents an instance of a static mesh. This is to be used in the world. Material instances are obta...
Definition: static_mesh_system.h:14
kstatic_mesh mesh
The underlying mesh.
Definition: static_mesh_system.h:16
u16 instance_id
The identifier of the instance.
Definition: static_mesh_system.h:18
Definition: core_render_types.h:457
A material instance, which contains handles to both the base material as well as the instance itself....
Definition: core_render_types.h:395
Definition: static_mesh_system.h:21
kname application_package_name
Definition: static_mesh_system.h:22
A 4-element vector.
Definition: math_types.h:89