Clouds - low voxel resolution

Started by itsdavidblaker, March 19, 2022, 01:08:55 PM

Previous topic - Next topic

itsdavidblaker

Hello!
I'm having some trouble creating the best shading possible for larger cloudscapes - for context, I'm aiming to be pretty high for this so getting a large radius will be important   ;D
 
To demonstrate I'll start with an empty scene and add the Easy Cloud - Altocumulus Castellanus (love this one). The default radius is 200,000 but I'll zoom into one patch of the clouds:
 


Looking good! Though I feel that we're lacking any meaningful shading here, especially in the large central cloud. Time to bump up the voxels from 10 (million) to 100:



Damn, very cool!  Let's go to 1000 and see what happens:


I love the shading that we're getting in that larger cloud now, you can see the features despite the fact that they're in the shade.

These voxels are so dang cool and I'd be so happy if I could push this value even further. With 1000 voxels, the Voxel Buffer Resolution is supposedly 4048 x 61 x 4049, though if I use "Visualize Voxels" I can't help but wonder if this isn't the case? I'm counting around 5 voxels in the vertical direction:


My question is simply where are the other 56 vertical voxels? Are they above the clouds? Below? Is there a way I can focus them on the areas that matter so that we're getting the full benefit of them? This will be so useful, especially for cloud layers with larger sizes/depth, such as this large storm cloud which has an underwhelming "blurred" appearance:



You're all much smarter than I am so please correct me if I'm doing anything wrong here  ;D

Thank you!

itsdavidblaker

Just to help demonstrate the value of a higher voxel density, here's the same storm but with 6000 million and a smaller radius. I imagine that even more voxels will only make it look better  ;D

itsdavidblaker

Just more experimentation here, I think I must be missing something obvious  ;D

WAS

#3
Well with a radius of 200,000, I can't imagine many very voxels will be available so close. Additionally, the voxels will be scaled larger to account for the radius, I imagine, which is why cloud lighting suffers at higher radiuses.

You'd probably get better results with smaller radiuses, and more easy cloud layers.

Additionally, the easy cloud lighting settings are kinda strong. Furthermore, edge density helps with lighting as well creating deeper shadows.

Edit: When I visualize voxels at default cloud radius, I actually don't even distinguish the voxels at 1000.

itsdavidblaker

Appreciate the response from you! Your presence on the forums has been helping me so much through the years ;D

I completely agree that there'll be significantly less voxel density with a radius that high, but I can't wrap my head around why it's so noticeable? In my most recent screenshot, I aimed to make the voxels countable, and it's possible to see that the numbers don't add up? Rough estimations here, but there are 34 x 34 x 5 = 5,780 "real" voxels while the target was 1 million? That's a pretty chunky difference!

If by sheer impossibility there is something fishy going on, I feel that updating/fixing this will have such a significant impact on how far we can push the quality of our renders? But I'm totally ready to accept that this is just how it works and everything is functioning normally, so no biggie  ;D

Thank you so much!

WAS

I'm sure there is something that is going on that would truncate unnecessary voxels to improve performance, but not sure if it accounts for this sort of sparsity. There is alsot the Transition Distance of voxels, maybe this plays into ray origin (camera) and distance of voxels and further adjusts ratio of distribution.

I'm sure @Matt  could explain this very well, and I'm likely very wrong. I'm just trying to look at the settings available and extrapolate what I'd do in code, even if I'm trying to think like Matt. 

Matt

#6
Welcome to the forum!

There is a difference between the preview and full renders. At the moment (v4.5) the preview reduces the voxel buffer resolution by a factor of 4 in each dimension (or 8 for some calculations), but the dimensions should be correct for full/final renders.

I'm going to experiment with keeping full resolution previews for voxels close to the camera, and only applying the reduction in the distance where we get the most benefit (speedup) from doing so. This is one of the things I need to do to get previews to look much closer to final renders. However, there will still be parts of the image where the voxel buffer will appear to be at a lower resolution.
Just because milk is white doesn't mean that clouds are made of milk.

WAS

That last bit would be nice so they look at least more like the final render in the areas close to the camera. Also makes sense the preview here would do this. Didn't even think of it to do a full render. 

itsdavidblaker

Woooah! That's actually very cool and explains a lot! By the sound of it I just need to man up and press the render button. Will definitely test this out and post comparisons for future-me and the world to reference. 

I'll welcome those proposed changes with open arms, best of luck with that, and thank you!


itsdavidblaker

#9
Just uploading a few images as promised
Viewport (10 million voxels)

Render:


Viewport (100 million voxels)

Render:



Lesson learned!

WAS

Oh wow yeah. Definitely leagues better. Haha