Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow larger / custom render distances (for eg. DH) #76

Open
MysticMia opened this issue Feb 26, 2024 · 5 comments
Open

Allow larger / custom render distances (for eg. DH) #76

MysticMia opened this issue Feb 26, 2024 · 5 comments
Labels
enhancement New feature or request

Comments

@MysticMia
Copy link

Is your feature request related to a problem? Please describe.
Currently, the maximum distance of clouds is limited at 4x. Since Distant Horizons has a custom render distance method, it renders blocks much farther out than 4x your vanilla render distance. When flying through the sky using a mod like Distant Horizons, you can notice the clouds rendering in a circle around the player, but the world extending quite a bit beyond the clouds. This is more obvious when moving around.

image

Notice the smaller render distance of the clouds. You can see distant buildings going above where clouds would have been.

image

Picture at y=500, where the range of chunks exceeds the range of the clouds.

Describe the solution you'd like
Set a higher limit for the render distance multiplier, allowing players to raise it to >4 (10x? 40x? a textbox input with custom limit?)

Additional context
Another mod that extends render distances, Bobby, uses the vanilla slider to extend render distances. Using this mod, you can set the render distances up to 1024 chunks, for example. Using this mod, the clouds still render at 4x distance (going up to 4096 chunks, I assume) (although it does take ~5 seconds to load the clouds, but no lag)
image

Notice the large render distance for the clouds

Describe alternatives you've considered
Since Distant Horizons has a secondary render distance slider, it may be better not to render the distant clouds at the same resolution: render them at lower quality.

I looked at older issues and found #45. I installed the Extended Clouds mod and compared the two cloud render distances:
image

Clouds while selecting "Better Clouds" in the mod config

image

Clouds when using "Vanilla" cloud rendering. It seems to be independent from the 4x render distance limit, going up to a distance seemingly 600 to 800 chunks away from the player (10000 to 14000 blocks? hard to estimate).

This was with config "cloudRenderDistanceMultiplier": 1.0, in extended-clouds.json. The clouds disappeared going above a height of 4892 (with a cloud height of 240) (cloud height-dependent).

@MysticMia MysticMia added the enhancement New feature or request label Feb 26, 2024
@Qendolin
Copy link
Owner

I'll keep this issue open, but I don't think it'll ever get done. It's too much work.
Here are some of the problems that I see:

It doesn't look good

I don't like that it gets very "dense" at the edge.
Far clouds

Also when viewed from above there is not enough variation at a large scale.

Generation performance

Like you said, it takes a while to generate all those points. This would require significant changes in the generator.

Render performance

It's hard to say how much the impact would be. But rendering a lot, and it really is a lot, of anything that has a lot of overlap is not liked by the GPU. For far away clouds I'ld have to come up with some way to prevent the more-than-linear increase in "number of clouds" to "render time"

Maybe I could just render a single large, flat texture at a certain distance. If the clouds are far enough away their height is not really perceivable anyway.

Code complexity

Adding optional code for rendering at a larger distance makes everything more messy.

@obj-obj
Copy link

obj-obj commented Jul 26, 2024

I mean, you can always simply increase the limit for the current render distance without any other changes

@Qendolin
Copy link
Owner

And how would that work without running into any of the problems stated above?

@obj-obj
Copy link

obj-obj commented Jul 26, 2024

And how would that work without running into any of the problems stated above?

The screenshots sent by @MysticMia look perfectly fine to me. Just say a view distance of more than 4x the render distance is unsupported

@Qendolin
Copy link
Owner

It is unsupported because it doesn't just work. The screenshot might look fine but believe me, simply increasing the distance causes visual bugs as well as too bad generation performance. Beyond the limit the GPU can't differentiate between near and far objects, leading to stuff being rendered in the wrong order.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants