Radium Engine
1.6.3
Loading...
Searching...
No Matches
RenderingNode.hpp
1
#pragma once
2
#include <Dataflow/RaDataflow.hpp>
3
4
#include <Dataflow/Core/Node.hpp>
5
6
#include <Core/Utils/Color.hpp>
7
#include <Engine/Data/Texture.hpp>
8
#include <Engine/Data/ViewingParameters.hpp>
9
#include <Engine/Rendering/RenderObject.hpp>
10
#include <Engine/Scene/Light.hpp>
11
12
namespace
Ra::Engine::Data
{
13
class
ShaderProgramManager;
14
}
15
16
namespace
Ra
{
17
namespace
Dataflow {
18
namespace
Rendering {
19
namespace
Nodes {
20
26
using
RenderObjectType
=
std::shared_ptr<Ra::Engine::Rendering::RenderObject>
;
27
using
LightType =
const
Ra::Engine::Scene::Light
*;
28
using
CameraType =
Ra::Engine::Data::ViewingParameters
;
29
using
ColorType =
Ra::Core::Utils::Color
;
30
using
TextureType =
Ra::Engine::Data::Texture
;
31
36
class
RA_DATAFLOW_API
RenderingNode
:
public
Dataflow::Core::Node
,
37
public
Ra::Core::Utils::IndexedObject
38
{
39
public
:
40
using
Dataflow::Core::Node::Node;
41
46
virtual
void
resize
( uint32_t width, uint32_t height ) = 0;
47
51
virtual
void
buildRenderTechnique
(
const
Ra::Engine::Rendering::RenderObject
*,
52
Ra::Engine::Rendering::RenderTechnique
& )
const
{};
53
55
virtual
bool
hasRenderTechnique
() {
return
false
; }
56
58
void
setShaderProgramManager
(
Ra::Engine::Data::ShaderProgramManager
* shaderMngr ) {
59
m_shaderMngr = shaderMngr;
60
}
61
62
static
const
std::string
node_typename() {
return
"RenderingNode"
; }
63
64
protected
:
65
void
toJsonInternal
( nlohmann::json& )
const override
{}
66
void
fromJsonInternal
(
const
nlohmann::json& )
override
{}
67
69
Ra::Engine::Data::ShaderProgramManager
*
m_shaderMngr
;
70
};
71
72
}
// namespace Nodes
73
}
// namespace Rendering
74
}
// namespace Dataflow
75
}
// namespace Ra
std::string
Ra::Core::Utils::ColorBase< Scalar >
Ra::Core::Utils::IndexedObject
Definition
IndexedObject.hpp:14
Ra::Dataflow::Core::Node
Base abstract class for all the nodes added and used by the node system.
Definition
Node.hpp:40
Ra::Dataflow::Rendering::Nodes::RenderingNode
Definition
RenderingNode.hpp:38
Ra::Dataflow::Rendering::Nodes::RenderingNode::buildRenderTechnique
virtual void buildRenderTechnique(const Ra::Engine::Rendering::RenderObject *, Ra::Engine::Rendering::RenderTechnique &) const
Definition
RenderingNode.hpp:51
Ra::Dataflow::Rendering::Nodes::RenderingNode::toJsonInternal
void toJsonInternal(nlohmann::json &) const override
Internal json representation of the Node.
Definition
RenderingNode.hpp:65
Ra::Dataflow::Rendering::Nodes::RenderingNode::fromJsonInternal
void fromJsonInternal(const nlohmann::json &) override
Internal json representation of the Node.
Definition
RenderingNode.hpp:66
Ra::Dataflow::Rendering::Nodes::RenderingNode::resize
virtual void resize(uint32_t width, uint32_t height)=0
Ra::Dataflow::Rendering::Nodes::RenderingNode::m_shaderMngr
Ra::Engine::Data::ShaderProgramManager * m_shaderMngr
The renderer's shader program manager.
Definition
RenderingNode.hpp:69
Ra::Dataflow::Rendering::Nodes::RenderingNode::setShaderProgramManager
void setShaderProgramManager(Ra::Engine::Data::ShaderProgramManager *shaderMngr)
Sets the shader program manager.
Definition
RenderingNode.hpp:58
Ra::Dataflow::Rendering::Nodes::RenderingNode::hasRenderTechnique
virtual bool hasRenderTechnique()
Indicate if the nod needs to setup a rendertechnique on RenderObjects.
Definition
RenderingNode.hpp:55
Ra::Engine::Data::ShaderProgramManager
Definition
ShaderProgramManager.hpp:37
Ra::Engine::Data::Texture
Represent a Texture of the engine.
Definition
Texture.hpp:120
Ra::Engine::Rendering::RenderObject
Definition
RenderObject.hpp:37
Ra::Engine::Rendering::RenderTechnique
Definition
RenderTechnique.hpp:64
Ra::Engine::Scene::Light
Definition
Light.hpp:24
Ra::Engine::Data
(GPU) Data representation, along with manager
Definition
RenderingNode.hpp:12
Ra::Engine::Rendering::RenderObjectType
RenderObjectType
Definition
RenderObjectTypes.hpp:9
Ra
hepler function to manage enum as underlying types in VariableSet
Definition
Cage.cpp:4
std::shared_ptr
Ra::Engine::Data::ViewingParameters
the set of viewing parameters extracted from the camera and given to the renderer
Definition
ViewingParameters.hpp:10
src
Dataflow
Rendering
Nodes
RenderingNode.hpp
Generated by
1.12.0