If you are as keen on ray tracing as I am, a couple of very interesting things have happened over the last few months but with so little fanfare that you would be forgiven for missing them. Both of these things have their origin in Imagination Technologies' efforts to deploy their hardware accelerated ray tracing technology so I'll quote a from a 28th February blog post and March 1st press release; first the blog post:
The demo ... at our GDC 17 booth this year is an expanded version of one of the regular (Unreal) engine tutorial scenes. The engine can be switched between raster mode and full ray traced mode on the fly. While in ray traced mode, one can then select between raster and ray traced shadows and probed and ray traced reflections, again on the fly...we demonstrate the flexibility of ray tracing with respect to alternative camera models with a ... render mode, which renders the scene using a true 360-degree spherical lens in a single render.
Future work will include dynamic geometry, support for point lights, and a reimplementation of our hybrid single-ray soft shadow algorithm.
Which is interesting enough in itself, but there is more:
With the upcoming Unity 5 lightmapping feature that uses PowerVR ray tracing for pre-baked lighting, developers and artists can use our ray tracing technology to get unbiased physically-based global Illumination (GI) and interactive feedback on any changes they make to the scene, including materials, geometry or lights.
In other words, there is a project to provide UE devs with a fully ray traced rendering path that can take advantage of hardware accelerated ray tracing on a mobile GPU (check out Imagination's previous work on this). And for Unity shops, there is a full, commercial grade ray tracer available for production of light maps. These seem like two different things but the common factor is that they both use Imagination's ray tracing extensions to Khronos rendering APIs. How long would it take to switch out the software renderer and add the hardware assisted version in Unity? Imagination claims that the UE mods they have made play completely transparently with the standard raster based renderer; what's the downside for Epic to deploy something like that?
Now that we have seen a mobile GPU with better than 150 million rays per second, the common objection whenever the idea of ray tracing comes up is that it's impossible to break the chicken and egg situation. Lighting is a solved problem, even if its all a kludge and artists despise it, so there is no incentive for GPU makers to change their hardware; without hardware, why would devs write for it? Who's going to square that circle?
It's almost two years since Imagination rolled out Gandalf, their first serious attempt at this, and at the time they were predicting a vastly upgraded version within this timeframe. Since Moore's law is still ticking along nicely in defiance of all the doomsayers, the cost of 150 million rays is almost literally nothing on a 7nm process so it can't be long before adding this as a differentiator becomes a no-brainer.
With the two big engines quietly acquiring the capability to turn on ray tracing in anticipation of hardware showing up, and the cost/performance of significant amounts of ray tracing moving very quickly in the right direction, that circle is starting to look pretty square.