Tiny refactor
This commit is contained in:
@@ -111,7 +111,7 @@ set_base_color :: (e: *Entity, color: Vector4, node_name: string = "") {
|
||||
if data.material_buffer > 0 {
|
||||
material : Entity_Material = ---;
|
||||
material.base_color = color;
|
||||
upload_data_to_buffer(renderer, data.material_buffer, *material, size_of(Entity_Material));
|
||||
upload_data_to_buffer(engine.renderer, data.material_buffer, *material, size_of(Entity_Material));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -148,13 +148,13 @@ load_model_into_entity :: (e: *Entity, model: *Model) {
|
||||
material.base_color = it.material_defaults[0].base_color; // @Incomplete: What if there are multiple meshes?
|
||||
|
||||
data.material = material;
|
||||
data.transform_buffer = create_constant_buffer(renderer, null, size_of(Matrix4), mappable=true);
|
||||
data.material_buffer = create_constant_buffer(renderer, *material, size_of(Entity_Material), mappable=true);
|
||||
data.transform_buffer = create_constant_buffer(engine.renderer, null, size_of(Matrix4), mappable=true);
|
||||
data.material_buffer = create_constant_buffer(engine.renderer, *material, size_of(Entity_Material), mappable=true);
|
||||
data.num_bones = it.num_bones;
|
||||
|
||||
if it.num_bones > 0 {
|
||||
for bone_index: 0..it.num_bones-1 {
|
||||
data.bone_buffers[bone_index] = create_constant_buffer(renderer, null, size_of(Matrix4) * MAX_BONES, mappable=true);
|
||||
data.bone_buffers[bone_index] = create_constant_buffer(engine.renderer, null, size_of(Matrix4) * MAX_BONES, mappable=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -169,22 +169,22 @@ destroy_entity :: (e: *Entity, remove_from_scene: bool = true) {
|
||||
node_data := e.renderable.nodes[it];
|
||||
|
||||
if node_data.transform_buffer > 0 {
|
||||
destroy_buffer(renderer, node_data.transform_buffer);
|
||||
destroy_buffer(engine.renderer, node_data.transform_buffer);
|
||||
}
|
||||
|
||||
if node_data.material_buffer > 0 {
|
||||
destroy_buffer(renderer, node_data.material_buffer);
|
||||
destroy_buffer(engine.renderer, node_data.material_buffer);
|
||||
}
|
||||
|
||||
for bi: 0..node_data.num_bones-1 {
|
||||
destroy_buffer(renderer, node_data.bone_buffers[bi]);
|
||||
destroy_buffer(engine.renderer, node_data.bone_buffers[bi]);
|
||||
}
|
||||
}
|
||||
|
||||
if remove_from_scene {
|
||||
array_unordered_remove_by_value(*game_state.current_scene.entities, e);
|
||||
array_unordered_remove_by_value(*game_state.engine.current_scene.entities, e);
|
||||
if e.type == {
|
||||
case Block; bucket_array_remove(*game_state.current_scene.by_type._Block, e._locator);
|
||||
case Block; bucket_array_remove(*game_state.engine.current_scene.by_type._Block, e._locator);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user