![]() |
XII Release 0.1.0
|
#include <MaterialManager.h>
Static Public Member Functions | |
| static xiiResult | Configure (const xiiMaterialGpuStorageDescription &description) |
| static bool | IsSubsystemInitialized () |
| static bool | IsInitialized () |
| static xiiResult | EnsureInitialized () |
| static void | BeginFrame (xiiUInt64 uiFrameIndex, xiiUInt64 uiCompletedFrame) |
| static void | PrepareGpuResources () |
| static xiiMaterialGpuHandle | RegisterMaterial (xiiSharedPtr< xiiMaterialInstance > pInstance) |
| static void | UnregisterMaterial (xiiMaterialGpuHandle handle) |
| static xiiMaterialGpuHandle | AcquireMaterialResource (const xiiMaterialResourceHandle &hMaterial) |
| static void | ReleaseMaterialResource (const xiiMaterialResourceHandle &hMaterial) |
| static xiiMaterialGpuStorage::UploadHandles | AddUploadPasses (xiiRenderGraph &graph) |
| static xiiRenderGraphBufferHandle | AddUploadPass (xiiRenderGraph &graph) |
| static xiiResult | ExtractRenderData (xiiMaterialGpuHandle handle, xiiMaterialRenderData &out_renderData) |
| static xiiMaterialGpuStorage & | GetGpuStorage () |
| static xiiResult | CreateRuntimeMaterial (const xiiMaterialSchemaDescription &description, const xiiMaterialRuntimeState &runtimeState, xiiSharedPtr< xiiMaterialSchema > &out_pSchema, xiiSharedPtr< xiiMaterialInstance > &out_pInstance, xiiStringBuilder *out_pError=nullptr) |
| Builds a generated material using the same schema validation as resource-backed materials. | |
Process-wide facade for material instances and the frame-sliced GPU material table.
State is allocated during GraphicsCore startup rather than by a global constructor or renderer owner. This guarantees that Foundation allocators and the default GAL device are available and that all GPU references are released before device and allocator shutdown.
|
staticnodiscard |
Acquires the resource's immutable default instance in the global GPU table. Repeated acquisitions share one stable slot; hot reloads replace its contents without changing the slot index stored in GPU scene instances.
|
staticnodiscard |
Reconfigures the global GPU table. This is only valid before materials are registered. Before first consumption the description is retained without allocating GPU buffers.
|
static |
Refreshes resource-backed instances and bindless texture indices after extraction has acquired new materials for the current frame. Safe to call more than once per frame.