|
CeresEngine 0.2.0
A game development framework
|
A class that represents a view inside the renderer. More...
#include <CeresEngine/Renderer/RendererView.hpp>
Public Member Functions | |
| RendererView () | |
Creates a new RendererView. | |
| virtual | ~RendererView () |
Destroys the RendererView and releases any renderer (and RenderAPI)-related resources. | |
| virtual void | prepare (RendererContext &context) |
| Prepares the view for the rendering of the current frame. | |
| RenderGraph * | getRenderGraph () const noexcept |
| The render graph instance used to render the view. | |
| virtual RendererScene & | getScene () const =0 |
| A reference to the scene to be rendered by the view. | |
| virtual const RendererCameraSettings & | getSettings () const =0 |
| virtual const RendererViewInfo & | getViewInfo () const =0 |
| A structure that holds renderer-specific information for the view. | |
| virtual RendererViewInfo & | getViewInfo ()=0 |
| A structure that holds renderer-specific information for the view. | |
| virtual const GPUBindlessBuffer & | getUniformBuffer () const =0 |
| The uniform buffer storing the view GPU parameters used by the renderer. | |
| virtual const GPUImagePtr & | getRenderImage () const =0 |
| The render target that the view should render to. | |
| virtual const ConvexVolume & | getFrustumVolume () const =0 |
| Returns the latest view frustum volume, used to perform frustum culling. | |
Protected Member Functions | |
| virtual void | createRenderGraph () |
Creates a new RenderGraph instance for the view. | |
Private Attributes | |
| UPtr< RenderGraph > | mRenderGraph |
| The render graph instance used to render the view. | |
| size_t | mSettingsHash |
| The hash of the settings struct. | |
A class that represents a view inside the renderer.
A view is similar to a camera but it's more general. Cameras provide a view, but views can also be provided by reflection probes to render the scene around them or by other entities that needs to have spacial information about their surroundings in the scene.
| CeresEngine::RendererView::RendererView | ( | ) |
Creates a new RendererView.
|
virtual |
Destroys the RendererView and releases any renderer (and RenderAPI)-related resources.
Creates a new RenderGraph instance for the view.
Returns the latest view frustum volume, used to perform frustum culling.
Implemented in CeresEngine::RendererCamera.
|
inlinenoexcept |
The render graph instance used to render the view.
|
pure virtual |
The render target that the view should render to.
Implemented in CeresEngine::RendererCamera.
|
pure virtual |
A reference to the scene to be rendered by the view.
Implemented in CeresEngine::RendererCamera.
|
pure virtual |
Implemented in CeresEngine::RendererCamera.
|
pure virtual |
The uniform buffer storing the view GPU parameters used by the renderer.
Implemented in CeresEngine::RendererCamera.
|
pure virtual |
A structure that holds renderer-specific information for the view.
Implemented in CeresEngine::RendererCamera.
|
pure virtual |
A structure that holds renderer-specific information for the view.
Implemented in CeresEngine::RendererCamera.
|
virtual |
Prepares the view for the rendering of the current frame.
This will update uniform buffers and perform any other necessary operations necessary for rendering.
| context | A context struct that contains parameters given by the renderer. |
Reimplemented in CeresEngine::RendererCamera.
|
private |
The render graph instance used to render the view.
|
private |
The hash of the settings struct.
Used to detect changes in the render graph.