New Raytracing Patch

Stephan Reiter stephan.reiter at
Sun Mar 30 12:26:06 EDT 2008

So, I have been working the past few weeks to get rid of some shortcomings of the older raytracing patch and present to you a new patch with the following features:

Rapdio 0.7:
- Restructured code, respects C++ RAII idiom and separates scene management from the acceleration structure through templates (next version will feature BIH and Grid as replacements for the BVH, BIH should yield better results in the ioquake3 environment).
- Rewritten kd-tree builder, does not depend on openmp to utilize all cores (although openmp allows speeding up some parts of the process)

- Runtime code generation for shaders using the LLVM: this is blazingly fast and does not require GCC to be installed anymore!
- SIMD code is not generated yet, expect lower performance due to use of scalar code only.
- Support for reflections in Elite Force has been removed. We should think about adding new keywords to the Q3 shader language for raytraced effects.

Some notes regarding compilation:
- Code is based on revision 1270.
- Rapido is not built with the ioquake3 makefile - build it manually in code/rapido
- Get the latest version of the LLVM from their Subversion repository, svn co llvm
- Expect a crash under Mac OS X: I know there is a bug in the kd-tree builder, but I haven't been able to locate until now. Maybe someone else is more lucky and could help, which I would appreciate A LOT!
- Lightmaps are not sampled yet.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Type: application/x-zip-compressed
Size: 84116 bytes
Desc: not available
URL: <>

More information about the quake3 mailing list