naive color driven sub-sampling
slightly optimized KdTree::nearest_intersection
fixed bug in Box::intersect
fixed stripes on spheres in spheres_ao.py (was caused by AO distance)
new KdTree property: max_depth
minor changes in realtime.py
* kd-tree: - optimize structures - optimize construction: do not use bounding boxes of shapes, instead implement box-shape intersection - save/load * update Python binding, Camera, new classes * more complex demos * check/update triangle routines * namespaceNew Classes?============container.h -- Containerkdtree.h -- KdTreeshapes.h -- Triangle, Spherescene.h -- Ray, Light, Camera, Scenematerial.h -- Material, Texturematrix.h -- Matrixvector.h -- Vector3reader.h -- Reader, WavefrontReaderKdTree topwf = new WavefrontReader()wf.setContainer(top)wf.setTransform(monkey_pos_matrix)wf.read("monkey.obj")// more transform&readsdestroy wftop.optimize() -- i.e. build treeScene scene -- container with shapes, a camera and lightsscene = new Scene()scene.setTop(top) -- top object in hierarchyscene.setCamera(new Camera(eye, u, v, p))scene.addLight(new PointLight(pos, color))rt.setScene(scene)rt.render(w,h)constructors have zero or one parameter by default -- the object to copy data frommore parameters -- the data (ray origin and direction)