DEVNOTES
author Radek Brich <radek.brich@devl.cz>
Sun, 20 Apr 2008 16:48:24 +0200
branchpyrit
changeset 72 7c3f38dff082
parent 64 5785cca4cdb9
child 94 4c8abb8977dc
permissions -rw-r--r--
kd-tree building - check all axes for best split, add additional shape-bbox check extent Container bounds by Eps to fix invisible triangles on borders new Camera constructor with more intuitive lookat/up vectors fix camera axes (mirrored images) better camera angle-of-view change capitalization of addShape and addLight

Classes
-------

vector.h -- vector of three scalars, also used for colour
matrix.h -- matrix class, currently not used
quaternion.h -- quaternion class for camera rotation

container.h  -- container for shapes, base class for octree and kd-tree
octree.h -- Octree space subdivision structure for acceleration of ray-shape intersection search
kdtree.h  -- KdTree space subdivision structure

scene.h -- scene objects: Ray, Light, Camera and shapes
raytracer.h -- ray tracer class
common.h -- Float definition (float/double) and some helper functions


Container Usage
---------------
(Container|Octree|KdTree) top;
scene.setTop(top)  // top object in hierarchy
top.optimize()     // build optimization structure

Rework camera
-------------
Sampler - generate points in screen plane
Camera - transform point from sampler to a ray