Why realtime Raytracing?
You may ask, why we started to do a 3D-Realtime Raytrace engine in times of high performance 3D-Accelerator cards. Those cards are the reason for us to do so. Concerning actual games/demos/benchmarks/whatever, you may figure out that most of that nice software resembles each other. There are some (a lot of) things which are impossible with a 3D-Card.

Therefore we started with "Realtime Raytracing" about 3 years ago. Of course everything is software rendering, which leads to the major problem of this engine: The processor speed (and memory speed) has to be very high, e.g. for a good speed at a resolution of 512x384 you would need at least an AMD-Athlon at 1300Mhz. But processors get faster and faster, so the problem of processor speed levels off
.

Of course 3D-Accelerators are getting faster too and evolve feature-wise, but beyond a certain level of detail, a polygon has to be smaller than a pixel on the screen. In this case, there is absolutely no reason to use polygon routines. So we decided to use platonic solids combined with boolean algebra and raytracing
.

Just take a look at the technical information of our engine to decide on your own which features could be done with polygons and which could not
.


Confrontation of pros and cons using raytracing



Cons

- very long implementation time based on complex mathematic algorithms

- almost 100% of calculations are done by the main cpu

- scene modelling via specialized editors because most of the existing editors are polygon-based and do not support quadric, cubic or quartic modelling

- large amounts of memory needed for a detailed `per pixel-buffer`



Pros

- shadows of multiple lights, reflections and refractions are correctly calculated in dynamic scenes without using static fakes like environment mapping

- line, area and volume light with correct shadow casting

- usage of procedural textures with almost infinite accuracy

- volumetric lightspaces with real 3-dimensions

- materials can be modelled via ambient/diffuse/phong illumination model and 7-layer material textures

- curved objects without using splines

- realtime boolean algebra operations in dynamic scenes like intersection, semi-intersection and exclusion

- higher image quality with anti aliasing and depth of field

- no usage of special hardware -> higher compatibility