Hybrid path integrator

Discussion related to the implementation of new features & algorithms to the Core Engine.

Moderators: jromang, tomb, zcott, coordinators

Hybrid path integrator

Postby jeanphi » Sun Apr 03, 2011 2:50 pm

Hi,

I think I've looked too much at the hybrid path integrator and probably missed the obvious, so I'm asking for fresh eyes over there.
As you all know, results are currently incorrect so I've tried to pinpoint the issue. If I only keep direct lighting (disable lighting when hitting an area light or going to an environment light) and remove the PowerHeuristic weighting, I get different results when I keep the passthrough special casing or remove it. And I can't see why because it should then behave exactly the same.

Jeanphi
jeanphi
Developer
 
Posts: 6577
Joined: Mon Jan 14, 2008 7:21 am

Re: Hybrid path integrator

Postby Dade » Sun Apr 03, 2011 3:18 pm

jeanphi wrote: when I keep the passthrough special casing or remove it.


I have re-read this 60 times but I still don't understand. Anyway, if you want some really fresh eyes, why you don't provide an example (i.e. a scene) of what is not working. After we have all bounced our heads on the problem a couple of times, we will come here to discuss. Otherwise, our opinion will be biased by your explanation.
User avatar
Dade
Developer
 
Posts: 4796
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: Hybrid path integrator

Postby jeanphi » Mon Apr 04, 2011 3:00 am

Hi,

I'm using the test scene from this issue: http://www.luxrender.net/mantis/view.php?id=716
I tweaked the scene files to render with hybrid, and as you can see, the render is wrong (much lighter than without hybrid).

Jeanphi
jeanphi
Developer
 
Posts: 6577
Joined: Mon Jan 14, 2008 7:21 am

Re: Hybrid path integrator

Postby Lord Crc » Mon Apr 04, 2011 7:45 am

Sounds like fun :)
May contain traces of nuts.
User avatar
Lord Crc
Developer
 
Posts: 4455
Joined: Sat Nov 17, 2007 2:10 pm

Re: Hybrid path integrator

Postby Dade » Mon Apr 04, 2011 10:16 am

The tonemapping of the test scene is maxwhite, can't it be a bit misleading ? I exported the image in EXR and used exrstats to obtain some statistics.

Hybrid disabled, path tracing:

Code: Select all
a.exr [640x480]:

exrstats: Scanning 479
exrstats: Done.

  Alpha     min is   1.000, max   1.000

  Luminance min is   0.006, avg   0.041, max   0.051
  Red       min is   0.006, avg   0.036, max   0.052
  Green     min is   0.006, avg   0.037, max   0.051
  Blue      min is   0.011, avg   0.041, max   0.057

  Luminance log min is  -5.044, avg log  -3.452, log max  -2.982
  Red       log min is  -5.082, avg log  -3.482, log max  -2.958
  Green     log min is  -5.108, avg log  -3.470, log max  -2.971
  Blue      log min is  -4.546, avg log  -3.256, log max  -2.872


Hybrid enabled, path tracing:

Code: Select all
b.exr [640x480]:

exrstats: Scanning 479
exrstats: Done.

  Alpha     min is   1.000, max   1.000

  Luminance min is   0.009, avg   0.043, max   0.051
  Red       min is   0.009, avg   0.039, max   0.052
  Green     min is   0.008, avg   0.039, max   0.051
  Blue      min is   0.016, avg   0.043, max   0.057

  Luminance log min is  -4.722, avg log  -3.312, log max  -2.982
  Red       log min is  -4.738, avg log  -3.333, log max  -2.953
  Green     log min is  -4.805, avg log  -3.321, log max  -2.967
  Blue      log min is  -4.116, avg log  -3.188, log max  -2.872


I have than repeated the same test totally disabling the "Mix" material.

Hybrid disabled, path tracing:

Code: Select all
a.exr [640x480]:

