NanoVDB indexed space sigma_a /sigma_s

32 views
Skip to first unread message

S L

unread,
Nov 29, 2022, 2:46:48 AM11/29/22
to pb...@googlegroups.com
Hello, 

We know pbrt-v4 is using nanovdb instead of 3d array. The tracing and sampling happen in indexed space instead of unit cube 000~111. When the vdb is very large, the indexed cube could also be very large 

In the equations, we need to divide by sigma_t. And sigma_t is less than 1.0, do we use the same scale of sigma_t for nanovdb? 

When the nanovdb box is too big, the tracing step might be too small comparing to the big box. It may take much more steps before coming out. Do I need to scale it by some world space value? I didn't see similar things in pbrt-v4. Or, it doesn't matter?

Regards.





Matt Pharr

unread,
Dec 8, 2022, 8:19:15 PM12/8/22
to pb...@googlegroups.com

On Nov 28, 2022, at 11:46 PM, S L <tao...@gmail.com> wrote:

Hello, 

We know pbrt-v4 is using nanovdb instead of 3d array. The tracing and sampling happen in indexed space instead of unit cube 000~111. When the vdb is very large, the indexed cube could also be very large 

By large do you mean the sampling resolution of the vdb volume, or its spatial extent?

More or less the sampling rate (or adaptivity, etc.) of the underlying source of volumetric data is irrelevant to pbrt’s volume scattering code. (For example, there is a Cloud medium in there based on perlin noise that is evaluated on the fly, at the exact lookup point.) You can think of the volume scattering code integrating over a continuous ray, looking up randomly-sampled points along it. If the bounding box of the volume is bigger, pbrt will take more samples, and if the medium is denser, pbrt will take more samples. 


In the equations, we need to divide by sigma_t. And sigma_t is less than 1.0, do we use the same scale of sigma_t for nanovdb? 

Sorry, I’m not sure what you’re referring to with respect to dividing by sigma_t.


When the nanovdb box is too big, the tracing step might be too small comparing to the big box. It may take much more steps before coming out. Do I need to scale it by some world space value? I didn't see similar things in pbrt-v4. Or, it doesn't matter?

You shouldn’t need to do anything like that..

Thanks,
Matt


Regards.






--
You received this message because you are subscribed to the Google Groups "pbrt" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbrt+uns...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pbrt/CAHES6s6LFgPoEywn4o07QTus4vD4HkJ0CwgBh-AVJS2WvZuiCg%40mail.gmail.com.

Reply all
Reply to author
Forward
0 new messages