diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/AntiAliasing/FXAANode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/AntiAliasing/FXAANode.cpp index 20350ced1bb6891baecbe493ff05a8c5a25a85b0..8a7a9a650b221e451087d7703a93a29bf9245672 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/AntiAliasing/FXAANode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/AntiAliasing/FXAANode.cpp @@ -125,7 +125,7 @@ void FXAANode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Texture 1 - auto inputColor1 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor1 = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); NodeTypeTexture* texColor1 = &inputColor1->getData(); m_framebuffer->bind(); diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/DifferenceNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/DifferenceNode.cpp index 1dac170d5ccad3c35a72479e27a2ca8a658f8903..ad0573650363080a9cd8ac484652b4af3052d697 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/DifferenceNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/DifferenceNode.cpp @@ -68,11 +68,11 @@ void DifferenceNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Texture 1 - auto inputColor1 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor1 = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); NodeTypeTexture* texColor1 = &inputColor1->getData(); // Texture 2 - auto inputColor2 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); + auto inputColor2 = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); NodeTypeTexture* texColor2 = &inputColor2->getData(); m_framebuffer->bind(); diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/LessThanThresholdNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/LessThanThresholdNode.cpp index 0c1a2588dc8a2f334152a16c5ea3ec89059721d2..c6ae062f54794c8de6e25f701c11ce0e7d4d3f42 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/LessThanThresholdNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/LessThanThresholdNode.cpp @@ -72,7 +72,7 @@ void LessThanThresholdNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Texture 1 - auto inputColor1 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor1 = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); NodeTypeTexture* texColor1 = &inputColor1->getData(); m_framebuffer->bind(); diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/MaxNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/MaxNode.cpp index 4b0e6cbe165f5f60b411843dd8bffb5976721c0d..f6930631ac6e71c2bfd34f93f16b0ed93bcc9760 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/MaxNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/MaxNode.cpp @@ -68,11 +68,11 @@ void MaxNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Texture 1 - auto inputColor1 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor1 = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); NodeTypeTexture* texColor1 = &inputColor1->getData(); // Texture 2 - auto inputColor2 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); + auto inputColor2 = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); NodeTypeTexture* texColor2 = &inputColor2->getData(); m_framebuffer->bind(); diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/MinNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/MinNode.cpp index 22e4565a6e8459083e53c96830be43bd27510396..e7fa17d3d48dc2ca5912b6aebf4105c2e072d210 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/MinNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/MinNode.cpp @@ -68,11 +68,11 @@ void MinNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Texture 1 - auto inputColor1 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor1 = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); NodeTypeTexture* texColor1 = &inputColor1->getData(); // Texture 2 - auto inputColor2 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); + auto inputColor2 = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); NodeTypeTexture* texColor2 = &inputColor2->getData(); m_framebuffer->bind(); diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/MoreThanThresholdNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/MoreThanThresholdNode.cpp index 01693e0b24b1585e0d9e995faa4e4ac9e3aab13c..f607e5afa948952561989f34c5ba1d37a14bbb6e 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/MoreThanThresholdNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/MoreThanThresholdNode.cpp @@ -72,7 +72,7 @@ void MoreThanThresholdNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Texture 1 - auto inputColor1 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor1 = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); NodeTypeTexture* texColor1 = &inputColor1->getData(); m_framebuffer->bind(); diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/MultiplyNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/MultiplyNode.cpp index 1cd9640a33af1b083b37e058721c00c3f0f8fa7c..a932256f6a8c6b576bfc70a75d742b476bf6a400 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/MultiplyNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/MultiplyNode.cpp @@ -68,11 +68,11 @@ void MultiplyNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Texture 1 - auto inputColor1 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor1 = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); NodeTypeTexture* texColor1 = &inputColor1->getData(); // Texture 2 - auto inputColor2 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); + auto inputColor2 = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); NodeTypeTexture* texColor2 = &inputColor2->getData(); m_framebuffer->bind(); diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/OneMinusNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/OneMinusNode.cpp index 77a7d22ead822f337154a7741ca325813f15e068..5c5ce07fa81335a16277f5a76c670d48bcce2d17 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/OneMinusNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/OneMinusNode.cpp @@ -64,7 +64,7 @@ void OneMinusNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Texture 1 - auto inputColor1 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor1 = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); NodeTypeTexture* texColor1 = &inputColor1->getData(); m_framebuffer->bind(); diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/SumNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/SumNode.cpp index b49ba8040c0e65c006552bc9c9d72d782438768e..a7e2a999d58d49b19f92b3b4424e06c2c6f8738a 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/SumNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/SumNode.cpp @@ -68,11 +68,11 @@ void SumNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Texture 1 - auto inputColor1 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor1 = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); NodeTypeTexture* texColor1 = &inputColor1->getData(); // Texture 2 - auto inputColor2 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); + auto inputColor2 = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); NodeTypeTexture* texColor2 = &inputColor2->getData(); m_framebuffer->bind(); diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterNode.hpp index cd880553f097f341304fdac3f69f6d8c4fd1d29e..fdd1fccf211f3eeb62490829b81633dd8f1565df 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterNode.hpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterNode.hpp @@ -24,17 +24,20 @@ class FilterNode : public Node void execute() override { auto input = dynamic_cast<PortIn<std::vector<T>>*>( m_inputs[0].get() ); - std::vector<T> inData = input->getData(); - m_elements.clear(); - for ( size_t i = 0; i < inData.size(); i++ ) + if ( input->isLinked() ) { - if ( m_filterFunction( inData[i] ) ) { m_elements.push_back( inData[i] ); } - } + std::vector<T>& inData = input->getData(); + m_elements.clear(); + for ( size_t i = 0; i < inData.size(); i++ ) + { + if ( m_filterFunction( inData[i] ) ) { m_elements.push_back( inData[i] ); } + } #ifdef GRAPH_CALL_TRACE - std::cout << "\e[36m\e[1mFilterNode \e[0m \"" << m_name << "\": execute, from " - << input->getData().size() << " to " << m_elements.size() << " " - << typeid( T ).name() << "." << std::endl; + std::cout << "\e[36m\e[1mFilterNode \e[0m \"" << m_name << "\": execute, from " + << input->getData().size() << " to " << m_elements.size() << " " + << typeid( T ).name() << "." << std::endl; #endif + } } void destroy() override { diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterROByTypeNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterROByTypeNode.hpp index c0a262a703f3da5245e3a6d87df4f94447032d4e..32ecf59eda9a014005b64b2472cd6d568b33aa04 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterROByTypeNode.hpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterROByTypeNode.hpp @@ -37,7 +37,7 @@ class FilterROByTypeNode : public FilterNode<NodeTypeRenderObject> } } void fromJsonInternal( const nlohmann::json& data ) override { - if ( data.contains( "filteredType" ) ) { m_selector.set( data["filteredType"].get<std::string>() ); } + if ( data.contains( "filteredType" ) ) { setTypeToFilter( data["filteredType"].get<std::string>() ); } else { m_selector.set(0); } } diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.cpp index 037b56b2d23d1b9927a768ae38ce1bf4394e84bb..eb3d56690aec4e2e86714157f55bb6b605696ed9 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.cpp @@ -110,17 +110,17 @@ void AccessibilityBufferNode::update() { void AccessibilityBufferNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Positions - auto inputPosition = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); - NodeTypeTexture* posTexture = &inputPosition->getData(); + auto inputPosition = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto posTexture = &inputPosition->getData(); // Normals - auto inputNormal = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); - NodeTypeTexture* normalTexture = &inputNormal->getData(); + auto inputNormal = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); + auto normalTexture = &inputNormal->getData(); // AO Radius float aoRadius = m_editableAORadius; if ( m_inputs[2]->isLinked() ) - { aoRadius = dynamic_cast<PortIn<Scalar>*>( m_inputs[2].get() )->getData(); } + { aoRadius = static_cast<PortIn<Scalar>*>( m_inputs[2].get() )->getData(); } #ifdef GRAPH_CALL_TRACE else { @@ -132,7 +132,7 @@ void AccessibilityBufferNode::execute() { // AO Samples int samples = m_editableSamples; if ( m_inputs[3]->isLinked() ) - { samples = static_cast<int>( dynamic_cast<PortIn<Scalar>*>( m_inputs[3].get() )->getData() ); } + { samples = static_cast<int>( static_cast<PortIn<Scalar>*>( m_inputs[3].get() )->getData() ); } if ( m_currentSamples != samples ) { m_currentSamples = samples; @@ -141,8 +141,8 @@ void AccessibilityBufferNode::execute() { } // Cameras - auto inputCamera = dynamic_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[4].get() ); - std::vector<NodeTypeCamera> cameras = inputCamera->getData(); + auto inputCamera = static_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[4].get() ); + std::vector<NodeTypeCamera>& cameras = inputCamera->getData(); #ifdef GRAPH_CALL_TRACE std::cout << cameras.size() << " cameras" << std::endl; #endif @@ -223,8 +223,13 @@ void AccessibilityBufferNode::resize( uint32_t width, uint32_t height ) { } void AccessibilityBufferNode::toJsonInternal( nlohmann::json& data ) const { - data["samples"] = m_currentSamples; - data["radius"] = m_editableAORadius; + if ( m_currentSamples != AO_DefaultSamples ) { + // do not write default value + data["samples"] = m_currentSamples; + } + if ( m_editableAORadius != AO_DefaultRadius ) { + // do not write default value + data["radius"] = m_editableAORadius; } } void AccessibilityBufferNode::fromJsonInternal( const nlohmann::json& data ) { diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.hpp index a17b8afdfb258cd4780aa261b91dd6c009847d57..ce20ec94f83e1ad841e06c2eefa2017c0d9bad16 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.hpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.hpp @@ -26,11 +26,14 @@ class NodeBasedRenderer_LIBRARY_API AccessibilityBufferNode : public Node void fromJsonInternal( const nlohmann::json& data ) override; private: + static constexpr Scalar AO_DefaultRadius {5_ra}; + static constexpr Scalar AO_DefaultSamples {64_ra}; + NodeTypeTexture* m_rawAO{ nullptr }; NodeTypeTexture* m_AO{ nullptr }; - Scalar m_editableAORadius{ 5 }; - Scalar m_editableSamples{ 64 }; + Scalar m_editableAORadius{ AO_DefaultRadius }; + Scalar m_editableSamples{ AO_DefaultSamples }; int m_currentSamples{ 64 }; Scalar m_sceneDiag{ 1.0 }; diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ClearColorNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ClearColorNode.cpp index f7421e2bbdccd052530ca5751e6e4b485fca86b0..42448750c83c6577d07a98fde8629cfb9ee94dfb 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ClearColorNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ClearColorNode.cpp @@ -38,13 +38,13 @@ void ClearColorNode::update() { void ClearColorNode::execute() { // Color - auto inputColor = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); m_colorTexture = &inputColor->getData(); - auto outputColor = dynamic_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); + auto outputColor = static_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); outputColor->setData( m_colorTexture ); // Clear color - auto inputClearColor = dynamic_cast<PortIn<Ra::Engine::Data::Color>*>( m_inputs[1].get() ); + auto inputClearColor = static_cast<PortIn<Ra::Engine::Data::Color>*>( m_inputs[1].get() ); float clearColor[4]; clearColor[0] = m_editableClearColor.x(); clearColor[1] = m_editableClearColor.y(); @@ -68,9 +68,9 @@ void ClearColorNode::execute() { #endif // Envmap - auto inputEnvmap = dynamic_cast<PortIn<EnvMapData>*>( m_inputs[2].get() ); + auto inputEnvmap = static_cast<PortIn<EnvMapData>*>( m_inputs[2].get() ); RadiumNBR::EnvMap* envmap{ nullptr }; - auto inputCamera = dynamic_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[3].get() ); + auto inputCamera = static_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[3].get() ); if ( inputEnvmap->isLinked() ) { envmap = inputEnvmap->getData().get(); diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EmissivityNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EmissivityNode.cpp index 0a3f7542f5f6107ae1910efcda767055bb6ff4ed..f11e4202aa189e9eed86af530085a4927076eb01 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EmissivityNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EmissivityNode.cpp @@ -54,22 +54,22 @@ void EmissivityNode::update() { void EmissivityNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Color - auto inputColor = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); m_colorTexture = &inputColor->getData(); - auto outputColor = dynamic_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); + auto outputColor = static_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); outputColor->setData( m_colorTexture ); // Depth - auto inputDepth = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); - NodeTypeTexture* depthTexture = &inputDepth->getData(); + auto inputDepth = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); + auto depthTexture = &inputDepth->getData(); // AO Radius - auto inputAO = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[2].get() ); - NodeTypeTexture* AOTexture = inputAO->isLinked() ? &inputAO->getData() : m_blankAO; + auto inputAO = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[2].get() ); + auto AOTexture = inputAO->isLinked() ? &inputAO->getData() : m_blankAO; inPassParams.addParameter( "amb_occ_sampler", AOTexture ); // Render objects - auto inputRO = dynamic_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[3].get() ); + auto inputRO = static_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[3].get() ); if ( !inputRO->isLinked() ) #ifdef GRAPH_CALL_TRACE { std::cout << "RenderObjects port is not linked, no render object" << std::endl; return;} @@ -81,7 +81,7 @@ void EmissivityNode::execute() { auto& renderObjects = inputRO->getData(); // Cameras - auto inputCamera = dynamic_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[4].get() ); + auto inputCamera = static_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[4].get() ); auto& cameras = inputCamera->getData(); m_framebuffer->bind(); diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EnvLightNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EnvLightNode.cpp index d91e4b833d01dd3c729b2b39b9b9961b2af50388..f66e4ea7c14a2bd72b304a9efdebde4fa84bc7ba 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EnvLightNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EnvLightNode.cpp @@ -60,22 +60,22 @@ void EnvLightNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Color - auto inputColor = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); m_colorTexture = &inputColor->getData(); - auto outputColor = dynamic_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); + auto outputColor = static_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); outputColor->setData( m_colorTexture ); // Depth - auto inputDepth = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); + auto inputDepth = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); NodeTypeTexture* depthTexture = &inputDepth->getData(); // AO - auto inputAO = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[2].get() ); + auto inputAO = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[2].get() ); NodeTypeTexture* AOTexture = inputAO->isLinked() ? &inputAO->getData() : m_blankAO; inPassParams.addParameter( "amb_occ_sampler", AOTexture ); // Envmap - auto inputEnvmap = dynamic_cast<PortIn<EnvMapData>*>( m_inputs[3].get() ); + auto inputEnvmap = static_cast<PortIn<EnvMapData>*>( m_inputs[3].get() ); RadiumNBR::EnvMap* envmap{ nullptr }; if ( inputEnvmap->isLinked() ) { @@ -104,7 +104,7 @@ void EnvLightNode::execute() { } // Render objects - auto inputRO = dynamic_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[4].get() ); + auto inputRO = static_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[4].get() ); if ( !inputRO->isLinked() ) #ifdef GRAPH_CALL_TRACE { std::cout << "RenderObjects port is not linked, no render object" << std::endl; return;} @@ -116,7 +116,7 @@ void EnvLightNode::execute() { auto& renderObjects = inputRO->getData(); // Cameras - auto inputCamera = dynamic_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[5].get() ); + auto inputCamera = static_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[5].get() ); auto& cameras = inputCamera->getData(); m_framebuffer->bind(); diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/LocalLightNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/LocalLightNode.cpp index 66a5c38989c6856350ebdcbfb4883ad7959690ba..4a18648d5358c30840dcd6fe70e42e11fd50c3dc 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/LocalLightNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/LocalLightNode.cpp @@ -56,22 +56,22 @@ void LocalLightNode::update() { void LocalLightNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Color - auto inputColor = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); m_colorTexture = &inputColor->getData(); - auto outputColor = dynamic_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); + auto outputColor = static_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); outputColor->setData( m_colorTexture ); // Depth - auto inputDepth = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); + auto inputDepth = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); NodeTypeTexture* depthTexture = &inputDepth->getData(); // AO - auto inputAO = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[2].get() ); + auto inputAO = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[2].get() ); NodeTypeTexture* AOTexture = inputAO->isLinked() ? &inputAO->getData() : m_blankAO; inPassParams.addParameter( "amb_occ_sampler", AOTexture ); // Render objects - auto inputRO = dynamic_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[3].get() ); + auto inputRO = static_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[3].get() ); if ( !inputRO->isLinked() ) #ifdef GRAPH_CALL_TRACE { std::cout << "RenderObjects port is not linked, no render object" << std::endl; return;} @@ -83,11 +83,11 @@ void LocalLightNode::execute() { auto& renderObjects = inputRO->getData(); // Cameras - auto inputCamera = dynamic_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[4].get() ); + auto inputCamera = static_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[4].get() ); auto& cameras = inputCamera->getData(); // Lights - auto inputLight = dynamic_cast<PortIn<std::vector<NodeTypeLight>>*>( m_inputs[5].get() ); + auto inputLight = static_cast<PortIn<std::vector<NodeTypeLight>>*>( m_inputs[5].get() ); if ( !inputLight->isLinked() ) { #ifdef GRAPH_CALL_TRACE diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/SimpleNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/SimpleNode.cpp index 5d9d0b190fd9dc4e52a9f0a7a262af752791817b..c147361e69f2e4dbfa9e38e64ac9567ab64dacd6 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/SimpleNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/SimpleNode.cpp @@ -85,7 +85,7 @@ void SimpleNode::update() {} void SimpleNode::execute() { // Render objects - auto inputRO = dynamic_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[0].get() ); + auto inputRO = static_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[0].get() ); if ( !inputRO->isLinked() ) #ifdef GRAPH_CALL_TRACE { std::cout << "RenderObjects port is not linked, no render object" << std::endl; return;} @@ -97,10 +97,10 @@ void SimpleNode::execute() { std::vector<NodeTypeRenderObject>& renderObjects = inputRO->getData(); // Cameras - auto inputCamera = dynamic_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[1].get() ); + auto inputCamera = static_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[1].get() ); auto& cameras = inputCamera->getData(); // Lights - auto inputLight = dynamic_cast<PortIn<std::vector<NodeTypeLight>>*>( m_inputs[2].get() ); + auto inputLight = static_cast<PortIn<std::vector<NodeTypeLight>>*>( m_inputs[2].get() ); if ( !inputLight->isLinked() ) { return; } auto& lights = inputLight->getData(); diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/TransparencyNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/TransparencyNode.cpp index 54ee7f4a61fdf9bd9bc63401534f853f6511c9e4..592b1b8275cb5a502818d775680fa50cec12f414 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/TransparencyNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/TransparencyNode.cpp @@ -94,17 +94,17 @@ void TransparencyNode::update() { void TransparencyNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Color - auto inputColor = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); m_colorTexture = &inputColor->getData(); - auto outputColor = dynamic_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); + auto outputColor = static_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); outputColor->setData( m_colorTexture ); // Depth - auto inputDepth = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); + auto inputDepth = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); NodeTypeTexture* depthTexture = &inputDepth->getData(); // Render objects - auto inputRO = dynamic_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[2].get() ); + auto inputRO = static_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[2].get() ); if ( !inputRO->isLinked() ) #ifdef GRAPH_CALL_TRACE { std::cout << "RenderObjects port is not linked, no render object" << std::endl; return;} @@ -116,14 +116,14 @@ void TransparencyNode::execute() { auto& renderObjects = inputRO->getData(); // Cameras - auto inputCamera = dynamic_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[3].get() ); + auto inputCamera = static_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[3].get() ); auto& cameras = inputCamera->getData(); #ifdef GRAPH_CALL_TRACE std::cout << cameras.size() << " cameras" << std::endl; #endif // Lights - auto inputLight = dynamic_cast<PortIn<std::vector<NodeTypeLight>>*>( m_inputs[4].get() ); + auto inputLight = static_cast<PortIn<std::vector<NodeTypeLight>>*>( m_inputs[4].get() ); if ( !inputLight->isLinked() ) { #ifdef GRAPH_CALL_TRACE @@ -204,10 +204,10 @@ void TransparencyNode::resize( uint32_t width, uint32_t height ) { // output { - auto revealageOut = dynamic_cast<PortOut<NodeTypeTexture>*>( m_outputs[1].get() ); + auto revealageOut = static_cast<PortOut<NodeTypeTexture>*>( m_outputs[1].get() ); revealageOut->setData( m_revealageTexture ); - auto accumulationOut = dynamic_cast<PortOut<NodeTypeTexture>*>( m_outputs[2].get() ); + auto accumulationOut = static_cast<PortOut<NodeTypeTexture>*>( m_outputs[2].get() ); accumulationOut->setData( m_accumulationTexture ); } diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/UINode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/UINode.cpp index 809f176f485b20e30f20d24da3be3f4513ad7fe1..aae77ac3dd19afc55cb48b3ea444427f0549dcbe 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/UINode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/UINode.cpp @@ -38,17 +38,17 @@ void UINode::update() { void UINode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Color - auto inputColor = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); m_colorTexture = &inputColor->getData(); - auto outputColor = dynamic_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); + auto outputColor = static_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); outputColor->setData( m_colorTexture ); // Depth - auto inputDepth = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); + auto inputDepth = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); NodeTypeTexture* depthTexture = &inputDepth->getData(); // Activate - auto inputActivate = dynamic_cast<PortIn<bool>*>( m_inputs[2].get() ); + auto inputActivate = static_cast<PortIn<bool>*>( m_inputs[2].get() ); bool activate = true; if ( !inputActivate->isLinked() ) { std::cout << "Activation port is not linked, default to true" << std::endl; } @@ -56,7 +56,7 @@ void UINode::execute() { { activate = inputActivate->getData(); } // Render objects - auto inputRO = dynamic_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[3].get() ); + auto inputRO = static_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[3].get() ); if ( !inputRO->isLinked() ) #ifdef GRAPH_CALL_TRACE { std::cout << "RenderObjects port is not linked, no render object" << std::endl; return;} @@ -68,7 +68,7 @@ void UINode::execute() { auto& renderObjects = inputRO->getData(); // Cameras - auto inputCamera = dynamic_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[4].get() ); + auto inputCamera = static_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[4].get() ); auto& cameras = inputCamera->getData(); #ifdef GRAPH_CALL_TRACE std::cout << cameras.size() << " cameras" << std::endl; diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeNode.cpp index b88c28a49b79cf93f3c042b9b452db3db67b0cd9..f327f12f3f877d4d2e903f88769df1ffe2f98011 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeNode.cpp @@ -84,17 +84,17 @@ void VolumeNode::update() { void VolumeNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Color - auto inputColor = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); m_colorTexture = &inputColor->getData(); - auto outputColor = dynamic_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); + auto outputColor = static_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); outputColor->setData( m_colorTexture ); // Depth - auto inputDepth = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); + auto inputDepth = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); NodeTypeTexture* depthTexture = &inputDepth->getData(); // Render objects - auto inputRO = dynamic_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[2].get() ); + auto inputRO = static_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[2].get() ); if ( !inputRO->isLinked() ) #ifdef GRAPH_CALL_TRACE { std::cout << "RenderObjects port is not linked, no render object" << std::endl; return;} @@ -106,14 +106,14 @@ void VolumeNode::execute() { auto& renderObjects = inputRO->getData(); // Cameras - auto inputCamera = dynamic_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[3].get() ); + auto inputCamera = static_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[3].get() ); auto& cameras = inputCamera->getData(); #ifdef GRAPH_CALL_TRACE std::cout << cameras.size() << " cameras" << std::endl; #endif // Lights - auto inputLight = dynamic_cast<PortIn<std::vector<NodeTypeLight>>*>( m_inputs[4].get() ); + auto inputLight = static_cast<PortIn<std::vector<NodeTypeLight>>*>( m_inputs[4].get() ); if ( !inputLight->isLinked() ) { #ifdef GRAPH_CALL_TRACE diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeVizualisationNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeVizualisationNode.cpp index 7cff2d82cc7a76969fbd78a5034b839e379cd4e9..1425be366880b55f6ec118f5ad14442c43015bbf 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeVizualisationNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeVizualisationNode.cpp @@ -105,17 +105,17 @@ void VolumeVizualisationNode::update() { void VolumeVizualisationNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Color - auto inputColor = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); m_colorTexture = &inputColor->getData(); - auto outputColor = dynamic_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); + auto outputColor = static_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); outputColor->setData( m_colorTexture ); // Depth - auto inputDepth = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); + auto inputDepth = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); NodeTypeTexture* depthTexture = &inputDepth->getData(); // Render objects - auto inputRO = dynamic_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[2].get() ); + auto inputRO = static_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[2].get() ); if ( !inputRO->isLinked() ) #ifdef GRAPH_CALL_TRACE { std::cout << "RenderObjects port is not linked, no render object" << std::endl; return;} @@ -127,14 +127,14 @@ void VolumeVizualisationNode::execute() { auto& renderObjects = inputRO->getData(); // Cameras - auto inputCamera = dynamic_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[3].get() ); + auto inputCamera = static_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[3].get() ); auto& cameras = inputCamera->getData(); #ifdef GRAPH_CALL_TRACE std::cout << cameras.size() << " cameras" << std::endl; #endif // Lights - auto inputLight = dynamic_cast<PortIn<std::vector<NodeTypeLight>>*>( m_inputs[4].get() ); + auto inputLight = static_cast<PortIn<std::vector<NodeTypeLight>>*>( m_inputs[4].get() ); if ( !inputLight->isLinked() ) { #ifdef GRAPH_CALL_TRACE @@ -230,7 +230,7 @@ void VolumeVizualisationNode::buildRenderTechnique( // Compute gradients auto mro = const_cast<Ra::Engine::Rendering::RenderObject*>( ro ); auto volume = - dynamic_cast<Ra::Core::Geometry::VolumeGrid&>( mro->getMesh()->getAbstractGeometry() ); + static_cast<Ra::Core::Geometry::VolumeGrid&>( mro->getMesh()->getAbstractGeometry() ); auto paramProvider = std::make_shared<VolumeWithGradientParameterProvider>( mat, volume ); if ( auto cfg = Ra::Engine::Data::ShaderConfigurationFactory::getConfiguration( diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/WireframeNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/WireframeNode.cpp index d5084bc8ffc2225b2b8e0e9e4c0386126d050270..96e78adddf1698d6641de8982fc44769aafc8f11 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/WireframeNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/WireframeNode.cpp @@ -128,17 +128,17 @@ void WireframeNode::update() { void WireframeNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Color - auto inputColor = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + auto inputColor = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); m_colorTexture = &inputColor->getData(); - auto outputColor = dynamic_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); + auto outputColor = static_cast<PortOut<NodeTypeTexture>*>( m_outputs[0].get() ); outputColor->setData( m_colorTexture ); // Depth - auto inputDepth = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); + auto inputDepth = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); NodeTypeTexture* depthTexture = &inputDepth->getData(); // Activate - auto inputActivate = dynamic_cast<PortIn<bool>*>( m_inputs[2].get() ); + auto inputActivate = static_cast<PortIn<bool>*>( m_inputs[2].get() ); bool activate = m_editableActivate; if ( inputActivate->isLinked() ) { activate = inputActivate->getData(); } #ifdef GRAPH_CALL_TRACE @@ -147,7 +147,7 @@ void WireframeNode::execute() { #endif // Render objects - auto inputRO = dynamic_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[3].get() ); + auto inputRO = static_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[3].get() ); if ( !inputRO->isLinked() ) #ifdef GRAPH_CALL_TRACE { std::cout << "RenderObjects port is not linked, no render object" << std::endl; return;} @@ -161,7 +161,7 @@ void WireframeNode::execute() { if ( m_wireframes.size() > renderObjects.size() ) { m_wireframes.clear(); } // Cameras - auto inputCamera = dynamic_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[4].get() ); + auto inputCamera = static_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[4].get() ); auto& cameras = inputCamera->getData(); #ifdef GRAPH_CALL_TRACE std::cout << cameras.size() << " cameras" << std::endl; diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ZGeomPrepassNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ZGeomPrepassNode.cpp index d93feebecb3b4c4bdd755a2e3bf183f51da69fbc..d929a234d8ce2edb8a70eb6c17f2f40f7732c35b 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ZGeomPrepassNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ZGeomPrepassNode.cpp @@ -60,7 +60,7 @@ void ZGeomPrepassNode::execute() { Ra::Engine::Data::RenderParameters inPassParams; // Render objects - auto inputRO = dynamic_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[0].get() ); + auto inputRO = static_cast<PortIn<std::vector<NodeTypeRenderObject>>*>( m_inputs[0].get() ); if ( !inputRO->isLinked() ) #ifdef GRAPH_CALL_TRACE { std::cout << "RenderObjects port is not linked, no render object" << std::endl; return;} @@ -72,7 +72,7 @@ void ZGeomPrepassNode::execute() { auto& renderObjects = inputRO->getData(); // Cameras - auto inputCamera = dynamic_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[1].get() ); + auto inputCamera = static_cast<PortIn<std::vector<NodeTypeCamera>>*>( m_inputs[1].get() ); auto& cameras = inputCamera->getData(); #ifdef GRAPH_CALL_TRACE std::cout << cameras.size() << " cameras" << std::endl; diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.cpp index a6cb6802a526e08314d6b60097e8adbde598e56a..d510ba5b983e08b4a8944bdcb3440feaa3fc15c6 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.cpp @@ -39,7 +39,7 @@ void DisplaySinkNode::execute() { { if ( m_inputs[i]->isLinked() ) { - auto input = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[i].get() ); + auto input = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[i].get() ); NodeTypeTexture* texture = &input->getData(); if ( texture ) { m_textures.push_back( texture ); } } @@ -83,7 +83,7 @@ void DisplaySinkNode::observeConnection( const std::string& name, } if ( m_inputs[i]->isLinked() ) { - auto input = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[i].get() ); + auto input = static_cast<PortIn<NodeTypeTexture>*>( m_inputs[i].get() ); NodeTypeTexture* texture = &input->getData(); if ( texture ) { m_textures.push_back( texture ); } } diff --git a/src/libRender/Resources/RadiumNBR/RenderGraphs/fullfeaturerenderer.flow b/src/libRender/Resources/RadiumNBR/RenderGraphs/fullfeaturerenderer.flow index 3870f914d6253ffbd2a82cbbf869784e80a20ca6..b5f6e46488555a000e2aff8b731bfa7b355e24ee 100644 --- a/src/libRender/Resources/RadiumNBR/RenderGraphs/fullfeaturerenderer.flow +++ b/src/libRender/Resources/RadiumNBR/RenderGraphs/fullfeaturerenderer.flow @@ -1,159 +1,159 @@ { "connections": [ { - "in_id": "{34e8d2d1-a2de-4ebe-a18f-4dcd5b440d1c}", - "in_index": 0, - "out_id": "{bdfe05be-3655-4d56-924d-ff3b1bbd709b}", + "in_id": "{d79d27a4-64c1-4fa1-adc8-c39fd9da3008}", + "in_index": 4, + "out_id": "{6ceda554-f6d1-4cf0-a36d-e811fc0ad3f1}", "out_index": 0 }, { - "in_id": "{34e8d2d1-a2de-4ebe-a18f-4dcd5b440d1c}", + "in_id": "{d79d27a4-64c1-4fa1-adc8-c39fd9da3008}", "in_index": 3, - "out_id": "{6ceda554-f6d1-4cf0-a36d-e811fc0ad3f1}", + "out_id": "{d07939d8-46d5-4d48-90fa-4ab2a4eebf30}", "out_index": 0 }, { - "in_id": "{bdfe05be-3655-4d56-924d-ff3b1bbd709b}", - "in_index": 4, + "in_id": "{4eabb57e-6858-49aa-bfe2-c6a0a20850c3}", + "in_index": 3, "out_id": "{6ceda554-f6d1-4cf0-a36d-e811fc0ad3f1}", "out_index": 0 }, { - "in_id": "{4eabb57e-6858-49aa-bfe2-c6a0a20850c3}", - "in_index": 2, - "out_id": "{ab3678ab-f0fd-4815-8fa7-7cd08bb239fd}", + "in_id": "{c66eb0ff-d015-4974-b729-a272678bce05}", + "in_index": 5, + "out_id": "{6ceda554-f6d1-4cf0-a36d-e811fc0ad3f1}", "out_index": 0 }, { - "in_id": "{bdfe05be-3655-4d56-924d-ff3b1bbd709b}", + "in_id": "{c4f37638-3568-46cd-acbe-622013f79c13}", "in_index": 1, "out_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", "out_index": 0 }, { - "in_id": "{d79d27a4-64c1-4fa1-adc8-c39fd9da3008}", + "in_id": "{aa0f14a1-bb34-43a6-a11d-5b88404d254d}", "in_index": 0, - "out_id": "{4eabb57e-6858-49aa-bfe2-c6a0a20850c3}", + "out_id": "{c4f37638-3568-46cd-acbe-622013f79c13}", "out_index": 0 }, { "in_id": "{c66eb0ff-d015-4974-b729-a272678bce05}", - "in_index": 2, - "out_id": "{cb6e4c08-38bf-48fd-8cf2-392a5491751b}", + "in_index": 1, + "out_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", "out_index": 0 }, { - "in_id": "{c4f37638-3568-46cd-acbe-622013f79c13}", - "in_index": 4, + "in_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", + "in_index": 1, "out_id": "{6ceda554-f6d1-4cf0-a36d-e811fc0ad3f1}", "out_index": 0 }, { - "in_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", - "in_index": 0, - "out_id": "{d07939d8-46d5-4d48-90fa-4ab2a4eebf30}", + "in_id": "{d79d27a4-64c1-4fa1-adc8-c39fd9da3008}", + "in_index": 2, + "out_id": "{cb6e4c08-38bf-48fd-8cf2-392a5491751b}", "out_index": 0 }, { - "in_id": "{bdfe05be-3655-4d56-924d-ff3b1bbd709b}", - "in_index": 3, - "out_id": "{d07939d8-46d5-4d48-90fa-4ab2a4eebf30}", - "out_index": 0 + "in_id": "{cb6e4c08-38bf-48fd-8cf2-392a5491751b}", + "in_index": 1, + "out_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", + "out_index": 2 }, { - "in_id": "{34e8d2d1-a2de-4ebe-a18f-4dcd5b440d1c}", - "in_index": 2, - "out_id": "{9579a8e2-d2d0-4107-b7b5-32b4aa1e7ce9}", - "out_index": 0 + "in_id": "{cb6e4c08-38bf-48fd-8cf2-392a5491751b}", + "in_index": 0, + "out_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", + "out_index": 1 }, { "in_id": "{c66eb0ff-d015-4974-b729-a272678bce05}", - "in_index": 3, - "out_id": "{ab3678ab-f0fd-4815-8fa7-7cd08bb239fd}", + "in_index": 0, + "out_id": "{d79d27a4-64c1-4fa1-adc8-c39fd9da3008}", "out_index": 0 }, { - "in_id": "{cb6e4c08-38bf-48fd-8cf2-392a5491751b}", - "in_index": 4, - "out_id": "{6ceda554-f6d1-4cf0-a36d-e811fc0ad3f1}", + "in_id": "{bdfe05be-3655-4d56-924d-ff3b1bbd709b}", + "in_index": 2, + "out_id": "{cb6e4c08-38bf-48fd-8cf2-392a5491751b}", "out_index": 0 }, { - "in_id": "{34e8d2d1-a2de-4ebe-a18f-4dcd5b440d1c}", - "in_index": 4, + "in_id": "{bdfe05be-3655-4d56-924d-ff3b1bbd709b}", + "in_index": 5, "out_id": "{c6d4682c-2a02-467a-9c5c-5511b63b17ba}", "out_index": 0 }, { - "in_id": "{bdfe05be-3655-4d56-924d-ff3b1bbd709b}", + "in_id": "{4eabb57e-6858-49aa-bfe2-c6a0a20850c3}", "in_index": 0, - "out_id": "{c66eb0ff-d015-4974-b729-a272678bce05}", + "out_id": "{62ad7aec-1ea4-4f10-85cb-4be1ecda4263}", "out_index": 0 }, { - "in_id": "{d79d27a4-64c1-4fa1-adc8-c39fd9da3008}", - "in_index": 1, - "out_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", + "in_id": "{c4f37638-3568-46cd-acbe-622013f79c13}", + "in_index": 0, + "out_id": "{34e8d2d1-a2de-4ebe-a18f-4dcd5b440d1c}", "out_index": 0 }, { - "in_id": "{c4f37638-3568-46cd-acbe-622013f79c13}", + "in_id": "{bdfe05be-3655-4d56-924d-ff3b1bbd709b}", "in_index": 0, - "out_id": "{34e8d2d1-a2de-4ebe-a18f-4dcd5b440d1c}", + "out_id": "{c66eb0ff-d015-4974-b729-a272678bce05}", "out_index": 0 }, { "in_id": "{34e8d2d1-a2de-4ebe-a18f-4dcd5b440d1c}", - "in_index": 1, - "out_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", + "in_index": 4, + "out_id": "{c6d4682c-2a02-467a-9c5c-5511b63b17ba}", "out_index": 0 }, { - "in_id": "{bdfe05be-3655-4d56-924d-ff3b1bbd709b}", + "in_id": "{34e8d2d1-a2de-4ebe-a18f-4dcd5b440d1c}", "in_index": 2, - "out_id": "{cb6e4c08-38bf-48fd-8cf2-392a5491751b}", + "out_id": "{9579a8e2-d2d0-4107-b7b5-32b4aa1e7ce9}", "out_index": 0 }, { - "in_id": "{c66eb0ff-d015-4974-b729-a272678bce05}", + "in_id": "{9579a8e2-d2d0-4107-b7b5-32b4aa1e7ce9}", "in_index": 0, - "out_id": "{d79d27a4-64c1-4fa1-adc8-c39fd9da3008}", + "out_id": "{d07939d8-46d5-4d48-90fa-4ab2a4eebf30}", "out_index": 0 }, { "in_id": "{4eabb57e-6858-49aa-bfe2-c6a0a20850c3}", - "in_index": 0, - "out_id": "{62ad7aec-1ea4-4f10-85cb-4be1ecda4263}", + "in_index": 2, + "out_id": "{ab3678ab-f0fd-4815-8fa7-7cd08bb239fd}", "out_index": 0 }, { - "in_id": "{cb6e4c08-38bf-48fd-8cf2-392a5491751b}", - "in_index": 1, - "out_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", - "out_index": 2 + "in_id": "{bdfe05be-3655-4d56-924d-ff3b1bbd709b}", + "in_index": 3, + "out_id": "{d07939d8-46d5-4d48-90fa-4ab2a4eebf30}", + "out_index": 0 }, { - "in_id": "{c66eb0ff-d015-4974-b729-a272678bce05}", - "in_index": 4, - "out_id": "{d07939d8-46d5-4d48-90fa-4ab2a4eebf30}", + "in_id": "{34e8d2d1-a2de-4ebe-a18f-4dcd5b440d1c}", + "in_index": 3, + "out_id": "{6ceda554-f6d1-4cf0-a36d-e811fc0ad3f1}", "out_index": 0 }, { - "in_id": "{d79d27a4-64c1-4fa1-adc8-c39fd9da3008}", - "in_index": 2, - "out_id": "{cb6e4c08-38bf-48fd-8cf2-392a5491751b}", + "in_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", + "in_index": 0, + "out_id": "{d07939d8-46d5-4d48-90fa-4ab2a4eebf30}", "out_index": 0 }, { - "in_id": "{bdfe05be-3655-4d56-924d-ff3b1bbd709b}", - "in_index": 5, - "out_id": "{c6d4682c-2a02-467a-9c5c-5511b63b17ba}", + "in_id": "{c4f37638-3568-46cd-acbe-622013f79c13}", + "in_index": 4, + "out_id": "{6ceda554-f6d1-4cf0-a36d-e811fc0ad3f1}", "out_index": 0 }, { - "in_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", + "in_id": "{34e8d2d1-a2de-4ebe-a18f-4dcd5b440d1c}", "in_index": 1, - "out_id": "{6ceda554-f6d1-4cf0-a36d-e811fc0ad3f1}", + "out_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", "out_index": 0 }, { @@ -163,145 +163,125 @@ "out_index": 0 }, { - "in_id": "{c66eb0ff-d015-4974-b729-a272678bce05}", - "in_index": 1, - "out_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", + "in_id": "{cb6e4c08-38bf-48fd-8cf2-392a5491751b}", + "in_index": 4, + "out_id": "{6ceda554-f6d1-4cf0-a36d-e811fc0ad3f1}", "out_index": 0 }, { - "in_id": "{aa0f14a1-bb34-43a6-a11d-5b88404d254d}", - "in_index": 0, - "out_id": "{c4f37638-3568-46cd-acbe-622013f79c13}", + "in_id": "{c66eb0ff-d015-4974-b729-a272678bce05}", + "in_index": 2, + "out_id": "{cb6e4c08-38bf-48fd-8cf2-392a5491751b}", "out_index": 0 }, { - "in_id": "{c4f37638-3568-46cd-acbe-622013f79c13}", - "in_index": 1, - "out_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", + "in_id": "{c66eb0ff-d015-4974-b729-a272678bce05}", + "in_index": 3, + "out_id": "{ab3678ab-f0fd-4815-8fa7-7cd08bb239fd}", "out_index": 0 }, { - "in_id": "{c66eb0ff-d015-4974-b729-a272678bce05}", - "in_index": 5, + "in_id": "{bdfe05be-3655-4d56-924d-ff3b1bbd709b}", + "in_index": 4, "out_id": "{6ceda554-f6d1-4cf0-a36d-e811fc0ad3f1}", "out_index": 0 }, { - "in_id": "{cb6e4c08-38bf-48fd-8cf2-392a5491751b}", - "in_index": 0, - "out_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", - "out_index": 1 + "in_id": "{c66eb0ff-d015-4974-b729-a272678bce05}", + "in_index": 4, + "out_id": "{d07939d8-46d5-4d48-90fa-4ab2a4eebf30}", + "out_index": 0 }, { - "in_id": "{4eabb57e-6858-49aa-bfe2-c6a0a20850c3}", - "in_index": 3, - "out_id": "{6ceda554-f6d1-4cf0-a36d-e811fc0ad3f1}", + "in_id": "{d79d27a4-64c1-4fa1-adc8-c39fd9da3008}", + "in_index": 0, + "out_id": "{4eabb57e-6858-49aa-bfe2-c6a0a20850c3}", "out_index": 0 }, { "in_id": "{d79d27a4-64c1-4fa1-adc8-c39fd9da3008}", - "in_index": 3, - "out_id": "{d07939d8-46d5-4d48-90fa-4ab2a4eebf30}", + "in_index": 1, + "out_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", "out_index": 0 }, { - "in_id": "{9579a8e2-d2d0-4107-b7b5-32b4aa1e7ce9}", - "in_index": 0, - "out_id": "{d07939d8-46d5-4d48-90fa-4ab2a4eebf30}", + "in_id": "{bdfe05be-3655-4d56-924d-ff3b1bbd709b}", + "in_index": 1, + "out_id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", "out_index": 0 }, { - "in_id": "{d79d27a4-64c1-4fa1-adc8-c39fd9da3008}", - "in_index": 4, - "out_id": "{6ceda554-f6d1-4cf0-a36d-e811fc0ad3f1}", + "in_id": "{34e8d2d1-a2de-4ebe-a18f-4dcd5b440d1c}", + "in_index": 0, + "out_id": "{bdfe05be-3655-4d56-924d-ff3b1bbd709b}", "out_index": 0 } ], "nodes": [ { - "id": "{ab3678ab-f0fd-4815-8fa7-7cd08bb239fd}", - "model": { - "files": "/Users/mathias/Professionnel/Data/skyboxes/Spherical/spiaggia_di_mondello.jpg", - "instance": "EnvMapTextureSource14", - "name": "Source std::shared_ptr<RadiumNBR::EnvMap>", - "strength": 100, - "type": 2 - }, - "position": { - "x": -592.8287999999998, - "y": 153.8016 - } - }, - { - "id": "{c4f37638-3568-46cd-acbe-622013f79c13}", + "id": "{cb6e4c08-38bf-48fd-8cf2-392a5491751b}", "model": { - "activated": false, - "instance": "WireframeNode13", - "name": "Wireframe Pass" + "instance": "AccessibilityBufferNode4", + "name": "Accessibility Buffer Pass" }, "position": { - "x": 1814.7455999999997, - "y": 309.31199999999995 + "x": 460.73280000000034, + "y": 391.6895999999998 } }, { - "id": "{62ad7aec-1ea4-4f10-85cb-4be1ecda4263}", + "id": "{aa0f14a1-bb34-43a6-a11d-5b88404d254d}", "model": { - "instance": "ColorTextureNode12", - "name": "Color Texture" + "instance": "display", + "name": "Display Sink" }, "position": { - "x": -457.97759999999994, - "y": -215.02080000000004 + "x": 2139.9160319999987, + "y": 65.31194879999975 } }, { - "id": "{6ceda554-f6d1-4cf0-a36d-e811fc0ad3f1}", + "id": "{34e8d2d1-a2de-4ebe-a18f-4dcd5b440d1c}", "model": { - "instance": "cameras", - "name": "Cameras" + "instance": "TransparencyNode5", + "name": "Transparency Pass" }, "position": { - "x": -92.15999999999983, - "y": 321.92640000000017 + "x": 1362.3552, + "y": 159.9552000000001 } }, { - "id": "{bdfe05be-3655-4d56-924d-ff3b1bbd709b}", + "id": "{d79d27a4-64c1-4fa1-adc8-c39fd9da3008}", "model": { - "instance": "LocalLightNode11", - "name": "Local Light Pass" + "instance": "EmissivityNode6", + "name": "Emissivity Pass" }, "position": { - "x": 1059.4128, - "y": 0.4959999999999809 + "x": 462.06719999999984, + "y": -292.3775999999999 } }, { - "id": "{4eabb57e-6858-49aa-bfe2-c6a0a20850c3}", + "id": "{c66eb0ff-d015-4974-b729-a272678bce05}", "model": { - "clearColor": [ - 0.1607843041419983, - 0.1607843041419983, - 0.1607843041419983 - ], - "instance": "ClearColorNode10", - "name": "Clear Color Pass" + "instance": "EnvLightNode8", + "name": "Environment Light Pass" }, "position": { - "x": 7.430399999999992, - "y": -444.0959999999998 + "x": 761.1129600000002, + "y": -145.65696 } }, { - "id": "{c6d4682c-2a02-467a-9c5c-5511b63b17ba}", + "id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", "model": { - "instance": "lights", - "name": "Lights" + "instance": "ZGeomPrepassNode7", + "name": "Z Geometry Prepass" }, "position": { - "x": 918.0384000000001, - "y": 552.3648000000001 + "x": 109.49759999999998, + "y": -19.007999999999967 } }, { @@ -317,82 +297,100 @@ } }, { - "id": "{c66eb0ff-d015-4974-b729-a272678bce05}", + "id": "{c6d4682c-2a02-467a-9c5c-5511b63b17ba}", "model": { - "instance": "EnvLightNode8", - "name": "Environment Light Pass" + "instance": "lights", + "name": "Lights" }, "position": { - "x": 761.1129600000002, - "y": -145.65696 + "x": 1059.6384, + "y": 539.1648000000002 } }, { - "id": "{9654598f-d4d4-494d-9f14-65d75606f1af}", + "id": "{4eabb57e-6858-49aa-bfe2-c6a0a20850c3}", "model": { - "instance": "ZGeomPrepassNode7", - "name": "Z Geometry Prepass" + "clearColor": [ + 0.15686273574829102, + 0.15686273574829102, + 0.15686273574829102 + ], + "instance": "ClearColorNode10", + "name": "Clear Color Pass" }, "position": { - "x": 109.49759999999998, - "y": -19.007999999999967 + "x": 7.430399999999992, + "y": -444.0959999999998 } }, { - "id": "{d07939d8-46d5-4d48-90fa-4ab2a4eebf30}", + "id": "{bdfe05be-3655-4d56-924d-ff3b1bbd709b}", "model": { - "instance": "renderObjects", - "name": "RenderObjects" + "instance": "LocalLightNode11", + "name": "Local Light Pass" }, "position": { - "x": -149.2454400000004, - "y": -820.3622399999997 + "x": 1059.4128, + "y": 0.4959999999999809 } }, { - "id": "{d79d27a4-64c1-4fa1-adc8-c39fd9da3008}", + "id": "{6ceda554-f6d1-4cf0-a36d-e811fc0ad3f1}", "model": { - "instance": "EmissivityNode6", - "name": "Emissivity Pass" + "instance": "cameras", + "name": "Cameras" }, "position": { - "x": 462.06719999999984, - "y": -292.3775999999999 + "x": -140.15999999999977, + "y": 387.9264000000001 } }, { - "id": "{34e8d2d1-a2de-4ebe-a18f-4dcd5b440d1c}", + "id": "{d07939d8-46d5-4d48-90fa-4ab2a4eebf30}", "model": { - "instance": "TransparencyNode5", - "name": "Transparency Pass" + "instance": "renderObjects", + "name": "RenderObjects" }, "position": { - "x": 1362.3552, - "y": 159.9552000000001 + "x": -138.44544000000042, + "y": -589.9622399999997 } }, { - "id": "{aa0f14a1-bb34-43a6-a11d-5b88404d254d}", + "id": "{62ad7aec-1ea4-4f10-85cb-4be1ecda4263}", "model": { - "instance": "display", - "name": "Display Sink" + "instance": "ColorTextureNode12", + "name": "Color Texture" }, "position": { - "x": 2264.7160319999984, - "y": 152.91194879999978 + "x": -438.7775999999999, + "y": -589.4207999999999 } }, { - "id": "{cb6e4c08-38bf-48fd-8cf2-392a5491751b}", + "id": "{c4f37638-3568-46cd-acbe-622013f79c13}", "model": { - "instance": "AccessibilityBufferNode4", - "name": "Accessibility Buffer Pass", - "radius": 5, - "samples": 64 + "activated": false, + "instance": "WireframeNode13", + "name": "Wireframe Pass" + }, + "position": { + "x": 1659.9455999999996, + "y": 309.31199999999995 + } + }, + { + "id": "{ab3678ab-f0fd-4815-8fa7-7cd08bb239fd}", + "model": { + "files": "/Users/mathias/Professionnel/Data/skyboxes/Spherical/spiaggia_di_mondello.jpg", + "instance": "EnvMapTextureSource14", + "name": "Source std::shared_ptr<RadiumNBR::EnvMap>", + "strength": 100, + "type": 2 }, "position": { - "x": 410.3328000000006, - "y": 462.48959999999977 + "x": -495.6287999999997, + "y": -42.998399999999975 } } ]