Struct RendererAPI::PerViewportData#

Nested Relationships#

This struct is a nested type of Class RendererAPI.

Struct Documentation#

struct PerViewportData#

Per window data used for rendering.

Public Functions

PerViewportData() = default#

Constructor.

~PerViewportData()#

Destructor.

consteval PerViewportData(const PerViewportData&) noexcept = delete#

Copy constructor.

PerViewportData(PerViewportData&&) noexcept = default#

Move constructor.

consteval PerViewportData &operator=(const PerViewportData&) noexcept = delete#

Copy assignment operator.

PerViewportData &operator=(PerViewportData&&) noexcept = default#

Move assignment operator.

Public Members

TRAP::Window *Window = {}#
PerWindowState State = {}#
u32 ImageIndex = 0#
std::array<TRAP::Ref<CommandPool>, ImageCount> GraphicCommandPools#
std::array<CommandBuffer*, ImageCount> GraphicCommandBuffers = {}#
std::array<TRAP::Ref<Fence>, ImageCount> RenderCompleteFences#
std::array<TRAP::Ref<Semaphore>, ImageCount> ImageAcquiredSemaphores#
std::array<TRAP::Ref<Semaphore>, ImageCount> RenderCompleteSemaphores#
std::array<TRAP::Ref<Semaphore>, ImageCount> GraphicsCompleteSemaphores#
std::array<TRAP::Ref<QueryPool>, ImageCount> GraphicsTimestampQueryPools#
std::array<TRAP::Ref<Buffer>, ImageCount> GraphicsTimestampReadbackBuffers#
PipelineDesc GraphicsPipelineDesc#
TRAP::Ref<Pipeline> CurrentGraphicsPipeline#
f32 GraphicsFrameTime = {}#
bool Recording = {}#
TRAP::Ref<RenderTarget> NewShadingRateTexture#
std::array<TRAP::Ref<TRAP::Graphics::RenderTarget>, 3> CachedShadingRateTextures = {}#
TRAP::Ref<RenderTarget> DepthStencilTarget = nullptr#
f32 NewRenderScale = 1.0f#
f32 RenderScale = 1.0f#
TRAP::Ref<TRAP::Graphics::SwapChain> SwapChain#
bool ResizeSwapChain = false#
std::array<TRAP::Ref<RenderTarget>, ImageCount> TemporaryResolveRenderTargets#
std::vector<TRAP::Ref<RenderTarget>> InternalRenderTargets = {}#
u32 CurrentSwapChainImageIndex = {}#
RendererAPI::AntiAliasing CurrentAntiAliasing = RendererAPI::AntiAliasing::Off#
RendererAPI::SampleCount CurrentSampleCount = RendererAPI::SampleCount::One#
RendererAPI::Color ClearColor = {0.1, 0.1, 0.1, 1.0}#
RendererAPI::DepthStencil ClearDepthStencil = {0.0f, 0}#
bool CurrentVSync = {}#
bool NewVSync = {}#
std::array<TRAP::Ref<CommandPool>, ImageCount> ComputeCommandPools#
std::array<CommandBuffer*, ImageCount> ComputeCommandBuffers = {}#
std::array<TRAP::Ref<Fence>, ImageCount> ComputeCompleteFences#
std::array<TRAP::Ref<Semaphore>, ImageCount> ComputeCompleteSemaphores#
std::array<TRAP::Ref<QueryPool>, ImageCount> ComputeTimestampQueryPools#
std::array<TRAP::Ref<Buffer>, ImageCount> ComputeTimestampReadbackBuffers#
TRAP::Math::Vec3ui CurrentComputeWorkGroupSize = {}#
PipelineDesc ComputePipelineDesc#
TRAP::Ref<Pipeline> CurrentComputePipeline#
f32 ComputeFrameTime = {}#
bool RecordingCompute = {}#