Radium Engine
1.5.20
|
#include <Engine/Rendering/ForwardRenderer.hpp>
Public Member Functions | |
std::string | getRendererName () const override |
Get the name of the renderer, e.g to be displayed in the UI. | |
bool | buildRenderTechnique (RenderObject *ro) const override |
Public Member Functions inherited from Ra::Engine::Rendering::Renderer | |
Renderer () | |
const TimerData & | getTimerData () const |
Data::Texture * | getDisplayTexture () const |
void | lockRendering () |
void | unlockRendering () |
void | toggleWireframe () |
void | enableWireframe (bool enabled) |
void | toggleDrawDebug () |
void | enableDebugDraw (bool enabled) |
void | enablePostProcess (bool enabled) |
void | render (const Data::ViewingParameters &renderData) |
Tell the renderer it needs to render. This method does the following steps : | |
void | initialize (uint width, uint height) |
Initialize renderer. | |
void | resize (uint width, uint height) |
Resize the viewport and all the screen textures, fbos. This function must be overrided as soon as some FBO or screensized texture is used (since the default implementation just resizes its own fbos / textures) | |
void | addPickingRequest (const PickingQuery &query) |
const std::vector< PickingResult > & | getPickingResults () const |
const std::vector< PickingQuery > & | getPickingQueries () const |
void | setMousePosition (const Core::Vector2 &pos) |
void | setBrushRadius (Scalar brushRadius) |
bool | hasLight () const |
Tell if the renderer has an usable light. | |
void | setBackgroundColor (const Core::Utils::Color &color) |
Update the background color (does not trigger a redraw) | |
const Core::Utils::Color & | getBackgroundColor () const |
virtual void | addLight (const Scene::Light *light) |
virtual void | reloadShaders () |
virtual void | displayTexture (const std::string &texName) |
Change the texture that is displayed on screen. Set m_displayedIsDepth to true if depth linearization is wanted. | |
virtual std::vector< std::string > | getAvailableTextures () const |
Return the names of renderer available textures. | |
int | buildAllRenderTechniques () const |
virtual std::unique_ptr< uchar[]> | grabFrame (size_t &w, size_t &h) const |
PickingResult | doPickingNow (const PickingQuery &query, const Data::ViewingParameters &renderData) |
Protected Types | |
enum | RendererTextures { RendererTextures_Depth = 0 , RendererTextures_HDR , RendererTextures_Normal , RendererTextures_Diffuse , RendererTextures_Specular , RendererTextures_OITAccum , RendererTextures_OITRevealage , RendererTextures_Volume , RendererTexture_Count } |
using | WireMap = std::map<RenderObject*, std::shared_ptr<Data::Displayable>> |
Protected Types inherited from Ra::Engine::Rendering::Renderer | |
using | RenderObjectPtr = std::shared_ptr<RenderObject> |
Protected Member Functions | |
void | initializeInternal () override |
initializeInternal Initialize the renderer dependant resources. | |
void | resizeInternal () override |
void | updateStepInternal (const Data::ViewingParameters &renderData) override |
void | postProcessInternal (const Data::ViewingParameters &renderData) override |
Do all post processing stuff. If you override this method, be careful to fill. | |
void | renderInternal (const Data::ViewingParameters &renderData) override |
All the scene rendering magics basically happens here. | |
void | debugInternal (const Data::ViewingParameters &renderData) override |
Add the debug layer with useful informations. | |
void | uiInternal (const Data::ViewingParameters &renderData) override |
Draw the UI data. | |
virtual void | renderBackground (const Data::ViewingParameters &) |
Draw the picture background. This method allows custom renderers to draw objects on the background. Called before the Zpre-pass, but after clearing the draw buffers. | |
Protected Member Functions inherited from Ra::Engine::Rendering::Renderer |
Static Protected Attributes | |
static const size_t | ShadowMapSize { 1024 } |
Additional Inherited Members | |
Public Types inherited from Ra::Engine::Rendering::Renderer | |
enum | PickingMode { RO = 0 , VERTEX , EDGE , TRIANGLE , C_VERTEX , C_EDGE , C_TRIANGLE , NONE } |
enum | PickingPurpose { SELECTION = 0 , MANIPULATION } |
Default renderer for the Radium Engine This classe implements aforward rendering algorithm with Z-prepass, multipass light accumulation for opaque and transperent objects. Once renderer, the final is composited with Ui, debug and X-ray objects renderings on demand.
Definition at line 23 of file ForwardRenderer.hpp.
|
protected |
Definition at line 96 of file ForwardRenderer.hpp.
|
protected |
Definition at line 55 of file ForwardRenderer.hpp.
Ra::Engine::Rendering::ForwardRenderer::ForwardRenderer | ( | ) |
Definition at line 52 of file ForwardRenderer.cpp.
|
overridevirtual |
Define, for the given render object, the render technique cooresponding to the renderer.
ro | the render object to modofy |
Implements Ra::Engine::Rendering::Renderer.
Definition at line 686 of file ForwardRenderer.cpp.
|
overrideprotectedvirtual |
Add the debug layer with useful informations.
Implements Ra::Engine::Rendering::Renderer.
Definition at line 489 of file ForwardRenderer.cpp.
|
inlineoverridevirtual |
Get the name of the renderer, e.g to be displayed in the UI.
Implements Ra::Engine::Rendering::Renderer.
Definition at line 29 of file ForwardRenderer.hpp.
|
overrideprotectedvirtual |
initializeInternal Initialize the renderer dependant resources.
Implements Ra::Engine::Rendering::Renderer.
Definition at line 56 of file ForwardRenderer.cpp.
|
overrideprotectedvirtual |
Do all post processing stuff. If you override this method, be careful to fill.
renderData | The basic data needed for the rendering : Time elapsed since last frame, camera view matrix, camera projection matrix. |
Implements Ra::Engine::Rendering::Renderer.
Definition at line 569 of file ForwardRenderer.cpp.
|
inlineprotectedvirtual |
Draw the picture background. This method allows custom renderers to draw objects on the background. Called before the Zpre-pass, but after clearing the draw buffers.
Definition at line 53 of file ForwardRenderer.hpp.
|
overrideprotectedvirtual |
All the scene rendering magics basically happens here.
renderData | The basic data needed for the rendering : Time elapsed since last frame, camera view matrix, camera projection matrix. |
Implements Ra::Engine::Rendering::Renderer.
Definition at line 238 of file ForwardRenderer.cpp.
|
overrideprotectedvirtual |
resize the renderer dependent resources
Implements Ra::Engine::Rendering::Renderer.
Definition at line 590 of file ForwardRenderer.cpp.
|
overrideprotectedvirtual |
Draw the UI data.
Implements Ra::Engine::Rendering::Renderer.
Definition at line 523 of file ForwardRenderer.cpp.
|
overrideprotectedvirtual |
Update the renderer dependent resources for the next frame
renderData |
Implements Ra::Engine::Rendering::Renderer.
Definition at line 131 of file ForwardRenderer.cpp.
|
protected |
Definition at line 83 of file ForwardRenderer.hpp.
|
protected |
Definition at line 86 of file ForwardRenderer.hpp.
|
protected |
Definition at line 76 of file ForwardRenderer.hpp.
|
protected |
Definition at line 94 of file ForwardRenderer.hpp.
|
protected |
Definition at line 78 of file ForwardRenderer.hpp.
|
protected |
Definition at line 88 of file ForwardRenderer.hpp.
|
protected |
Definition at line 77 of file ForwardRenderer.hpp.
|
protected |
Definition at line 93 of file ForwardRenderer.hpp.
|
protected |
Definition at line 66 of file ForwardRenderer.hpp.
|
protected |
Definition at line 90 of file ForwardRenderer.hpp.
|
protected |
Definition at line 82 of file ForwardRenderer.hpp.
|
protected |
Definition at line 79 of file ForwardRenderer.hpp.
|
protected |
Definition at line 80 of file ForwardRenderer.hpp.
|
protected |
Definition at line 85 of file ForwardRenderer.hpp.
|
protected |
Definition at line 97 of file ForwardRenderer.hpp.
|
staticprotected |
Definition at line 92 of file ForwardRenderer.hpp.