Ray Tracing on Intels MIC Architecture
Intel just released new information about there ongoing ray tracing for games project. For some years now intel is investigating the use of chips with lots of simple x86 cores for graphics, the first was codenamed Larrabee and was intended to become a full GPU but was later cancelled. The current prototypes are intended to be more general coprocessors and are called Knights Ferry with the general design beeing referred to as Many Integrated Core Architecture (MIC).
In the new demo, multiple MIC chips with 32 cores each are used to ray trace a scene of the game Return to Castle Wolfenstein and stream the images to a client. As ray tracing is a highly parallel algorithm it is no surprise that the architecture scales very well.
Interesting about this demo however is the use of more ‘classic’ rendering effects that you would expect from a rasterization engine like blur as a post process in image space. The major advantage of ray tracing is the ability to realistically simulate all kinds of physical and lighting effects without the hacks we need for rasterization. But even with dozends of SIMD cores and hundreds of threads some effects are still done as hacks instead of ‘doing it right’.
The visual quality is still comparable with the output of a single mid range rasterizing GPU – not the best result for a bunch of hi-end chips with a performance of supercomputers of the early 2000th. In theory, ray tracing scales better with the geometric complexity of the scene and rasterization scales better with the increase of the screen size. But the geometry has to be kept in fast RAM and clever acceleration structures will prevent it from beeing very dynamic. Also, displacement mappings can simulate more geometry at a relative low cost in rasterization. Other advantages are realistiv reflections and refractions in all directions – environment maps can only simulate this in a very rough way. On the other hand, Crytec and Epic are working on different kinds of real-time reflections for there newest engines which both are no exact simulations but look good enough. Looking around in the real world, most objects are diffuse anyway.
The time might come when ray tarcing will surpass rasterization – hybrid renderings are already common (named real-time reflection techniques by Crytec and Epic both do mome kind of ray casting, parallax/displacement mapping etc.). But I don’t see rasterization dying too soon. But as coprocessors, even for graphics, the MIC architecure looks interesting and I hope we will see some of those cores in PCs in the near future – maybe on the same DIE as the traditional CPU cores.