3#include <Core/Graphics/Camera.h>
4#include <Core/World/World.h>
5#include <RendererCore/Declarations.h>
6#include <RendererCore/Pipeline/Declarations.h>
22 void ReinitializeAllRenderTargetCameras();
33 void OnViewCreated(
plView* pView);
34 void OnCameraConfigsChanged(
void* dummy);
64 virtual void SerializeComponent(
plWorldWriter& inout_stream)
const override;
65 virtual void DeserializeComponent(
plWorldReader& inout_stream)
override;
68 virtual void OnActivated()
override;
69 virtual void OnDeactivated()
override;
83 void SetRenderTargetFile(
const char* szFile);
84 const char* GetRenderTargetFile()
const;
87 void SetRenderTargetRectOffset(
plVec2 value);
88 plVec2 GetRenderTargetRectOffset()
const {
return m_vRenderTargetRectOffset; }
91 void SetRenderTargetRectSize(
plVec2 value);
92 plVec2 GetRenderTargetRectSize()
const {
return m_vRenderTargetRectSize; }
99 void SetNearPlane(
float fVal);
100 float GetNearPlane()
const {
return m_fNearPlane; }
103 void SetFarPlane(
float fVal);
104 float GetFarPlane()
const {
return m_fFarPlane; }
107 void SetFieldOfView(
float fVal);
108 float GetFieldOfView()
const {
return m_fPerspectiveFieldOfView; }
111 void SetOrthoDimension(
float fVal);
112 float GetOrthoDimension()
const {
return m_fOrthoDimension; }
121 void SetRenderPipelineEnum(
const char* szFile);
122 const char* GetRenderPipelineEnum()
const;
124 void SetAperture(
float fAperture);
125 float GetAperture()
const {
return m_fAperture; }
127 void SetShutterTime(
plTime shutterTime);
128 plTime GetShutterTime()
const {
return m_ShutterTime; }
130 void SetISO(
float fISO);
131 float GetISO()
const {
return m_fISO; }
133 float GetFocusDistance()
const {
return m_fFocusDistance; }
134 void SetFocusDistance(
float fFocusDistance);
136 void SetExposureCompensation(
float fEC);
137 float GetExposureCompensation()
const {
return m_fExposureCompensation; }
139 float GetEV100()
const;
140 float GetExposure()
const;
148 void ApplySettingsToView(
plView* pView)
const;
151 void UpdateRenderTargetCamera();
152 void ShowStats(
plView* pView);
159 float m_fNearPlane = 0.25f;
160 float m_fFarPlane = 1000.0f;
161 float m_fPerspectiveFieldOfView = 60.0f;
162 float m_fOrthoDimension = 10.0f;
165 float m_fAperture = 1.0f;
167 float m_fISO = 100.0f;
168 float m_fFocusDistance = 100.0f;
169 float m_fExposureCompensation = 0.0f;
171 void MarkAsModified();
174 bool m_bIsModified =
false;
175 bool m_bShowStats =
false;
176 bool m_bRenderTargetInitialized =
false;
179 plInt8 m_iEditorShortcut = -1;
181 void ActivateRenderToTexture();
182 void DeactivateRenderToTexture();
Adds a camera to the scene.
Definition CameraComponent.h:57
plTagSet m_ExcludeTags
If non-empty, objects with these tags will be excluded from this camera's output.
Definition CameraComponent.h:146
plTagSet m_IncludeTags
If non-empty, only objects with these tags will be included in this camera's output.
Definition CameraComponent.h:143
Definition CameraComponent.h:12
A camera class that stores the orientation and some basic camera settings.
Definition Camera.h:41
Base class of all component types.
Definition Component.h:25
Definition ComponentManager.h:88
Definition DynamicArray.h:81
This class is optimized to take nearly no memory (sizeof(void*)) and to allow very fast checks whethe...
Definition HashedString.h:25
A dynamic collection of tags featuring fast lookups.
Definition TagSet.h:23
Definition Declarations.h:64
Encapsulates a view on the given world through the given camera and rendered with the specified Rende...
Definition View.h:21
A world encapsulates a scene graph of game objects and various component managers and their component...
Definition World.h:22
virtual void Initialize()
This method is called after the constructor. A derived type can override this method to do initializa...
Definition WorldModule.h:98
virtual void Deinitialize()
This method is called before the destructor. A derived type can override this method to do deinitiali...
Definition WorldModule.h:101
Reads a world description from a stream. Allows to instantiate that world multiple times in different...
Definition WorldReader.h:47
Stores an entire plWorld in a stream.
Definition WorldWriter.h:13
Enum
Definition Declarations.h:85
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
These events may be sent by a specific plResource or by the plResourceManager.
Definition Declarations.h:22
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12
PL_ALWAYS_INLINE static constexpr plTime MakeFromSeconds(double fSeconds)
Creates an instance of plTime that was initialized from seconds.
Definition Time.h:30
Definition WorldModule.h:33