diff --git a/src/Mara/RadiumPlayer.cpp b/src/Mara/RadiumPlayer.cpp index 6d93ff075facbbada9471a927c9de78d1ba16d54..eb33a9acb3a0355156c5fa9988aa270199965216 100644 --- a/src/Mara/RadiumPlayer.cpp +++ b/src/Mara/RadiumPlayer.cpp @@ -43,7 +43,7 @@ using namespace Ra::Core::Utils; // for LOG( logLEVEL ) #include <Engine/Data/ShaderConfigFactory.hpp> #include <RadiumNBR/Gui/RenderGraphEditor/NodeAdapterModel.hpp> #include <RadiumNBR/NodeGraph/PremadeNodes/Demo/SimpleNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/Demo/DifferenceNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Compositing/DifferenceNode.hpp> template <typename T> class NodeCreator diff --git a/src/libRender/CMakeLists.txt b/src/libRender/CMakeLists.txt index d8de08652cb070a7ca9ea4edac2713626177288e..237cc2f63f89d67497ebb87d0976c0f14fd33f5b 100644 --- a/src/libRender/CMakeLists.txt +++ b/src/libRender/CMakeLists.txt @@ -32,19 +32,24 @@ set(sources RadiumNBR/Renderer/FakeNBRRenderer.cpp RadiumNBR/Renderer/NodeGraphController.cpp - RadiumNBR/NodeGraph/PremadeNodes/AccessibilityBufferNode.cpp - RadiumNBR/NodeGraph/PremadeNodes/DisplaySinkNode.cpp - RadiumNBR/NodeGraph/PremadeNodes/EmissivityNode.cpp - RadiumNBR/NodeGraph/PremadeNodes/ClearColorNode.cpp - RadiumNBR/NodeGraph/PremadeNodes/EnvLightNode.cpp - RadiumNBR/NodeGraph/PremadeNodes/LocalLightNode.cpp - RadiumNBR/NodeGraph/PremadeNodes/TextureNode.cpp - RadiumNBR/NodeGraph/PremadeNodes/TransparencyNode.cpp - RadiumNBR/NodeGraph/PremadeNodes/UINode.cpp - RadiumNBR/NodeGraph/PremadeNodes/VolumeNode.cpp - RadiumNBR/NodeGraph/PremadeNodes/VolumeVizualisationNode.cpp - RadiumNBR/NodeGraph/PremadeNodes/WireframeNode.cpp - RadiumNBR/NodeGraph/PremadeNodes/ZGeomPrepassNode.cpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.cpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ClearColorNode.cpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EmissivityNode.cpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EnvLightNode.cpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/LocalLightNode.cpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/TransparencyNode.cpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeNode.cpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeVizualisationNode.cpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ZGeomPrepassNode.cpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/UINode.cpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/WireframeNode.cpp + + RadiumNBR/NodeGraph/PremadeNodes/Sources/TextureNode.cpp + + RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.cpp + + RadiumNBR/NodeGraph/PremadeNodes/Compositing/DifferenceNode.cpp + RadiumNBR/NodeGraph/PremadeNodes/Compositing/SumNode.cpp RadiumNBR/NodeGraph/RenderGraph.cpp RadiumNBR/NodeGraph/NodeFactory.cpp @@ -84,29 +89,36 @@ set(public_headers RadiumNBR/NodeGraph/RenderGraph.hpp RadiumNBR/NodeGraph/NodeFactory.hpp - RadiumNBR/NodeGraph/PremadeNodes/AccessibilityBufferNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/ClearColorNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/EmissivityNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/EnvLightNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/DataNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/LocalLightNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/TransparencyNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/VolumeNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/VolumeVizualisationNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/FilterNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/FilterROByNameNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/FilterROByTypeNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/SinkNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/SourceNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/ColorTextureNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/DepthTextureNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/TextureNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/ZGeomPrepassNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/UINode.hpp - RadiumNBR/NodeGraph/PremadeNodes/WireframeNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/DisplaySinkNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ClearColorNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EmissivityNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EnvLightNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/LocalLightNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/TransparencyNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeVizualisationNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ZGeomPrepassNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/UINode.hpp + RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/WireframeNode.hpp + + RadiumNBR/NodeGraph/PremadeNodes/Sources/DataNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/Sources/SourceNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/Sources/ColorTextureNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/Sources/DepthTextureNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/Sources/TextureNode.hpp + + RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterROByNameNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterROByTypeNode.hpp + + RadiumNBR/NodeGraph/PremadeNodes/Sinks/SinkNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.hpp + + RadiumNBR/NodeGraph/PremadeNodes/Compositing/DifferenceNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/Compositing/SumNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/Demo/SimpleNode.hpp - RadiumNBR/NodeGraph/PremadeNodes/Demo/DifferenceNode.hpp + RadiumNBR/NodeGraph/PremadeNodes/PremadeNodesIncludes.hpp # MULTI PASS diff --git a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/FilterRenderObjectNameModel.hpp b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/FilterRenderObjectNameModel.hpp index 1e9e31daffa35c166768757ea3ebd383f3f4c350..b97626e72c2e7ae3426d420096e448342c75166f 100644 --- a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/FilterRenderObjectNameModel.hpp +++ b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/FilterRenderObjectNameModel.hpp @@ -7,7 +7,7 @@ #include "ConnectionStatusData.hpp" -#include <RadiumNBR/NodeGraph/PremadeNodes/FilterROByNameNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterROByNameNode.hpp> #include <RadiumNBR/NodeGraph/RenderGraph.hpp> #include <iostream> diff --git a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/FilterRenderObjectTypeModel.hpp b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/FilterRenderObjectTypeModel.hpp index 2ff67b88f26aa11a23c0e95fbbf6c82d9559d0fe..c74ca912a919e0aa5af6882aabcc37441ecdde3d 100644 --- a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/FilterRenderObjectTypeModel.hpp +++ b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/FilterRenderObjectTypeModel.hpp @@ -7,7 +7,7 @@ #include "ConnectionStatusData.hpp" -#include <RadiumNBR/NodeGraph/PremadeNodes/FilterROByTypeNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterROByTypeNode.hpp> #include <RadiumNBR/NodeGraph/RenderGraph.hpp> #include <iostream> diff --git a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/NodeAdapterModel.hpp b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/NodeAdapterModel.hpp index a8df38c5ae7f8037c8cea46c9fd88fed8e561d53..bf59f684e713cc5c53adeed9cc476e718db3c3d6 100644 --- a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/NodeAdapterModel.hpp +++ b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/NodeAdapterModel.hpp @@ -10,8 +10,8 @@ #include <RadiumNBR/Gui/RenderGraphEditor/ConnectionStatusData.hpp> #include <RadiumNBR/NodeGraph/Node.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/DataNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/DisplaySinkNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sources/DataNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.hpp> #include <RadiumNBR/Gui/RendererPanel.hpp> diff --git a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/SourceColorTextureModel.hpp b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/SourceColorTextureModel.hpp index bdaee18c6b87925e59a25e490512db02de566983..8cffa69cfab2c708fb36d02b5c8d13b850b6bf1c 100644 --- a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/SourceColorTextureModel.hpp +++ b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/SourceColorTextureModel.hpp @@ -6,7 +6,7 @@ #include <RadiumNBR/Gui/RenderGraphEditor/ConnectionStatusData.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/ColorTextureNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sources/ColorTextureNode.hpp> #include <RadiumNBR/NodeGraph/RenderGraph.hpp> #include <iostream> diff --git a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/SourceDepthTextureModel.hpp b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/SourceDepthTextureModel.hpp index 60db7efea72d390f16fdbf75ecd08ad53ecb7e24..868de2207f6ecff60fd246c437862cfea99aea99 100644 --- a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/SourceDepthTextureModel.hpp +++ b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/SourceDepthTextureModel.hpp @@ -6,7 +6,7 @@ #include "ConnectionStatusData.hpp" -#include <RadiumNBR/NodeGraph/PremadeNodes/DepthTextureNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sources/DepthTextureNode.hpp> #include <RadiumNBR/NodeGraph/RenderGraph.hpp> #include <iostream> diff --git a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/SourceNodeModel.hpp b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/SourceNodeModel.hpp index a309e7a0ec96899a6270b3db9d4a2972de4517e9..b056e99b7bbfb21413f1bd6c3a6de7c28150c878 100644 --- a/src/libRender/RadiumNBR/Gui/RenderGraphEditor/SourceNodeModel.hpp +++ b/src/libRender/RadiumNBR/Gui/RenderGraphEditor/SourceNodeModel.hpp @@ -2,7 +2,7 @@ #include <nodes/NodeDataModel> #include <RadiumNBR/Gui/RenderGraphEditor/ConnectionStatusData.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/SourceNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sources/SourceNode.hpp> #include <RadiumNBR/NodeGraph/RenderGraph.hpp> template <typename T> diff --git a/src/libRender/RadiumNBR/NodeBasedRenderer.hpp b/src/libRender/RadiumNBR/NodeBasedRenderer.hpp index 45c3be8230e598aac310dd91da0c9721112c95db..af9b439eb689de4ca1c7545503961b1eb50fd998 100644 --- a/src/libRender/RadiumNBR/NodeBasedRenderer.hpp +++ b/src/libRender/RadiumNBR/NodeBasedRenderer.hpp @@ -2,7 +2,7 @@ #include <RadiumNBR/NodeBasedRendererMacro.hpp> #include <RadiumNBR/NodeGraph/RenderGraph.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/DisplaySinkNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.hpp> #include <Core/Resources/Resources.hpp> #include <Engine/Rendering/Renderer.hpp> diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/DifferenceNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/DifferenceNode.cpp new file mode 100644 index 0000000000000000000000000000000000000000..fd2dc6d29d873520ebca84436365302eb803a17a --- /dev/null +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/DifferenceNode.cpp @@ -0,0 +1,112 @@ +#include <RadiumNBR/NodeGraph/PremadeNodes/Compositing/DifferenceNode.hpp> + +DifferenceNode::DifferenceNode( const std::string& name ) : Node( name ) { + auto portInColor1 = new PortIn<NodeTypeTexture>( "inColorTexture1", this ); + addInput( portInColor1 ); + portInColor1->mustBeLinked(); + auto portInColor2 = new PortIn<NodeTypeTexture>( "inColorTexture2", this ); + addInput( portInColor2 ); + portInColor2->mustBeLinked(); + + Ra::Engine::Data::TextureParameters colorTexParams = { "Color Texture", + gl::GL_TEXTURE_2D, + 1, + 1, + 1, + gl::GL_RGBA, + gl::GL_RGBA32F, + gl::GL_FLOAT, + gl::GL_CLAMP_TO_EDGE, + gl::GL_CLAMP_TO_EDGE, + gl::GL_CLAMP_TO_EDGE, + gl::GL_LINEAR, + gl::GL_LINEAR, + nullptr }; + m_colorTexture = new Ra::Engine::Data::Texture( colorTexParams ); + + auto portOutColorTex = new PortOut<NodeTypeTexture>( "outColorTexture", this ); + addOutput( portOutColorTex, m_colorTexture ); +} + +void DifferenceNode::init() { + m_framebuffer = new globjects::Framebuffer(); + + Ra::Core::Geometry::TriangleMesh mesh = + Ra::Core::Geometry::makeZNormalQuad( Ra::Core::Vector2( -1.f, 1.f ) ); + auto qm = std::make_unique<Ra::Engine::Data::Mesh>( "caller" ); + qm->loadGeometry( std::move( mesh ) ); + m_quadMesh = std::move( qm ); + m_quadMesh->updateGL(); + + const std::string composeVertexShader{ "layout (location = 0) in vec3 in_position;\n" + "out vec2 varTexcoord;\n" + "void main()\n" + "{\n" + " gl_Position = vec4(in_position, 1.0);\n" + " varTexcoord = (in_position.xy + 1.0) * 0.5;\n" + "}\n" }; + const std::string composeFragmentShader{ + "layout (location = 0) out vec4 out_tex;\n" + "uniform sampler2D tex1_sampler;\n" + "uniform sampler2D tex2_sampler;\n" + "in vec2 varTexcoord;\n" + "void main() {\n" + " out_tex = texture(tex1_sampler, varTexcoord) - texture(tex2_sampler, varTexcoord);\n" + "}" }; + + Ra::Engine::Data::ShaderConfiguration config{ "ComposeDifference" }; + config.addShaderSource( Ra::Engine::Data::ShaderType::ShaderType_VERTEX, composeVertexShader ); + config.addShaderSource( Ra::Engine::Data::ShaderType::ShaderType_FRAGMENT, + composeFragmentShader ); + auto added = m_shaderMngr->addShaderProgram( config ); + if ( added ) { m_shader = added.value(); } +} + +void DifferenceNode::update() {} + +void DifferenceNode::execute() { + Ra::Engine::Data::RenderParameters inPassParams; + + // Texture 1 + auto inputColor1 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + NodeTypeTexture* texColor1 = &inputColor1->getData(); + + // Texture 2 + auto inputColor2 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); + NodeTypeTexture* texColor2 = &inputColor2->getData(); + + m_framebuffer->bind(); + m_framebuffer->attachTexture( gl::GL_COLOR_ATTACHMENT0, m_colorTexture->texture() ); + + const gl::GLenum buffers[] = { gl::GL_COLOR_ATTACHMENT0 }; + gl::glDrawBuffers( 1, buffers ); + gl::glDisable( gl::GL_DEPTH_TEST ); + gl::glDepthMask( gl::GL_FALSE ); + gl::glColorMask( gl::GL_TRUE, gl::GL_TRUE, gl::GL_TRUE, gl::GL_TRUE ); + + float clearBlack[4] = { 0.0f, 0.0f, 0.0f, 0.0f }; + gl::glClearBufferfv( gl::GL_COLOR, 0, clearBlack ); + + gl::glDisable( gl::GL_BLEND ); + + m_shader->bind(); + m_shader->setUniform( "tex1_sampler", texColor1, 0 ); + m_shader->setUniform( "tex2_sampler", texColor2, 1 ); + + m_quadMesh->render( m_shader ); + + m_framebuffer->detach( gl::GL_COLOR_ATTACHMENT0 ); + m_framebuffer->unbind(); +} + +void DifferenceNode::destroy() { + delete m_framebuffer; + delete m_colorTexture; +} + +void DifferenceNode::resize( uint32_t width, uint32_t height ) { + m_colorTexture->resize( width, height ); +} + +void DifferenceNode::buildRenderTechnique( const Ra::Engine::Rendering::RenderObject* ro, + Ra::Engine::Rendering::RenderTechnique& rt ) const {} \ No newline at end of file diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/DifferenceNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/DifferenceNode.hpp new file mode 100644 index 0000000000000000000000000000000000000000..c5aea5c84d03a2be67aef74523b60dff949bc2f2 --- /dev/null +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/DifferenceNode.hpp @@ -0,0 +1,34 @@ +#pragma once +#include <RadiumNBR/NodeGraph/Node.hpp> + +#include <globjects/Framebuffer.h> + +#include <Core/Geometry/MeshPrimitives.hpp> +#include <Engine/Data/Mesh.hpp> +#include <Engine/Data/RenderParameters.hpp> + +class NodeBasedRenderer_LIBRARY_API DifferenceNode : public Node +{ + public: + explicit DifferenceNode( const std::string& name ); + + void init() override; + void update() override; + void execute() override; + void destroy() override; + void resize( uint32_t width, uint32_t height ) override; + + void buildRenderTechnique( const Ra::Engine::Rendering::RenderObject* ro, + Ra::Engine::Rendering::RenderTechnique& rt ) const override; + + static const std::string getTypename() { return "Difference"; } + + private: + Ra::Engine::Data::Texture* m_colorTexture{ nullptr }; + + std::unique_ptr<Ra::Engine::Data::Displayable> m_quadMesh{ nullptr }; + + const Ra::Engine::Data::ShaderProgram* m_shader{ nullptr }; + + globjects::Framebuffer* m_framebuffer{ nullptr }; +}; diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/SumNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/SumNode.cpp new file mode 100644 index 0000000000000000000000000000000000000000..6cdf64037cf8868a0d056b49bb358c64a93f9d91 --- /dev/null +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/SumNode.cpp @@ -0,0 +1,113 @@ +#include <RadiumNBR/NodeGraph/PremadeNodes/Compositing/SumNode.hpp> + +SumNode::SumNode( const std::string& name ) : Node( name ) { + auto portInColor1 = new PortIn<NodeTypeTexture>( "inColorTexture1", this ); + addInput( portInColor1 ); + portInColor1->mustBeLinked(); + auto portInColor2 = new PortIn<NodeTypeTexture>( "inColorTexture2", this ); + addInput( portInColor2 ); + portInColor2->mustBeLinked(); + + Ra::Engine::Data::TextureParameters colorTexParams = { "Color Texture", + gl::GL_TEXTURE_2D, + 1, + 1, + 1, + gl::GL_RGBA, + gl::GL_RGBA32F, + gl::GL_FLOAT, + gl::GL_CLAMP_TO_EDGE, + gl::GL_CLAMP_TO_EDGE, + gl::GL_CLAMP_TO_EDGE, + gl::GL_LINEAR, + gl::GL_LINEAR, + nullptr }; + m_colorTexture = new Ra::Engine::Data::Texture( colorTexParams ); + + auto portOutColorTex = new PortOut<NodeTypeTexture>( "outColorTexture", this ); + addOutput( portOutColorTex, m_colorTexture ); +} + +void SumNode::init() { + m_framebuffer = new globjects::Framebuffer(); + + Ra::Core::Geometry::TriangleMesh mesh = + Ra::Core::Geometry::makeZNormalQuad( Ra::Core::Vector2( -1.f, 1.f ) ); + auto qm = std::make_unique<Ra::Engine::Data::Mesh>( "caller" ); + qm->loadGeometry( std::move( mesh ) ); + m_quadMesh = std::move( qm ); + m_quadMesh->updateGL(); + + const std::string composeVertexShader{ "layout (location = 0) in vec3 in_position;\n" + "out vec2 varTexcoord;\n" + "void main()\n" + "{\n" + " gl_Position = vec4(in_position, 1.0);\n" + " varTexcoord = (in_position.xy + 1.0) * 0.5;\n" + "}\n" }; + const std::string composeFragmentShader{ + "layout (location = 0) out vec4 out_tex;\n" + "uniform sampler2D tex1_sampler;\n" + "uniform sampler2D tex2_sampler;\n" + "in vec2 varTexcoord;\n" + "void main() {\n" + " out_tex = texture(tex1_sampler, varTexcoord) + texture(tex2_sampler, varTexcoord);\n" + "}" }; + + Ra::Engine::Data::ShaderConfiguration config{ "ComposeSum" }; + config.addShaderSource( Ra::Engine::Data::ShaderType::ShaderType_VERTEX, composeVertexShader ); + config.addShaderSource( Ra::Engine::Data::ShaderType::ShaderType_FRAGMENT, + composeFragmentShader ); + auto added = m_shaderMngr->addShaderProgram( config ); + if ( added ) { m_shader = added.value(); } +} + +void SumNode::update() {} + +void SumNode::execute() { + Ra::Engine::Data::RenderParameters inPassParams; + + // Texture 1 + auto inputColor1 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); + NodeTypeTexture* texColor1 = &inputColor1->getData(); + + // Texture 2 + auto inputColor2 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); + NodeTypeTexture* texColor2 = &inputColor2->getData(); + + m_framebuffer->bind(); + m_framebuffer->attachTexture( gl::GL_COLOR_ATTACHMENT0, m_colorTexture->texture() ); + + const gl::GLenum buffers[] = { gl::GL_COLOR_ATTACHMENT0 }; + gl::glDrawBuffers( 1, buffers ); + gl::glDisable( gl::GL_DEPTH_TEST ); + gl::glDepthMask( gl::GL_FALSE ); + gl::glColorMask( gl::GL_TRUE, gl::GL_TRUE, gl::GL_TRUE, gl::GL_TRUE ); + + float clearBlack[4] = { 0.0f, 0.0f, 0.0f, 0.0f }; + gl::glClearBufferfv( gl::GL_COLOR, 0, clearBlack ); + + gl::glDisable( gl::GL_BLEND ); + + m_shader->bind(); + m_shader->setUniform( "tex1_sampler", texColor1, 0 ); + m_shader->setUniform( "tex2_sampler", texColor2, 1 ); + + m_quadMesh->render( m_shader ); + + m_framebuffer->detach( gl::GL_COLOR_ATTACHMENT0 ); + m_framebuffer->unbind(); +} + +void SumNode::destroy() { + delete m_framebuffer; + delete m_colorTexture; +} + +void SumNode::resize( uint32_t width, uint32_t height ) { + m_colorTexture->resize( width, height ); +} + +void SumNode::buildRenderTechnique( const Ra::Engine::Rendering::RenderObject* ro, + Ra::Engine::Rendering::RenderTechnique& rt ) const {} + diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/SumNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/SumNode.hpp new file mode 100644 index 0000000000000000000000000000000000000000..4a1ef66babe14914bbccb79173d01446885f1d94 --- /dev/null +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Compositing/SumNode.hpp @@ -0,0 +1,34 @@ +#pragma once +#include <RadiumNBR/NodeGraph/Node.hpp> + +#include <globjects/Framebuffer.h> + +#include <Core/Geometry/MeshPrimitives.hpp> +#include <Engine/Data/Mesh.hpp> +#include <Engine/Data/RenderParameters.hpp> + +class NodeBasedRenderer_LIBRARY_API SumNode : public Node +{ + public: + explicit SumNode( const std::string& name ); + + void init() override; + void update() override; + void execute() override; + void destroy() override; + void resize( uint32_t width, uint32_t height ) override; + + void buildRenderTechnique( const Ra::Engine::Rendering::RenderObject* ro, + Ra::Engine::Rendering::RenderTechnique& rt ) const override; + + static const std::string getTypename() { return "Sum"; } + + private: + Ra::Engine::Data::Texture* m_colorTexture{ nullptr }; + + std::unique_ptr<Ra::Engine::Data::Displayable> m_quadMesh{ nullptr }; + + const Ra::Engine::Data::ShaderProgram* m_shader{ nullptr }; + + globjects::Framebuffer* m_framebuffer{ nullptr }; +}; diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Demo/DifferenceNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Demo/DifferenceNode.hpp deleted file mode 100644 index 3ba478661032ae4a8e9fa9af54cc60c890e6a5e7..0000000000000000000000000000000000000000 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Demo/DifferenceNode.hpp +++ /dev/null @@ -1,138 +0,0 @@ -#pragma once -#include <RadiumNBR/NodeGraph/Node.hpp> - -#include <globjects/Framebuffer.h> - -#include <Core/Geometry/MeshPrimitives.hpp> -#include <Engine/Data/Mesh.hpp> -#include <Engine/Data/RenderParameters.hpp> - -class NodeBasedRenderer_LIBRARY_API DifferenceNode : public Node -{ - public: - explicit DifferenceNode( const std::string& name ) : Node( name ) { - auto portInColor1 = new PortIn<NodeTypeTexture>( "inColorTexture1", this ); - addInput( portInColor1 ); - portInColor1->mustBeLinked(); - auto portInColor2 = new PortIn<NodeTypeTexture>( "inColorTexture2", this ); - addInput( portInColor2 ); - portInColor2->mustBeLinked(); - - Ra::Engine::Data::TextureParameters colorTexParams = { "Color Texture", - gl::GL_TEXTURE_2D, - 1, - 1, - 1, - gl::GL_RGBA, - gl::GL_RGBA32F, - gl::GL_FLOAT, - gl::GL_CLAMP_TO_EDGE, - gl::GL_CLAMP_TO_EDGE, - gl::GL_CLAMP_TO_EDGE, - gl::GL_LINEAR, - gl::GL_LINEAR, - nullptr }; - m_colorTexture = new Ra::Engine::Data::Texture( colorTexParams ); - - auto portOutColorTex = new PortOut<NodeTypeTexture>( "outColorTexture", this ); - addOutput( portOutColorTex, m_colorTexture ); - } - - void init() override { - m_framebuffer = new globjects::Framebuffer(); - - Ra::Core::Geometry::TriangleMesh mesh = - Ra::Core::Geometry::makeZNormalQuad( Ra::Core::Vector2( -1.f, 1.f ) ); - auto qm = std::make_unique<Ra::Engine::Data::Mesh>( "caller" ); - qm->loadGeometry( std::move( mesh ) ); - m_quadMesh = std::move( qm ); - m_quadMesh->updateGL(); - - const std::string composeVertexShader{ "layout (location = 0) in vec3 in_position;\n" - "out vec2 varTexcoord;\n" - "void main()\n" - "{\n" - " gl_Position = vec4(in_position, 1.0);\n" - " varTexcoord = (in_position.xy + 1.0) * 0.5;\n" - "}\n" }; - const std::string composeFragmentShader{ - "layout (location = 0) out vec4 out_diff;\n" - "uniform sampler2D tex1_sampler;\n" - "uniform sampler2D tex2_sampler;\n" - "in vec2 varTexcoord;\n" - "void main() {\n" - " out_diff = texture(tex1_sampler, varTexcoord) - texture(tex2_sampler, varTexcoord);\n" - "}" }; - - Ra::Engine::Data::ShaderConfiguration config{ "ComposeDifference" }; - config.addShaderSource( Ra::Engine::Data::ShaderType::ShaderType_VERTEX, - composeVertexShader ); - config.addShaderSource( Ra::Engine::Data::ShaderType::ShaderType_FRAGMENT, - composeFragmentShader ); - auto added = m_shaderMngr->addShaderProgram( config ); - if ( added ) { m_shader = added.value(); } - } - - void update() override {} - - void execute() override { - Ra::Engine::Data::RenderParameters inPassParams; - - // Texture 1 - auto inputColor1 = - dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[0].get() ); - NodeTypeTexture* texColor1 = &inputColor1->getData(); - - // Texture 2 - auto inputColor2 = dynamic_cast<PortIn<NodeTypeTexture>*>( m_inputs[1].get() ); - NodeTypeTexture* texColor2 = &inputColor2->getData(); - - m_framebuffer->bind(); - m_framebuffer->attachTexture( gl::GL_COLOR_ATTACHMENT0, m_colorTexture->texture() ); - - const gl::GLenum buffers[] = { gl::GL_COLOR_ATTACHMENT0 }; - gl::glDrawBuffers( 1, buffers ); - gl::glDisable( gl::GL_DEPTH_TEST ); - gl::glDepthMask( gl::GL_FALSE ); - gl::glColorMask( gl::GL_TRUE, gl::GL_TRUE, gl::GL_TRUE, gl::GL_TRUE ); - - float clearBlack[4] = { 0.0f, 0.0f, 0.0f, 0.0f }; - gl::glClearBufferfv( gl::GL_COLOR, 0, clearBlack ); - - gl::glDisable( gl::GL_BLEND ); - - m_shader->bind(); - m_shader->setUniform( "tex1_sampler", texColor1, 0 ); - m_shader->setUniform( "tex2_sampler", texColor2, 1 ); - - m_quadMesh->render( m_shader ); - - m_framebuffer->detach( gl::GL_COLOR_ATTACHMENT0 ); - m_framebuffer->unbind(); - } - - void destroy() override { - delete m_framebuffer; - delete m_colorTexture; - } - - void resize( uint32_t width, uint32_t height ) override { - m_colorTexture->resize( width, height ); - } - - void buildRenderTechnique( const Ra::Engine::Rendering::RenderObject* ro, - Ra::Engine::Rendering::RenderTechnique& rt ) const override { - - } - - static const std::string getTypename() { return "Difference"; } - - private: - Ra::Engine::Data::Texture* m_colorTexture{ nullptr }; - - std::unique_ptr<Ra::Engine::Data::Displayable> m_quadMesh{ nullptr }; - - const Ra::Engine::Data::ShaderProgram* m_shader{ nullptr }; - - globjects::Framebuffer* m_framebuffer{ nullptr }; -}; diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/FilterNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterNode.hpp similarity index 100% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/FilterNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterNode.hpp diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/FilterROByNameNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterROByNameNode.hpp similarity index 90% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/FilterROByNameNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterROByNameNode.hpp index 778e6b13a382fa5abf705f7942e8fc68e44c061b..4084edf3abca3ec14841daf19fcd4d7886cb1674 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/FilterROByNameNode.hpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterROByNameNode.hpp @@ -1,5 +1,5 @@ #pragma once -#include <RadiumNBR/NodeGraph/PremadeNodes/FilterNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterNode.hpp> #include <regex> class FilterROByNameNode : public FilterNode<NodeTypeRenderObject> { diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/FilterROByTypeNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterROByTypeNode.hpp similarity index 91% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/FilterROByTypeNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterROByTypeNode.hpp index fa51dd9008344b828e6e3dc0f986501982b438ad..4aa92d7e09f26694dedf9ca1c714702f0529f2dd 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/FilterROByTypeNode.hpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterROByTypeNode.hpp @@ -1,5 +1,5 @@ #pragma once -#include <RadiumNBR/NodeGraph/PremadeNodes/FilterNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterNode.hpp> #include <Engine/Data/Material.hpp> class FilterROByTypeNode : public FilterNode<NodeTypeRenderObject> diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/PremadeNodesIncludes.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/PremadeNodesIncludes.hpp index 9e1926219b56ea696ad448d5bd2ad3f9a4a2e220..dd160df9fa10f28906eba471e58ef78d68e9df2d 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/PremadeNodesIncludes.hpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/PremadeNodesIncludes.hpp @@ -1,24 +1,30 @@ #pragma once -#include <RadiumNBR/NodeGraph/PremadeNodes/AccessibilityBufferNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/ClearColorNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/DataNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/DisplaySinkNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/EmissivityNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/EnvLightNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/FilterNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/FilterROByNameNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/FilterROByTypeNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/LocalLightNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/SinkNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/SourceNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/ColorTextureNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/DepthTextureNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/TextureNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/TransparencyNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/UINode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/VolumeNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/VolumeVizualisationNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/WireframeNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/ZGeomPrepassNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/Demo/SimpleNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/Demo/DifferenceNode.hpp> \ No newline at end of file +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ClearColorNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/LocalLightNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EmissivityNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EnvLightNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/TransparencyNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/UINode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeVizualisationNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/WireframeNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ZGeomPrepassNode.hpp> + +#include <RadiumNBR/NodeGraph/PremadeNodes/Sources/DataNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sources/SourceNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sources/ColorTextureNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sources/DepthTextureNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sources/TextureNode.hpp> + +#include <RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sinks/SinkNode.hpp> + +#include <RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterROByNameNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterROByTypeNode.hpp> + +#include <RadiumNBR/NodeGraph/PremadeNodes/Compositing/DifferenceNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Compositing/SumNode.hpp> + +#include <RadiumNBR/NodeGraph/PremadeNodes/Demo/SimpleNode.hpp> \ No newline at end of file diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/AccessibilityBufferNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.cpp similarity index 99% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/AccessibilityBufferNode.cpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.cpp index 4b5b3d3a1eec321170d8927930d818723c4b8c73..99b24e5b7d8e6a42606fe34a6e490228e7a96052 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/AccessibilityBufferNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.cpp @@ -1,4 +1,4 @@ -#include <RadiumNBR/NodeGraph/PremadeNodes/AccessibilityBufferNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.hpp> #include <Core/Geometry/MeshPrimitives.hpp> #include <Engine/Data/Mesh.hpp> diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/AccessibilityBufferNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.hpp similarity index 100% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/AccessibilityBufferNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.hpp diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/ClearColorNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ClearColorNode.cpp similarity index 98% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/ClearColorNode.cpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ClearColorNode.cpp index 292d17a8ca54cc5bf6e301fe249a36cdf7630c4e..dbb8624120b41f8a5fd13f94ad7a44f1244285d3 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/ClearColorNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ClearColorNode.cpp @@ -1,4 +1,4 @@ -#include <RadiumNBR/NodeGraph/PremadeNodes/ClearColorNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ClearColorNode.hpp> #include <RadiumNBR/EnvMap.hpp> diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/ClearColorNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ClearColorNode.hpp similarity index 100% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/ClearColorNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ClearColorNode.hpp diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/EmissivityNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EmissivityNode.cpp similarity index 98% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/EmissivityNode.cpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EmissivityNode.cpp index f2d308e6f8530a7e1b163283bc733ab07e404f87..5e540d5c904dc401e40fb2ffa662843fb1241eac 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/EmissivityNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EmissivityNode.cpp @@ -1,4 +1,4 @@ -#include <RadiumNBR/NodeGraph/PremadeNodes/EmissivityNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EmissivityNode.hpp> #include <Engine/Data/Material.hpp> #include <Engine/Data/ShaderConfigFactory.hpp> diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/EmissivityNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EmissivityNode.hpp similarity index 100% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/EmissivityNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EmissivityNode.hpp diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/EnvLightNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EnvLightNode.cpp similarity index 99% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/EnvLightNode.cpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EnvLightNode.cpp index 9893ab7afb03c3bf2900b88acbc3e6e161d37ac7..ccb4c4994c97f0320e8597b3deb16e72d7d81c74 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/EnvLightNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EnvLightNode.cpp @@ -1,4 +1,4 @@ -#include <RadiumNBR/NodeGraph/PremadeNodes/EnvLightNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EnvLightNode.hpp> #include <Engine/Data/Material.hpp> #include <Engine/Data/ShaderConfigFactory.hpp> diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/EnvLightNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EnvLightNode.hpp similarity index 100% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/EnvLightNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EnvLightNode.hpp diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/LocalLightNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/LocalLightNode.cpp similarity index 98% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/LocalLightNode.cpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/LocalLightNode.cpp index bfe98daf6306fbd9f727243dd852164d81c509fd..7aef7961aba58f2b783180e43d0c54c88c15b8f7 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/LocalLightNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/LocalLightNode.cpp @@ -1,4 +1,4 @@ -#include <RadiumNBR/NodeGraph/PremadeNodes/LocalLightNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/LocalLightNode.hpp> #include <Engine/Data/Material.hpp> #include <Engine/Data/ShaderConfigFactory.hpp> diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/LocalLightNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/LocalLightNode.hpp similarity index 100% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/LocalLightNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/LocalLightNode.hpp diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/TransparencyNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/TransparencyNode.cpp similarity index 99% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/TransparencyNode.cpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/TransparencyNode.cpp index 7542d3456e0af4bac394eb8eecedbb1a42ae55bd..5c869f44fbca0f67d0620fb44dc600614bb07f42 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/TransparencyNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/TransparencyNode.cpp @@ -1,4 +1,4 @@ -#include <RadiumNBR/NodeGraph/PremadeNodes/TransparencyNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/TransparencyNode.hpp> #include <Core/Geometry/MeshPrimitives.hpp> diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/TransparencyNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/TransparencyNode.hpp similarity index 100% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/TransparencyNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/TransparencyNode.hpp diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/UINode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/UINode.cpp similarity index 98% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/UINode.cpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/UINode.cpp index 01c26f161d68dec4127079f81891a0a201a96534..9842d8ecb786e29c67e06680025fed2730b8eb81 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/UINode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/UINode.cpp @@ -1,4 +1,4 @@ -#include <RadiumNBR/NodeGraph/PremadeNodes/UINode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/UINode.hpp> #include <Engine/Data/Material.hpp> #include <Engine/Data/Mesh.hpp> diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/UINode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/UINode.hpp similarity index 100% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/UINode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/UINode.hpp diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/VolumeNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeNode.cpp similarity index 99% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/VolumeNode.cpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeNode.cpp index 9814ab759b251ea9d9ab8ec8e3a0d53fef78fde1..432e44976bdb59251e00242353798b26a907c0ab 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/VolumeNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeNode.cpp @@ -1,4 +1,4 @@ -#include <RadiumNBR/NodeGraph/PremadeNodes/VolumeNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeNode.hpp> #include <Core/Geometry/MeshPrimitives.hpp> diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/VolumeNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeNode.hpp similarity index 100% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/VolumeNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeNode.hpp diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/VolumeVizualisationNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeVizualisationNode.cpp similarity index 99% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/VolumeVizualisationNode.cpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeVizualisationNode.cpp index 491ff9bd55fce2276d846db8ab507fc8c187ecb2..636264daed85eca93816067cf4b5df49dd4c269b 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/VolumeVizualisationNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeVizualisationNode.cpp @@ -1,4 +1,4 @@ -#include <RadiumNBR/NodeGraph/PremadeNodes/VolumeVizualisationNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeVizualisationNode.hpp> VolumeVizualisationNode::VolumeVizualisationNode( const std::string& name ) : Node( name ) { auto portInColor = new PortIn<NodeTypeTexture>( "inColorTexture", this ); diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/VolumeVizualisationNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeVizualisationNode.hpp similarity index 98% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/VolumeVizualisationNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeVizualisationNode.hpp index 2f94508037f540726ad324c50306f63deaaffb1c..2a7ae5b061ad1f909caa9c9ac7db1acf4bde7e49 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/VolumeVizualisationNode.hpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeVizualisationNode.hpp @@ -55,7 +55,7 @@ class VolumeWithGradientParameterProvider : public Ra::Engine::Data::ShaderParam Ra::Core::Geometry::VolumeGrid& m_volumeGrid; }; -class VolumeVizualisationNode : public Node +class NodeBasedRenderer_LIBRARY_API VolumeVizualisationNode : public Node { public: explicit VolumeVizualisationNode( const std::string& name ); diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/WireframeNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/WireframeNode.cpp similarity index 99% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/WireframeNode.cpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/WireframeNode.cpp index 8bf8376c99be98e122e51b7df70349a8fd1a9777..ce345ea77101823c89477856b99252499ec12193 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/WireframeNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/WireframeNode.cpp @@ -1,4 +1,4 @@ -#include <RadiumNBR/NodeGraph/PremadeNodes/WireframeNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/WireframeNode.hpp> #include <Engine/Data/Material.hpp> #include <Engine/Data/Mesh.hpp> diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/WireframeNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/WireframeNode.hpp similarity index 100% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/WireframeNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/WireframeNode.hpp diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/ZGeomPrepassNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ZGeomPrepassNode.cpp similarity index 98% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/ZGeomPrepassNode.cpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ZGeomPrepassNode.cpp index 6d85d9ff85027e979e77c80be9a0d9db9af00cf7..a14515ff8afc370919173cc572163d6934139321 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/ZGeomPrepassNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ZGeomPrepassNode.cpp @@ -1,4 +1,4 @@ -#include <RadiumNBR/NodeGraph/PremadeNodes/ZGeomPrepassNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ZGeomPrepassNode.hpp> #include <Engine/Data/Material.hpp> #include <Engine/Data/ShaderConfigFactory.hpp> diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/ZGeomPrepassNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ZGeomPrepassNode.hpp similarity index 100% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/ZGeomPrepassNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ZGeomPrepassNode.hpp diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/DisplaySinkNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.cpp similarity index 95% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/DisplaySinkNode.cpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.cpp index b40dfc99c7065723b340b434000a3a58201a5905..ead6bf583e4be461f676f78cc256399e38b88ee1 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/DisplaySinkNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.cpp @@ -1,4 +1,4 @@ -#include <RadiumNBR/NodeGraph/PremadeNodes/DisplaySinkNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.hpp> #define MAX_DISPLAY_INPUTS 16 diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/DisplaySinkNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.hpp similarity index 100% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/DisplaySinkNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.hpp diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/SinkNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sinks/SinkNode.hpp similarity index 100% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/SinkNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sinks/SinkNode.hpp diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/ColorTextureNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sources/ColorTextureNode.hpp similarity index 89% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/ColorTextureNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sources/ColorTextureNode.hpp index 95b38571f1fdd9d8c0acaffa57af88f503e85a21..8974fcbf72a2c6a320f46edf8239258935681c63 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/ColorTextureNode.hpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sources/ColorTextureNode.hpp @@ -1,5 +1,5 @@ #pragma once -#include <RadiumNBR/NodeGraph/PremadeNodes/TextureNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sources/TextureNode.hpp> class NodeBasedRenderer_LIBRARY_API ColorTextureNode : public TextureNode { diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/DataNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sources/DataNode.hpp similarity index 100% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/DataNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sources/DataNode.hpp diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/DepthTextureNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sources/DepthTextureNode.hpp similarity index 90% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/DepthTextureNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sources/DepthTextureNode.hpp index 7eff5fec9dd4318c31e6aa18856045e2d8c5fca7..7cb55f7d5c8325efe5b7ed68aca45251b0060a7e 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/DepthTextureNode.hpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sources/DepthTextureNode.hpp @@ -1,5 +1,5 @@ #pragma once -#include <RadiumNBR/NodeGraph/PremadeNodes/TextureNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sources/TextureNode.hpp> class NodeBasedRenderer_LIBRARY_API DepthTextureNode : public TextureNode { diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/SourceNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sources/SourceNode.hpp similarity index 100% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/SourceNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sources/SourceNode.hpp diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/TextureNode.cpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sources/TextureNode.cpp similarity index 94% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/TextureNode.cpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sources/TextureNode.cpp index bf8ea43719d25e089666e5986fb5815f8d0fefb8..ac752da486a415cd6cface89c5efa8560f8a0551 100644 --- a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/TextureNode.cpp +++ b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sources/TextureNode.cpp @@ -1,4 +1,4 @@ -#include <RadiumNBR/NodeGraph/PremadeNodes/TextureNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sources/TextureNode.hpp> TextureNode::TextureNode( const std::string& name, const Ra::Engine::Data::TextureParameters& texParams ) : diff --git a/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/TextureNode.hpp b/src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sources/TextureNode.hpp similarity index 100% rename from src/libRender/RadiumNBR/NodeGraph/PremadeNodes/TextureNode.hpp rename to src/libRender/RadiumNBR/NodeGraph/PremadeNodes/Sources/TextureNode.hpp diff --git a/src/libRender/RadiumNBR/NodeGraph/RenderGraph.hpp b/src/libRender/RadiumNBR/NodeGraph/RenderGraph.hpp index dad855da78469d649d4098872a11b17a253c1072..d397bfc3c94fb77d880f76dafc3d419d56cd13b3 100644 --- a/src/libRender/RadiumNBR/NodeGraph/RenderGraph.hpp +++ b/src/libRender/RadiumNBR/NodeGraph/RenderGraph.hpp @@ -1,8 +1,8 @@ #pragma once #include <RadiumNBR/NodeBasedRendererMacro.hpp> #include <RadiumNBR/NodeGraph/Node.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/DataNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/DisplaySinkNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sources/DataNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.hpp> // TODO : Find a new name, it is not a RENDER graph only anymore class NodeBasedRenderer_LIBRARY_API RenderGraph : public Node { diff --git a/src/libRender/RadiumNBR/Renderer/NodeGraphController.cpp b/src/libRender/RadiumNBR/Renderer/NodeGraphController.cpp index bed6b0deb7c67e6e29b6ce4c632e7b21d1802f2b..342006f8c5ac6993334bdec7a980a45d0241dd40 100644 --- a/src/libRender/RadiumNBR/Renderer/NodeGraphController.cpp +++ b/src/libRender/RadiumNBR/Renderer/NodeGraphController.cpp @@ -3,22 +3,22 @@ #include <Engine/RadiumEngine.hpp> #include <RadiumNBR/Renderer/NodeGraphController.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/AccessibilityBufferNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/ClearColorNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/DataNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/DisplaySinkNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/EmissivityNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/EnvLightNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/FilterNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/LocalLightNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/SinkNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/SourceNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/TextureNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/TransparencyNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/UINode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/VolumeNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/WireframeNode.hpp> -#include <RadiumNBR/NodeGraph/PremadeNodes/ZGeomPrepassNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/AccessibilityBufferNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ClearColorNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sources/DataNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sinks/DisplaySinkNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EmissivityNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/EnvLightNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Filters/FilterNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/LocalLightNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sinks/SinkNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sources/SourceNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/Sources/TextureNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/TransparencyNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/UINode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/VolumeNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/WireframeNode.hpp> +#include <RadiumNBR/NodeGraph/PremadeNodes/RenderPasses/ZGeomPrepassNode.hpp> #include <Engine/Data/ViewingParameters.hpp>