LOD stands for "Level of Detail." It's a term used for low-quality versions of 3D models and terrain used in modern games to increase the render distance without hurting performance. Older games, especially open-world games, had to use fog to hide the fact that they couldn't render distant terrain, but by using LOD, games were able to overcome this problem without slowing the console to a crawl. By using LOD in Minecraft, we could increase render distance without significantly hurting performance.
How would it work?
Normally, LOD is either manually made by 3D artists or automatically generated by a computer program and packaged in the game's files. However, with a randomly generated game like Minecraft, that's obviously not viable. Instead, the LOD must be generated on the fly.
When it generates LOD, the game creates a bunch of cubes to fill the chunk. It then deletes any cube without a solid block, and assigns a single color to each side of each cube based on texture of the blocks within. It's pretty difficult to explain, but here's a picture of different levels of LOD. On the left is a typical Minecraft chunk, and each version of the chunk is LOD with progressively less detail.
In order to reduce size, LOD models would have no textures, only blank colors based on the texture. Different colors have different priorities. For example, a face will prefer a lava color over stone. LOD models also would have no transparency. In addition, LOD models would not include most blocks that aren't a full block in size, such as flowers and chests. Slabs, stairs, and liquids would be an exception, and would be treated as full blocks for LOD generation.
When would it generate?
By default, LOD wouldn't generate at all, and actually has to be enabled manually on a per-world basis. That's because the LOD models can add a lot to the world size (the models I made for this suggestion take about 130kb uncompressed, which isn't a lot, but could significantly bloat world size with a lot of chunks generated). When generating a world, you will have an option to "Generate LOD during gameplay". You can also enable this option from the "Edit World" menu. You can also choose to manually generate LOD for all generated chunks from the "Edit World" menu.
If you choose to generate LOD during gameplay, then you will have an option for "Chunk updates required", which defaults to 10. Minecraft would keep a list of all chunks that have been edited since LOD for that chunk has been generated. If the number of edits is greater than or equal to the "Chunk updates required" value, then the game will regenerate the LOD for that chunk when the chunk is unloaded. The game will also generate LOD whenever a new chunk is generated.
How would I see it?
If LOD is enabled for the current world, there will be an option for "LOD distance" in the video settings. This is basically an addition to your regular render distance. If you have your render distance at 8, and your LOD distance at 7, then you will have an effective render distance of 15 (though chunks beyond the regular render distance will only be visible but not actually loaded). You will also have an option to "Generate distant terrain for LOD", which, if enabled, will allow the game to generate chunks beyond your render distance, then immediately unload them and replace them with LOD. By default this option is off, as it can significantly hurt performance when exploring new areas. It is recommended you only use LOD for chunks that have already been generated unless you have a beefy PC.
left
What about multiplayer?
In LAN play, everyone will generate LOD if it is enabled, though LOD generation distance will be maxed at 5 chunks beyond the render distance. For servers, LOD has to be enabled in the server config file, and you can choose who can generate LOD during gameplay as well:
canGenerateLOD:@rankAdmin,TheGoldenJ,@UUID124578
This means that Admins, a player named TheGoldenJ, and a user with the UUID 124578 can generate LOD.
Anyway, if you have any questions, feel free to ask! I probably didn't do the best job explaining, so I don't mind clarifying anything.
The Meaning of Life, the Universe, and Everything.
Join Date:
12/13/2011
Posts:
58
Member Details
This is an awesome idea, and I don't know why anyone didn't make this yet. Just imagine being able to see that far away in your world, something like a 256x render distance. Someone has to do this!
Rollback Post to RevisionRollBack
Minecrafting since 2011 - I Hate and Love Minecraft at the same time since 2015. lol
This might be the solution to fixing Java's awful chunk loading system for good.
It's not like you're going to notice high levels of detail in textures from very far out anyway.
It's nice having a large render distance so you can see what biomes are ahead of the one you're in, whether there are any villages or pillager outposts etc.
But some finer details can become invisible beyond a certain point.
For example, the differences between stone and andesite may become impossible to tell at 128 chunks out.
Sure the block colours would still be visible, but the individual details in each block texture is even smaller.
Just as it can be hard to tell between a block of quartz and a block of white concrete close up unless you read the text of what the item is or if you look at them next to each other.
This would improve servers immensely, even bedrock edition could benefit from something like this.
Because then it means there's more performance headroom for redstoning and mob AI.
What is LOD?
LOD stands for "Level of Detail." It's a term used for low-quality versions of 3D models and terrain used in modern games to increase the render distance without hurting performance. Older games, especially open-world games, had to use fog to hide the fact that they couldn't render distant terrain, but by using LOD, games were able to overcome this problem without slowing the console to a crawl. By using LOD in Minecraft, we could increase render distance without significantly hurting performance.
How would it work?
Normally, LOD is either manually made by 3D artists or automatically generated by a computer program and packaged in the game's files. However, with a randomly generated game like Minecraft, that's obviously not viable. Instead, the LOD must be generated on the fly.
When it generates LOD, the game creates a bunch of cubes to fill the chunk. It then deletes any cube without a solid block, and assigns a single color to each side of each cube based on texture of the blocks within. It's pretty difficult to explain, but here's a picture of different levels of LOD. On the left is a typical Minecraft chunk, and each version of the chunk is LOD with progressively less detail.
In order to reduce size, LOD models would have no textures, only blank colors based on the texture. Different colors have different priorities. For example, a face will prefer a lava color over stone. LOD models also would have no transparency. In addition, LOD models would not include most blocks that aren't a full block in size, such as flowers and chests. Slabs, stairs, and liquids would be an exception, and would be treated as full blocks for LOD generation.
When would it generate?
By default, LOD wouldn't generate at all, and actually has to be enabled manually on a per-world basis. That's because the LOD models can add a lot to the world size (the models I made for this suggestion take about 130kb uncompressed, which isn't a lot, but could significantly bloat world size with a lot of chunks generated). When generating a world, you will have an option to "Generate LOD during gameplay". You can also enable this option from the "Edit World" menu. You can also choose to manually generate LOD for all generated chunks from the "Edit World" menu.
If you choose to generate LOD during gameplay, then you will have an option for "Chunk updates required", which defaults to 10. Minecraft would keep a list of all chunks that have been edited since LOD for that chunk has been generated. If the number of edits is greater than or equal to the "Chunk updates required" value, then the game will regenerate the LOD for that chunk when the chunk is unloaded. The game will also generate LOD whenever a new chunk is generated.
How would I see it?
If LOD is enabled for the current world, there will be an option for "LOD distance" in the video settings. This is basically an addition to your regular render distance. If you have your render distance at 8, and your LOD distance at 7, then you will have an effective render distance of 15 (though chunks beyond the regular render distance will only be visible but not actually loaded). You will also have an option to "Generate distant terrain for LOD", which, if enabled, will allow the game to generate chunks beyond your render distance, then immediately unload them and replace them with LOD. By default this option is off, as it can significantly hurt performance when exploring new areas. It is recommended you only use LOD for chunks that have already been generated unless you have a beefy PC.
What about multiplayer?
In LAN play, everyone will generate LOD if it is enabled, though LOD generation distance will be maxed at 5 chunks beyond the render distance. For servers, LOD has to be enabled in the server config file, and you can choose who can generate LOD during gameplay as well:
canGenerateLOD:@rankAdmin,TheGoldenJ,@UUID124578
This means that Admins, a player named TheGoldenJ, and a user with the UUID 124578 can generate LOD.
Anyway, if you have any questions, feel free to ask! I probably didn't do the best job explaining, so I don't mind clarifying anything.
Want to see my suggestions? Here they are!
I am also known as GameWyrm or GameWyrm97. You can also find me at snapshotmc.com
This is an awesome idea, and I don't know why anyone didn't make this yet. Just imagine being able to see that far away in your world, something like a 256x render distance. Someone has to do this!
Minecrafting since 2011 - I Hate and Love Minecraft at the same time since 2015. lol
YES! This is what minecraft needs! Someone has to make this!
https://github.com/PorkStudios/FarPlaneTwo
Besides Far Plane Two there is also the LOD mod:
https://www.curseforge.com/minecraft/mc-mods/lod-level-of-detail
This might be the solution to fixing Java's awful chunk loading system for good.
It's not like you're going to notice high levels of detail in textures from very far out anyway.
It's nice having a large render distance so you can see what biomes are ahead of the one you're in, whether there are any villages or pillager outposts etc.
But some finer details can become invisible beyond a certain point.
For example, the differences between stone and andesite may become impossible to tell at 128 chunks out.
Sure the block colours would still be visible, but the individual details in each block texture is even smaller.
Just as it can be hard to tell between a block of quartz and a block of white concrete close up unless you read the text of what the item is or if you look at them next to each other.
This would improve servers immensely, even bedrock edition could benefit from something like this.
Because then it means there's more performance headroom for redstoning and mob AI.