From 12051554667b7fbc539081de8a636e1027638887 Mon Sep 17 00:00:00 2001 From: SirLynix Date: Sat, 5 Nov 2022 00:14:16 +0100 Subject: [PATCH] Graphics/Material: Rename CreateInstance to Instantiate --- examples/DeferredShading/main.cpp | 6 +++--- examples/Physics2DDemo/main.cpp | 2 +- examples/PhysicsDemo/main.cpp | 4 ++-- examples/Showcase/main.cpp | 4 ++-- examples/WidgetDemo/main.cpp | 2 +- include/Nazara/Graphics/Material.hpp | 4 ++-- src/Nazara/Graphics/Formats/TextureLoader.cpp | 6 +++--- src/Nazara/Graphics/Graphics.cpp | 4 ++-- src/Nazara/Graphics/Material.cpp | 12 ++++++------ src/Nazara/Widgets/DefaultWidgetTheme.cpp | 2 +- src/Nazara/Widgets/Widgets.cpp | 4 ++-- 11 files changed, 25 insertions(+), 25 deletions(-) diff --git a/examples/DeferredShading/main.cpp b/examples/DeferredShading/main.cpp index f50eca77d..b6de5c0df 100644 --- a/examples/DeferredShading/main.cpp +++ b/examples/DeferredShading/main.cpp @@ -207,11 +207,11 @@ int main() auto deferredMaterial = std::make_shared(std::move(settings), "BasicMaterial"); - std::shared_ptr spaceshipMat = deferredMaterial->CreateInstance(); + std::shared_ptr spaceshipMat = deferredMaterial->Instantiate(); spaceshipMat->SetTextureProperty("AlphaMap", Nz::Texture::LoadFromFile(resourceDir / "alphatile.png", texParams)); spaceshipMat->SetTextureProperty("BaseColorMap", Nz::Texture::LoadFromFile(resourceDir / "Spaceship/Texture/diffuse.png", texParams)); - std::shared_ptr flareMaterial = deferredMaterial->CreateInstance(); + std::shared_ptr flareMaterial = deferredMaterial->Instantiate(); flareMaterial->UpdatePassStates("ForwardPass", [](Nz::RenderStates& renderStates) { renderStates.depthClamp = true; @@ -233,7 +233,7 @@ int main() planeSampler.wrapModeU = Nz::SamplerWrap::Repeat; planeSampler.wrapModeV = Nz::SamplerWrap::Repeat; - std::shared_ptr planeMat = deferredMaterial->CreateInstance(); + std::shared_ptr planeMat = deferredMaterial->Instantiate(); planeMat->SetTextureProperty("BaseColorMap", Nz::Texture::LoadFromFile(resourceDir / "dev_grey.png", texParams), planeSampler); Nz::Model spaceshipModel(std::move(gfxMesh), spaceship->GetAABB()); diff --git a/examples/Physics2DDemo/main.cpp b/examples/Physics2DDemo/main.cpp index e5e6a2e5e..7cf46e6e3 100644 --- a/examples/Physics2DDemo/main.cpp +++ b/examples/Physics2DDemo/main.cpp @@ -69,7 +69,7 @@ int main() texParams.renderDevice = device; texParams.loadFormat = Nz::PixelFormat::RGBA8_SRGB; - std::shared_ptr material = Nz::Graphics::Instance()->GetDefaultMaterials().phongMaterial->CreateInstance(); + std::shared_ptr material = Nz::Graphics::Instance()->GetDefaultMaterials().phongMaterial->Instantiate(); material->SetTextureProperty("BaseColorMap", Nz::Texture::LoadFromFile(resourceDir / "Spaceship/Texture/diffuse.png", texParams)); for (std::size_t y = 0; y < 10; ++y) diff --git a/examples/PhysicsDemo/main.cpp b/examples/PhysicsDemo/main.cpp index 931349bfe..f15cd65a8 100644 --- a/examples/PhysicsDemo/main.cpp +++ b/examples/PhysicsDemo/main.cpp @@ -63,7 +63,7 @@ int main() texParams.renderDevice = device; texParams.loadFormat = Nz::PixelFormat::RGBA8_SRGB; - std::shared_ptr material = Nz::Graphics::Instance()->GetDefaultMaterials().phongMaterial->CreateInstance(); + std::shared_ptr material = Nz::Graphics::Instance()->GetDefaultMaterials().phongMaterial->Instantiate(); for (std::string_view passName : { "DepthPass", "ForwardPass" }) { material->UpdatePassStates(passName, [](Nz::RenderStates& states) @@ -115,7 +115,7 @@ int main() auto shipCollider = std::make_shared(vertices, vertexMapper.GetVertexCount(), 0.01f); - std::shared_ptr colliderMat = Nz::Graphics::Instance()->GetDefaultMaterials().basicMaterial->CreateInstance(); + std::shared_ptr colliderMat = Nz::Graphics::Instance()->GetDefaultMaterials().basicMaterial->Instantiate(); colliderMat->SetValueProperty("BaseColor", Nz::Color::Green); for (std::string_view passName : { "DepthPass", "ForwardPass" }) { diff --git a/examples/Showcase/main.cpp b/examples/Showcase/main.cpp index 40a7ec346..f6140e612 100644 --- a/examples/Showcase/main.cpp +++ b/examples/Showcase/main.cpp @@ -178,7 +178,7 @@ int main() Nz::TextureParams srgbTexParams = texParams; srgbTexParams.loadFormat = Nz::PixelFormat::RGBA8_SRGB; - std::shared_ptr sphereMat = std::make_shared(material); + std::shared_ptr sphereMat = Nz::Graphics::Instance()->GetDefaultMaterials().phongMaterial->Instantiate(); sphereMat->SetTextureProperty("BaseColorMap", Nz::Texture::LoadFromFile(resourceDir / "Rusty/rustediron2_basecolor.png", srgbTexParams)); std::shared_ptr sphereModel = std::make_shared(std::move(gfxMesh), sphereMesh->GetAABB()); @@ -227,7 +227,7 @@ int main() planeSampler.wrapModeU = Nz::SamplerWrap::Repeat; planeSampler.wrapModeV = Nz::SamplerWrap::Repeat; - std::shared_ptr planeMat = std::make_shared(material); + std::shared_ptr planeMat = Nz::Graphics::Instance()->GetDefaultMaterials().phongMaterial->Instantiate(); planeMat->SetTextureProperty("BaseColorMap", Nz::Texture::LoadFromFile(resourceDir / "dev_grey.png", texParams), planeSampler); std::shared_ptr planeModel = std::make_shared(std::move(planeMeshGfx), planeMesh.GetAABB()); diff --git a/examples/WidgetDemo/main.cpp b/examples/WidgetDemo/main.cpp index 054b04181..771096a12 100644 --- a/examples/WidgetDemo/main.cpp +++ b/examples/WidgetDemo/main.cpp @@ -75,7 +75,7 @@ int main() texParams.renderDevice = device; texParams.loadFormat = Nz::PixelFormat::RGBA8_SRGB; - std::shared_ptr materialInstance = material->CreateInstance(); + std::shared_ptr materialInstance = material->Instantiate(); materialInstance->SetTextureProperty("BaseColorMap", Nz::Texture::LoadFromFile(resourceDir / "Spaceship/Texture/diffuse.png", texParams)); Nz::ImageWidget* imageWidget = canvas2D.Add(materialInstance); diff --git a/include/Nazara/Graphics/Material.hpp b/include/Nazara/Graphics/Material.hpp index ba02b03c0..6c6920986 100644 --- a/include/Nazara/Graphics/Material.hpp +++ b/include/Nazara/Graphics/Material.hpp @@ -48,8 +48,6 @@ namespace Nz Material(MaterialSettings settings, const nzsl::Ast::ModulePtr& referenceModule); ~Material() = default; - std::shared_ptr CreateInstance() const; - std::shared_ptr GetDefaultInstance() const; inline std::size_t FindTextureByTag(const std::string& tag) const; @@ -63,6 +61,8 @@ namespace Nz inline const UniformBlockData& GetUniformBlockData(std::size_t uniformBlockIndex) const; inline std::size_t GetUniformBlockCount() const; + std::shared_ptr Instantiate() const; + static std::shared_ptr Build(const ParameterList& materialData); static std::shared_ptr LoadFromFile(const std::filesystem::path& filePath, const MaterialParams& params = MaterialParams()); static std::shared_ptr LoadFromMemory(const void* data, std::size_t size, const MaterialParams& params = MaterialParams()); diff --git a/src/Nazara/Graphics/Formats/TextureLoader.cpp b/src/Nazara/Graphics/Formats/TextureLoader.cpp index 9f3db08fc..9c10af640 100644 --- a/src/Nazara/Graphics/Formats/TextureLoader.cpp +++ b/src/Nazara/Graphics/Formats/TextureLoader.cpp @@ -35,11 +35,11 @@ namespace Nz switch (parameters.lightingType) { case MaterialLightingType::Phong: - materialInstance = Graphics::Instance()->GetDefaultMaterials().phongMaterial->CreateInstance(); + materialInstance = Graphics::Instance()->GetDefaultMaterials().phongMaterial->Instantiate(); break; case MaterialLightingType::PhysicallyBased: - materialInstance = Graphics::Instance()->GetDefaultMaterials().pbrMaterial->CreateInstance(); + materialInstance = Graphics::Instance()->GetDefaultMaterials().pbrMaterial->Instantiate(); break; case MaterialLightingType::None: @@ -47,7 +47,7 @@ namespace Nz } if (!materialInstance) - materialInstance = Graphics::Instance()->GetDefaultMaterials().basicMaterial->CreateInstance(); + materialInstance = Graphics::Instance()->GetDefaultMaterials().basicMaterial->Instantiate(); if (hasAlphaTest && PixelFormatInfo::HasAlpha(texture->GetFormat())) materialInstance->SetValueProperty("AlphaTest", true); diff --git a/src/Nazara/Graphics/Graphics.cpp b/src/Nazara/Graphics/Graphics.cpp index 7ab77efc3..5f5344b6c 100644 --- a/src/Nazara/Graphics/Graphics.cpp +++ b/src/Nazara/Graphics/Graphics.cpp @@ -262,14 +262,14 @@ namespace Nz m_defaultMaterials.basicDefault = m_defaultMaterials.basicMaterial->GetDefaultInstance(); - m_defaultMaterials.basicNoDepth = m_defaultMaterials.basicMaterial->CreateInstance(); + m_defaultMaterials.basicNoDepth = m_defaultMaterials.basicMaterial->Instantiate(); m_defaultMaterials.basicNoDepth->DisablePass(depthPassIndex); m_defaultMaterials.basicNoDepth->UpdatePassStates(forwardPassIndex, [](RenderStates& states) { states.depthBuffer = false; }); - m_defaultMaterials.basicTransparent = m_defaultMaterials.basicMaterial->CreateInstance(); + m_defaultMaterials.basicTransparent = m_defaultMaterials.basicMaterial->Instantiate(); m_defaultMaterials.basicTransparent->DisablePass(depthPassIndex); m_defaultMaterials.basicTransparent->UpdatePassStates(forwardPassIndex, [](RenderStates& renderStates) { diff --git a/src/Nazara/Graphics/Material.cpp b/src/Nazara/Graphics/Material.cpp index bb836761f..ad6347086 100644 --- a/src/Nazara/Graphics/Material.cpp +++ b/src/Nazara/Graphics/Material.cpp @@ -164,23 +164,23 @@ namespace Nz } } - std::shared_ptr Material::CreateInstance() const - { - return std::make_shared(shared_from_this()); - } - std::shared_ptr Material::GetDefaultInstance() const { std::shared_ptr instance = m_defaultInstance.lock(); if (!instance) { - instance = CreateInstance(); + instance = Instantiate(); m_defaultInstance = std::weak_ptr(instance); } return instance; } + std::shared_ptr Material::Instantiate() const + { + return std::make_shared(shared_from_this()); + } + std::shared_ptr Material::Build(const ParameterList& materialData) { return std::shared_ptr(); diff --git a/src/Nazara/Widgets/DefaultWidgetTheme.cpp b/src/Nazara/Widgets/DefaultWidgetTheme.cpp index cbba66512..7e8325bca 100644 --- a/src/Nazara/Widgets/DefaultWidgetTheme.cpp +++ b/src/Nazara/Widgets/DefaultWidgetTheme.cpp @@ -132,7 +132,7 @@ namespace Nz auto CreateMaterialFromTexture = [&](std::shared_ptr texture) { - std::shared_ptr material = defaultBasicMaterial.basicMaterial->CreateInstance(); + std::shared_ptr material = defaultBasicMaterial.basicMaterial->Instantiate(); material->DisablePass(depthPassIndex); material->UpdatePassStates(forwardPassIndex, [](RenderStates& renderStates) { diff --git a/src/Nazara/Widgets/Widgets.cpp b/src/Nazara/Widgets/Widgets.cpp index 2e0e5df3e..a965e546e 100644 --- a/src/Nazara/Widgets/Widgets.cpp +++ b/src/Nazara/Widgets/Widgets.cpp @@ -28,7 +28,7 @@ namespace Nz std::size_t depthPassIndex = materialPassRegistry.GetPassIndex("DepthPass"); std::size_t forwardPassIndex = materialPassRegistry.GetPassIndex("ForwardPass"); - m_opaqueMaterial = defaultMaterials.basicMaterial->CreateInstance(); + m_opaqueMaterial = defaultMaterials.basicMaterial->Instantiate(); for (std::size_t passIndex : { depthPassIndex, forwardPassIndex }) { m_opaqueMaterial->UpdatePassStates(passIndex, [](RenderStates& renderStates) @@ -37,7 +37,7 @@ namespace Nz }); } - m_transparentMaterial = defaultMaterials.basicMaterial->CreateInstance(); + m_transparentMaterial = defaultMaterials.basicMaterial->Instantiate(); m_transparentMaterial->DisablePass(depthPassIndex); m_transparentMaterial->UpdatePassStates(forwardPassIndex, [](RenderStates& renderStates)