Jump to content

  • Log In with Google      Sign In   
  • Create Account


D-POWER

Member Since 20 Jan 2011
Offline Last Active Private
-----

#5017180 Small volumetric path tracer

Posted by D-POWER on 03 January 2013 - 10:53 AM

Hello Bacterius,

 

I totally agree with you that code readability is far more important than conciseness, however my aim here is to maintain the lowest number of LOC, in the spirit of smallpt, while retaining a minimum of clarity.

 

I didn't check the paper you cited (I'll read it as soon as I'm back home), but I'm already working on adding direct light sampling. It should speed things up a bit. However, the convergence rate is really slow now and any resistance is futile :D.

 

I'm using  importance sampling quite a lot in my implementation, first to sample the vertices along the ray that are expected to have the largest contribution to a pixel; second, since I'm using path tracing, no exponential ray growth is allowed, so I'm using the contribution of multiple scattering as a hint to decide whether it is worth it to trace the "volume" ray further or just continue with normal path tracing.

 

I'm still not completely satisfied with the results that I currently have, so there is still a lot of work to be done (especially in the convergence part) before I can call this thing done. In the meantime, here is my latest test render:

foggy_cornell_box_bs_25000spp.png




#5015089 Small volumetric path tracer

Posted by D-POWER on 28 December 2012 - 09:41 AM

Hello people,

 

So I've been working for the last couple of days on a little volumetric path tracer, that is based on Kevin Beason's great smallpt. I added homogeneous media definable as a sphere surrounding the scene, and multiple scattering which enables interesting effects like volumetric caustics and volumetric shadows. I also implemented the Henyey-Greenstein phase function to test any scattering types (forward, backward, isotropic)

 

The results so far are pretty acceptable, though to me not satisfying yet. I suspect there is a bug somewhere in my code, given the fact that I implemented my code without relying too much on available papers, so I might have done something wrong...

 

The project is already hosted on github at the following url: https://github.com/D-POWER/smallvpt

 

I'm interested to see high quality images rendered with it, any volunteers?

 

Of course, any feedback is very welcome smile.png

 

Thank you




PARTNERS