Author Topic: Volumetric/SSS rendering "Clouds"  (Read 9728 times)

2018-08-29, 21:17:21

nockain

  • Active Users
  • **
  • Posts: 11
    • View Profile
Hi, everyone:

We are a small team of miami, that we are currently working on a project with clouds on corona 2.0.
We are interested in creating clouds natively without the use of plugins and quickly as in those photos ...... We would like to know how I can get a configuration like those clouds.
We have a lot of doubts and big problems to get realistic clouds like these, with corona render.

Please, Ondra, would you kindly enlighten us?

2018-08-30, 12:28:06
Reply #1

cecofuli

  • Active Users
  • **
  • Posts: 1577
    • View Profile
    • www.francescolegrenzi.com
The only solution is to use .vdb files.
Or think to create by hand cloud geometry and use CoronaVolumeM.
Don't think to use CoromaVolumeMtl with Inside mode: it's slow like an hell!

2018-08-30, 12:43:54
Reply #2

pokoy

  • Active Users
  • **
  • Posts: 1874
    • View Profile
Your screenshot looks more like dust/smoke to be honest. Clouds need a lot of bounces to look convincing and Corona's maximum of 100 bounces can look ok with some postproduction but it's a lot of tweaking, quite slow and not 100% cloud-like. Compared to other solutions (Terragen, Disney's render of the cloud file example made public recently) you won't get the same level of realism and speed from volumes in Corona as of now. On the upside, other common renderers often produce worse results than Corona.

Have a look at this thread if you haven't already, some users have taken the Disney VDB file for a spin:
https://forum.corona-renderer.com/index.php?topic=20978.0

for VDB, the current situation is:
- overlapping VDB volumes will show artifacts
- if your camera happens to be within a VDB volume's bounding box the volume will not render at all

So working with multiple VDB volumes works only if they don't overlap (and you don't have global fog enabled as it overlaps with any VDB within) and your camera is not inside a volume bounding box, which makes it unusable for many situations. I was looking forward to use VDBs and volume rendering in v2 but there's a lot to be improved for it to be usable in production in my opinion.

2018-08-30, 19:28:21
Reply #3

Njen

  • Active Users
  • **
  • Posts: 557
    • View Profile
    • Cyan Eyed
- if your camera happens to be within a VDB volume's bounding box the volume will not render at all

The work around for this is to boolean out a small sphere at the pivot point of the camera, and it renders perfectly fine. For extra versatility if your camera moves, wire the transform of the sphere boolean suboperator to the transform of the camera. I'm doing this, and it totally works for me.

2018-08-30, 19:42:36
Reply #4

pokoy

  • Active Users
  • **
  • Posts: 1874
    • View Profile
- if your camera happens to be within a VDB volume's bounding box the volume will not render at all

The work around for this is to boolean out a small sphere at the pivot point of the camera, and it renders perfectly fine. For extra versatility if your camera moves, wire the transform of the sphere boolean suboperator to the transform of the camera. I'm doing this, and it totally works for me.

Do you mean you subtract it from the volume with a distance shader... or how exactly do you do that?

2018-08-30, 23:39:35
Reply #5

Njen

  • Active Users
  • **
  • Posts: 557
    • View Profile
    • Cyan Eyed
No, an actual geometry sphere. Use a boolean compound object to subtract the sphere geometry from the volume geometry, and put the camera inside the sphere. An example of this effect can be seen in the following link. Even though it looks like there is fog in the area, this was rendered with the 'inside' option turned off.
https://forum.corona-renderer.com/index.php?topic=20183.msg128657#msg128657

2018-08-31, 07:41:32
Reply #6

pokoy

  • Active Users
  • **
  • Posts: 1874
    • View Profile
I think you missed that I was talking about VDB volumes, not geometries, there's no way to use booleans with VDB volumes.

2018-08-31, 11:49:18
Reply #7

Njen

  • Active Users
  • **
  • Posts: 557
    • View Profile
    • Cyan Eyed
Oh yeah, oops, I misread you post >_<

2018-09-02, 21:35:20
Reply #8

nockain

  • Active Users
  • **
  • Posts: 11
    • View Profile
The cloud that I put in the image of the post, is owned by ondra / Corona team.
and it's just an example in sunset.
We would settle for this same setup, but we did not get it. Our tests take too long, and our fantastical scenes carry many clouds that for production reasons, we need to be completely rendered in corona render, no, in post production with others tools.

We would like to see another set up of users to compare with ours, because either I am very lost, or we can not decently obtain a cloud mattress with corona render, at normal speed, and without having to design each cloud by hand. although this last option we would like to try, if at least you had decent results like the user cecifuli.

Our "OpenVDB" - Volumengrid  does not load the file...any help?

I'm doing the test with an i9 7900x and corona 2.0 , 64 gb ram.

2018-09-03, 14:04:44
Reply #9

TomG

  • Administrator
  • Active Users
  • *****
  • Posts: 5515
    • View Profile
Bear in mind that rendering true 3D volumes, whether those are OpenVDB or a volume material with inside mode, will never render at "normal" speed because they are doing a lot of very intensive extra calculations (if by "normal speed" you mean the same as a scene that doesn't have those features). The same is true for any render engine - having to calculate light bounces and absorption etc. at points within a 3D volume is always going to need more calculations (and so be slower) than just doing that at a surface.
Tom Grimes | chaos-corona.com
Product Manager | contact us

2018-09-03, 17:52:18
Reply #10

cecofuli

  • Active Users
  • **
  • Posts: 1577
    • View Profile
    • www.francescolegrenzi.com
Exactly. And the only solution is to create a proper, well optimized shader like, I don't know, CoronaCloudsMlt =)

2018-09-03, 18:32:37
Reply #11

nockain

  • Active Users
  • **
  • Posts: 11
    • View Profile
Thank you very much for sharing your ideas in this post.
Even so, the openvdb solution I still like for clear images this, temporarily.

Any idea why mine does not charge?

2018-09-03, 18:51:02
Reply #12

TomG

  • Administrator
  • Active Users
  • *****
  • Posts: 5515
    • View Profile
Not sure what you mean by "does not change"?

In the earlier image, it says it was unable to load the file. I'd start with the "wdas_cloud_eighth.vdb" since it is the lightest, with the least amount of data, and ensure that loads as expected. Could be a memory issue if it is trying to load the full cloud, not sure.

Once loaded, be sure to enable scattering as this is off by default.

Below is an image which was just: new scene, CoronaVolumeGrid, load the wdas_cloud_eighth.vdb, enable scattering, add Corona Sun and Sky, lower the exposure, and start IR:
Tom Grimes | chaos-corona.com
Product Manager | contact us

2018-09-03, 18:53:12
Reply #13

TomG

  • Administrator
  • Active Users
  • *****
  • Posts: 5515
    • View Profile
For the loading issue, could be a corrupted file (try unzipping again, or even redownloading); another thought might be if the file is in some network location and is inaccessible?
Tom Grimes | chaos-corona.com
Product Manager | contact us

2018-09-03, 19:24:53
Reply #14

nockain

  • Active Users
  • **
  • Posts: 11
    • View Profile
Friends, it does not load. I tried again....  "wdas_cloud"  . Maybe the source is corrupt now.

We tried with the phoenixfd, but the results are difficult to configure and unrealistic at the end.

Any solution to get decent clouds on corona render even if they take a lot of processing time?