Monday, November 1, 2010

Couldn't resist the GPU hype,

so I wrote an open cl path tracer in C. It's very similar to Dade's SmallptGPU but it uses float4 though.
I don't have proper GPU to test it on, but I got tempted by sse operations that vector operations supposedly utilize.

A performance note:

While I get 2 fps on this scene with my core 2 duo (no ht), my friend with his radeon 4870 gets almost 60 fps.
I'm not yet sure if thats good enough.



(I misleadingly called frames samples, while they are samples per pixel, yea)

Thursday, October 14, 2010

Water caustics


One of the hardcore scenes to test. Forgive me the noise but my bvh is so slow :(.

Cheers.

Wednesday, October 13, 2010

A little update


Hi there,

What's new:
  • Added Beer's law to the glass material - you can tell how absorption varies with the distance traveled (for ex. monkey's ear is barely colored versus it's middle).
  • Pixel filtering - added variety of filters. The black border around the light source is due the negative values of mitchell filter.
  • Reimplemented simple bvh and .obj parser.
Btw. could somebody tell me:
when I specify my light intensity with pure rgb triplet as its emittance, for ex. (15, 15, 15) - what units are those? And how could I convert between other, perhaps more physically convenient, units? so I could compare my results with other renderers.

Cheers.


Monday, September 27, 2010

Sup?



Friend of mine has i7:


rendering time: 20 minutes, no direct lightning, just naive path tracing with metropolis sampling.

Sunday, September 26, 2010

Saturday, September 18, 2010

I'm back

Yet again starting from scratch. Playing with metropolis.



Naive path tracing on the left, same thing but with metropolis on the right.

Saturday, January 9, 2010

Metropolis Light Transport and stuff.


Hi!

Long time no see. Like always I was rewriting it from scratch a couple of times. But nevertheless it's still java and now it uses metropolis sampling to help that poor path tracing converge.

Btw. I did MLT on yesterday evening after 2 beers (it had to be Ballmer peak).

Altough the implementation is still very fresh it easily outperforms standard path tracing, what is to be seen especially when difficult caustics are involved.

I've implemented spectral rendering too, it was very easy actually, cause all computations on wavelengths are linear just like rgb. But then I realised that even if it does feel more physically correct to do so, whats the point? 3d applications are operating in rgb color space, and because I cant represent a rgb color as spectrum interchangeably I have to approximate it, so as long as I'm not running a physical simulation or something I don't see the benefits (please correct me if I'm wrong), thus I abandoned that.

I was also working on dispersion (rgb rendering), but that feature needs a little more work (I've included an old pure path tracing rendering with dispersion visible)

Edit: