0% found this document useful (0 votes)
31 views8 pages

Minecraft 1.20.1 Render Parameters Guide

The document outlines various updates and fixes across multiple versions of a software, detailing changes in rendering, shaders, and entity management. Key highlights include the introduction of new layers, adjustments to rendering parameters, and the mapping of various components. It also notes several TODO items for future improvements and checks for optimization opportunities.

Uploaded by

pubelicks
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views8 pages

Minecraft 1.20.1 Render Parameters Guide

The document outlines various updates and fixes across multiple versions of a software, detailing changes in rendering, shaders, and entity management. Key highlights include the introduction of new layers, adjustments to rendering parameters, and the mapping of various components. It also notes several TODO items for future improvements and checks for optimization opportunities.

Uploaded by

pubelicks
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

1.21.

2-pre1
- FIXME 1.21.2
- LevelRenderer - resetTransparencyShader(), drawSelectionBox, parameters
- PostChain parameters
- WingsLayer (ElytraLayer)
- CEM baby models (baby transform on adult model)
- OptionInstance - mapping of record names/methods in OF branch
- HolderGetter, BiomeData - mappings
- SectionRenderDispatcher - priority updates
- Replace all OpenGL constants ???
- Mapping [Link].*

24w39a
- FIXME 24w39a
- GlStateManager - bindFramebuffer
- NativeImage - native memory
- Mapping [Link]/framegraph, GuiGraphics params, ModelPart
params, [Link]()
- CapeLayer (PlayerRenderer)
- HorseArmorLayer, HumanoidArmorLayer, SlimeOuterLayer, ArrowRenderer
- CEM baby models
- EntityRenderer (leash), LivingEntityRenderer
- FogRenderer - toggleFog, applyFog
- LevelRenderer - resetTransparencyShader(), drawSelectionBox
- ShaderInstance (missing)
- ItemOverrides (missing)
- LightTexture - custom lightmap
- RenderSection - getNeighborSectionNode()
- ViewArea - updateChunkPositions(), getRenderSection()
- ModelBakery, WeightedBakedModel
- scheduleTranslucentSectionResort()

1.21.1
- ShadersRender - [Link]()

1.21
- RenderRegionCache - empty check
- SectionRenderDispatcher - layersUsed, makeCompileTaskChunk
- MobRenderer - leash render offset (moved to EntityRenderer)
- Enchantments
- FIXME 1.21
- [Link]() -> disableVertexAttribArray();
- SkinCustomizationScreen
- Remove calcNormal
- Merge vMemFix3 optimizations
- CIT custom glint

1.20.6
- VertexConsumer
- DebugScreenOverlay - MATRIX_IDENTITY not used due to layered rendering Z
translate
- BakedGlyph - MATRIX_IDENTITY
- SkinCustomizationScreen
- TitleScreen
- Gui
- ModelPart
- HumanoidArmorLayer
- WolfCollarLayer
- ItemEntityRenderer - Forge patch, needed ???
- Lambda reformatting comments in SpriteLoader and other
- GameRenderer, LevelRenderer - new PoseStack()
- SectionOcclusionGraph - Removed temporary blockpos3, mutable
- [Link]
- GuiChatOF
- Menu blurring (shader) with AA enabled

1.20.4
- GameRenderer - Forge reach distance, camera update later, updateCameraAndRender
partialTicks/f/f1
- Buffer caching with multi-layer models (MultiBufferSource)

1.20.2
- Lagometer OFF
- Use getMaxChunkY()
- Chunk occlusion culling
- Shaders menu (list colors)
- Custom font width
- Capes, elytra

1.20.1
- Custom font widths
- AA with Forge

1.20-pre4
- BitmapProvider !!!
- Font -> GuiGraphics ???
- ItemRenderer -> GuiGraphics ???
- LevelRenderer - fix ChunkPos allocation, now SectionPos
- ChunkMap - part moved to ChunkLevel
- DynamicGraphMinFixedPoint -> LeveledPriorityQueue
- Mappings - GuiGraphics, LightEngine
- Minecraft - grabPanoramixScreenshot(), grabHugeScreenshot()

1.19.3
- Matrix3f, 4f
- ClientTelemetryManager
- PoseStack
- SheetedDecalTextureGen - broken invert?
- ChatComponent - bug on refresh
- ModelPart - compile (vertex transform)
- Frustum - all
- MissingTextureAtlasSprite
- TextureAtlas
- TextureAtlasSprite - makeShadersSprite (resizing)
- Stitcher
- LevelRenderer - check 768m, immediate updates
- ModelBakery - all
- PaintingTextureManager
- AbstractPackResources

