XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGpuInstanceData Class Reference

#include <GpuInstanceData.h>

Classes

struct  UploadHandles

Public Member Functions

 xiiGpuInstanceData (const xiiWorld &world)
xiiResult UpdateFromExtraction (xiiArrayPtr< xiiRenderData *const > packets, xiiUInt64 frame)
xiiResult UpdateFromExtraction (const xiiExtractedRenderData &packets, xiiUInt64 frame)
xiiArrayPtr< const xiiGpuSceneInstance > GetInstances () const
xiiArrayPtr< const xiiMat4 > GetSkinningMatrices () const
xiiArrayPtr< const xiiGpuInstanceUploadRange > GetUploadRanges () const
xiiUInt32 GetInstanceCount () const
xiiUInt64 GetDataRevision () const
 Changes when packed records, membership or pose bytes change; never a serialized identity.
xiiUInt64 GetMaximumMeshletCount () const
xiiMeshResourceHandle GetMeshResource (xiiUInt32 drawIndex) const
xiiMaterialGpuHandle GetMaterialHandle (xiiUInt32 drawIndex) const
xiiArrayPtr< const float > GetMorphWeights (xiiUInt32 drawIndex) const
xiiMeshBufferResourceHandle GetMeshBufferResource (xiiUInt32 drawIndex) const
xiiArrayPtr< const xiiMeshMorphTarget > GetMorphTargets (xiiUInt32 drawIndex) const
xiiResult Resolve (xiiUInt32 gpuIdentity, xiiGpuInstanceSource &source) const
 Returns failure for background, retired candidates, a foreign world's identity or dead owners.
void SelectInstances (xiiArrayPtr< xiiRenderData *const > packets, xiiDynamicArray< xiiUInt32 > &indices) const
 Produces a compact candidate stream for a camera or picking subset; records are not copied.
UploadHandles AddUploadPass (xiiRenderGraph &graph, xiiUInt64 frame) const
const xiiGpuInstanceUploadStatistics & GetUploadStatistics () const

Detailed Description

Packed, derived GPU draw data for one world. Has no object authoring, hierarchy or transform propagation API. Only extraction changes membership; world/component handles remain authoritative. Update and borrowed reads require the owning world's CPU extraction boundary. Graph callbacks copy their required upload bytes so they never access mutable world/component storage.

Member Function Documentation

◆ AddUploadPass()

xiiGpuInstanceData::UploadHandles xiiGpuInstanceData::AddUploadPass ( xiiRenderGraph & graph,
xiiUInt64 frame ) const

Shared world allocations, imported by explicit graph handles. Dirty bytes are copied into graph-owned upload data; later cameras/occurrences reuse the same frame's physical buffers.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Meshes/GpuInstanceData.h
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Meshes/Implementation/GpuInstanceData.cpp