virtual ~CameraContext()
destructor
Definition cameracontext.cc:28
static void UpdateCameras(const Graphics::FrameContext &ctx)
runs before frame is updated
Definition cameracontext.cc:48
static const Math::mat4 GetTransform(const Graphics::GraphicsEntityId id)
get transform
Definition cameracontext.cc:111
static void Create()
create context
Definition cameracontext.cc:37
static const Math::mat4 & GetView(const Graphics::GraphicsEntityId id)
get view
Definition cameracontext.cc:101
static const CameraSettings & GetSettings(const Graphics::GraphicsEntityId id)
get settings
Definition cameracontext.cc:141
@ Camera_Projection
Definition cameracontext.h:72
@ Camera_Settings
Definition cameracontext.h:71
@ Camera_View
Definition cameracontext.h:73
@ Camera_ViewProjection
Definition cameracontext.h:74
@ Camera_StageMask
Definition cameracontext.h:75
CameraContext()
constructor
Definition cameracontext.cc:20
static Graphics::StageMask GetStageMask(const Graphics::GraphicsEntityId id)
Get stage mask.
Definition cameracontext.cc:151
static void SetView(const Graphics::GraphicsEntityId id, const Math::mat4 &mat)
set view
Definition cameracontext.cc:91
static Graphics::GraphicsEntityId lodCamera
Definition cameracontext.h:87
static const Math::mat4 & GetViewProjection(const Graphics::GraphicsEntityId id)
get view-projection
Definition cameracontext.cc:131
static void SetupProjectionFov(const Graphics::GraphicsEntityId id, float aspect, float fov, float znear, float zfar, const Graphics::StageMask=Graphics::PRIMARY_STAGE_MASK)
setup as projection and fov
Definition cameracontext.cc:65
static void SetLODCamera(const Graphics::GraphicsEntityId id)
set the LOD camera
Definition cameracontext.cc:199
static void SetupOrthographic(const Graphics::GraphicsEntityId id, float width, float height, float znear, float zfar, const Graphics::StageMask=Graphics::PRIMARY_STAGE_MASK)
setup as ortographic
Definition cameracontext.cc:78
static Graphics::GraphicsEntityId GetLODCamera()
get the LOD camera
Definition cameracontext.cc:190
static const Math::mat4 & GetProjection(const Graphics::GraphicsEntityId id)
get projection
Definition cameracontext.cc:121
Ids::IdAllocator< Graphics::CameraSettings, Math::mat4, Math::mat4, Math::mat4, Graphics::StageMask > CameraAllocator
Definition cameracontext.h:83
static void RemoveLODCamera(const Graphics::GraphicsEntityId id)
Remove a camera from affecting lod.
Definition cameracontext.cc:179
static void AddLODCamera(const Graphics::GraphicsEntityId id)
Add a camera to affect lod.
Definition cameracontext.cc:170
static CameraAllocator cameraAllocator
Definition cameracontext.h:84
static void Dealloc(const Graphics::ContextEntityId id)
deallocate a slice
Definition cameracontext.h:108
static Util::Array< Graphics::GraphicsEntityId > LodCameras
Definition cameracontext.h:86
static Graphics::ContextEntityId Alloc()
allocate a new slice for this context
Definition cameracontext.h:99
static const Util::Array< Graphics::GraphicsEntityId > & GetLODCameras()
Get all cameras affecting LOD.
Definition cameracontext.cc:161
Definition camerasettings.h:20
Definition graphicscontext.h:175
An ID allocator associates an id with a slice in an N number of arrays.
Definition idallocator.h:39
Nebula's dynamic array class.
Definition array.h:60
Implements the shader server used by Vulkan.
Definition cameramanager.h:22
static constexpr StageMask PRIMARY_STAGE_MASK
Definition view.h:24
uint16_t StageMask
Definition view.h:23
Nebula's scalar datatype.
Definition graphicscontext.h:143
Definition graphicsserver.h:31
The graphics entity is only an Id, to which we can attach GraphicsContexts.
Definition graphicsentity.h:16
A 4x4 single point precision float matrix.
Definition mat4.h:49