Skip to content
Snippets Groups Projects
Commit 873dee41 authored by Mathias Paulin's avatar Mathias Paulin :speech_balloon:
Browse files

[librender] use static_cast instead of dynamic_cast when the conversion is guaranteed

parent d845281c
No related branches found
No related tags found
No related merge requests found
Showing
with 90 additions and 79 deletions
......@@ -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();
......
......@@ -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();
......
......@@ -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();
......
......@@ -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();
......
......@@ -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();
......
......@@ -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();
......
......@@ -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();
......
......@@ -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();
......
......@@ -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();
......
......@@ -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 {
......
......@@ -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); }
}
......
......@@ -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 ) {
......
......@@ -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 };
......
......@@ -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();
......
......@@ -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();
......
......@@ -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();
......
......@@ -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
......
......@@ -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();
......
......@@ -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 );
}
......
......@@ -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;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment