DEVNOTES
author Radek Brich <radek.brich@devl.cz>
Fri, 02 May 2008 13:27:47 +0200
branchpyrit
changeset 91 9d66d323c354
parent 64 5785cca4cdb9
child 94 4c8abb8977dc
permissions -rw-r--r--
packetize Phong shader new scons config options: simd=(yes|no) - allow/suppress explicit SSE force_flags=(yes|no) - force use of specified flags instead of autodetected profile=(yes|no) - enable gcc's profiling (-pg option) check for pthread.h header, don't try to build without it add fourth Vector3 component for better memory aligning rename Vector3 to Vector partialy SSE-ize Vector class (only fully vertical operations) build static lib and python module in distinctive directories to avoid collision of library file names on some platforms

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