VDB workflow testing

Started by Matt, June 13, 2018, 07:18:11 AM

Previous topic - Next topic

Matt

Quote from: ajcgi on June 20, 2018, 06:20:02 AM
First issue for me is that there's a scale difference between the grid and the camera of 1000, taking one unit in Houdini to be one metre.

I think you mean 100? Perhaps the FBX is using centimetres and either Terragen isn't marking the units as cm or Houdini isn't respecting this when reading it in. I don't know if this is something we should fix in Terragen, considering it seems to be loading correctly in 3DS Max. But it's good to know this is happening and how to compensate for it.

Matt
Just because milk is white doesn't mean that clouds are made of milk.

Matt

#31
Quote from: ajcgi on June 20, 2018, 09:36:40 AM
To begin with I also got nothing. It took 3 of us here to figure it out at lunch. Ultimately, the density attribute in the vdb is still named 'Easy cloud 01' and not 'density' which Houdini is expecting.

OK, I'll fix this. The first example in the VDB docs creates a grid and names it "LevelSetSphere" so I thought this would be interpreted as the name of the volume and that it could be anything. I'll change it to "density".

Quote
I've now got the scene up to the point where the shadow works! The density on the pyro shader had to be reduced to 0.2 and then it was all go. More images attached. There's a slight offset in shadow position.

Nice! Strange that the density multiplier is a seemingly arbitrary value. There seem to be some other differences besides the slight offset in position. The denser parts of the cloud seem denser in your render. Is there a slightly lower density that makes the denser parts look closer to mine? Maybe 0.1?

Matt
Just because milk is white doesn't mean that clouds are made of milk.

Matt

Quote from: paq on June 20, 2018, 09:32:05 AM
So I have a first setup in place, done by hand has Clarisse don't load .FBX.
Scaling is right (it's a 10Km large scene).

Great to see that this loads and renders in the right place :)

Quote
Direct light exposure is set on 1.5, and I have an env.light on -3 (???)

To test shadow density can you render it without any environment light or GI, just a direct light overhead? It looks like you might need to increase the ray march quality (reduce the step length?)

I do want to see full lighting tests, but it's really useful to have a render that calibrates the basic density without other lighting complications.

Quote
With the a default volume shader settings, and the overall density reduce to 50%, it looks more like smoke than cloud. I'll post the scene on Isotropix web site (may I Matt ?), because I'm really curious what kind of trick we could use to get a proper cloud look  8)

Absolutely, by all means :)
Just because milk is white doesn't mean that clouds are made of milk.

paq

#33
Hi Mat,

So here's the black cloud, and the shadow.
No gi, Direct Light Exposure : 1.67 (default is 0)
For the 4 zone I have : 4.7%, 17.8 %, 35.4 %, 72%

@density of the VDB is 0.15 (default 1)

I don't see any ray march quality or step length with VDB, only a quality in % for the Camera, reflection, refraction, shadow and GI.
All is set at 100% quality (default 50%)
Gameloft

sboerner

#34
Black cloud and shadow in Maya with Arnold.

Directional light intensity: 4
Volume Density: 0.003
Scatter Weight: 0
Transparent: 0.5/0.5/0.5
Everything else left at default.

The grid and vdb are scaled x100. Camera imports to the correct position.

For the 4 zones I have: 4.9%, 18.0%, 36.0%, 72.8%

Matt

I've uploaded a new VDB to the same folder:

vdb_calib_01/scenes/vdb_calib_01_export_v003.vdb

This is named 'density' instead of 'Easy cloud 01'.

Does this solve the problem with visibility that some of you had with v001?

Matt
Just because milk is white doesn't mean that clouds are made of milk.

ajcgi

Quote from: Matt on June 20, 2018, 06:59:13 PM
Nice! Strange that the density multiplier is a seemingly arbitrary value. There seem to be some other differences besides the slight offset in position. The denser parts of the cloud seem denser in your render. Is there a slightly lower density that makes the denser parts look closer to mine? Maybe 0.1?
Matt

I haven't had much of a play with the shader on the cloud itself yet, so that will be having some effect. I agree 0,2 is arbitary. I've tried 0.1 but that seems too light. Image attached.

I'll try the new vdb later on.

ajcgi

I lied. I tried it now. Works immediately now Matt.

pokoy

#38
Ok - the 'vdb_calib_01_export_v003.vdb' works fine. It really seems Arnold expects some standard names for the channels of the vdb.
FYI - there's also a velocity channel included in the file (also in the first vdb file you posted) having the same channel name.

Test with 3dsmax and Arnold 1.2.926

Direct Visibility and Shadow
The strange thing is that the Arnold volume shader has a transparency parameter which is set to 0.3679 (0-1 space). With this value, density has to be at 0.18. The shader doesn't accept more than 2 decimal places so who knows what exact value needs to be, but it looks like a good match. Disabling transparency will result in a black cloud and shadow, so I've left this value where it was.
I thought it's meant to produce 0.5 in sRGB, but it seems to be an arbitrary value, if it's linear it should be 0,2176 to produce 0.5 in sRGB, if it's in 2.2 gamma it should be 0.7297 to produce 0.5 in linear space - no clue what the reasoning is behind this as a standard value.

Scattering/GI
This is where transparency controls everything again. If I want the cloud to look good I need to increase the value but then the shadow will be a lot lighter than in TG's example. The GI result further down is what comes out when rendered with the same shader that matches the diffuse/shadow render.

I guess it all comes down to how volumetrics work in Arnold, there's no simple way to achieve the same results for diffuse/shadow and GI.
General light intensity has to be around 1.68 to produce a close match to TG's exposure/brightness.

