
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.

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,
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. David points out that while culling rooms by visibility, developers used distance fog, not with the primary purpose of creating atmosphere but for a practical objective, combining it with a reduced far clipping distance to limit the amount of geometry that needed to be rendered.

Unlike in the first first Tomb Raider game, which had no rendered sky, Tomb Raider III included a sky sphere in most levels, infinitely distant and never occluding level geometry. That allowed 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.

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.