- Articles & News
- For IT Pros
- Your Opinion
Another undeniable advantage of ray tracing has to do with transparency effects. Handling transparency correctly is extremely difficult with a rasterization algorithm because calculating transparency exactly depends on rendering order. To get good results, transparent polygons have to be sorted from the farthest one from the camera to the closest one before calculating the rendering.
But in practice, that would be much too computationally-expensive and transparency errors are still possible since the sorting is done by polygons and not by pixels. There are several proposed techniques for avoiding having to sort the scene (such as depth peeling and A-buffers), but for the moment, none of them have really caught on. Here again, ray tracing can manage transparency effects elegantly.
Another important advantage is shadow calculation. The technique that became the standard in the rasterization world is shadow mapping. But it suffers from several problems, such as aliasing and the amount of memory space it takes up. Ray tracing can solve the problem of shadows elegantly, again without introducing a complicated algorithm, while still using the same basic primitive object and without using additional memory space.
Finally, another of ray tracing's strong points is its ability to manage curved surfaces natively. For several years now, modern GPUs have included support for curved surfaces (intermittently appearing and disappearing with driver versions and new architectures). But while rasterizers have to make an initial tessellation pass in order to generate triangles, which is the only primitive object they can manage internally, a ray tracer can test the intersection of rays directly with the true mathematical definition of the surface.