Nebula
|
Implements the shader server used by Vulkan.
Classes | |
struct | BindlessRegistryCreateInfo |
class | CameraContext |
Handles cameras. More... | |
class | CameraSettings |
struct | ContextEntityId |
class | EnvironmentContext |
The environment context deals with anything related to the sky and atmosphere effects. More... | |
struct | FrameContext |
struct | GlobalConstantsCreateInfo |
class | GraphicsContext |
struct | GraphicsContextFunctionBundle |
struct | GraphicsContextState |
A graphics context is a resource which holds a contextual representation for a graphics entity. More... | |
struct | GraphicsEntityId |
The graphics entity is only an Id, to which we can attach GraphicsContexts. More... | |
class | GraphicsServer |
The graphics server is the main singleton for the Graphics subsystem. More... | |
class | LightProbeContext |
Adds a light probe component to graphics entities. More... | |
class | Stage |
A stage contains a list of graphics entities, which can be rendered through a View. More... | |
class | View |
A view describes a camera which can observe a Stage. More... | |
Typedefs | |
typedef uint32_t | BindlessIndex |
using | ViewIndependentCall = void(*)(const Graphics::FrameContext& ctx) |
using | ViewDependentCall = void(*)(const Ptr<Graphics::View>& view, const Graphics::FrameContext& ctx) |
Functions | |
void | CreateBindlessRegistry (const BindlessRegistryCreateInfo &info) |
Create bindless registry. | |
void | DestroyBindlessRegistry () |
Destroy bindless registry. | |
BindlessIndex | RegisterTexture (const CoreGraphics::TextureId &tex, CoreGraphics::TextureType type, bool depth=false, bool stencil=false) |
Register texture. | |
void | ReregisterTexture (const CoreGraphics::TextureId &tex, CoreGraphics::TextureType type, BindlessIndex id, bool depth=false, bool stencil=false) |
Reregister texture on the same slot. | |
void | UnregisterTexture (const BindlessIndex id, const CoreGraphics::TextureType type) |
Unregister texture. | |
__ImplementContext (CameraContext, CameraContext::cameraAllocator) | |
__ImplementPluginContext (EnvironmentContext) | |
Math::vec4 | CalculateZenithLuminanceYxy (float t, float thetaS) |
void | CalculatePerezDistribution (float t, Math::vec4 &A, Math::vec4 &B, Math::vec4 &C, Math::vec4 &D, Math::vec4 &E) |
void | CreateGlobalConstants (const GlobalConstantsCreateInfo &info) |
Create global constants. | |
void | DestroyGlobalConstants () |
Destroy global constants. | |
void | AllocateGlobalConstants () |
Run when starting frame. | |
void | UpdateTickParams (const Shared::PerTickParams &tickParams) |
Set tick params. | |
void | UpdateViewConstants (const Shared::ViewConstants &viewConstants) |
Set view params. | |
void | UpdateShadowConstants (const Shared::ShadowViewConstants &shadowViewConstants) |
Set camera params. | |
void | FlushUpdates (const CoreGraphics::CmdBufferId buf, const CoreGraphics::QueueType queue) |
Flush constants by recording update command to command buffer. | |
void | GetOffsets (IndexT &tickOffset, IndexT &viewOffset, IndexT &shadowOffset) |
Get frame constant offsets. | |
const Shared::PerTickParams & | GetTickParams () |
Get tick params constant buffer. | |
const Shared::ViewConstants & | GetViewConstants () |
Get current view constants. | |
const Shared::ShadowViewConstants & | GetShadowViewConstants () |
Get current shadow view constnats. | |
void | SetGlobalEnvironmentTextures (const CoreGraphics::TextureId &env, const CoreGraphics::TextureId &irr, const SizeT numMips) |
Set global irradiance and cubemaps. | |
void | SetupBufferConstants () |
Setup gbuffer bindings. | |
const CoreGraphics::ResourceTableId | GetFrameResourceTable (uint32_t bufferIndex) |
Get per-tick resource table for graphics. | |
const CoreGraphics::ResourceTableId | GetTickResourceTable (uint32_t bufferIndex) |
Get per-tick resource table for graphics. | |
__ImplementClass (Graphics::GraphicsServer, 'GFXS', Core::RefCounted) | |
__ImplementSingleton (Graphics::GraphicsServer) | |
static GraphicsEntityId | CreateEntity () |
static void | DestroyEntity (const GraphicsEntityId id) |
template<typename ... CONTEXTS> | |
static void | RegisterEntity (const GraphicsEntityId id) |
template<typename ... CONTEXTS> | |
static void | DeregisterEntity (const GraphicsEntityId id) |
__ImplementClass (Graphics::Stage, 'STAG', Core::RefCounted) | |
__ImplementClass (Graphics::View, 'VIEW', Core::RefCounted) | |
__ImplementContext (LightProbeContext, LightProbeContext::lightProbeAllocator) | |
typedef uint32_t Graphics::BindlessIndex |
using Graphics::ViewDependentCall = void(*)(const Ptr<Graphics::View>& view, const Graphics::FrameContext& ctx) |
using Graphics::ViewIndependentCall = void(*)(const Graphics::FrameContext& ctx) |
Graphics::__ImplementClass | ( | Graphics::GraphicsServer | , |
'GFXS' | , | ||
Core::RefCounted | ) |
Graphics::__ImplementClass | ( | Graphics::Stage | , |
'STAG' | , | ||
Core::RefCounted | ) |
Graphics::__ImplementClass | ( | Graphics::View | , |
'VIEW' | , | ||
Core::RefCounted | ) |
Graphics::__ImplementContext | ( | CameraContext | , |
CameraContext::cameraAllocator | ) |
Graphics::__ImplementContext | ( | LightProbeContext | , |
LightProbeContext::lightProbeAllocator | ) |
Graphics::__ImplementPluginContext | ( | EnvironmentContext | ) |
Graphics::__ImplementSingleton | ( | Graphics::GraphicsServer | ) |
void Graphics::AllocateGlobalConstants | ( | ) |
Run when starting frame.
void Graphics::CalculatePerezDistribution | ( | float | t, |
Math::vec4 & | A, | ||
Math::vec4 & | B, | ||
Math::vec4 & | C, | ||
Math::vec4 & | D, | ||
Math::vec4 & | E ) |
Math::vec4 Graphics::CalculateZenithLuminanceYxy | ( | float | t, |
float | thetaS ) |
void Graphics::CreateBindlessRegistry | ( | const BindlessRegistryCreateInfo & | info | ) |
Create bindless registry.
|
static |
void Graphics::CreateGlobalConstants | ( | const GlobalConstantsCreateInfo & | info | ) |
Create global constants.
|
static |
void Graphics::DestroyBindlessRegistry | ( | ) |
Destroy bindless registry.
|
static |
void Graphics::DestroyGlobalConstants | ( | ) |
Destroy global constants.
void Graphics::FlushUpdates | ( | const CoreGraphics::CmdBufferId | buf, |
const CoreGraphics::QueueType | queue ) |
Flush constants by recording update command to command buffer.
const CoreGraphics::ResourceTableId Graphics::GetFrameResourceTable | ( | uint32_t | bufferIndex | ) |
Get per-tick resource table for graphics.
Get frame constant offsets.
const Shared::ShadowViewConstants & Graphics::GetShadowViewConstants | ( | ) |
Get current shadow view constnats.
const Shared::PerTickParams & Graphics::GetTickParams | ( | ) |
Get tick params constant buffer.
const CoreGraphics::ResourceTableId Graphics::GetTickResourceTable | ( | uint32_t | bufferIndex | ) |
Get per-tick resource table for graphics.
const Shared::ViewConstants & Graphics::GetViewConstants | ( | ) |
Get current view constants.
|
static |
BindlessIndex Graphics::RegisterTexture | ( | const CoreGraphics::TextureId & | tex, |
CoreGraphics::TextureType | type, | ||
bool | depth, | ||
bool | stencil ) |
Register texture.
void Graphics::ReregisterTexture | ( | const CoreGraphics::TextureId & | tex, |
CoreGraphics::TextureType | type, | ||
BindlessIndex | index, | ||
bool | depth, | ||
bool | stencil ) |
Reregister texture on the same slot.
void Graphics::SetGlobalEnvironmentTextures | ( | const CoreGraphics::TextureId & | env, |
const CoreGraphics::TextureId & | irr, | ||
const SizeT | numMips ) |
Set global irradiance and cubemaps.
void Graphics::SetupBufferConstants | ( | ) |
Setup gbuffer bindings.
void Graphics::UnregisterTexture | ( | const BindlessIndex | id, |
const CoreGraphics::TextureType | type ) |
Unregister texture.
void Graphics::UpdateShadowConstants | ( | const Shared::ShadowViewConstants & | shadowViewConstants | ) |
Set camera params.
void Graphics::UpdateTickParams | ( | const Shared::PerTickParams & | tickParams | ) |
Set tick params.
void Graphics::UpdateViewConstants | ( | const Shared::ViewConstants & | viewConstants | ) |
Set view params.
Threading::CriticalSection Graphics::bindResourceCriticalSection |
int Graphics::bits |
Math::vec4 Graphics::bloomColor |
float Graphics::bloomIntensity |
bool Graphics::computeDirty |
CoreGraphics::TextureId Graphics::defaultEnvironmentMap |
CoreGraphics::TextureId Graphics::defaultIrradianceMap |
struct { ... } Graphics::envState |
float Graphics::fadeValue |
Math::vec4 Graphics::fogColor |
float Graphics::fogDistances[2] |
Util::FixedArray<CoreGraphics::ResourceTableId> Graphics::frameResourceTables |
bool Graphics::graphicsDirty |
float Graphics::maxEyeLuminance |
int Graphics::numGlobalEnvironmentMips |
Core::CVar* Graphics::r_show_env_params |
float Graphics::saturation |
IndexT Graphics::shadowViewCboOffset |
Shared::ShadowViewConstants Graphics::shadowViewConstants |
DirtySet Graphics::shadowViewConstantsDirty |
Graphics::GraphicsEntityId Graphics::skyBoxEntity |
float Graphics::skyTurbidity |
struct { ... } Graphics::state |
Graphics::GraphicsEntityId Graphics::sunEntity |
CoreGraphics::ResourcePipelineId Graphics::tableLayout |
Util::FixedPool<uint32_t> Graphics::texturePool |
IndexT Graphics::tickCboOffset |
Shared::PerTickParams Graphics::tickParams |
DirtySet Graphics::tickParamsDirty |
Util::FixedArray<CoreGraphics::ResourceTableId> Graphics::tickResourceTables |
IndexT Graphics::viewCboOffset |
Shared::ViewConstants Graphics::viewConstants |
DirtySet Graphics::viewConstantsDirty |