GUIDE: Rendering middleware

GUIDE: Rendering middleware

By Ed Fear

August 17th 2009 at 11:11AM

We shed light on the leading tools for illuminating worlds

As more and more games feature vast, open worlds and even more stark visual styles, occlusion culling and global illumination technology is now more in-demand than ever, as Ed Fear discovers…

The term ‘rendering middleware’ might well make you raise at least one of your eyebrows. After all, ‘rendering’ is a pretty vague term.

In truth, it’s a way for us to umbrella two fields that are somewhat related but perhaps not quite established enough to warrant a round-up all of their own.
Not that either of these two areas – occlusion culling and lighting – are any less important than other sectors we might cover. If one trend was started last generation, it was the move to more open-world, sandbox style games that gave players freedom to make their own adventures, and it’s a trend that’s showing no signs of stopping.

Almost invariably, these games take place in vast cityscapes – and so being able to quickly cull swathes of irrelevant geometry is more important now than it ever was. Consoles may be more powerful these days, but that doesn’t mean wasted cycles are any more palleteable than they ever were.

Lighting, on the other hand, is certainly becoming one of the big differentiators when it comes to game visuals. Look at the praise heaped on Lionhead’s Fable II for its volumetric light scattering (okay, maybe not in quite those words) and how Mirror’s Edge used stark lighting with primary colours to create a unique and appreciated visual aesthetic.

Thing is, though, that artists have understandably had enough of placing hundreds of lights across even the smallest of scenes just to make it look right, then being forced to wait for lightmaps to bake before they can see the results. Dynamic, global, entirely real-time lighting will not only provide much more aesthetically appealing scenes, but will also give artists the time to focus on more important endeavours.

BEAST

Developer: Illuminate Labs
Clients: Crystal Dynamics, Sony Online Entertainment, A2M, EA DICE, Guerrilla Games, Game Republic, EA Bioware
Platforms: All (integrations available for UE3 and Gamebryo)
Price: Available on request
Contact: sales@illuminatelabs.com

www.illuminatelabs.com

Beast is an advanced global illumination lightmapper that calculates lightmaps, shadow maps and point clouds with soft shadows, ambient occlusion, and colour scattering from coloured objects and also transparent entities. It can also generate light probes for dynamic lighting of objects in real-time, which can then be loaded in with a simple C++ library. It also supports offloading map generation to distributed processors like Condor or Incredibuild.


ENLIGHTEN

Developer: Geomerics
Clients: CCP
Platforms: Xbox 360, PS3, PC
Price: Available on request
Contact: sales@geomerics.com

www.geomerics.com

Geomerics’ big push with Enlighten is that the tech straddles the gap between radiosity and global illumination, providing a real-time radiosity solution with specular highlights from bounced lighting. It takes a general description of a scene’s direct lighting and computes lightmaps in real-time, as well as light probes to describe the indirect lighting environment. Because it generates textures, they can be integrated with your shaders. It’s also now integrated into Unreal Engine 3.


UMBRA

Developer: Umbra Software
Clients: Turbine, EA Bioware, CCP, ArenaNet, Funcom, Game Arts, Monumental, Remedy
Platforms: Xbox 360, PS3, PC
Price: Available on request
Contact: sales@umbrasoftware.com

www.umbrasoftware.com

Umbra is an occlusion culling solution that works at run-time, working out the visible objects in a scene so that occluded objects are not wastefully rendered. Because it works at run-time, objects can be moved, added and removed at run-time without causing a hitch, and it also means that level builders don’t have to spend time creating portals, tagging zones or splitting up level meshes – it’s all automatic. Integrations are available for UE3, Gamebryo, HeroEngine and BigWorld.


VISOR

Developer: Wizaid
Clients: Not disclosed
Platforms: All
Price: Available on request
Contact: contact@wizaid.com

www.wizaid.com


Wizaid says that it created Visor to advance the PVS system into the million-polygon model age. Despite this, its API contains only six public functions and consists of just 450 lines of C. That may sound like it doesn’t do much, but that’s not the case: Visor is the opposite of Umbra in that it is squarely based in the preprocessing phase, with four tools that partition level geometry through a GUI or via the command-line. It also uses bounding-volume visibility queries to cull dynamic objects.