Package net.minecraft.client.renderer
Class SectionOcclusionGraph
java.lang.Object
net.minecraft.client.renderer.SectionOcclusionGraph
-
Nested Class Summary
Modifier and TypeClassDescription(package private) static final record
(package private) static final record
(package private) static class
protected static class
(package private) static class
-
Field Summary
Modifier and TypeFieldDescriptionprivate static final double
private final AtomicReference<SectionOcclusionGraph.GraphState>
private static final Direction[]
private Future<?>
private static final org.slf4j.Logger
private static final int
private final AtomicBoolean
private boolean
private final AtomicReference<SectionOcclusionGraph.GraphEvents>
private ViewArea
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprivate void
addNeighbors
(SectionOcclusionGraph.GraphEvents p_300825_, ChunkPos p_297758_) void
addSectionsInFrustum
(Frustum p_299761_, List<SectionRenderDispatcher.RenderSection> p_301346_) boolean
protected SectionOcclusionGraph.Node
getNode
(SectionRenderDispatcher.RenderSection p_299335_) getRelativeFrom
(BlockPos p_298318_, SectionRenderDispatcher.RenderSection p_299737_, Direction p_301139_) private void
initializeQueueForFullUpdate
(Camera p_298889_, Queue<SectionOcclusionGraph.Node> p_297605_) void
private boolean
isInViewDistance
(BlockPos p_298566_, BlockPos p_298230_) void
onChunkLoaded
(ChunkPos p_299612_) void
private void
private void
runPartialUpdate
(boolean p_298388_, Frustum p_299940_, List<SectionRenderDispatcher.RenderSection> p_297967_, Vec3 p_299094_) private void
runUpdates
(SectionOcclusionGraph.GraphStorage p_299200_, Vec3 p_300018_, Queue<SectionOcclusionGraph.Node> p_300570_, boolean p_300892_, Consumer<SectionRenderDispatcher.RenderSection> p_298647_) private void
scheduleFullUpdate
(boolean p_298569_, Camera p_299582_, Vec3 p_297830_) void
update
(boolean p_301275_, Camera p_298972_, Frustum p_298939_, List<SectionRenderDispatcher.RenderSection> p_300432_) void
waitAndReset
(ViewArea p_298923_)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
DIRECTIONS
-
MINIMUM_ADVANCED_CULLING_DISTANCE
private static final int MINIMUM_ADVANCED_CULLING_DISTANCE- See Also:
-
CEILED_SECTION_DIAGONAL
private static final double CEILED_SECTION_DIAGONAL -
needsFullUpdate
private boolean needsFullUpdate -
fullUpdateTask
-
viewArea
-
currentGraph
-
nextGraphEvents
-
needsFrustumUpdate
-
-
Constructor Details
-
SectionOcclusionGraph
public SectionOcclusionGraph()
-
-
Method Details
-
waitAndReset
-
invalidate
public void invalidate() -
addSectionsInFrustum
public void addSectionsInFrustum(Frustum p_299761_, List<SectionRenderDispatcher.RenderSection> p_301346_) -
consumeFrustumUpdate
public boolean consumeFrustumUpdate() -
onChunkLoaded
-
onSectionCompiled
-
update
public void update(boolean p_301275_, Camera p_298972_, Frustum p_298939_, List<SectionRenderDispatcher.RenderSection> p_300432_) -
scheduleFullUpdate
-
runPartialUpdate
private void runPartialUpdate(boolean p_298388_, Frustum p_299940_, List<SectionRenderDispatcher.RenderSection> p_297967_, Vec3 p_299094_) -
queueSectionsWithNewNeighbors
-
addNeighbors
-
initializeQueueForFullUpdate
private void initializeQueueForFullUpdate(Camera p_298889_, Queue<SectionOcclusionGraph.Node> p_297605_) -
runUpdates
private void runUpdates(SectionOcclusionGraph.GraphStorage p_299200_, Vec3 p_300018_, Queue<SectionOcclusionGraph.Node> p_300570_, boolean p_300892_, Consumer<SectionRenderDispatcher.RenderSection> p_298647_) -
isInViewDistance
-
getRelativeFrom
@Nullable private SectionRenderDispatcher.RenderSection getRelativeFrom(BlockPos p_298318_, SectionRenderDispatcher.RenderSection p_299737_, Direction p_301139_) -
getNode
@Nullable protected SectionOcclusionGraph.Node getNode(SectionRenderDispatcher.RenderSection p_299335_)
-