TODO
author Radek Brich <radek.brich@devl.cz>
Fri, 02 May 2008 13:27:47 +0200
branchpyrit
changeset 91 9d66d323c354
parent 81 9dbb9c8c115b
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

Bugs
====
 * (none known)

Future Plans
============
 * Python binding for material.h classes
 * Container should implement Shape interface to allow building hierarchies
 * Container should allow local space transformations
 * generalization: Camera "shader" (ray generator), surface shader and maybe light & background shaders
 * put everything into a namespace
 * stochastic oversampling
 * absorbtion of refracted rays in dense materials (can be computed using shape distance and some 'absorbance' constant)
 * implement efficient AABB-ray intersection using Plucker coordinates

New Classes?
============

scene.h   -- Scene, ...
reader.h  -- Reader, WavefrontReader

wf = new WavefrontReader()
wf.setContainer(top)
wf.setTransform(monkey_pos_matrix)
wf.read("monkey.obj")
// more transform&reads
destroy wf

Scene scene -- container with shapes, a camera and lights
scene = new Scene()
scene.setCamera(new Camera(eye, u, v, p))
scene.addLight(new PointLight(pos, color))
rt.setScene(scene)
rt.render(w,h)