Imagination's ray tracing to improve mobile display experience
Ray tracing is a hybrid rendering technique that can provide high-quality dynamic lighting and shadow effects and can enhance other elements of the game engine as well. One example is improving game AI. Characters in a first-person shooter that can start to see and understand the 3D environment around them, using the ray tracing to process spatial understanding, opens up a world for realistic behaviour when in-game agents can make decisions based on direct line-of-sight calculations that model what they are able to see.
Three years and a few months ago, Imagination Technologies surprised the Technorati by buying struggling but clever Caustic Graphics. The value of ray tracing has been well established, as has the painfully slow process of rendering such physically perfect images. The idea of using ray tracing on a mobile device, the arena Imagination plays in, seemed farfetched. Equally questionable was the idea that IP provider Imagination would enter into the chip or AIB PC business: it had been in that business, and that was why it went into IP.
There were hints that one day ray tracing would show up in a mobile device. After all, the performance of SoCs was accelerating at a rate faster than Moore's law, and screen resolution in tablets was exceeding that of PCs. But for ray tracing to be useful in a time-scale commensurate with a mobile device would require something new and novel. Traditional ray casting, millions of rays, 30 times a second, is a workload that challenges 300W GPUs backed by a 200W X86 CPU, not lightweight work.
Do you hear the trumpets? Caustic had that novelty. Everyone who looked at Caustic's technology (under deep, deep NDAs) judged the methodology valid and impressive.
But ray tracing is a resource hog and time consumer. So Imagination used the novel Caustic RT engine, the powerful PowerVR shaders, and developed an invokable hybrid solution that lets the developers mix and match traditional, rasterized, polygon-based rendered objects (e.g., objects created using OpenGL ES) and physically accurate ray-traced elements in the same scene. This is a well-known concept, but difficult to implement.
Rasterization only. (Source: Imagination)
Hybrid rendering. (Source: Imagination)
The ability of GPUs to claim millions of rays per second is not a new concept. For example, a current-generation, desktop-class ray tracer using GPU compute and rendering a very simple scene, resident in a tiny cache, might be able to deliver millions of rays per second in a very simple shading scenario.
However, in 99 per cent of real-world cases, those aren't useful rays; and they would need a power budget upwards of 300W. Imagination believes it can accomplish similar results with its PowerVR ray-tracing-based hardware.
|Related Articles||Editor's Choice|