Assignment 2 Discussion


For those it might be useful for, I've created a Makefile and a Visual Studio 2005 project for lz-kdtree you can find here. The Makefile will build lz-kdtree.so, and the VS 2005 solution will build Release/lz-kdtree.dll and Debug/lz-kdtree_d.dll. I find this kind of setup useful if you want to keep lz-kdtree.cpp in a "local" directory outside the pbrt source tree (e.g., in a cvs repository without the rest of the pbrt source). Note that you'll have to add your own copy of lz-kdtree to the Sources in the VS solution file, and you'll have to change the path in the Makefile on line 10 to point to your own copy of pbrt.

Q.1 Default Killeroo Scene (DougJohnston)

Using the scenes includes in the zip file, I get the following statistics:

Geometry
    Total shapes created                                    532.2k
    Triangle Ray Intersections                              673.8k:4826.8k (13.96%)
    Triangles created                                       532.2k
Kd-Tree Accelerator
    Avg. number of primitives in leaf nodes                 3.965M:1.376M (2.88x)
    Interior kd-tree nodes made                             1.376M
    Leaf kd-tree nodes made                                 1.376M
    Maximum number of primitives in leaf node               284

which is significantly different from those in the project description.

==A.1== The scene in the zip file has one more level of subdivisions for the killeroo models. That's why the numbers of tree nodes and triangle ray intersections are much higher than the numbers given in the example.