Radek Brich <radek.brich@devl.cz> [Tue, 06 May 2008 09:39:58 +0200] rev 93
 
more build script tuning
make all float constants single precision
solve many warnings from msvc and gcc with various -W... flags
add common.cc file for dbgmsg() function witch apparently cannot be inlined
fix python module building with msvc, add manifest file handling
remove forgotten RenderrowData class
add stanford models download script for windows (.bat)
Radek Brich <radek.brich@devl.cz> [Mon, 05 May 2008 15:31:14 +0200] rev 92
 
add MSVC compiler support, make it default for Windows
new header file simd.h for SSE abstraction and helpers
  add mselect pseudo instruction for common or(and(...), andnot(...))
  replace many SSE intrinsics with new names
new MemoryPool class (mempool.h) for faster KdNode allocation
remove setMaxDepth() from Octree and KdTree, make max_depth const,
  it should be defined in constructor and never changed, change after
  building tree would cause error in traversal
modify DefaultSampler to generate nice 2x2 packets of samples for packet tracing
optimize Box and BBox::intersect_packet
add precomputed invdir attribute to RayPacket
scons build system:
  check for pthread library on Windows
  check for SDL
  generate include/config.h with variables detected by scons configuration
  move auxiliary files to build/
  add sanity checks
add writable operator[] to Vector
Radek Brich <radek.brich@devl.cz> [Fri, 02 May 2008 13:27:47 +0200] rev 91
 
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
Radek Brich <radek.brich@devl.cz> [Tue, 29 Apr 2008 23:31:08 +0200] rev 90
 
rename Python module from 'raytracer' to 'pyrit'
improve Python binding:
  - new objects: Container, Octree, KdTree, Shape,
    Pixmap, Sampler, DefaultSampler
  - all shapes are now subclasses of Shape
  - clean, remove redundant Getattr's
  - Raytracer render method now just wraps C++ method
    without doing any additional work
adjust all demos for changes in Python binding, remove PIL dependency
add demo_PIL.py as a example of pyrit + PIL usage
render_nff.py now either loads file given as a argument
    or reads input from stdin otherwise
fix bug in pixmap float to char conversion
Radek Brich <radek.brich@devl.cz> [Tue, 29 Apr 2008 13:56:29 +0200] rev 89
 
use SSE for float to char image buffer conversion
Radek Brich <radek.brich@devl.cz> [Mon, 28 Apr 2008 11:44:11 +0200] rev 88
 
merge pixmap handling from sampler, material.h and ccdemos's image module to new Pixmap class
add check for PNG library, allow writing PNG file from a Pixmap
simplify demos using new methods from Sampler and Pixmap
Radek Brich <radek.brich@devl.cz> [Sun, 27 Apr 2008 22:55:17 +0200] rev 87
 
Sphere, Box - RayPacket intersection
replace 5x oversampling with 4x uniform oversampling
Radek Brich <radek.brich@devl.cz> [Sun, 27 Apr 2008 19:56:23 +0200] rev 86
 
BBox - RayPacket intersection
clean up
Radek Brich <radek.brich@devl.cz> [Sun, 27 Apr 2008 14:19:37 +0200] rev 85
 
implement triangle packet intersection
Radek Brich <radek.brich@devl.cz> [Sun, 27 Apr 2008 09:44:49 +0200] rev 84
 
prepare kd-tree traversal for packet tracing (4 rays at once)
RayPacket and VectorPacket structures for packet tracing
remove some redundant const's
Radek Brich <radek.brich@devl.cz> [Thu, 24 Apr 2008 18:12:32 +0200] rev 83
 
vectorize makeRayPacket() using SSE intrinsics
Radek Brich <radek.brich@devl.cz> [Thu, 24 Apr 2008 13:55:11 +0200] rev 82
 
