How Tomb Raider III achieved its dramatic 3D world before modern GPUs

Today's 3D graphics are made possible by powerful graphics cards GPUs and the use of shaders to calculate rendering effects for 3D models and pixels. Back in the late 1990s, these still didn't exist, so how did developers realise the 3D world of Lara Croft in Tomb Raider III?

As we wait for the 30th anniversary Unreal Engine 5 reimagining of Tomb Raider: Legacy of Atlantis due this year, former Ubisoft Lead Senior 3D Programmer David Reinig has been reflecting on what developers achieved using during the transition to 3D graphics in the early 90s using ingenuity to overcome technical limitations at a time before dedicated graphics hardware had been widely adopted.

Tomb Raider III

(Image credit: David Reinig)

In his article, David notes that on launch Tomb Raider III required a Windows 95 machine with a Pentium 90 MHz processor and 16 MB of RAM. With such limited hardware by today’s standards, developers had to work around significant constraints using systems intelligently

Article continues below

Tomb Raider III introduced triangle primitives more explicitly, allowing for greater geometric flexibility than on previous games, helping to work around limitations of quad-only geometry, such as non-planar surfaces and restricted slope representation, David notes..

A portal-based visibility system was used for occlusion culling, with the world divided into rooms that could contain portals connecting them to neighbouring rooms.

Tomb Raider III

(Image credit: David Reinig)

David points out that while culling rooms by visibility, developers used distance fog, not to create atmosphere like in Silent Hill but for a practical purpose, combining it with a reduced far clipping distance to limit the amount of geometry that needed to be rendered.

Tomb Raider III

(Image credit: David Reinig)

Unlike in the first first Tomb Raider game, which had no rendered sky, Tomb Raider III included a sky sphere in most levels with a mapped band representing the horizon. Centered on the player and rendered with depth writing disabled, it appears infinitely distant and never occludes level geometry, allowing colour-key tested foliage and partially open rooms to correctly show the sky behind them.

"Rendering the sky sphere is relatively expensive, so the engine flags rooms that are outside and rooms that are inside," David writes. "Fully closed rooms do still simulate sky visibility by baking the sky color into textures. This trick gives the impression of an open sky while avoiding the cost of rendering geometry behind every surface."

Tricks to maximise visual variety included colour-key transparency for fences, foliage, and other partially transparent objects to avoid the cost of blending issues while producing crisp edges.

Tomb Raider III

(Image credit: David Reinig)

Another graphics trick used on Tomb Raider III was flip-book texture animation, in which a sequence of texture frames displayed flowing water, ripples or fire, for example. This simple approach created dynamic-looking effects without complex per-pixel calculations.

Check David's full deep dive into Tomb Raider III in his article on Medium. It could be an enlightening read of anyone interested in retro game development or developing games with hardware limitations.

Joe Foley
Freelance journalist and editor

Joe is a regular freelance journalist and editor at Creative Bloq. He writes news, features and buying guides and keeps track of the best equipment and software for creatives, from video editing programs to monitors and accessories. A veteran news writer and photographer, he now works as a project manager at the London and Buenos Aires-based design, production and branding agency Hermana Creatives. There he manages a team of designers, photographers and video editors who specialise in producing visual content and design assets for the hospitality sector. He also dances Argentine tango.

You must confirm your public display name before commenting

Please logout and then login again, you will then be prompted to enter your display name.