Package codechicken.lib.render.buffer
Class VBORenderType
java.lang.Object
net.minecraft.client.renderer.RenderStateShard
net.minecraft.client.renderer.RenderType
codechicken.lib.render.buffer.DelegateRenderType
codechicken.lib.render.buffer.VBORenderType
- All Implemented Interfaces:
AutoCloseable
A RenderType that is backed by a VertexBufferObject used for Cached rendering.
Created by covers1624 on 25/5/20.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class net.minecraft.client.renderer.RenderType
net.minecraft.client.renderer.RenderType.CompositeState, net.minecraft.client.renderer.RenderType.OutlinePropertyNested classes/interfaces inherited from class net.minecraft.client.renderer.RenderStateShard
net.minecraft.client.renderer.RenderStateShard.BooleanStateShard, net.minecraft.client.renderer.RenderStateShard.ColorLogicStateShard, net.minecraft.client.renderer.RenderStateShard.CullStateShard, net.minecraft.client.renderer.RenderStateShard.DepthTestStateShard, net.minecraft.client.renderer.RenderStateShard.EmptyTextureStateShard, net.minecraft.client.renderer.RenderStateShard.LayeringStateShard, net.minecraft.client.renderer.RenderStateShard.LightmapStateShard, net.minecraft.client.renderer.RenderStateShard.LineStateShard, net.minecraft.client.renderer.RenderStateShard.MultiTextureStateShard, net.minecraft.client.renderer.RenderStateShard.OffsetTexturingStateShard, net.minecraft.client.renderer.RenderStateShard.OutputStateShard, net.minecraft.client.renderer.RenderStateShard.OverlayStateShard, net.minecraft.client.renderer.RenderStateShard.ShaderStateShard, net.minecraft.client.renderer.RenderStateShard.TextureStateShard, net.minecraft.client.renderer.RenderStateShard.TexturingStateShard, net.minecraft.client.renderer.RenderStateShard.TransparencyStateShard, net.minecraft.client.renderer.RenderStateShard.WriteMaskStateShard -
Field Summary
Fields inherited from class codechicken.lib.render.buffer.DelegateRenderType
parentFields inherited from class net.minecraft.client.renderer.RenderType
affectsCrumbling, ARMOR_CUTOUT_NO_CULL, ARMOR_ENTITY_GLINT, BEACON_BEAM, BIG_BUFFER_SIZE, bufferSize, CHUNK_BUFFER_LAYERS, chunkLayerId, CLOUDS, CLOUDS_DEPTH_ONLY, CRUMBLING, CUTOUT, CUTOUT_MIPPED, DEBUG_FILLED_BOX, DEBUG_LINE_STRIP, DEBUG_QUADS, DEBUG_SECTION_QUADS, DEBUG_STRUCTURE_QUADS, DRAGON_EXPLOSION_ALPHA, DRAGON_RAYS, DRAGON_RAYS_DEPTH, END_GATEWAY, END_PORTAL, ENTITY_CUTOUT, ENTITY_CUTOUT_NO_CULL, ENTITY_CUTOUT_NO_CULL_Z_OFFSET, ENTITY_DECAL, ENTITY_GLINT, ENTITY_GLINT_DIRECT, ENTITY_NO_OUTLINE, ENTITY_SHADOW, ENTITY_SMOOTH_CUTOUT, ENTITY_SOLID, ENTITY_TRANSLUCENT, ENTITY_TRANSLUCENT_CULL, ENTITY_TRANSLUCENT_EMISSIVE, EYES, format, GLINT, GLINT_TRANSLUCENT, GUI, GUI_GHOST_RECIPE_OVERLAY, GUI_OVERLAY, GUI_TEXT_HIGHLIGHT, ITEM_ENTITY_TRANSLUCENT_CULL, LEASH, LIGHTNING, LINE_STRIP, LINES, MEGABYTE, mode, SMALL_BUFFER_SIZE, SOLID, sortOnUpload, TEXT, TEXT_BACKGROUND, TEXT_BACKGROUND_SEE_THROUGH, TEXT_INTENSITY, TEXT_INTENSITY_POLYGON_OFFSET, TEXT_INTENSITY_SEE_THROUGH, TEXT_POLYGON_OFFSET, TEXT_SEE_THROUGH, TRANSIENT_BUFFER_SIZE, TRANSLUCENT, TRANSLUCENT_MOVING_BLOCK, TRIPWIRE, WATER_MASKFields inherited from class net.minecraft.client.renderer.RenderStateShard
ADDITIVE_TRANSPARENCY, BLOCK_SHEET, BLOCK_SHEET_MIPPED, clearState, CLOUDS_TARGET, COLOR_DEPTH_WRITE, COLOR_WRITE, CRUMBLING_TRANSPARENCY, CULL, DEFAULT_LINE, DEFAULT_TEXTURING, DEPTH_WRITE, ENTITY_GLINT_TEXTURING, EQUAL_DEPTH_TEST, GLINT_TEXTURING, GLINT_TRANSPARENCY, GREATER_DEPTH_TEST, ITEM_ENTITY_TARGET, LEQUAL_DEPTH_TEST, LIGHTMAP, LIGHTNING_TRANSPARENCY, MAIN_TARGET, MAX_ENCHANTMENT_GLINT_SPEED_MILLIS, name, NO_COLOR_LOGIC, NO_CULL, NO_DEPTH_TEST, NO_LAYERING, NO_LIGHTMAP, NO_OVERLAY, NO_SHADER, NO_TEXTURE, NO_TRANSPARENCY, OR_REVERSE_COLOR_LOGIC, OUTLINE_TARGET, OVERLAY, PARTICLES_TARGET, POLYGON_OFFSET_LAYERING, POSITION_COLOR_LIGHTMAP_SHADER, POSITION_COLOR_SHADER, POSITION_COLOR_TEX_LIGHTMAP_SHADER, POSITION_SHADER, POSITION_TEX_SHADER, RENDERTYPE_ARMOR_CUTOUT_NO_CULL_SHADER, RENDERTYPE_ARMOR_ENTITY_GLINT_SHADER, RENDERTYPE_BEACON_BEAM_SHADER, RENDERTYPE_BREEZE_WIND_SHADER, RENDERTYPE_CLOUDS_SHADER, RENDERTYPE_CRUMBLING_SHADER, RENDERTYPE_CUTOUT_MIPPED_SHADER, RENDERTYPE_CUTOUT_SHADER, RENDERTYPE_END_GATEWAY_SHADER, RENDERTYPE_END_PORTAL_SHADER, RENDERTYPE_ENERGY_SWIRL_SHADER, RENDERTYPE_ENTITY_ALPHA_SHADER, RENDERTYPE_ENTITY_CUTOUT_NO_CULL_SHADER, RENDERTYPE_ENTITY_CUTOUT_NO_CULL_Z_OFFSET_SHADER, RENDERTYPE_ENTITY_CUTOUT_SHADER, RENDERTYPE_ENTITY_DECAL_SHADER, RENDERTYPE_ENTITY_GLINT_DIRECT_SHADER, RENDERTYPE_ENTITY_GLINT_SHADER, RENDERTYPE_ENTITY_NO_OUTLINE_SHADER, RENDERTYPE_ENTITY_SHADOW_SHADER, RENDERTYPE_ENTITY_SMOOTH_CUTOUT_SHADER, RENDERTYPE_ENTITY_SOLID_SHADER, RENDERTYPE_ENTITY_TRANSLUCENT_CULL_SHADER, RENDERTYPE_ENTITY_TRANSLUCENT_EMISSIVE_SHADER, RENDERTYPE_ENTITY_TRANSLUCENT_SHADER, RENDERTYPE_EYES_SHADER, RENDERTYPE_GLINT_SHADER, RENDERTYPE_GLINT_TRANSLUCENT_SHADER, RENDERTYPE_GUI_GHOST_RECIPE_OVERLAY_SHADER, RENDERTYPE_GUI_OVERLAY_SHADER, RENDERTYPE_GUI_SHADER, RENDERTYPE_GUI_TEXT_HIGHLIGHT_SHADER, RENDERTYPE_ITEM_ENTITY_TRANSLUCENT_CULL_SHADER, RENDERTYPE_LEASH_SHADER, RENDERTYPE_LIGHTNING_SHADER, RENDERTYPE_LINES_SHADER, RENDERTYPE_OUTLINE_SHADER, RENDERTYPE_SOLID_SHADER, RENDERTYPE_TEXT_BACKGROUND_SEE_THROUGH_SHADER, RENDERTYPE_TEXT_BACKGROUND_SHADER, RENDERTYPE_TEXT_INTENSITY_SEE_THROUGH_SHADER, RENDERTYPE_TEXT_INTENSITY_SHADER, RENDERTYPE_TEXT_SEE_THROUGH_SHADER, RENDERTYPE_TEXT_SHADER, RENDERTYPE_TRANSLUCENT_MOVING_BLOCK_SHADER, RENDERTYPE_TRANSLUCENT_SHADER, RENDERTYPE_TRIPWIRE_SHADER, RENDERTYPE_WATER_MASK_SHADER, setupState, TRANSLUCENT_TARGET, TRANSLUCENT_TRANSPARENCY, VIEW_OFFSET_Z_LAYERING, VIEW_SCALE_Z_EPSILON, WEATHER_TARGET -
Constructor Summary
ConstructorsConstructorDescriptionVBORenderType(net.minecraft.client.renderer.RenderType parent, BiConsumer<com.mojang.blaze3d.vertex.VertexFormat, com.mojang.blaze3d.vertex.BufferBuilder> factory) Create a new VBORenderType, delegates render state setup to the provided parent, also uses the parents VertexFormat. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()voiddraw(com.mojang.blaze3d.vertex.MeshData meshData) voiddraw(net.minecraft.client.renderer.MultiBufferSource buffers) Called to draw a VBORenderType.voidsetDirty()Marks thisVBORenderTypeas needing to be re-built.withCallback(Runnable action) An extraRunnableto be applied before draw calls.withState(net.minecraft.client.renderer.RenderStateShard shard) An extraRenderStateShardto be applied.Methods inherited from class codechicken.lib.render.buffer.DelegateRenderType
clearRenderState, setupRenderStateMethods inherited from class net.minecraft.client.renderer.RenderType
affectsCrumbling, armorCutoutNoCull, armorEntityGlint, beaconBeam, breezeEyes, breezeWind, bufferSize, canConsolidateConsecutiveGeometry, chunkBufferLayers, clouds, cloudsDepthOnly, create, create, createArmorCutoutNoCull, createArmorDecalCutoutNoCull, createClouds, crumbling, cutout, cutoutMipped, debugFilledBox, debugLineStrip, debugQuads, debugSectionQuads, debugStructureQuads, dragonExplosionAlpha, dragonRays, dragonRaysDepth, endGateway, endPortal, energySwirl, entityCutout, entityCutoutNoCull, entityCutoutNoCull, entityCutoutNoCullZOffset, entityCutoutNoCullZOffset, entityDecal, entityGlint, entityGlintDirect, entityNoOutline, entityShadow, entitySmoothCutout, entitySolid, entityTranslucent, entityTranslucent, entityTranslucentCull, entityTranslucentEmissive, entityTranslucentEmissive, eyes, format, getChunkLayerId, glint, glintTranslucent, gui, guiGhostRecipeOverlay, guiOverlay, guiTextHighlight, isOutline, itemEntityTranslucentCull, leash, lightning, lines, lineStrip, mode, outline, outline, solid, sortOnUpload, text, textBackground, textBackgroundSeeThrough, textIntensity, textIntensityPolygonOffset, textIntensitySeeThrough, textPolygonOffset, textSeeThrough, toString, translucent, translucentMovingBlock, translucentMovingBlockState, translucentState, tripwire, tripwireState, waterMaskMethods inherited from class net.minecraft.client.renderer.RenderStateShard
setupGlintTexturing
-
Constructor Details
-
VBORenderType
public VBORenderType(net.minecraft.client.renderer.RenderType parent, BiConsumer<com.mojang.blaze3d.vertex.VertexFormat, com.mojang.blaze3d.vertex.BufferBuilder> factory) Create a new VBORenderType, delegates render state setup to the provided parent, also uses the parents VertexFormat.- Parameters:
parent- The parent, for state setup and buffer VertexFormat.factory- The Factory used to fill the BufferBuilder with data.
-
-
Method Details
-
setDirty
public void setDirty()Marks thisVBORenderTypeas needing to be re-built. -
withCallback
An extraRunnableto be applied before draw calls.- Parameters:
action- The action.- Returns:
- The same
VBORenderType.WithCallbacks.
-
withState
An extraRenderStateShardto be applied.- Parameters:
shard- TheRenderStateShard.- Returns:
- The same
VBORenderType.WithCallbacks.
-
draw
public void draw(net.minecraft.client.renderer.MultiBufferSource buffers) Called to draw a VBORenderType.- Parameters:
buffers- The buffers instance.
-
draw
public void draw(com.mojang.blaze3d.vertex.MeshData meshData) - Overrides:
drawin classDelegateRenderType
-
close
- Specified by:
closein interfaceAutoCloseable- Throws:
Exception
-