diff --git a/core/entity.jai b/core/entity.jai index c3c582e..9115220 100644 --- a/core/entity.jai +++ b/core/entity.jai @@ -72,7 +72,7 @@ Entity :: struct { rendering_offset: Vector3; snap_offset: Vector3; - snap_intervals: Vector3; + snap_intervals: Vector3 = .{1,1,1}; renderable: Renderable; @DontSerialize animator: Animator; @DontSerialize diff --git a/core/scene.jai b/core/scene.jai index c8cbbec..61846fb 100644 --- a/core/scene.jai +++ b/core/scene.jai @@ -64,6 +64,7 @@ load_scene :: (name: string) -> *Scene { next_entity_id = cast(Entity_Id)(highest + 1); + update_transforms(scene); calculate_aabbs(scene); make_sure_nothing_collides(scene); @@ -224,10 +225,10 @@ update_animators :: (dt: float) { } } -update_transforms :: () { - if engine.current_scene == null return; +update_transforms :: (scene: *Scene) { + if scene == null return; - for e: engine.current_scene.entities { + for e: scene.entities { if e.parent == null { update_entity_transform(e, Matrix4_Identity); } diff --git a/module.jai b/module.jai index ba9f720..e05e794 100644 --- a/module.jai +++ b/module.jai @@ -141,7 +141,7 @@ coven_run :: (game_update_proc: (float), game_editor_update_proc: (float), game_ } if engine.current_scene != null { - update_transforms(); + update_transforms(engine.current_scene); sync_engine_buffers(); if !engine.paused { diff --git a/renderer/mesh.jai b/renderer/mesh.jai index c529ab6..a9e1458 100644 --- a/renderer/mesh.jai +++ b/renderer/mesh.jai @@ -13,6 +13,11 @@ Mesh_Vertex_Data_Type :: enum { BITANGENT; BONE_INDICES; BONE_WEIGHTS; + + INSTANCED_MAT1; + INSTANCED_MAT2; + INSTANCED_MAT3; + INSTANCED_MAT4; } Mesh_Handle :: #type, distinct u32;