Bobby

Bobby

8M Downloads

[Feature Request] Level Of Detail

fiftystiff opened this issue ยท 5 comments

commented

As someone else mentioned further down in a different feature request, adding LOD seems to be perfect for a mod like Bobby which is already drastically increasing view distance. The main project that is currently working on this is found here (now called Distant Horizons), but this is Forge only. If I had Java experience I would love to help but I only know a bit of C/C++; if there is any interest in pointing me in the right direction I would love to learn and help with development. The linked project has seemed to make significant progress in recent months.

Summary for people who don't know what LOD is:

Essentially, the goal of LOD in Minecraft would be to reduce textures down to 1x1 blocks, then 2x2 blocks, etc... the further away the blocks are from the player (because as you view blocks that are 1000 blocks away there is no way you could see their 16x16 texture on each side). Because of this, there is no need to load in full textures and instead just sample the blocks that are there to display a "dumbed down" texture. This is used in basically all the major games because it dramatically improves performance; however, Minecraft just has a radius that it loads chunks within (view distance) and everything within those chunks is being loaded/updated including textures (unless the new simulation distance added in 1.18 is set lower than the render distance; then these chunks exclude entity updates and random ticks). This ends up being much slower, so adding LOD could bring huge framerate improvements when using higher render distances.

commented

Theres actually a fabric mod for that already: TextTweaks by UltimateBoomer, though it's stuck on 1.17. Luckily and by complete coincidence, today I bumped it up to 1.18, and it works fine! For now, you can get it from my fork here until UltimateBoomer merges my 1.18 branch.

commented

@helpimnotdrowning That doesn't seem to do exactly what I am hoping for; it seems like the loaded textures are either all lower resolution or higher resolution, not scaling based on distance from the player. I think the LOD bias setting is probably the one that you would want but I didn't notice any real difference when adjusting (and reading the tooltips seems to imply that it doesn't actually adjust the textures themselves, just the aliasing at further distances). Any ideas or suggestions if I was doing something wrong?

commented

actually, distant horizons is no longer forge exclusive; the 1.18 branch contains a fabric folder that compiles correctly, although it's a bit finicky in game. it seems to still be a work in progress.

commented

@ProfessorSniff Thanks for letting me know, I didn't know that and will check it out! Hopefully it gets fully developed and is compatible with Bobby.

commented

One idea could be to have bobbys fake chunks to not render certain block types, sodium did have some tests a while back with far away chunks not rendering any face that was unassigned (such as vines, grass, flowers) as these will always be rendered regardless of being actually visible or not unless the graph determines the whole chunks is hidden.