public sealed class AssetMeshSourceThe geometry a scene's mesh references name, loaded through the content manager.
Remarks
The join that made MeshRenderable mean something. Everything either side of it was finished — the catalog resolves a reference, the manager loads and shares the bytes, and MeshExtractionSystem puts a render object in the store — and between them stood one function returning an empty mesh, so an entity carrying a mesh reference was authored, saved, compiled, loaded and invisible.
Nothing here waits. A load is started on the first ask and the answer is "not yet" until it lands; the extraction system leaves the entity alone and asks again next frame. The alternative is a synchronous load inside extraction, which stalls the frame a level starts on every mesh in it — the one frame in the run where the I/O is worst placed.
A handle per reference, kept. An AssetHandle`1 is the claim that keeps the mesh and everything it depends on loaded, so dropping it would unload the geometry a residency slice was built from. Keeping the failed ones matters just as much: without that a reference nothing can resolve is retried every frame for the life of the level.
Fields and properties (3)
public int RequestedHow many distinct meshes have been asked for.
public int LoadedHow many of them have arrived.
public int FailedHow many will not arrive.
Methods (2)
public AssetMeshSource(AssetManager assets)Builds a source over a content manager.
public bool TryGet(AssetReference reference, out MeshData mesh)The mesh a reference names, if it is here yet.
Used by (2)
- ArenaThirdPersonShooter
- WorldRendererVixen.Engine.Renderer