diff --git a/demos/combustion_demo/src/combustion_demo.cpp b/demos/combustion_demo/src/combustion_demo.cpp index 12764cf1d6e2dcf5ed6d1069ddbd4e6bf9d030b4..6dcf3386a188dcedeb358faca71d05b53f389b69 100644 --- a/demos/combustion_demo/src/combustion_demo.cpp +++ b/demos/combustion_demo/src/combustion_demo.cpp @@ -33,11 +33,12 @@ #include "phx/input/device_system.hpp" #include "phx/input/input_system.hpp" #include "phx/rendering/auxiliary/splash_screen.hpp" -#include "phx/rendering/components/mesh_handle.hpp" #include "phx/rendering/components/mesh_render_settings.hpp" +#include "phx/rendering/components/resource_component.hpp" #include "phx/rendering/components/skybox.hpp" #include "phx/resources/loaders/assimp_model_loader.hpp" #include "phx/resources/loaders/scene_loader.hpp" +#include "phx/resources/resource_manager.hpp" #include "phx/setup.hpp" #include "vr_controller_interaction_behavior.hpp" @@ -92,8 +93,8 @@ int main(int, char**) { auto surface_material_handle = surface_transform->GetChild(0) ->GetEntity() - ->GetFirstComponent<phx::MaterialHandle>(); - auto surface_material = surface_material_handle->GetMaterial(); + ->GetFirstComponent<phx::ResourceComponent<phx::Material>>(); + auto surface_material = surface_material_handle->GetResourcePointer(); surface_material->SetAmbientColor(glm::vec3(0.1f)); surface_material->SetDiffuseColor(glm::vec3(1.0f)); surface_material->SetSpecularColor(glm::vec3(0.4f)); @@ -106,13 +107,14 @@ int main(int, char**) { auto boundigbox_mesh_entity = boundingbox_transform->GetChild(0)->GetEntity(); auto boundingbox_mesh_handle = - boundigbox_mesh_entity->GetFirstComponent<phx::MeshHandle>(); + boundigbox_mesh_entity + ->GetFirstComponent<phx::ResourceComponent<phx::Mesh>>(); auto render_settings = boundigbox_mesh_entity->AddComponent<phx::MeshRenderSettings>(); render_settings->SetWireframeMode(true); std::array<glm::vec3, 2> bbox = - boundingbox_mesh_handle->GetMesh()->GetBoundingBox(); + boundingbox_mesh_handle->GetResourcePointer()->GetBoundingBox(); glm::vec3 bbox_diff = bbox[1] - bbox[0]; glm::vec3 center_vec = bbox_diff * 0.5f * 0.001f; surface_transform->SetLocalTranslation(-center_vec); @@ -130,13 +132,14 @@ int main(int, char**) { "models/cube/cube.obj", scene.get()); auto floor_transform = floor_entity->GetFirstComponent<phx::Transform>(); floor_transform->SetLocalScale(glm::vec3(1000.0f, 0.05f, 1000.0f)); - auto floor_material = floor_transform->GetChild(0) - ->GetEntity() - ->GetFirstComponent<phx::MaterialHandle>(); - floor_material->GetMaterial()->SetDiffuseColor(glm::vec3(0.5f, 0.5f, 0.5f)); - floor_material->GetMaterial()->SetSpecularColor( - glm::vec3(1.0f, 1.0f, 1.0f)); - floor_material->GetMaterial()->SetAmbientColor(glm::vec3(0.1f, 0.1f, 0.1f)); + auto floor_material = + floor_transform->GetChild(0) + ->GetEntity() + ->GetFirstComponent<phx::ResourceComponent<phx::Material>>() + ->GetResourcePointer(); + floor_material->SetDiffuseColor(glm::vec3(0.5f, 0.5f, 0.5f)); + floor_material->SetSpecularColor(glm::vec3(1.0f, 1.0f, 1.0f)); + floor_material->SetAmbientColor(glm::vec3(0.1f, 0.1f, 0.1f)); if (right_interaction_behavior) right_interaction_behavior->SetTarget(vis_root_transform); @@ -145,12 +148,14 @@ int main(int, char**) { "models/cube/cube2.obj", scene.get()); auto desk_transform = desk_entity->GetFirstComponent<phx::Transform>(); desk_transform->SetLocalScale(glm::vec3(2.0f, 0.03f, 1.0f)); - auto desk_material = desk_transform->GetChild(0) - ->GetEntity() - ->GetFirstComponent<phx::MaterialHandle>(); - desk_material->GetMaterial()->SetDiffuseColor(glm::vec3(0.5f, 1.0f, 0.5f)); - desk_material->GetMaterial()->SetSpecularColor(glm::vec3(1.0f, 1.0f, 1.0f)); - desk_material->GetMaterial()->SetAmbientColor(glm::vec3(0.1f, 0.2f, 0.1f)); + auto desk_material = + desk_transform->GetChild(0) + ->GetEntity() + ->GetFirstComponent<phx::ResourceComponent<phx::Material>>() + ->GetResourcePointer(); + desk_material->SetDiffuseColor(glm::vec3(0.5f, 1.0f, 0.5f)); + desk_material->SetSpecularColor(glm::vec3(1.0f, 1.0f, 1.0f)); + desk_material->SetAmbientColor(glm::vec3(0.1f, 0.2f, 0.1f)); auto desk_root = scene->CreateEntity(); auto desk_root_transform = desk_root->AddComponent<phx::Transform>();