1.19.1
- reloading chunks chat message

1.19
- ItemFrameRenderer Forge patches
- LevelRenderer - updateCameraAndRender -> sky
- Chat width scale
- BiomeCategory -> BiomeTags
- Buffer uploader -
- Slider - adjusting
- BossHealthOverlay - getBossName()
- BitmapProvider - offsetBold
- FontSet - memory allocation

1.18.2
- Fog start
- LevelRenderer - 500ms frustum update

1.18
- Frustum
- LevelRanderer - maxChunkY, getRenderChunkOffset(check Y), loadAllRenderers
- BiomeUtils - biomes
- CustomColormap, ShaderParameterFloat - [Link]()
- IForgeRenderChunk, [Link]()
- ShaderInstance - attribute indexes

1.17.pre4
- LoadingOverlay
- bar colors
- LiquidBlockRenderer
- check "shaders face brightness", if needed
- CrashReport
- forge patch
- TitleScreen
- forge patch
- ParticleEngine
- barrier particles

21w10a
- LightTexture
- GL_CLAMP_TO_EDGE
- NativeImage
- GL_CLAMP_TO_EDGE
- Blender
- setup blend
- DefaultVertexFormat
- set names
- RenderType
- HALF_ALPHA - OK (not needed)
- remove lambdas
- RenderStateShard
- TextureStateShard - use bound texture
- Mappings
- TextureStateShard - cutoutTexture/texture
- VertexFormat - constructor
- GlStateManager
- forge patches
- LevelRenderer
- renderSky() - sky size to match render distance
- renderBlockLayer - render calls, regions, draw optimizations, etc.
- Fog
- remove render distance fixes depending on fog type
- fog is always radial

21w08b
- BufferBuilder
- sorting - OK
- multi-texture - OK
- getNextBuffer() - OK
- mode triangles - OK
- BufferUploader
- shaders - OK
- multi-texture - OK
- VertexBuffer
- regions - OK
- multi-texture - OK
- memory allocation in bind() - OK
- OptionButton
- renamed - OK
- ModelPart
- CEM - OK
- texture parameters - OK
- ClientLevel
- forge patch removeEntity()
- Option
- graphics option check fabulous - OK
- GUI_SCALE fix normalizeAngle - OK
- Options
- forge patch KeyModifier
- detect save/load in process() - OK
- chatWidth save as float - OK
- ItemOverrides
- all patches
- BlockEntityRenderer
- from abstract class to interface - OK
- SignRenderer
- forge patch
- ChunkRenderDispatcher
- forge patch blockHasTileEntity
- EntityRenderDispatcher
- forge patch
- ItemFrameRenderer
- forge patches
- ItemRenderer
- forge patches
- durability colors - OK
- ItemInHandRenderer
- forge patches
- Mob
- forge patches
- LevelRenderer
- render entities by type - OK
- renderInfosEntities - OK
- VideoSettingsScreen
- gui scale - OK
- DyeColor
- forge patches
- MushroomCowMushroomLayer
- custom model - OK
- TextureAtlasSprite
- forge patches
- ChunkVisibility
- CIMM - OK
- min/max height - OK
- ChunkOF
- world height - OK
- makeChunkData - OK
- Velocity map - OK

TODO 1.16.2
- ChatOptionsScreen
- VideoSettingsScreen
- GuiDetailSettingsOF

TODO 1.16
- debug screen chunk updates
- patch FontRenderer
X chat shadow
X patch ResourceLoadProgressGui
X patch VideoSettingsScreen
X patch BipedArmorLayer
X patch PlayerModel, CapeLayer for cape patch
X FluidBlockRenderer - face brightness from BlockState
X RenderType - new types
- [Link]() - iteration
X I18n patch, Forge hooks
X ClientWorld Forge patch
X IntegratedServer patch
X Lang reloading resources
- CEM zombified_piglin (from zombie_pigman/pig_zombie)
- mappings
- ItemRenderer getBufferGlint()
- func_235904_r_,getProperties
- func_235901_b_,hasProperty
- StateHolder (properties)
- Registry, RegistryKey
- [Link]/getDimensionType
- SRespawnPacket, SJoinGamePacket
- func_241113_a_,setClearWeather
- ServerWorld func_241114_a_,setDayTime
- TileEntity: getMaxRenderDistanceSquared -> getMaxRenderDistance

