 |
Simulant
21.12-194
A portable game engine for Windows, OSX, Linux, Dreamcast, and PSP
|
3 #include <unordered_map>
5 #include "../generic/identifiable.h"
7 #include "stage_node.h"
8 #include "../interfaces.h"
10 #include "../generic/manual_object.h"
11 #include "../generic/containers/contiguous_map.h"
15 typedef std::size_t MeshInstanceID;
50 const AABB& aabb()
const override;
51 void set_mesh(MeshPtr mesh);
86 void _get_renderables(
89 const DetailLevel detail_level
99 void on_transformation_changed();
101 struct MeshInstance {
103 bool is_visible =
true;
105 Mat4 abs_transformation;
109 void recalc_aabb(MeshPtr mesh);
112 static uint32_t id_counter_;
115 std::unordered_map<uint32_t, MeshInstance> instances_;
Definition: quaternion.h:24
Definition: animation.cpp:25
Definition: renderable.h:38
bool hide_mesh_instance(MeshInstanceID mid)
hide_mesh_instance
Definition: mesh_instancer.cpp:78
Definition: render_queue.h:156
Definition: identifiable.h:26
Definition: manual_object.h:33
The MeshInstancer class.
Definition: mesh_instancer.h:44
bool show_mesh_instance(MeshInstanceID mid)
show_mesh_instance
Definition: mesh_instancer.cpp:68
Definition: nameable.h:34
bool destroy_mesh_instance(MeshInstanceID mid)
destroy_mesh_instance
Definition: mesh_instancer.cpp:56
Definition: stage_node.h:61
Definition: sound_driver.h:74
MeshInstanceID new_mesh_instance(const smlt::Vec3 &position, const smlt::Quaternion &rotation=smlt::Quaternion())
Definition: mesh_instancer.cpp:41
The Boundable class.
Definition: boundable.h:12