19#include "gpulang/render/system_shaders/shared.h"
92 Shared::ViewConstants::STRUCT,
93 Shared::ShadowViewConstants::STRUCT,
An ID allocator associates an id with a slice in an N number of arrays.
Definition idallocator.h:39
A 2d rectangle class.
Definition rectangle.h:20
#define ID_32_TYPE(x)
Definition id.h:16
Implements the shader server used by Vulkan.
Definition cameramanager.h:22
Shared::ShadowViewConstants::STRUCT & ViewGetShadowConstants(const ViewId id)
Get shadow view constants.
Definition view.cc:177
void ViewDisable(const ViewId id)
Disable view.
Definition view.cc:213
void ViewSetViewport(const ViewId id, const Math::rectangle< int > &rect)
Set view viewport.
Definition view.cc:132
ViewAllocator viewAllocator
Definition view.cc:19
void ViewSetFrameScript(const ViewId id, bool(*func)(const Math::rectangle< int > &viewport, IndexT frameIndex, IndexT bufferIndex))
Set view frame script.
Definition view.cc:123
const Math::rectangle< int > & ViewGetViewport(const ViewId id)
Get view viewport.
Definition view.cc:141
static constexpr StageMask SHADOW_STAGE_MASK
Definition view.h:25
bool ViewRender(const ViewId id, const IndexT frameIndex, const Timing::Time time, const IndexT bufferIndex)
Render view.
Definition view.cc:104
const Graphics::StageMask ViewGetStageMask(const ViewId id)
Get view stage.
Definition view.cc:195
void DestroyView(const ViewId id)
Destroy view.
Definition view.cc:40
bool ViewIsEnabled(const ViewId id)
Check if view is enabled.
Definition view.cc:222
static constexpr StageMask PRIMARY_STAGE_MASK
Definition view.h:24
@ View_ShadowConstants
Definition view.h:82
@ View_Viewport
Definition view.h:84
@ View_Camera
Definition view.h:87
@ View_StageMask
Definition view.h:85
@ View_Enabled
Definition view.h:88
@ View_FrameScriptFunc
Definition view.h:86
@ View_ViewConstants
Definition view.h:81
@ View_OutputTarget
Definition view.h:83
void ViewEnable(const ViewId id)
Enable view.
Definition view.cc:204
Shared::ViewConstants::STRUCT & ViewGetViewConstants(const ViewId id)
Get view constants.
Definition view.cc:168
ViewId CreateView(const ViewCreateInfo &info)
Create a new view.
Definition view.cc:25
static constexpr StageMask DEFAULT_STAGE_MASK
Definition view.h:26
const GraphicsEntityId & ViewGetCamera(const ViewId id)
Get view camera.
Definition view.cc:159
uint16_t StageMask
Definition view.h:23
void ViewSetStageMask(const ViewId id, const Graphics::StageMask stage)
Set view stage.
Definition view.cc:186
void ViewSetCamera(const ViewId id, const GraphicsEntityId &camera)
Set view camera.
Definition view.cc:150
static constexpr StageMask ALL_STAGE_MASK
Definition view.h:27
static constexpr StageMask StageMaskFromIndex(const IndexT stageIndex)
Definition view.h:29
Ids::IdAllocator< Shared::ViewConstants::STRUCT, Shared::ShadowViewConstants::STRUCT, CoreGraphics::TextureId, Math::rectangle< int >, Graphics::StageMask, bool(*)(const Math::rectangle< int > &viewport, IndexT frameIndex, IndexT bufferIndex), GraphicsEntityId, bool > ViewAllocator
Definition view.h:101
void ViewApply(const ViewId id)
Apply view.
Definition view.cc:53
double Time
the time datatype
Definition time.h:18
Compile time configuration options for the CoreGraphics subsystem.
texture type
Definition texture.h:25
The graphics entity is only an Id, to which we can attach GraphicsContexts.
Definition graphicsentity.h:16
Graphics::GraphicsEntityId camera
Definition view.h:40
Math::rectangle< int > viewport
Definition view.h:39
Graphics::StageMask stageMask
Definition view.h:41
bool(* frameScript)(const Math::rectangle< int > &viewport, IndexT frameIndex, IndexT bufferIndex)
Definition view.h:38
Typedefs for the Timing subsystem.
int IndexT
Definition types.h:41