Thursday, June 4, 2009

Progressive Photon Mapping 2.

(After about 15 million samples and 7 hours)


The code for the progressive photon mapping is finally written. For the same number of samples, the algorithm does look better than path tracing, but the sample speed is far worse. While I am not quite doing it in the same way as the paper describes, my method has the same, if not better big-O time per sample. A proof has yet to be done for that. Right off the bat I can think of a couple of optimizations: the first two nodes on the photon can be ignored and not added to the map, and the direct lighting can be computed explicitly. I say this because it seems as though this algorithm is much slower for direct lighting, where graininess and complex lighting is not a problem, and fails completely for antialiasing, which is only really important under direct lighting.

4000 samples:

17000 samples:

1million samples:

Wednesday, April 1, 2009

DOF!!! (and new matts)


path traced

note: checker pattern+ improved glossy+glossy refraction

Tuesday, March 10, 2009

Sunday, February 22, 2009


yay- 4000 spp

I fixed boolean opperations, and I have a webpage.


anybody who can, can yall try to open tlrcam's jar and see if you can read the source?

Tuesday, February 10, 2009


at 900 spp.

i ran some tests and found that path tracing runs at about 8000 mps on this image, and mlt/this runs at 7000 mps. not as big a difference over the long run as i though. it means i can stop trying to optimize it as much.

Problem: both mlt, this, and path tracing start out rendering at about 30000 mps, then go on to an average of 20000 mps for about 5 miniutes, (the warm up ends after about 1 miniute), and then finally jumps down to below 10000 mps. I have no idea why it is doing this.
ideas: Java's garbage collector not acting up...
mt random number generator something
memory leak.
no clue.

Any ideas?

Monday, February 9, 2009

More from the new MLT algorithm

I improved it a little, and it seems to work fairly well. Now all I need is an importer, to blender or some other program, and I will open source it- well, possibly with a copyright so I can prove that I wrote it, something like PBRT has.- all except for the new MLT code, which I'd prefer to keep a secret a bit longer.

Now tell me, is this an improvment worth pursuing? Or should I go ahead and implement the paper on adaptive multi-dimensional sampling that seems to show such great improvements (does anybody know of any renderers that use this?)

Regular path tracing- 300 spp- this was the first time i tried to benchmark it without eclipse being open and me doing stuff. on my 1.9ghz core 2 duo, with 2 threads, on vista 64, i was getting an average of 10000 mps


The image after 315 spp, I'm not going to say how long this took because it was only on one core and was rendered while I was using my computer intensively.

The new algorithm after 20spp, at about 10 minutes on a dual core. -Lprob .01-.99 -maxRej 10-1000

the regular MLT algorithm with 20spp at about 10 miniutes, with an -Lprob .4 and maxrej of 500

the regular image's lprob and maxrej was set to be what the new algorithm's lprob and maxrej would average out to given thoes paremeters and scene. All MLT is based off of Keleman et al.'s robust mutation strategy paper, and paper on hybrid MLT.