exrstats: Scanning 479
exrstats: Done.

  Alpha     min is   1.000, max   1.000

  Luminance min is   0.009, avg   0.041, max   0.050
  Red       min is   0.009, avg   0.035, max   0.051
  Green     min is   0.008, avg   0.036, max   0.051
  Blue      min is   0.018, avg   0.041, max   0.054

  Luminance log min is  -4.697, avg log  -3.499, log max  -2.986
  Red       log min is  -4.762, avg log  -3.535, log max  -2.975
  Green     log min is  -4.798, avg log  -3.524, log max  -2.977
  Blue      log min is  -4.045, avg log  -3.259, log max  -2.913


Hybrid enabled, path tracing:

Code: Select all
b.exr [640x480]:

exrstats: Scanning 479
exrstats: Done.

  Alpha     min is   1.000, max   1.000

  Luminance min is   0.012, avg   0.041, max   0.051
  Red       min is   0.011, avg   0.035, max   0.052
  Green     min is   0.011, avg   0.036, max   0.051
  Blue      min is   0.021, avg   0.041, max   0.055

  Luminance log min is  -4.425, avg log  -3.499, log max  -2.984
  Red       log min is  -4.535, avg log  -3.535, log max  -2.961
  Green     log min is  -4.523, avg log  -3.524, log max  -2.969
  Blue      log min is  -3.874, avg log  -3.259, log max  -2.897


The difference in min/max seems still there even without "Mix" material.

What are you investigating exactly ? The small intensity difference in tonemapped images with Mix and Normal/Hybrid rendering ? May the tonemapping have some influence in the final result ?
User avatar
Dade
Developer
 
Posts: 4796
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: Hybrid path integrator

Postby jeanphi » Mon Apr 04, 2011 10:32 am

Hi,

I forgot to say that I switched the tonemapping to linear (sensitivity 800, fstop 1, exposure 1, gamma 1).
The cube is completely different with hybrid.

Jeanphi
jeanphi
Developer
 
Posts: 6577
Joined: Mon Jan 14, 2008 7:21 am

Re: Hybrid path integrator

Postby jeanphi » Mon Apr 04, 2011 3:53 pm

Hi,

Found it. I had mistakenly assumed that LuxRender GPU accelerated interfaces left ray.maxt untouched, but it was indeed not the case. Things are now working as expected.

Jeanphi
jeanphi
Developer
 
Posts: 6577
Joined: Mon Jan 14, 2008 7:21 am

Re: Hybrid path integrator

Postby Dade » Mon Apr 04, 2011 5:12 pm

jeanphi wrote:Found it. I had mistakenly assumed that LuxRender GPU accelerated interfaces left ray.maxt untouched, but it was indeed not the case. Things are now working as expected.


Scratching my head, but are you talking of Rays in the RaysBuffer ? The ray buffers are downloaded to the GPU and never copied back so it shouldn't be the source of any change in the ray content :?:
User avatar
Dade
Developer
 
Posts: 4796
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Re: Hybrid path integrator

Postby jeanphi » Tue Apr 05, 2011 1:48 am

Hi,

Actually there's something else that is quite fishy.
My latest change (update the ray with the current intersection point which is ray(mint) and reset mint to epsilon and maxt to infinity) works, however just resetting mint to rayHit.t and maxt to infinity doesn't work.

Jeanphi
jeanphi
Developer
 
Posts: 6577
Joined: Mon Jan 14, 2008 7:21 am

Re: Hybrid path integrator

Postby Dade » Tue Apr 05, 2011 2:29 am

jeanphi wrote:Actually there's something else that is quite fishy.
My latest change (update the ray with the current intersection point which is ray(mint) and reset mint to epsilon and maxt to infinity) works, however just resetting mint to rayHit.t and maxt to infinity doesn't work.


Normalized ray direction Vs not-normalized :?:
User avatar
Dade
Developer
 
Posts: 4796
Joined: Sat Apr 19, 2008 6:04 pm
Location: Italy

Next

Return to Architecture & Design

Who is online

Users browsing this forum: No registered users and 0 guests