vdb_calib_01_black_cloud_no_shadows---3dsmax_Arnold---Density-0.18.jpg

[attachimg=1]


vdb_calib_01_shadow_of_black_cloud---3dsmax_Arnold---Density-0.18.jpg

[attachimg=2]


vdb_calib_01_white_cloud_with_gi---3dsmax_Arnold---Density-0.18.jpg

[attachimg=3]

Going to test with 3dsmax and Corona next, either today or tomorrow.

pokoy

Also, after playing with the VDB trying to get a decent cloud look, I have to say that TG renders clouds way better than anything I've seen from Arnold and Corona so far. Way more realistic and surprisingly not much slower, even faster with higher GI bounces. Well done ;)

sboerner

QuoteI've uploaded a new VDB to the same folder:

vdb_calib_01/scenes/vdb_calib_01_export_v003.vdb

This is named 'density' instead of 'Easy cloud 01'.

Does this solve the problem with visibility that some of you had with v001?

Thanks, Matt. The new VDB works well.

QuoteDirect Visibility and Shadow
The strange thing is that the Arnold volume shader has a transparency parameter which is set to 0.3679 (0-1 space). With this value, density has to be at 0.18. The shader doesn't accept more than 2 decimal places so who knows what exact value needs to be, but it looks like a good match. Disabling transparency will result in a black cloud and shadow, so I've left this value where it was.
I thought it's meant to produce 0.5 in sRGB, but it seems to be an arbitrary value, if it's linear it should be 0,2176 to produce 0.5 in sRGB, if it's in 2.2 gamma it should be 0.7297 to produce 0.5 in linear space - no clue what the reasoning is behind this as a standard value.

Scattering/GI
This is where transparency controls everything again. If I want the cloud to look good I need to increase the value but then the shadow will be a lot lighter than in TG's example. The GI result further down is what comes out when rendered with the same shader that matches the diffuse/shadow render.

I guess it all comes down to how volumetrics work in Arnold, there's no simple way to achieve the same results for diffuse/shadow and GI.
General light intensity has to be around 1.68 to produce a close match to TG's exposure/brightness.

I'm curious why my Density setting for the Arnold volume shader has to be so much smaller to produce the same result (0.003 vs. your 1.68). Setting it to 1.68 here gives me a solid black cloud. I've matched your transparency setting (0.368 on my system) and that works fine. Tonight I'll mess around with the Scatter and Transparent settings to see if I can get some natural looking clouds. (So far I've left Scatter Weight at 0 to replicate the black cloud and shadow.)

I'm using Arnold Core 5.0.2.4, not sure if that makes a difference.



pokoy

Quote from: sboerner on June 21, 2018, 11:38:45 AM
I'm curious why my Density setting for the Arnold volume shader has to be so much smaller to produce the same result (0.003 vs. your 1.68). Setting it to 1.68 here gives me a solid black cloud. I've matched your transparency setting (0.368 on my system) and that works fine. Tonight I'll mess around with the Scatter and Transparent settings to see if I can get some natural looking clouds. (So far I've left Scatter Weight at 0 to replicate the black cloud and shadow.)

I'm using Arnold Core 5.0.2.4, not sure if that makes a difference.
Not sure but maybe units make a difference here. I've set my scene to work in meters and the plane is 10km as in the original TG scene, if you have different settings in your scene it could make a difference. I may have to update Arnold, actually I'm seeing that a new version is out. But honestly, the volume object support in Max is a bit basic, so maybe they've messed up how vdb files import and render, I guess the implementation in Maya is much more solid.

Update - I see in your post that your vdb is scaled x100, maybe that's why.

sboerner

The VDB and grid both came in at 100m on import, so I had to scale them to 10km. I'll remove the scaling to see what difference that might make. Good thought, thanks.

My understanding is that there were some significant changes between Arnold 4 and 5. Many of the shaders were also updated. So maybe that's making a difference, too.

pokoy

Quote from: sboerner on June 21, 2018, 11:54:44 AM
The VDB and grid both came in at 100m on import, so I had to scale them to 10km. I'll remove the scaling to see what difference that might make. Good thought, thanks.

My understanding is that there were some significant changes between Arnold 4 and 5. Many of the shaders were also updated. So maybe that's making a difference, too.

Just had a look, I'm on 5.0.2.4 too, there's a new plugin/bridge version but I doubt it will make a difference. Will update and repeat the test, though.

paq

#44
Quote from: pokoy on June 21, 2018, 10:08:38 AM
Also, after playing with the VDB trying to get a decent cloud look, I have to say that TG renders clouds way better than anything I've seen from Arnold and Corona so far. Way more realistic and surprisingly not much slower, even faster with higher GI bounces. Well done ;)

Yop, Terragen clouds looks amazing, and I really hope I will lean some tricks in this topic to enhance the result in Clarisse ... (I think Clarisse and Arnold are pretty close)


[attachimg=1]
Here's a test using the density channel as emitter (thanks to Démian from Isotropix). It's allready better than the default smoke look I had, but clouds are now self emitter :(

@Matt isn't any other possible data that you could generate in the .vdb that "we' could use to enhance the lack of inside scattering in our test ?

Quoting a reply from mdkay (Clarisse forum)

how does the shader (sic) fake the extra lightboost..

The volume shader in clarisse can mimic these phenomena with the scatter value for forward or backward transmission. But that value is static through the entire medium unless a property is provided to multiply it with.
Something like a SDF value which gives a value how close a point is to the surface of the vdb ...
Something Matt sure can add..otherwise a run with Houdini would help as well.



But in the other hand, I couldn't resist to render  the VDB in a 'real' scenario, and for a 5Mb file, it's not that bad at all  8) ...

[attachimg=2]
Gameloft