|
CeresEngine 0.2.0
A game development framework
|
A class that represents a camera inside the renderer. More...
#include <CeresEngine/Renderer/RendererCamera.hpp>
Public Member Functions | |
| RendererCamera (RendererCameraManager &manager, RendererScene &scene) | |
| Creates a new RendererCamera. | |
| ~RendererCamera () noexcept override | |
| Destroys the renderer camera and releases any renderer (and RenderAPI)-related resources. | |
| void | synchronize (const Transform &transform, const CameraComponent &component) |
| Update the renderer camera with data from a transform and the component. | |
| void | prepare (RendererContext &context) final |
| Prepares the camera for the rendering of the current frame. | |
| RendererScene & | getScene () const final |
| const CameraComponent & | getComponent () const noexcept |
| A copy of the latest camera component. | |
| const RendererCameraSettings & | getSettings () const final |
| const RendererCameraFlags & | getFlags () const noexcept |
| A set of flags that customize and represent the state of the object. | |
| void | setFlags (const RendererCameraFlags &flags) |
| A set of flags that customize and represent the state of the object. | |
| const RendererCameraDirtyFlags & | getDirtyFlags () const noexcept |
| A set of flags that represent the dirty portions of the object. | |
| bool | isDirty () const noexcept |
| If set to true, the camera is dirty and needs to be synchronized from the entity. | |
| void | markAsDirty (const RendererCameraDirtyFlags &flags=RendererCameraDirtyFlag::All) noexcept |
| If set to true, the camera is dirty and needs to be synchronized from the entity. | |
| const RendererCameraInfo & | getViewInfo () const final |
| A structure that holds renderer-specific information for the view. | |
| RendererCameraInfo & | getViewInfo () final |
| A structure that holds renderer-specific information for the view. | |
| const GPUBindlessBuffer & | getUniformBuffer () const final |
| The uniform buffer storing the view GPU parameters used by the renderer. | |
| const GPUImagePtr & | getRenderImage () const final |
| The render target that the view should render to. | |
| const ConvexVolume & | getFrustumVolume () const final |
| Returns the latest view frustum volume, used to perform frustum culling. | |
Public Member Functions inherited from CeresEngine::RendererView | |
| RendererView () | |
Creates a new RendererView. | |
| virtual | ~RendererView () |
Destroys the RendererView and releases any renderer (and RenderAPI)-related resources. | |
| RenderGraph * | getRenderGraph () const noexcept |
| The render graph instance used to render the view. | |
Public Member Functions inherited from CeresEngine::TRendererSceneObject< RendererCamera > | |
| TRendererSceneObject (Args &&... args) | |
Creates a new TRendererSceneObject instance. | |
| ~TRendererSceneObject () noexcept override | |
Destroys an existing TRendererSceneObject instance. | |
Public Member Functions inherited from CeresEngine::TRendererObject< SelfType, BaseType > | |
| template<typename... Args> | |
| TRendererObject (ManagerType &manager, Args &&... args) | |
Creates a new TRendererObject instance. | |
| void | destroy () noexcept override |
Destroys the RendererObject. | |
| ManagerType & | getManager () const noexcept |
| The owning object manager. | |
Public Member Functions inherited from CeresEngine::RendererObject | |
| RendererObject ()=default | |
Creates a new RendererObject instance. | |
| virtual | ~RendererObject () noexcept=default |
Destroys an existing RendererObject instance. | |
| RendererObjectID | getID () const noexcept |
| An identifier that uniquely identifies this object in the renderer. | |
Private Types | |
| using | super = TRendererSceneObject< RendererCamera > |
Private Attributes | |
| CameraComponent | mComponent |
| A copy of the latest camera component. | |
| RendererCameraFlags | mFlags |
| A set of flags that customize and represent the state of the object. | |
| RendererCameraDirtyFlags | mDirtyFlags = RendererCameraDirtyFlag::All |
| A set of flags that represent the dirty portions of the object. | |
| bool | mDirty = true |
| If set to true, the camera is dirty and needs to be synchronized from the entity. | |
| RendererCameraInfo | mInfo |
| A structure that holds renderer-specific information for the camera. | |
| RendererCameraParams | mParameters |
| The GPU parameters. Will be copied to the GPU uniform buffer. | |
| GPUDynamicBindlessBuffer< RendererCameraParams > | mUniformBuffer |
| The uniform buffer storing the camera GPU parameters used by the renderer. | |
Friends | |
| class | RendererCameraManager |
Additional Inherited Members | |
Public Attributes inherited from CeresEngine::RendererObject | |
| Event< void(RendererObjectID newID)> | willChangeID |
| An event called whenever the object is about to change it's ID. | |
| Event< void(RendererObjectID oldID)> | didChangeID |
| An event called whenever the object changes it's ID. | |
Protected Member Functions inherited from CeresEngine::RendererView | |
| virtual void | createRenderGraph () |
Creates a new RenderGraph instance for the view. | |
Protected Attributes inherited from CeresEngine::TRendererObject< SelfType, BaseType > | |
| ManagerType & | mManager |
| The owning object manager. | |
Protected Attributes inherited from CeresEngine::RendererObject | |
| RendererObjectID | mID |
| An identifier that uniquely identifies this object in the renderer. | |
A class that represents a camera inside the renderer.
|
explicit |
Creates a new RendererCamera.
| manager | The owning manager. |
| scene | A reference to the owning scene. |
|
overridenoexcept |
Destroys the renderer camera and releases any renderer (and RenderAPI)-related resources.
|
inlinenoexcept |
A copy of the latest camera component.
|
inlinenoexcept |
A set of flags that represent the dirty portions of the object.
|
inlinenoexcept |
A set of flags that customize and represent the state of the object.
|
inlinefinalvirtual |
Returns the latest view frustum volume, used to perform frustum culling.
Implements CeresEngine::RendererView.
|
inlinefinalvirtual |
The render target that the view should render to.
Implements CeresEngine::RendererView.
|
inlinefinalvirtual |
Implements CeresEngine::RendererView.
|
inlinefinalvirtual |
Implements CeresEngine::RendererView.
|
inlinefinalvirtual |
The uniform buffer storing the view GPU parameters used by the renderer.
Implements CeresEngine::RendererView.
|
inlinefinalvirtual |
A structure that holds renderer-specific information for the view.
Implements CeresEngine::RendererView.
|
inlinefinalvirtual |
A structure that holds renderer-specific information for the view.
Implements CeresEngine::RendererView.
|
inlinenoexcept |
If set to true, the camera is dirty and needs to be synchronized from the entity.
|
noexcept |
If set to true, the camera is dirty and needs to be synchronized from the entity.
|
finalvirtual |
Prepares the camera 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 from CeresEngine::RendererView.
| void CeresEngine::RendererCamera::setFlags | ( | const RendererCameraFlags & | flags | ) |
A set of flags that customize and represent the state of the object.
| void CeresEngine::RendererCamera::synchronize | ( | const Transform & | transform, |
| const CameraComponent & | component | ||
| ) |
Update the renderer camera with data from a transform and the component.
RenderingSystem during a synchronization point.| transform | The camera transform. |
| component | The camera component. |
|
friend |
|
private |
A copy of the latest camera component.
If set to true, the camera is dirty and needs to be synchronized from the entity.
|
private |
A set of flags that represent the dirty portions of the object.
|
private |
A set of flags that customize and represent the state of the object.
|
private |
A structure that holds renderer-specific information for the camera.
|
private |
The GPU parameters. Will be copied to the GPU uniform buffer.
|
private |
The uniform buffer storing the camera GPU parameters used by the renderer.