3#include <Foundation/Containers/Deque.h>
4#include <Foundation/Math/Transform.h>
5#include <Foundation/Threading/Mutex.h>
6#include <Foundation/Types/ArrayPtr.h>
7#include <RendererCore/RendererCoreDLL.h>
24 void SetResolution(plUInt32 uiWidth, plUInt32 uiHeight,
float fAspectRatio);
26 plUInt32 GetResolutionX()
const {
return m_uiResolutionX; }
27 plUInt32 GetResolutionY()
const {
return m_uiResolutionY; }
49 auto& inst = m_Instances.ExpandAndGetRef();
50 inst.m_pObject = pObject;
51 inst.m_Transform = transform;
62 return m_bAnyOccludersRasterized;
66 void SortObjectsFrontToBack();
67 void RasterizeObjects(plUInt32 uiMaxObjects);
68 void UpdateViewProjectionMatrix();
69 void ApplyModelViewProjectionMatrix(
const plTransform& modelTransform);
71 bool m_bAnyOccludersRasterized =
false;
73 plUInt32 m_uiResolutionX = 0;
74 plUInt32 m_uiResolutionY = 0;
75 float m_fAspectRation = 1.0f;
91 plRasterizerView* GetRasterizerView(plUInt32 uiWidth, plUInt32 uiHeight,
float fAspectRatio);
97 bool m_bInUse =
false;
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
A camera class that stores the orientation and some basic camera settings.
Definition Camera.h:41
A 8bit per channel unsigned normalized (values interpreted as 0-1) color storage format that represen...
Definition Color8UNorm.h:61
Provides a simple mechanism for mutual exclusion to prevent multiple threads from accessing a shared ...
Definition Mutex.h:13
Definition RasterizerObject.h:13
Definition RasterizerView.h:16
void AddObject(const plRasterizerObject *pObject, const plTransform &transform)
Adds an object as an occluder to the scene. Once all occluders have been rasterized,...
Definition RasterizerView.h:47
void SetCamera(const plCamera *pCamera)
Sets the camera from which to extract the rendering position, direction and field-of-view.
Definition RasterizerView.h:41
bool HasRasterizedAnyOccluders() const
Wether any occluder was actually added and also rasterized. If not, no need to do any visibility chec...
Definition RasterizerView.h:60
Definition RasterizerView.h:89
A Unique ptr manages an object and destroys that object when it goes out of scope....
Definition UniquePtr.h:10