Kanzi 4.1.0
kanzi::gfx::GPUSceneCreateInfo Struct Reference

Creation information for a GPU scene. More...

#include <kanzi/gfx/create_info.hpp>

Inheritance diagram for kanzi::gfx::GPUSceneCreateInfo:
[legend]

Public Types

using HandleType
 

Public Attributes

size_t frameIdx
 Renderer frame counter, used to select the per-frame-in-flight descriptor set slot.
 
GPUSceneHandleGuard gpuScene
 Handle to the GPU scene object being updated.
 
VectorMap< string, ResourceSetCreateInfo::ImageViewimageViews
 Bindless texture image views to bind into the GPU scene descriptor set, keyed by binding name.
 
uint32_t instanceInfosBufferDataSize
 Byte size of the instance info data in the staging buffer.
 
BufferHandleGuard instanceInfosBufferHandle
 Staging buffer containing the per-instance transform/mesh-index data (GPUSceneInstanceInfo[]).
 
uint32_t instanceInfosBufferOffset
 Byte offset into instanceInfosBufferHandle where the data starts.
 
bool instanceInfosUpdated
 Always set each frame; instances are rebuilt from scratch every frame.
 
uint32_t materialInfosBufferDataSize
 Byte size of the material info data in the staging buffer.
 
BufferHandleGuard materialInfosBufferHandle
 Staging buffer containing the packed per-material parameter data.
 
uint32_t materialInfosBufferOffset
 Byte offset into materialInfosBufferHandle where the data starts.
 
bool materialInfosUpdated
 Set when material info data has changed this frame.
 
uint32_t meshInfosBufferDataSize
 Byte size of the mesh info data in the staging buffer.
 
BufferHandleGuard meshInfosBufferHandle
 Staging buffer containing the per-mesh geometry info array (GPUSceneMeshInfo[]).
 
uint32_t meshInfosBufferOffset
 Byte offset into meshInfosBufferHandle where the data starts.
 
bool meshInfosUpdated
 Set when mesh info data has changed this frame.
 
VectorMap< string, ResourceSetCreateInfo::Samplersamplers
 Samplers paired with the bindless textures, keyed by binding name.
 
BufferHandleGuard sceneInfoBufferHandle
 Staging buffer containing the GPUSceneInfo uniform (device addresses of the three info arrays).
 
uint32_t sceneInfoBufferOffset
 Byte offset into sceneInfoBufferHandle where the GPUSceneInfo struct starts.
 
size_t sceneInfoDataSize
 Size of GPUSceneInfo.
 
bool sceneInfoUpdated
 Set when the scene info uniform has been re-uploaded this frame.
 
bool texturesUpdated
 Set when imageViews/samplers have changed this frame and the descriptor set must be updated.
 
- Public Attributes inherited from kanzi::gfx::BaseCreateInfo
string_view name
 The name of the graphics object, useful for debugging.
 

Detailed Description

Creation information for a GPU scene.

Since
Kanzi 4.1.0
Attention
This feature is experimental and is likely to change in future releases.

Member Typedef Documentation

◆ HandleType

Member Data Documentation

◆ gpuScene

GPUSceneHandleGuard kanzi::gfx::GPUSceneCreateInfo::gpuScene

Handle to the GPU scene object being updated.

◆ imageViews

VectorMap<string, ResourceSetCreateInfo::ImageView> kanzi::gfx::GPUSceneCreateInfo::imageViews

Bindless texture image views to bind into the GPU scene descriptor set, keyed by binding name.

◆ samplers

VectorMap<string, ResourceSetCreateInfo::Sampler> kanzi::gfx::GPUSceneCreateInfo::samplers

Samplers paired with the bindless textures, keyed by binding name.

◆ texturesUpdated

bool kanzi::gfx::GPUSceneCreateInfo::texturesUpdated

Set when imageViews/samplers have changed this frame and the descriptor set must be updated.

◆ meshInfosBufferHandle

BufferHandleGuard kanzi::gfx::GPUSceneCreateInfo::meshInfosBufferHandle

Staging buffer containing the per-mesh geometry info array (GPUSceneMeshInfo[]).

◆ meshInfosBufferOffset

uint32_t kanzi::gfx::GPUSceneCreateInfo::meshInfosBufferOffset

Byte offset into meshInfosBufferHandle where the data starts.

◆ meshInfosBufferDataSize

uint32_t kanzi::gfx::GPUSceneCreateInfo::meshInfosBufferDataSize

Byte size of the mesh info data in the staging buffer.

◆ meshInfosUpdated

bool kanzi::gfx::GPUSceneCreateInfo::meshInfosUpdated

Set when mesh info data has changed this frame.

◆ instanceInfosBufferHandle

BufferHandleGuard kanzi::gfx::GPUSceneCreateInfo::instanceInfosBufferHandle

Staging buffer containing the per-instance transform/mesh-index data (GPUSceneInstanceInfo[]).

◆ instanceInfosBufferOffset

uint32_t kanzi::gfx::GPUSceneCreateInfo::instanceInfosBufferOffset

Byte offset into instanceInfosBufferHandle where the data starts.

◆ instanceInfosBufferDataSize

uint32_t kanzi::gfx::GPUSceneCreateInfo::instanceInfosBufferDataSize

Byte size of the instance info data in the staging buffer.

◆ instanceInfosUpdated

bool kanzi::gfx::GPUSceneCreateInfo::instanceInfosUpdated

Always set each frame; instances are rebuilt from scratch every frame.

◆ materialInfosBufferHandle

BufferHandleGuard kanzi::gfx::GPUSceneCreateInfo::materialInfosBufferHandle

Staging buffer containing the packed per-material parameter data.

◆ materialInfosBufferOffset

uint32_t kanzi::gfx::GPUSceneCreateInfo::materialInfosBufferOffset

Byte offset into materialInfosBufferHandle where the data starts.

◆ materialInfosBufferDataSize

uint32_t kanzi::gfx::GPUSceneCreateInfo::materialInfosBufferDataSize

Byte size of the material info data in the staging buffer.

◆ materialInfosUpdated

bool kanzi::gfx::GPUSceneCreateInfo::materialInfosUpdated

Set when material info data has changed this frame.

◆ sceneInfoBufferHandle

BufferHandleGuard kanzi::gfx::GPUSceneCreateInfo::sceneInfoBufferHandle

Staging buffer containing the GPUSceneInfo uniform (device addresses of the three info arrays).

◆ sceneInfoBufferOffset

uint32_t kanzi::gfx::GPUSceneCreateInfo::sceneInfoBufferOffset

Byte offset into sceneInfoBufferHandle where the GPUSceneInfo struct starts.

◆ sceneInfoDataSize

size_t kanzi::gfx::GPUSceneCreateInfo::sceneInfoDataSize

Size of GPUSceneInfo.

◆ sceneInfoUpdated

bool kanzi::gfx::GPUSceneCreateInfo::sceneInfoUpdated

Set when the scene info uniform has been re-uploaded this frame.

◆ frameIdx

size_t kanzi::gfx::GPUSceneCreateInfo::frameIdx

Renderer frame counter, used to select the per-frame-in-flight descriptor set slot.


The documentation for this struct was generated from the following file: