refactor(sheets): remove the far sheet ring from the runtime
The owner dropped the far sheet ring. Remove it from the streaming path: - UVoxelMarchingCubesMesher::GenerateSheetMesh (declaration + definition); - sheet-tile branches in LoadTile / GenerateTileResult / SyncRemeshTile and the bSheetTile / SheetChunkZ / Hole* parameters; - the SheetHole* XY-hole state and its per-crossing re-queue block; - VF_MaxMarchingCubesLevel (equal to the clamped MaxClipLevel without sheets); - the sheet-only band arming and the 'sheet' field of the desired-level startup-trace events (no tool reads it). AVoxelWorld now always passes bFarSheetRing=false to the tile selector, and the descendant index covers levels up to the MaxClipLevel clamp (8) instead of the old sheet maximum (12); no tile above 8 can exist any more. Kept on purpose: UVoxelSettings::bFarSheetRing / FarSheetSpanLevels (UPROPERTYs, now marked unused), the voxel.TestFarSheetRing switch and the far_sheet_ring / sheet_tile fields the test harness compares (sheet_tile is always false), and the selector's sheet parameters in VoxelClipmapDesiredTiles.h, which two automation tests still exercise.
This commit is contained in:
7 files changed
+45
-422
No files matched your search
@@ -160,7 +160,6 @@ struct FVoxelTileHashDumpRecord
|
||||
int32 Cells = 0;
|
||||
int32 BandChunkLo = MIN_int32;
|
||||
int32 BandChunkHi = MAX_int32;
|
||||
bool bSheetTile = false;
|
||||
bool bEmpty = true;
|
||||
int32 NumTriangles = 0;
|
||||
FString GeometryHash;
|
||||
@@ -567,7 +566,7 @@ private:
|
||||
void LogReadyTransitionVisibilityMeasure();
|
||||
void RecordTileHash(const FVoxelTileKey& Tile, const FIntVector& OriginVoxels,
|
||||
int32 Step, int32 Cells, int32 BandChunkLo, int32 BandChunkHi,
|
||||
bool bSheetTile, const FVoxelMeshData& MeshData);
|
||||
const FVoxelMeshData& MeshData);
|
||||
void WriteTileHashDump();
|
||||
|
||||
// Packed shader params, recomputed each Tick. ALL meaningful data is in .xyz — a material Vector
|
||||
@@ -761,7 +760,7 @@ public:
|
||||
EVoxelTileWorkPriority WorkPriority = EVoxelTileWorkPriority::Horizon);
|
||||
|
||||
/**
|
||||
* Worker-side gen for one tile: classify → GenerateMesh/GenerateSheetMesh → BuildTileStreamSet.
|
||||
* Worker-side gen for one tile: classify → GenerateMesh → BuildTileStreamSet.
|
||||
* Fills Result (no enqueue, no bookkeeping). Called from the async ChunkGen task AND from the
|
||||
* synchronous carve path (SyncRemeshTile) — reads Generator/Mesher only, so it's safe on either
|
||||
* thread. See LoadTile for how the parameters are derived.
|
||||
@@ -769,8 +768,6 @@ public:
|
||||
void GenerateTileResult(const FVoxelTileKey& Tile, const FIntVector& OriginVoxels,
|
||||
int32 Step, int32 Cells, uint32 Epoch, bool bWantCapture,
|
||||
int32 BandVoxLo, int32 BandVoxHi, int32 BandChunkLo, int32 BandChunkHi,
|
||||
bool bSheetTile, int32 SheetChunkZ,
|
||||
int32 HoleMinX, int32 HoleMinY, int32 HoleMaxX, int32 HoleMaxY,
|
||||
FChunkResult& Result,
|
||||
const std::atomic<bool>* ObsoleteFlag = nullptr);
|
||||
|
||||
@@ -933,15 +930,6 @@ public:
|
||||
// result cannot publish and the post-carve result is admitted immediately.
|
||||
TSet<FVoxelTileKey> DirtyRemeshQueue;
|
||||
|
||||
// F18 — TROU XY de l'anneau feuille (voxels ; Max EXCLUSIF ; sentinelles MAX/MIN = pas de
|
||||
// trou) : la zone couverte par les coquilles MC (boîte niveau-MaxClipLevel autour du joueur,
|
||||
// rétrécie d'une tuile pour garder un anneau de recouvrement au raccord) est DÉCOUPÉE des
|
||||
// feuilles — sinon une feuille partiellement couverte recouvre le terrain proche avec son
|
||||
// échantillonnage grossier. Mis à jour par crossing ; changement ⇒ re-queue des feuilles
|
||||
// chevauchantes via BandRemeshQueue (re-gen en place).
|
||||
int32 SheetHoleMinXVox = MAX_int32, SheetHoleMinYVox = MAX_int32;
|
||||
int32 SheetHoleMaxXVox = MIN_int32, SheetHoleMaxYVox = MIN_int32;
|
||||
|
||||
// Set to true during EndPlay — async tasks check this before accessing UObjects
|
||||
std::atomic<bool> bShuttingDown{false};
|
||||
|
||||
@@ -1018,8 +1006,7 @@ public:
|
||||
TArray<FReadyTransitionVisibilitySample> ReadyTransitionVisibilitySamples;
|
||||
TArray<FFarFieldSubmitSample> FarFieldSubmitSamples;
|
||||
|
||||
// Clean performance accounting. LOD 0..8 covers every marching-cubes clip level; sheet tiles
|
||||
// above the configured MC range never enter the outer classifier.
|
||||
// Clean performance accounting. LOD 0..8 covers every marching-cubes clip level.
|
||||
static constexpr int32 TrackedClassifierLODCount = 9;
|
||||
std::atomic<uint64> TotalWorkerGenerationCycles{0};
|
||||
std::atomic<uint64> TotalWorkerGenerationTasks{0};
|
||||
|
||||
Reference in new issue
Block a user