Vixen
02b45cc4
csharp
public interface IMeshSource

Where the geometry a MeshRenderable names comes from.

Read the guide page for this →

Remarks

An interface here rather than an AssetManager, because this assembly must not know what a bundle is. A renderer's business is a vertex buffer; catalogs, addresses and claims belong to Vixen.Assets, and a project that loads its meshes from a file, a test that hands over an array, and an editor that has the mesh in memory already are all legitimate. Vixen.Engine.Renderer is where the two meet — see AssetMeshSource.

The whole design is in the return value. Loading is asynchronous and extraction runs inside a frame, so this asks rather than waits: false means "not yet", the entity is left without a RenderHandle, and next frame's reconciliation asks again. A synchronous load here would stall the frame a level starts on every mesh in it, which is the worst frame in the run to spend I/O in.

Methods (1)

Used by (15)

  • AssetMeshSourceVixen.Engine.Renderer
  • DeferredMeshSourceVixen.Engine.Renderer.Tests
  • EveryMeshVixen.Rendering.Tests
  • MeshExtractionSystemVixen.Rendering
  • OneMeshVixen.Rendering.Tests
  • WorldRendererVixen.Engine.Renderer
  • BlockoutHandoffVixen.Editor.Blockout
  • BlockoutModeVixen.Editor.Blockout
  • BlockoutModuleVixen.Editor.Blockout
  • EditorApplicationVixen.Editor.App
  • MeshesVixen.Editor.SceneView.Tests
  • MeshesVixen.Editor.SceneView.Tests
  • ProjectMeshSourceVixen.Editor.Assets
  • SceneMeshesVixen.Editor.SceneView
  • SourceVixen.Editor.Blockout.Tests