Loading [MathJax]/extensions/TeX/AMSsymbols.js
Radium Engine
1.5.29
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
f
g
i
l
m
n
o
p
q
r
s
t
u
v
z
Functions
a
c
d
f
g
i
l
m
n
o
p
q
r
s
t
u
v
Variables
Typedefs
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Variables
b
d
f
i
m
s
v
w
Typedefs
a
b
c
f
g
i
k
n
o
r
s
t
u
v
Enumerations
Enumerator
Related Symbols
Files
File List
File Members
All
Macros
▼
Radium Engine
►
Radium Basics
►
Radium Concepts
►
Developer manual
►
Licenses
Todo List
Deprecated List
►
Namespaces
►
Classes
▼
Files
▼
File List
▼
src
►
Core
▼
Dataflow
►
Core
►
QtGui
▼
Rendering
►
Nodes
▼
Renderer
DataflowRenderer.cpp
DataflowRenderer.hpp
RenderingGraph.cpp
RenderingGraph.hpp
pch.hpp
RaDataflow.hpp
►
Engine
►
Gui
►
Headless
►
IO
►
PluginBase
►
tests
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Loading...
Searching...
No Matches
DataflowRenderer.hpp
1
#pragma once
2
#include <Dataflow/RaDataflow.hpp>
3
12
#include <Core/Resources/Resources.hpp>
13
#include <Engine/Rendering/Renderer.hpp>
14
15
#include <Dataflow/Rendering/Renderer/RenderingGraph.hpp>
16
17
namespace
globjects
{
18
class
Framebuffer;
19
}
17
namespace
globjects
{
…
}
20
21
namespace
Ra
{
22
namespace
Dataflow {
23
namespace
Rendering {
24
namespace
Renderer {
25
28
extern
int
DataflowRendererMagic;
29
56
class
RA_DATAFLOW_API
DataflowRenderer
:
public
Ra::Engine::Rendering::Renderer
57
{
58
59
public
:
63
struct
RA_DATAFLOW_API
RenderGraphController
: Ra::Core::Resources::ObservableVoid {
64
65
RenderGraphController
();
66
virtual
~RenderGraphController
() =
default
;
67
RenderGraphController
(
const
RenderGraphController
& ) =
delete
;
68
RenderGraphController
(
const
RenderGraphController
&& ) =
delete
;
69
RenderGraphController
& operator=(
RenderGraphController
&& ) =
delete
;
70
RenderGraphController
& operator=(
const
RenderGraphController
& ) =
delete
;
71
74
virtual
void
configure(
DataflowRenderer
* renderer,
int
w,
int
h );
75
78
virtual
void
resize(
int
w,
int
h );
79
82
virtual
void
update(
const
Ra::Engine::Data::ViewingParameters
& renderData );
83
84
[[nodiscard]]
virtual
std::string
getRendererName()
const
{
return
"Dataflow Renderer"
; }
85
86
void
loadGraph(
const
std::string
& filename );
87
void
saveGraph(
const
std::string
& filename );
88
void
resetGraph();
90
void
defferedLoadGraph(
const
std::string
& filename );
91
94
std::unique_ptr<RenderingGraph>
m_renderGraph {
nullptr
};
95
96
private
:
97
int
m_width { -1 };
98
int
m_height { -1 };
99
Ra::Engine::Data::ShaderProgramManager
* m_shaderMngr;
100
std::string
m_graphToLoad;
101
};
63
struct
RA_DATAFLOW_API
RenderGraphController
: Ra::Core::Resources::ObservableVoid {
…
};
102
104
explicit
DataflowRenderer( RenderGraphController& controller );
105
107
~DataflowRenderer
()
override
;
108
109
[[nodiscard]]
std::string
getRendererName
()
const override
{
return
m_name; }
110
111
bool
buildRenderTechnique(
Ra::Engine::Rendering::RenderObject
* ro )
const override
;
112
114
Ra::Engine::Scene::LightManager
*
getLightManager
() {
return
m_lightmanagers[0]; }
115
117
RenderGraphController
&
getController
() {
return
m_controller; }
118
120
// void setDisplayNode( DisplaySinkNode* displayNode );
121
123
// void loadFromJson( const std::string& jsonFilePath );
124
126
// const std::string& getJsonFilePath() { return m_jsonFilePath; }
127
129
// void setJsonFilePath( const std::string& jsonFilePath ) { m_jsonFilePath = jsonFilePath; }
130
132
// void compileRenderGraph();
133
135
// void reloadRenderGraphFromJson();
136
138
/*
139
void signalReloadJson( bool resetPath = false ) {
140
m_reloadJson = true;
141
m_resetPath = resetPath;
142
}
143
*/
144
145
protected
:
146
void
initializeInternal()
override
;
147
void
resizeInternal()
override
;
148
void
updateStepInternal(
const
Ra::Engine::Data::ViewingParameters
& renderData )
override
;
149
void
renderInternal(
const
Ra::Engine::Data::ViewingParameters
& renderData )
override
;
150
void
postProcessInternal(
const
Ra::Engine::Data::ViewingParameters
& renderData )
override
;
151
void
debugInternal(
const
Ra::Engine::Data::ViewingParameters
& renderData )
override
;
152
void
uiInternal(
const
Ra::Engine::Data::ViewingParameters
& renderData )
override
;
153
158
virtual
void
initResources();
159
160
public
:
161
inline
std::map<std::string, std::shared_ptr<Ra::Engine::Data::Texture>
>& sharedTextures() {
162
return
m_sharedTextures;
163
}
164
165
inline
globjects::Framebuffer* postprocessFbo() {
return
m_postprocessFbo.get(); }
166
167
inline
std::vector<RenderObjectPtr>
* allRenderObjects() {
return
&m_fancyRenderObjects; }
168
169
inline
std::vector<const Ra::Engine::Scene::Light*>
* getLights() {
return
&m_lights; }
170
171
private
:
173
void
graphChanged();
174
175
bool
m_graphChanged {
false
};
176
178
std::map<std::string, std::shared_ptr<Ra::Engine::Data::Texture>
> m_sharedTextures;
179
181
std::unique_ptr<globjects::Framebuffer>
m_postprocessFbo;
182
184
RenderGraphController& m_controller;
185
187
std::string
m_name {
"RenderGraph renderer"
};
188
190
Ra::Engine::Data::Texture
* m_colorTexture {
nullptr
};
191
193
std::vector<const Ra::Engine::Scene::Light*>
m_lights;
194
196
std::vector<Ra::Engine::Data::ViewingParameters>
m_cameras;
197
};
56
class
RA_DATAFLOW_API
DataflowRenderer
:
public
Ra::Engine::Rendering::Renderer
{
…
};
198
199
}
// namespace Renderer
200
}
// namespace Rendering
201
}
// namespace Dataflow
202
}
// namespace Ra
std::string
Ra::Dataflow::Rendering::Renderer::DataflowRenderer
Definition
DataflowRenderer.hpp:57
Ra::Dataflow::Rendering::Renderer::DataflowRenderer::getRendererName
std::string getRendererName() const override
Get the name of the renderer, e.g to be displayed in the UI.
Definition
DataflowRenderer.hpp:109
Ra::Dataflow::Rendering::Renderer::DataflowRenderer::getController
RenderGraphController & getController()
Access the controller.
Definition
DataflowRenderer.hpp:117
Ra::Dataflow::Rendering::Renderer::DataflowRenderer::~DataflowRenderer
~DataflowRenderer() override
The destructor is used to destroy the render graph.
Ra::Dataflow::Rendering::Renderer::DataflowRenderer::getLightManager
Ra::Engine::Scene::LightManager * getLightManager()
Access the default light manager.
Definition
DataflowRenderer.hpp:114
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::Renderer
Definition
Renderer.hpp:45
Ra::Engine::Scene::LightManager
Definition
LightManager.hpp:29
std::map
Ra
hepler function to manage enum as underlying types in VariableSet
Definition
Cage.cpp:4
globjects
Definition
DataflowRenderer.hpp:17
Ra::Dataflow::Rendering::Renderer::DataflowRenderer::RenderGraphController
Definition
DataflowRenderer.hpp:63
Ra::Engine::Data::ViewingParameters
the set of viewing parameters extracted from the camera and given to the renderer
Definition
ViewingParameters.hpp:10
std::unique_ptr
std::vector
src
Dataflow
Rendering
Renderer
DataflowRenderer.hpp
Generated by
1.12.0