ChunkMeshMan

Members

Functions

applyChunkChanges
void applyChunkChanges()

Applies changes to chunks Calculates affected chunks and adds them to chunksToMesh queue

init
void init(ChunkMan* _chunkMan, BlockMan* _blockMan, uint numWorkers)
Undocumented in source. Be warned that the author may not have intended to support it.
loadMeshData
void loadMeshData(Chunk* chunk, ubyte[] meshData)
Undocumented in source. Be warned that the author may not have intended to support it.
meshChunk
void meshChunk(Chunk* chunk)
Undocumented in source. Be warned that the author may not have intended to support it.
meshChunks
void meshChunks()

Sends chunks from chunksToMesh queue to mesh worker and moves them to dirtyChunks queue

onChunkChanged
void onChunkChanged(Chunk* chunk, BlockChange[] changes)
Undocumented in source. Be warned that the author may not have intended to support it.
onChunkLoaded
void onChunkLoaded(Chunk* chunk, BlockData blockData)
Undocumented in source. Be warned that the author may not have intended to support it.
onChunkRemoved
void onChunkRemoved(Chunk* chunk)
Undocumented in source. Be warned that the author may not have intended to support it.
onMeshLoaded
void onMeshLoaded(MeshGenResult* data)
Undocumented in source. Be warned that the author may not have intended to support it.
processDirtyChunks
void processDirtyChunks()
setChunkData
void setChunkData(Chunk* chunk, BlockData blockData)
Undocumented in source. Be warned that the author may not have intended to support it.
startMeshUpdateCycle
void startMeshUpdateCycle()

Checks if there is any chunks that have changes Starts new mesh update cycle if previous one was completed. Adds changed chunks to changedChunks queue on new cycle start

stop
void stop()
Undocumented in source. Be warned that the author may not have intended to support it.
surroundedBySolidChunks
bool surroundedBySolidChunks(Chunk* chunk)
Undocumented in source. Be warned that the author may not have intended to support it.
tryMeshChunk
void tryMeshChunk(Chunk* chunk)
Undocumented in source. Be warned that the author may not have intended to support it.
update
void update()
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

blockMan
BlockMan* blockMan;
Undocumented in source.
changedChunks
Queue!(Chunk*) changedChunks;
Undocumented in source.
chunkChanges
ChunkChange[ChunkWorldPos] chunkChanges;
Undocumented in source.
chunkMan
ChunkMan* chunkMan;
Undocumented in source.
chunksToMesh
Queue!(Chunk*) chunksToMesh;
Undocumented in source.
dirtyChunks
Queue!(Chunk*) dirtyChunks;
Undocumented in source.
meshWorkers
WorkerGroup!(meshWorkerThread) meshWorkers;
Undocumented in source.
numDirtyChunksPending
size_t numDirtyChunksPending;
Undocumented in source.
numMeshChunkTasks
size_t numMeshChunkTasks;
Undocumented in source.
visibleChunks
HashSet!ChunkWorldPos visibleChunks;
Undocumented in source.

Meta