LIGHTING | BUILD
Left: A demonstration of the results of baking the lighting into lightmaps with Enlighten
You say ‘wholly dynamic’. Isn’t dynamic lighting only one of two ways – you either are dynamic or you’re not? We used to think along those lines, but we now realise there is a whole spectrum of alternatives, from having all lighting baked into lightmaps and unchanged in a game, through to the other extreme of having every light computed dynamically with the radiosity updated per frame. There is a vast range of possibilities between these two extremes.
Can you provide some examples? One example is a dynamic day-night cycle. In this scheme the sun is modelled by a directional light and casts dynamic shadows. But it only moves slowly, and the skybox changes colour slowly, so Enlighten has very little work to do at runtime to update the radiosity. You can leave Enlighten as a low-priority background thread and still get a gorgeous looking dynamic cycle. A second alternative is to use static and dynamic lights together, remembering that lighting is always additive. Here some of the lighting information
could be baked into static lightmaps, and some could be dynamic. Enlighten does not distinguish and just updates all of the bounced light correctly. This is handy for adding distant lights in a scene that have no role in the gameplay and are not going to change, and combining them with nearby dynamic lights that are more crucial to the gameplay. A third example is to update all of the
bounced lighting on level load and then store the Enlighten output data and leave it fixed during the level. This is a good strategy for games where you frequently return to an area under different lighting conditions. The difficulty with all of these hybrid lighting models is tying the visuals together in a single consistent manner. This is where
DEVELOP-ONLINE.NET
Enlighten is particularly strong. If you use Enlighten for all types of lighting you can ensure that the results are consistent regardless of the strategy you are adopting.
Presumably these all required differing amounts of runtime compute effort? Exactly. More than one alternative might be appropriate for the same game running on different hardware. The more powerful the
As artists started playing with
Enlighten they were able to achieve incredibly high quality.
Chris Doran, Geomerics
hardware, the more dynamic the solution you adopt. This will also be a great differentiator on a new hardware cycle. We wanted to ensure that all strategies could be adopted on a title from a single unified piece of middleware.
So what did you have to add to Enlighten to make this possible? With the radiosity – or ‘bounced light’ – already computed in real time we had already solved what was generally thought to be the hardest part of the problem. We could use this to construct a workflow where the artist could move lights around and instantly see the effect before finally saving out the results. In order for this final step of saving the
results to a lightmap to be performed within Enlighten we had to introduce two new pieces of technology. The first is the ability to ray-trace the direct lights. This helps achieve
the highest quality soft shadows from the direct illumination. Fortunately, ray tracing direct lights is a fast
operation and well understood, so adding this was not too challenging. The trick was to make sure that our dynamic preview was as close as possible to the final baked output. The second piece of technology was the
ability to save out all of the calculations in a single lightmap. This is more a piece of software plumbing, but it did give us a further opportunity to expose some additional controls to the artist. By computing each direct light and the radiosity independently we could give the artist some simple compositing tools, which gave them even greater control over the final results, again in a fully real-time environment.
Does your baking technology take you into competitor’s territory? It does a little, but remember that we are the only people offering a fully dynamic runtime solution, so our workflow is quite different as it is based on instant feedback. Most of our competitors have put all of their efforts into an advanced black-box renderer. The artist will feed in geometry and lighting data, and waits and hopes that the final results are what they were after. Also, by offering Enlighten we hope that developers who would usually opt for a wholly static baked solution will start exploring some of the potential for more dynamic alternatives, working their way along the continuum to fully dynamic lighting.
www.geomerics.com
Geomerics will be demonstrating all of its new tech at GDC 2012. You can see it in Business Suite 215, or on the show floor at the NVIDIA, Intel, ARM and Imagination Technologies booths
MARCH 2012 | 61
Page 1 |
Page 2 |
Page 3 |
Page 4 |
Page 5 |
Page 6 |
Page 7 |
Page 8 |
Page 9 |
Page 10 |
Page 11 |
Page 12 |
Page 13 |
Page 14 |
Page 15 |
Page 16 |
Page 17 |
Page 18 |
Page 19 |
Page 20 |
Page 21 |
Page 22 |
Page 23 |
Page 24 |
Page 25 |
Page 26 |
Page 27 |
Page 28 |
Page 29 |
Page 30 |
Page 31 |
Page 32 |
Page 33 |
Page 34 |
Page 35 |
Page 36 |
Page 37 |
Page 38 |
Page 39 |
Page 40 |
Page 41 |
Page 42 |
Page 43 |
Page 44 |
Page 45 |
Page 46 |
Page 47 |
Page 48 |
Page 49 |
Page 50 |
Page 51 |
Page 52 |
Page 53 |
Page 54 |
Page 55 |
Page 56 |
Page 57 |
Page 58 |
Page 59 |
Page 60 |
Page 61 |
Page 62 |
Page 63 |
Page 64 |
Page 65 |
Page 66 |
Page 67 |
Page 68 |
Page 69 |
Page 70 |
Page 71 |
Page 72 |
Page 73 |
Page 74 |
Page 75 |
Page 76 |
Page 77 |
Page 78 |
Page 79 |
Page 80 |
Page 81 |
Page 82 |
Page 83 |
Page 84