TODO 1.15
- CEM not existing ender_crystal_no_base, ender_chest

Shaders (1.14 to 1.15)


- void rendering
- 1.14 leash has no lightmap
- normalmatrix for mooshroom mushrooms, particles (1.14 is also strange)
- at_tangent on entities/block entities
- calculate normal, at_tangent and midtex only when used by the shader pack

FIXME 1.15
- fix for 1.14 shader packs in 1.15
a) switch TU 1 (lightmap) and 2 (normals)
b) replace gl_TextureMatrix[1] -> gl_TextureMatrix[2]
c) replace gl_MultiTexCoord1 -> gl_MultiTexCoord2

Check
- GlStateManager - display list methods
- multi-texture (AA/AF) with VBOs
- ClientChunkProvider - move ChunkDataOF check in [Link]() ...
- AbstractChunkRenderContainer patch !!!
- Replace [Link]() calls with [Link]
- BlockModelRenderer - separateAoValue, fix update
- BufferBuilder - shaders hooks
- ChunkRender
- patch preRenderBlocks()
- duplicate playerUpdate
- ClippingHelperImpl
- isBoxInFrustumRaw() - creates 6 vectors per check !!!
- EntityRenderer - patch bindEntityTexture()
- ArmorLayer
- renderArmorLayer() patch before bindTexture() and before
renderEnchantedGlint()
- renderEnchantedGlint() patch
- LivingRenderer
- is fix for spider eyes z-fighting still needed ???
- setBrightness() patch for [Link]()
- RenderModel - display lists
- RenderModel - CEM changes
- Vertex size 28 -> 32, shaders 56 -> 64
- TextureAtlasSprite patch
- Tile entity renderers: BeaconTileEntityRenderer,
- Shaders patch "[Link]/disableFog()" to be called by
[Link]/disableFog() - port to 1.14.4 and below
- Shaders patch "[Link]/disableTextue2D()" to be called by
[Link]/disableTexture2D() - port to 1.14.4 and below
- [Link]() to use matrix parameter
- WorldRenderer draw horizon patch
- WorldRenderer updateChunks() update chunks with needsUpdatePlayer() delayed
prioritized ???
- WorldRenderer patch for [Link]/endBlockDamage(),
drawBlockDamageTexture(), drawSelectionBox()
- WorldRenderer patch drawBoundingBox() to be shaders friendly
- WorldVertexBufferUploader patch
- BiomeColors patch
- FirstPersonRenderer - renderOverlays()
- ItemRenderer - renderEffect()
- [Link]() - fast render
- AtlasTexture - missing texture
- [Link]() - the path is not being fixed at all
- ChunkCacheOF - cache biomes, light caching

Moved
- ChunkRender -> [Link]
- Compiledchunk -> [Link]
- EnderDragonEyesLayer inlined in EnderDragonRenderer
- EndermanEyesLayer rendering moved to AbstractEyesLayer
- SpiderEyesLayer rendering moved to AbstractEyesLayer
- RendererModel -> ModelRenderer

Removed
- display lists, always VBOs
- direct rendering, always FBO
- BakedQuadRetextured
- LayeredColorMaskTexture
- VboRenderList
- CEM models: BannerModel, BedModel, ChestModel, EnderCrystalModel
- CEM offsets: ox, oy, oz

TODO 1.15 and below


- [Link]() to call [Link]()
- All configuration lookups iterating over numbered files (CustomSky, etc.) to
use [Link]()

TODO 1.14 and below


- ChunkManager patches (1.13 PlayerChunkMap): view distance 64, lazy chunk
loading
- Fix handheld items with external dynamic light (torch on ground)
- Remove all Reflector references to Config to avoid early initialization
- CustomSky - fix source texture parsing to use correct path
- [Link]() to check if the resource exsists instead
of catching FileNotFoundException
- Remove [Link] ???

TODO 1.14.4 Forge patch ModelBakery: this.field_217850_G.put(triple, ibakedmodel);


!!!
TODO Preserve unknown game settings (helps when testing older versions)

