refactor(A.5 T15): TerrainModernRenderer.AddLandblockWithMesh entry point
T13 routes worker-built meshes from LandblockStreamResult.Loaded.MeshData into the renderer. AddLandblockWithMesh accepts a prebuilt mesh + origin and delegates to the existing AddLandblock(uint, LandblockMeshData, Vector3) so both paths share one upload path (Approach B -- AddLandblock already takes a prebuilt mesh; no inline build to extract). GameWindow's T16 lambda captures liveCenterX/Y and passes the derived origin; the renderer stays origin-agnostic. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
fb10c3fa8c
commit
aff35d2a76
1 changed files with 12 additions and 0 deletions
|
|
@ -89,6 +89,18 @@ public sealed unsafe class TerrainModernRenderer : IDisposable
|
|||
_indirectBuffer = _gl.GenBuffer();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Two-tier streaming entry point. Accepts a prebuilt mesh from
|
||||
/// <see cref="LandblockStreamResult.Loaded.MeshData"/> built on the worker
|
||||
/// thread, together with the world-space origin computed by the caller
|
||||
/// (render-thread GameWindow derives it from landblockId + liveCenterX/Y).
|
||||
///
|
||||
/// Delegates to <see cref="AddLandblock(uint,LandblockMeshData,Vector3)"/>
|
||||
/// so both paths share one upload path. Per Phase A.5 spec T15.
|
||||
/// </summary>
|
||||
public void AddLandblockWithMesh(uint landblockId, LandblockMeshData meshData, Vector3 worldOrigin)
|
||||
=> AddLandblock(landblockId, meshData, worldOrigin);
|
||||
|
||||
public void AddLandblock(uint landblockId, LandblockMeshData meshData, Vector3 worldOrigin)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(meshData);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue