|
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 |
|