prepare structures for packet tracing
(it's already slightly faster, even without any explicit parallelization)
supply missing virtual destructors
Radek Brich <radek.brich@devl.cz> [Thu, 24 Apr 2008 10:49:11 +0200] rev 81
 
add 2D pixmap texture class
Radek Brich <radek.brich@devl.cz> [Wed, 23 Apr 2008 19:35:03 +0200] rev 80
 
remove forgotten noise.h includes
common_ply.h: ignore invalid faces with duplicated points
  (this solves visual flaws in dragon model)
extend loadShape for loading triangles
realtime_dragon.cc demo: add kd-tree dump/load functionality,
  add colored perlin cloud texture
Radek Brich <radek.brich@devl.cz> [Wed, 23 Apr 2008 14:39:33 +0200] rev 79
 
material and texture classes moved to material.(cc,h)
2D texture mappings from textures.cc polished and moved to material.h
add ColourMap class and subclasses to make textures more flexible
two example textures: CheckersTexture and CloudTexture (using Perlin noise)
Radek Brich <radek.brich@devl.cz> [Wed, 23 Apr 2008 10:38:33 +0200] rev 78
 
move shapes to extra source file
add serialize header and source file with common serialization functions
dump/load feature for shapes and kd-tree
fix few minor bugs
Radek Brich <radek.brich@devl.cz> [Tue, 22 Apr 2008 13:33:12 +0200] rev 77
 
rewrite subsampling from old code to DefaultSampler
render in phases, clean workers after each phase
Radek Brich <radek.brich@devl.cz> [Mon, 21 Apr 2008 19:35:27 +0200] rev 76
 
kd-tree: move recursive build subroutine from KdNode to KdTree
Radek Brich <radek.brich@devl.cz> [Mon, 21 Apr 2008 09:05:09 +0200] rev 75
 
unify capitalization of method names in C++ and Python
Radek Brich <radek.brich@devl.cz> [Mon, 21 Apr 2008 08:47:36 +0200] rev 74
 
kd-tree traversal - avoid dynamic memory allocation
use minimum storage size for KdNode (8B on 32bit cpu)
vector.h - add division operator, fix semicolons
Radek Brich <radek.brich@devl.cz> [Sun, 20 Apr 2008 19:27:59 +0200] rev 73
 
correct camera angle of view
render_nff.py - polygonal patches
Radek Brich <radek.brich@devl.cz> [Sun, 20 Apr 2008 16:48:24 +0200] rev 72
 
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
Radek Brich <radek.brich@devl.cz> [Sat, 19 Apr 2008 18:00:27 +0200] rev 71
 
simplify kd-tree building, it's also much faster now
Radek Brich <radek.brich@devl.cz> [Tue, 15 Apr 2008 17:12:50 +0200] rev 70
 
a fix for CPU and compiler detection
Radek Brich <radek.brich@devl.cz> [Mon, 14 Apr 2008 12:51:50 +0200] rev 69
 
move "smooth" attribute from Triangle to Material
lwo reader enhancements - implement more chunk types, support for smoothing flag and SMAN (smoothing max. angle)
Radek Brich <radek.brich@devl.cz> [Sat, 12 Apr 2008 02:02:45 +0200] rev 68
 
added detection of optimal CPU flags for both GCC and IntelC
Radek Brich <radek.brich@devl.cz> [Fri, 11 Apr 2008 12:46:36 +0200] rev 67
 
new option to choose single or double precision floats
Radek Brich <radek.brich@devl.cz> [Fri, 11 Apr 2008 00:13:59 +0200] rev 66
 
fixed ICC detection
Radek Brich <radek.brich@devl.cz> [Thu, 10 Apr 2008 23:20:36 +0200] rev 65
 
basic detection of compiler (GCC or ICC) and CPU capabilities
try to detect Python path in Windows and allow direct specification through build option
plus other build system fixes
Radek Brich <radek.brich@devl.cz> [Wed, 09 Apr 2008 17:55:29 +0200] rev 64
 
add Help with list of targets to SConstruct
Radek Brich <radek.brich@devl.cz> [Wed, 09 Apr 2008 16:51:14 +0200] rev 63
 
add many SCons targets (see DEVNOTES)
make automatic model downloading work again
remove Makefiles -- now obsolete and hardly maintainable
Radek Brich <radek.brich@devl.cz> [Wed, 09 Apr 2008 11:35:59 +0200] rev 62
 
more SConscript tweaking, make model preparation work again
Radek Brich <radek.brich@devl.cz> [Wed, 09 Apr 2008 00:29:11 +0200] rev 61
 
minor SConscript tweaking
Radek Brich <radek.brich@devl.cz> [Tue, 08 Apr 2008 01:05:12 +0200] rev 60
 
moving to SCons build system
Radek Brich <radek.brich@devl.cz> [Fri, 04 Apr 2008 13:54:47 +0200] rev 59
 
add color support to lwo reader
python binding for Camera
Radek Brich <radek.brich@devl.cz> [Fri, 04 Apr 2008 01:55:25 +0200] rev 58
 
new python demo: car.py
new model format reader: LightWave lwo
Radek Brich <radek.brich@devl.cz> [Sat, 29 Mar 2008 18:01:45 +0100] rev 57
 
new python demo: boxes
Radek Brich <radek.brich@devl.cz> [Sat, 29 Mar 2008 17:54:27 +0100] rev 56
 
fix sphere transmissivity, rename demo.py to spheres_glass.py
Radek Brich <radek.brich@devl.cz> [Sat, 29 Mar 2008 12:09:50 +0100] rev 55
 
fix bugs
Radek Brich <radek.brich@devl.cz> [Sat, 29 Mar 2008 10:56:56 +0100] rev 54
 
more raytrace_worker optimization and cleaning
Radek Brich <radek.brich@devl.cz> [Sat, 29 Mar 2008 02:17:22 +0100] rev 53
 
slighly optimized raytrace_worker
Radek Brich <radek.brich@devl.cz> [Fri, 28 Mar 2008 23:30:04 +0100] rev 52
 
new implementation of sample_queue
Radek Brich <radek.brich@devl.cz> [Fri, 28 Mar 2008 21:47:32 +0100] rev 51
 
remove debug messages - algorithm seems stable, but it's slow
Radek Brich <radek.brich@devl.cz> [Fri, 28 Mar 2008 17:13:21 +0100] rev 50
 
rewritten threads with heavy debug information
disabling pthreads library will not be possible any more
Radek Brich <radek.brich@devl.cz> [Fri, 28 Mar 2008 00:53:20 +0100] rev 49
 
workaround for divide by zero bug in octree
enable oversampling for DefaultSampler
sampler and camera performance enhancements
Radek Brich <radek.brich@devl.cz> [Wed, 26 Mar 2008 17:03:38 +0100] rev 48
 
begin moving subsampling and oversampling to Sampler
Radek Brich <radek.brich@devl.cz> [Wed, 26 Mar 2008 14:29:21 +0100] rev 47
 
move Sampler classes to sampler.cc
fix demos, make whole project compilable again
Radek Brich <radek.brich@devl.cz> [Wed, 26 Mar 2008 00:52:27 +0100] rev 46
 
Doxygen
new Sampler object
replacing rendering algorithm with more flexible one -- this breaks most of demos and disables threads and (over-/sub-)sampling functionality, need a rewrote
Radek Brich <radek.brich@devl.cz> [Wed, 19 Mar 2008 17:18:59 +0100] rev 45
 
note for new camera classes
Radek Brich <radek.brich@devl.cz> [Thu, 03 Jan 2008 18:06:34 +0100] rev 44
 
MIT license for sources
update README, DEVNOTES and TODO
Radek Brich <radek.brich@devl.cz> [Sun, 30 Dec 2007 00:11:47 +0100] rev 43
 
memory optimization for octree
fixed some visual artifacts in textures C++ demo and set ambient occlussion for rendering (-r)
Radek Brich <radek.brich@devl.cz> [Sat, 29 Dec 2007 13:53:33 +0100] rev 42
 
cleaned Texture interface
new C++ demo: textures
slightly adjusted SAH for kd-tree
slightly optimized kd-tree building -- moved termination cond. so it's tested before recursion
minor sphere intersection optimization
Radek Brich <radek.brich@devl.cz> [Tue, 18 Dec 2007 12:36:01 +0100] rev 41
 
fix possible division by zero in ccdemos/common_ply.h
don't use DEFS variable in makefiles, just add it to CCFLAGS
compile float version of libs with -fsingle-precision-constant
Radek Brich <radek.brich@devl.cz> [Mon, 17 Dec 2007 22:03:50 +0100] rev 40
 
Makefile: added help and distclean target, plus small fixes
ccdemos/common_sdl.h:
  print fps to window caption instead of console
  update and key callbacks
  fixed segfault when resizing window
  pressing c now causes print out of camera coordinates
ccdemos/spheres_shadow.cc: controlling position of a light and focal length of camera
Radek Brich <radek.brich@devl.cz> [Fri, 14 Dec 2007 16:51:22 +0100] rev 39
 
ccdemos: put the common code to header files, common_ply.h and common_sdl.h
move all ccdemos on octree and make them all realtime (-i argument)
Radek Brich <radek.brich@devl.cz> [Fri, 14 Dec 2007 10:34:31 +0100] rev 38
 
realtime_dragon demo: now fullsize model + octree
realtime_bunny demo: bigger resolution
Box, Sphere: implemented AABB intersection
new stop condition for octree building (when number of shapes in children >= 6x shapes in parent node)
fixes for octree traversal
Radek Brich <radek.brich@devl.cz> [Fri, 14 Dec 2007 00:05:54 +0100] rev 37
 
octree traversal rewritten to avoid recursion
reenabled -O3 optimizations (was accidentaly disabled, now it traces even faster! :-))
realtime_bunny: added FPS counter, fixed a bug in ply loader
min3 and max3 templates added to common.h
Radek Brich <radek.brich@devl.cz> [Thu, 13 Dec 2007 00:08:11 +0100] rev 36
 
