Changelog
Highlights:
- MC 1.20.3, 1.20.4, 1.20.6 support
- No forge support for 1.20.6 due to Forge compiler issues
- Added NeoForge support for 1.20.6
- Massive memory decrease, especially at high render distances
- 1024 at medium can be loaded with 4 GB of memory
- Massive database file size decrease
- Note: This will only affect new worlds, old databases will be migrated to the new format, but have to be manually vacuumed to shrink their file size.
- Frustum culling
- Fixed rendering hollow structures
- Up the api version number 1.0.0 -> 2.0.0
- This means there were some breaking API changes
- World gen doesn't regenerate the same terrain twice
- World gen also starts faster after loading into the world.
- API methods needed for Iris 1.7.0 support
Core DH Changes
Additions:
- MC 1.20.3 / 1.20.4 support - coolGi, James
- Frustum culling - NULL
- New rendering option so grass fades to dirt - IMS, James
- Simple material IDs to rendering data for use with Iris - James
- corrupt data read handling - James
- JarUtil/SelfUpdater error handling - James
- Buffer count to the F3 menu - James
- IP only server folder mode - James
Improvements:
- Improve downsampling / low detail rendering - James
- IE hollow structures will no longer render incorrectly at lower detail levels
- Smaller database file sizes - James
- Added LZMA as the new default compression option
- LZMA provides roughly 3x the compression vs the previous compressor
- Add lossy world compression, defaults to "visually equal"
- Added LZMA as the new default compression option
- Massively reduce memory use and reduce GC pressure - James
- Speed up world gen queue initial loading - James
- Vertical LOD rendering improvements - Builderb0y
- RenderDataTransformer improvements - Cola
- Glass/transparent block improved color rendering - Cola, IMS
Changes:
- Overhaul data structure and file handling - James
- Fixes holes with world gen - James
- Overhaul the database format - James
- Add automatic DB migration - James
- Migration progress can be seen in the log and f3 menu
- Removed DhRenderData - James
- Change overdraw to a number input - James
- Improve transparent rendering (IE Glass) - IMS, Cola
- rename "Horizontal Quality" -> "LOD Dropoff Distance" - James
- Refactored logos into assets/distanthorizons - coolGi
- Change the SQLite journal mode DELETE -> WAL - James
- Improve initalization logic - s809
- Improve StepFeatures logging - James
- Add data source pooling to reduce GC pressure - James
- Mark Iris 1.6.0 and older as incompatible - James
- Iris already hid DH rendering anyway, so this just makes it clearer
- Make leaf colors match fancy graphics - Cola
- Move most async GL calls to the render thread - James
- Only log empty biomeWrapper strings once per session - James
- Remove unnecessary string concatenations in assertions - James
- Disable cave culling in the end - James
- Rename unused debug wireframe configs - James
Bug Fixes:
-
Fix holes in the world when using world gen - James
-
Fix world gen re-generating the same terrain - James
-
Fix world gen for extreme render distances - James
-
Fix ocean lighting grid issue - James
-
Fix C2ME support - James
- Changing C2ME's config should no longer be necessary to run it with DH.
-
Fix SSAO and Fog not applying when Optifine shaders are enabled - James
-
Fix BiomeWrapper warning about null level on startup - James
-
Fix missing indium crashing with a messy error when java.awt is headless - James
- The error message will now be much clearer and in most cases, should have a pop-up dialog explaining the problem.
-
Fix Z-fighting at very high heights - James
-
Fix red LODs rendering in random places
- IE Added a config which is disabled by default to render overlapping quad errors - James
-
Fix rendering holes (most of the time) - James
-
Fix F3 menu not removing levels after leaving when multiverse support is active - James
-
Fix LodRenderSections not stopping load futures when closed - James
-
Fix a rare concurrent lighting engine issue with ChunkWrapper.getBlockLightPosList() - James
-
Fix purple Chisels & Bits block rendering - Pierre Remacle
- IE make Chisels & Bits blocks transparent
-
Fix ThreadPool null pointer before world startup - James
-
Fix world gen lockup if the file system fails - James
-
Fix chunk break/place events not triggering fabric updates post MC 1.17 - James
-
Fix Optifine not running in the dev environment - James
-
Fix light engine out of bounds for MC 1.16 and 1.17 - James
-
Fix File handler repos not closing - James
-
Fix transparent ocean floors at low detail levels - James
-
Fix warning about BiomeWrapper null level on startup - James
-
Fix white grass/water if the biome is null - James
-
Fix optifine 1.16 support - James
-
Fixed mod auto-updating on quilt - coolGi
-
Fix thread pool error logging after shutdown - James
-
Fix corrupt data or moving data between MC versions causing monoliths - James
-
Fix #49 shaders render incorrectly - IMS
- This is specifically fixed for Iris 1.7.0+
-
Fix #94 Rendering issues with Immersive Portals
-
Fix #414 Added (nearly) unlimited vertical quality graphics option
-
Fix #449 LodNodeBufferBuilder crash due to index out of bounds
-
Fix #595 crash on save and exit - James
-
Fix #597 Show Create logo in DH's update menu
-
Fix #613 multiplayer failing due to folder not existing - James
-
Fix #615 lag when rapidly breaking/placing blocks - James
-
Fix #638 optifine not rendering on 1.16 + 1.17
-
Fix #640 world gen holes not filling in
-
Fix #641 seamless overdraw issues
-
Fix #650 Fix Indium missing messages not displaying correctly in some cases - James
-
Fix #663 Fix world gen holes - James
-
Fix #670 Remove outdated world gen options from tooltip - James
-
Fix #673 Chunks without a position are ignored - James
-
Fix #680 Massive Memory Usage by ColumnRenderSource#renderDataContainer - James
Removals
- Remove Seamless Overdraw Test - James
- The experiment was interesting, but ultimately failed. There were a number of issues rendering entities and it only ever worked on Fabric.
- Near and near/far fog options - James
- Near fog was originally added back in DH 1.0 in case we couldn't remove vanilla fog, which has since proven to not be an issue.
- Remove Unlimited horizontal quality (LOD Dropoff Distance) setting - James
- Unlimited quality is unnecessary and due to how the renderer is currently set up, unable to be run on any machine at higher render distances.
- Disable cave culling for any detail level above 0 - James
- Cave culling is currently bugged and to prevent holes in the ocean that show the void this is the temporary solution.
Files
External resources
Project members
jeseibel
Owner
cola98765
Member
coolGi
Member
Morippi
Member
Ran
Member
s809
Member
TomTheFurry
Member
yeshi__
Moderator