Advertisement

Horizon:zero Dawn Cloud System

Started by July 27, 2016 06:39 PM
78 comments, last by IlPresidente 6 years, 5 months ago

Thx for the project.

Yeah the formular is just try and error. The idea was to think of the base noise as a form of heat/cloud bubbles. Then apply some threshold(the coverage) to it. Rescale it to 0..1 range with a steep slope. Invert it and use that as a final coveragemask. Then simply some CSG to build the final cloud volume.

Ryokeen

you said that you modify coverage accord to the height, the top get less coverage?

coverage = coverage * height?

and about the detail noise

use your formula, when base_cloud is 1.0, means it's inside the cloud.

base_cloud = base_cloud * high_freq_noise *(1.0-base_cloud) = 0.0?

hehe.
Advertisement

Whups, typo there


base_cloud = base_cloud - high_freq_noise*(1.0-base_cloud);

and


coverage = 1.0-coverage*height_fade; //from 1 where the fadeout starts to 0 where it ends

I invert the coverage because want remaining "vapor bubbles" as the cloud source

Ryokeen, i send you a pm, please chek it.

thanks.

hehe.

Whups, typo there


base_cloud = base_cloud - high_freq_noise*(1.0-base_cloud);

and


coverage = 1.0-coverage*height_fade; //from 1 where the fadeout starts to 0 where it ends

I invert the coverage because want remaining "vapor bubbles" as the cloud source

height_fade is calculate from weather type?

hehe.
What is the performance you guys are getting out of your result?

Ray marching seems quite expensive still, is that right?
Advertisement

What is the performance you guys are getting out of your result?

Ray marching seems quite expensive still, is that right?

Super expensive :)

In the Zero Dawn presentation, they mention that they only calculate 1/16th of the rays every frame, and temporally re-project the rest of them using results from previous frames.

That's equivalent to only rendering at 480x270 per frame for a 1080p output, and it still takes them a few milliseconds.

What is the performance you guys are getting out of your result?

Ray marching seems quite expensive still, is that right?

Super expensive :)

In the Zero Dawn presentation, they mention that they only calculate 1/16th of the rays every frame, and temporally re-project the rest of them using results from previous frames.

That's equivalent to only rendering at 480x270 per frame for a 1080p output, and it still takes them a few milliseconds.

Optimizing for when you even start marching, with some sort of ultra simple proxy like signed distance fields/2d cloud coverage map/etc. should also help a lot. But temporal reprojection and supersampling are basically required.

What is the performance you guys are getting out of your result?

Ray marching seems quite expensive still, is that right?

Super expensive :)

In the Zero Dawn presentation, they mention that they only calculate 1/16th of the rays every frame, and temporally re-project the rest of them using results from previous frames.

That's equivalent to only rendering at 480x270 per frame for a 1080p output, and it still takes them a few milliseconds.

Optimizing for when you even start marching, with some sort of ultra simple proxy like signed distance fields/2d cloud coverage map/etc. should also help a lot. But temporal reprojection and supersampling are basically required.

when coverage = 0 don't calculate light?

hehe.

Yep it is expensive, around 1.4-2.1ms on a gtx970 @1/16th FullHD resolution.

Optimisations so far, early out on high opacity, no expensive calclation on coverage == 0 , and no full quality light-samples on opacity > 60%

and a carefully tweaked scale. Thought on a signed distance field aswell, but that eliminates the nice property of realtime coverage/shape changes

This topic is closed to new replies.

Advertisement