|
Oxygen Engine
Modern C++ 3D Engine using OpenGL
|
Generic render manager. More...
#include <OxygenEngine/render/manager.h>
Public Types | |
| using | RenderNodeId = SettingsType::RenderNodeId |
| using | RenderNode = SettingsType::RenderNode |
| using | NodeContainerType = SettingsType::template Container<RenderNode> |
Public Member Functions | |
| RenderNode * | getNodeById (const RenderNodeId id_node, std::span< const NodeContainerType > nodes) |
| void | deleteNodeById (const RenderNodeId id_node) |
| template<typename T> | |
| RenderNodeId | addOpaqueNode (T &&component) |
| template<typename T> | |
| RenderNodeId | addBlendNode (T &&component, bool is_glass=false) |
| template<typename RenderNodeType, typename F> | |
| void | renderNode (RenderNodeType &renderer, const oe::scene::Camera &camera, const oe::render::RenderingPass render_pass, F &&fill_shader) |
| Render node list using specified rendering. | |
| void | renderOpaqueNodes (const oe::scene::Camera &camera, const oe::render::RenderingPass render_pass) |
| Render opaque nodes list using specified rendering. | |
| template<typename F> | |
| void | renderBlendNodes (const oe::scene::Camera &camera, const oe::render::RenderingPass render_pass, F &&fill_shader) |
| Render blend nodes list using specified rendering. | |
| template<typename F> | |
| void | render (std::span< RenderNode > nodes, const oe::scene::Camera &camera, const oe::render::RenderingPass render_pass, F &&fill_shader) |
| Render custom nodes list using specified rendering. | |
| void | render (std::span< RenderNode > nodes, const oe::scene::Camera &camera, const oe::render::RenderingPass render_pass) |
| Render custom nodes list using specified rendering. | |
Public Attributes | |
| NodeContainerType | opaque_nodes |
| Opaque geometry (that might use alpha mask). | |
| NodeContainerType | blend_nodes |
| Transparent geometry (alpha blended). | |
| NodeContainerType | refractive_nodes |
| Realistic transparent refractive surfaces (like glass). | |
Generic render manager.
|
inline |
Render custom nodes list using specified rendering.
This version doesn't require shader callback
| NodeContainerType oe::render::GenericRenderManager< SettingsType >::refractive_nodes |
Realistic transparent refractive surfaces (like glass).