new virtual Shape::intersect_bbox
implementation of triangle-AABB intersection
octree building updated and simplified with help of this new method
octree made default for Python, it's currently much faster than kd-tree (both building and traversal)
Radek Brich <radek.brich@devl.cz> [Wed, 12 Dec 2007 19:59:19 +0100] rev 35
 
new space partitioning structure: octree
realtime_bunny updated to use octree
plus other files updated to be container type independent (only user programs are supposed to include and use special containers)
Radek Brich <radek.brich@devl.cz> [Sun, 09 Dec 2007 23:10:58 +0100] rev 34
 
quaternion moved to extra header file
updated headers in all sources
Radek Brich <radek.brich@devl.cz> [Sun, 09 Dec 2007 15:01:51 +0100] rev 33
 
make over-sampling work together with sub-sampling
Radek Brich <radek.brich@devl.cz> [Sun, 09 Dec 2007 13:31:38 +0100] rev 32
 
new Raytracer option: oversampling
add 9x and 16x oversampling (5x was available through preproc. directive)
Radek Brich <radek.brich@devl.cz> [Sun, 09 Dec 2007 10:45:26 +0100] rev 31
 
refraction
updated demo.py and bunny.py to present new feature
python binding for material settings
Radek Brich <radek.brich@devl.cz> [Sat, 08 Dec 2007 16:02:37 +0100] rev 30
 
pyrit_verbosity: new variable for controlling amount of output, see common.h
fix Makefile dependencies for raytracer_module
fix bad view in buddha.py caused by last commit