Class LevelRenderContextImpl
- All Implemented Interfaces:
AbstractLevelRenderContext, LevelRenderContext, LevelTerrainRenderContext, LevelRenderContextBackwardsCompatHack
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionnet.minecraft.client.renderer.MultiBufferSource.BufferSourceTheMultiBufferSourceinstance being used by the level renderer for most non-terrain renders.net.minecraft.client.renderer.GameRendererThe game renderer instance.net.minecraft.client.renderer.LevelRendererThe level renderer instance doing the rendering and invoking the event.net.minecraft.client.renderer.state.level.LevelRenderStateThe render state for the level being rendered.@Nullable com.mojang.blaze3d.vertex.PoseStackvoidprepare(net.minecraft.client.renderer.GameRenderer gameRenderer, net.minecraft.client.renderer.LevelRenderer levelRenderer, net.minecraft.client.renderer.state.level.LevelRenderState levelRenderState, net.minecraft.client.renderer.chunk.ChunkSectionsToRender sectionsToRender, net.minecraft.client.renderer.SubmitNodeCollector nodeCollector, net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource) net.minecraft.client.renderer.chunk.ChunkSectionsToRenderThe render state for all chunk section to be rendered.voidsetPoseStack(@Nullable com.mojang.blaze3d.vertex.PoseStack poseStack) net.minecraft.client.renderer.SubmitNodeCollector
-
Constructor Details
-
LevelRenderContextImpl
public LevelRenderContextImpl()
-
-
Method Details
-
prepare
public void prepare(net.minecraft.client.renderer.GameRenderer gameRenderer, net.minecraft.client.renderer.LevelRenderer levelRenderer, net.minecraft.client.renderer.state.level.LevelRenderState levelRenderState, net.minecraft.client.renderer.chunk.ChunkSectionsToRender sectionsToRender, net.minecraft.client.renderer.SubmitNodeCollector nodeCollector, net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource) -
setPoseStack
public void setPoseStack(@Nullable com.mojang.blaze3d.vertex.PoseStack poseStack) -
gameRenderer
public net.minecraft.client.renderer.GameRenderer gameRenderer()Description copied from interface:AbstractLevelRenderContextThe game renderer instance.- Specified by:
gameRendererin interfaceAbstractLevelRenderContext- Returns:
- GameRenderer instance
-
levelRenderer
public net.minecraft.client.renderer.LevelRenderer levelRenderer()Description copied from interface:AbstractLevelRenderContextThe level renderer instance doing the rendering and invoking the event.- Specified by:
levelRendererin interfaceAbstractLevelRenderContext- Returns:
LevelRendererinstance invoking the event
-
levelState
public net.minecraft.client.renderer.state.level.LevelRenderState levelState()Description copied from interface:AbstractLevelRenderContextThe render state for the level being rendered.Render states contain information about the current frame used for rendering, and should be used instead of accessing the level or other objects directly from rendering events.
- Specified by:
levelStatein interfaceAbstractLevelRenderContext- Returns:
LevelRenderStateinstance
-
sectionsToRender
public net.minecraft.client.renderer.chunk.ChunkSectionsToRender sectionsToRender()Description copied from interface:LevelTerrainRenderContextThe render state for all chunk section to be rendered.Render states contain information about the current frame used for rendering, and should be used instead of accessing the level or other objects directly from rendering events.
- Specified by:
sectionsToRenderin interfaceLevelTerrainRenderContext
-
submitNodeCollector
public net.minecraft.client.renderer.SubmitNodeCollector submitNodeCollector()- Specified by:
submitNodeCollectorin interfaceLevelRenderContext
-
poseStack
public @Nullable com.mojang.blaze3d.vertex.PoseStack poseStack()- Specified by:
poseStackin interfaceLevelRenderContext
-
bufferSource
public net.minecraft.client.renderer.MultiBufferSource.BufferSource bufferSource()Description copied from interface:LevelRenderContextTheMultiBufferSourceinstance being used by the level renderer for most non-terrain renders. Generally this will be better for most use cases because quads for the same layer can be buffered incrementally and then drawn all at once by the level renderer.IMPORTANT - all vertex coordinates sent to consumers should be relative to the camera to be consistent with other quads emitted by the level renderer and other mods. If this isn't possible, caller should use a separate "immediate" instance.
Renders that cannot draw in one of the supported events must be drawn directly to the frame buffer, preferably in
LevelRenderEvents.END_MAINto avoid being overdrawn or cleared.- Specified by:
bufferSourcein interfaceLevelRenderContext- Specified by:
bufferSourcein interfaceLevelRenderContextBackwardsCompatHack
-