Regarding directional dipole

Practical and theoretical implementation discussion.
citadel
Posts: 21
Joined: Fri Oct 17, 2014 4:19 am

Regarding directional dipole

Postby citadel » Wed May 04, 2016 7:38 pm

Following the shader code from http://people.compute.dtu.dk/jerf/code/dirsss/,
I have compared bssrdf using dipole (Jensen'01) and dirpole (Hachisuka'15),
cdipole.jpg
cdipole.jpg (29.46 KiB) Viewed 1860 times
cdirpole.jpg
cdirpole.jpg (31.25 KiB) Viewed 1860 times


Both are sufficiently converged using a very small solid angle threshold(<0.25^2 sr) for hierarchical integration.
The problem is that dipole is noticeably darker than dirpole. And they both look quite far from volumetric path tracing.
But I have not tried single scattering, so the error may largely come from that.

ingenious
Posts: 273
Joined: Mon Nov 28, 2011 11:11 pm
Location: London, UK
Contact:

Re: Regarding directional dipole

Postby ingenious » Thu May 05, 2016 11:41 pm

If I remember correctly, the dirpole model includes single scattering, so in theory its result should be closer to the path traced reference. Can you actually please post that reference here for completeness?
Image Click here. You'll thank me later.

citadel
Posts: 21
Joined: Fri Oct 17, 2014 4:19 am

Re: Regarding directional dipole

Postby citadel » Fri May 06, 2016 5:48 am

ingenious wrote:If I remember correctly, the dirpole model includes single scattering, so in theory its result should be closer to the path traced reference. Can you actually please post that reference here for completeness?

You're right, the directional solution has included single scattering.

I had some problem with normalization, in the environment sampling PDF.
Now I think I get it working right, as I made a comparison between BRDF and light sampling,
compare_sampling.jpg
compare_sampling.jpg (132.55 KiB) Viewed 1802 times


I then compared between dipole, dirpole and vpt (~1k spp):
compare_buddha.jpg
compare_buddha.jpg (595.48 KiB) Viewed 1802 times

But the medium is not thick enough for the diffusion approximation to work efficiently, both for dipole and dirpole.
My volume path tracing routine is not unbiased. I limit the tracing depth to int(log(0.03)/log(albedo)) for each channel.
FYI, the material is skin2 from Jensen'01, and scaled by 30. The index of refraction is 1.49 for all channels.

And I used 32^2 samples for irradiance with a very naive sampler, without stratification, so that may also add to the error.
Last edited by citadel on Fri May 06, 2016 6:24 am, edited 2 times in total.

citadel
Posts: 21
Joined: Fri Oct 17, 2014 4:19 am

Re: Regarding directional dipole

Postby citadel » Fri May 06, 2016 6:17 am

Comparing using the XYZ dragon model (up to down, dipole, dirpole and vpt):
compare_dragon.jpg
compare_dragon.jpg (882.55 KiB) Viewed 1802 times


Mitsuba in (almost) the same setting:
mts_ref.jpg
mts_ref.jpg (312.31 KiB) Viewed 1802 times

citadel
Posts: 21
Joined: Fri Oct 17, 2014 4:19 am

Re: Regarding directional dipole

Postby citadel » Sat May 07, 2016 3:05 pm

Tonemapped using Reinhard '05 Dynamic Range Reduction Inspired by Photoreceptor Physiology

tonemapped_dipole.jpg
tonemapped_dipole.jpg (218 KiB) Viewed 1728 times


tonemapped_dirpole.jpg
tonemapped_dirpole.jpg (211.5 KiB) Viewed 1728 times


Return to “General Development”

Who is online

Users browsing this forum: No registered users and 6 guests