TODO shaders shadowmap backface culling only on chunks between the player and the
sun/moon ???
TODO Optimize dummy shader patches - uploadTexture/Sprite, generateMipmaps, etc.
some are proxies which are not needed
TODO optional delayed near updates ???
TODO Remove unused textures on texture reload (ResourceManager)
TODO Font renderer with degenerate triangles
TODO Fix sharp void/sky transitions on y = 62/63 (3 sec transition instead?)
TODO Remove own particles (around the player), option Particles = ON/Other/OFF
TODO Fix ghost water/lava ???
[Link]
[Link]
TODO Optimize entity rendering, one render call (GL list) per set of rotation
angles

To check
- DynamicTexture (normal, specular)
- [Link]() working with server resource pack
- main menu panoramas (blur)
- BlockFluidRenderer - farmland, half-slab rendering
- BlockFluidRenderer - biome smoothing
- UTF-8 for all ".properties" files (NBT name matching)
- FontRenderer
? Fix overlapping characters (Misa uses slightly overlapping characters to
condense the font)
? check "enabled"
? Forge fix unicode shadow
- TileEntity custom name synchronization
- TileEntitySkullRenderer model renderers (CEM)
- resource location parsing to match "doc/properties_files.txt"
- profiler smoothing depending on FPS

Old -> New


- WorldProvider -> Dimension
- BlockStateBase -> BlockState (for the block ID cache)
- IBlockProperties -> IBlockState (interface)
- IWorldNameable -> INameable
- ModelHorse -> ModelHorseArmorBase
- [Link](pos) ->
[Link]([Link].MOTION_BLOCKING, pos)

New changed
- NativeImage
1.14.4
[Link]()

Common questions

Powered by AI

In version 1.20, the SectionRenderDispatcher update included a focus on priority updates and making compile tasks specific to chunks. This approach enhances rendering efficiency by organizing the order and priority of rendering tasks, which reduces unnecessary computations. The update allows for better management of rendering layers and the efficient scheduling of translucent section resorts .

ShaderInstance plays a crucial role in enabling dynamic graphics effects such as lighting, shadows, and fog by managing shader programs that control how pixels and vertices are processed. The updates in version 1.17 enhance these capabilities by allowing more flexible attribute indexing, which improves how shaders interact with graphical data, thus expanding the visual richness and realism possible within the game .

The modification of the CapeLayer in PlayerRenderer likely enhances visual fidelity by refining how the cape is integrated with the player's model. This could involve better alignment, smoothing of animations, or improved shader interactions, which contribute to a more seamless and realistic appearance of the character model .

Transitioning to FBO-only rendering improves game graphics by allowing more complex post-processing techniques, such as anti-aliasing and HDR rendering, to be implemented more easily and efficiently. This transition reduces the reliance on older display lists, enabling more advanced graphical features and optimizations, making the game graphics appear more modern and visually appealing .

Adjustments to the Frustum have a direct impact on rendering by optimizing visible area computations, which can significantly enhance frame rates and reduce rendering load, particularly in complex scenes. It involves changes like checking maximum ChunkY and updating rendering calculations, which help manage the draw calls more efficiently by culling non-visible elements .

The changes in biome temperature mappings contribute to gameplay realism by ensuring more accurate environmental effects and conditions are reflected in various biomes. This includes more appropriate behavior of weather patterns, spawning rates of specific mobs, and the visual appearance of biome-specific elements, which enhance the immersive experience .

The introduction of LightTexture influences graphical output by providing more detailed and customizable lightmaps, which improve how light data is applied to textures and geometry in-game. This feature enhances the overall lighting effects, contributing to more dynamic and atmospheric visual experiences .

The shift of BufferBuilder to support multi-texture setups likely optimizes rendering performance by permitting simultaneous handling of multiple textures. This capability reduces performance bottlenecks caused by frequent state changes or texture bindings, thus allowing smoother frame rates and quicker rendering processes, especially in texture-intensive environments .

The updates to SectionOcclusionGraph enhance rendering by improving how occlusion culling is handled, resulting in more effective determination of which sections of chunks do not need to be rendered due to being hidden. This method significantly reduces unnecessary draw calls, leading to better performance and reduced strain on both CPU and GPU resources .

Replacing OpenGL constants in the development notes, particularly for version 24w39a, is significant due to the ongoing transition to more modern rendering techniques. This change is likely aimed at leveraging newer APIs that can provide better performance and more robust graphical features, as OpenGL may have limitations in flexibility and efficiency for current hardware .

You might also like