Tomb Raider III Swimming Pool - Remodelled

First came Swimming Pool v1 - the classic glass ceilinged room in TR1, 2 and 3. Then v2, Crystal Dynamics' totally redesigned version from Legend and AE. Now here's v3; the original design, remade in breathtaking 3D...

  1. Final Renders
  2. Video/360° View
  3. Development Pics
  4. Source Code
  5. FAQ
  6. Reuse and Distrubution
  7. Acknowledgements

So one day I was bored. Ages ago I'd played around with POV-Ray (a "ray tracing" program that lets you build photorealistic images with the computer). Since Eidos did a Tomb Raider remake in the form of Anniversary Edition, I thought I'd have a go at remodelling one of the rooms myself. "How hard can it be...?" :-)

What better place to start than Lara's house, which changed quite dramatically in recent versions of Tomb Raider. After all, maybe some fans might like to see what the original house looks like with modern graphics. And what better room to rebuild than the swimming pool where you get the graphical fun of water, fire, plants, and sunlight through a glass ceiling all in one place?

Here's a reminder of the original version from TR3:
The original version from TR3

There's a lot of important stuff at the bottom of the page, like the FAQs and acknowledgements, which you should also read. But without further ado...

Final Renders

So, this is what you really came to see. Each thumbnail links to a full size version at 1280x1024 - use your browser's back button to come back here after viewing them. Where I give compass directions: when you walk in the door to the swimming pool room, you're facing north.

Northeast Looking northeast across the pool - this is the same view as the original screenshot above.
Southeast Looking south-east across the pool.
Southwest Looking south-west across the pool.
North Looking north from between the fire pillars.
Camera Security camera view to the south.
North from doorway Looking north from the doorway.
Northeast Looking northeast from the south-west corner.
Underwater Lara Underwater, with Lara. Yep, she's been edited in - my 3D modelling skills don't go that far. You can use your imagination as to why she has the harpoon :)
Underwater look up Looking up and to the south from under the water in the pool.
North end North end of the room by the diving board, with Lara. This is one of my favourites.
Outside Outside, looking in. Couple of rough edges - I didn't pay much attention to the detail here.
Across the diving board Looking south across the diving board, which has some nice reflections. You can see out through the door into the conveniently nonexistent gym room :)
Through the pillars Another through-the-pillars shot, a bit closer this time.
Off the diving board Stepping up to the diving board...
From behind a plant Looking out from behind the plant in the NE corner

Video/360° View

In addition to the still images, I've now also put together a 360° view video that should give a better idea of how the scene is laid out. It's quite small because I didn't have all year to wait while it rendered, and is in WMV format.

Development Pics

The scene as you see it above took about a month and a half to build. During that time a lot of development work went on which generated a lot of renders. I've included those here for your entertainment.

They're in vague chronological order but there are a couple of places where development backtracks a bit. For example I started out using a GUI to build this, but outgrew it and went back to editing the raw text "Scene Description Language" text files. This meant I had to throw away my work with the GUI and start again (which happened between the third and fourth pics - that's why the floor pattern disappears and the columns for the fire change slightly).

First mock-up First mock-up of the room layout.
Columns Added the front wall and steps, and a couple of roman column type things for the fire.
Fire An attempt at doing the fire for the columns goes horribly wrong...
Overhead with alcoves Overhead view with the alcoves cut out.
Panels Started doing some of the stone panelling - each panel had to be individually positioned.
Diving board Put a nice wooden diving board in and done some of the panelling inside the alcoves.
Columns again Here's a nicer view of the columns, also some of the roof has been put on. Note the dodgy lighting - this was quicker to render than proper "sunlight" while the scene was still being built.
Rubbish fire A halfhearted attempt at some fire. Notice it doesn't even light anything up orange!
Fire MkII This is a bit better but the lighting's still bad overall.
Glass roof There's the glass roof. No idea what the massive black reflection is from - but that's what you get for cheating and not doing all the panes individually.
Window frames Added some frames for the roof windows. Also some slightly better lighting overall - looks more like daytime now.
Texture Added texture panels! I stole most of the textures so see the acknowledgements for the real genius. Also changed the water colour a bit but that's kind of irrelevant since the water gets totally redone later.
Steps The steps up to the (slightly unfinished) doorway, all nicely textured. The lighting's quite nice there.
Through pillars Looking north through the pillars - also nice but a bit dark.
Water A first attempt at realistic water. The patterns a bit rubbish but at least it's not flat any more.
Pool tiles Tiled the bottom of the pool with a blue version of the mosaic floor tiles - not a bad effect actually...
Pool pattern Tried a pattern for the pool floor, but its probably better plain.
Plant Added a pretty convincing plant to each alcove (since I'm useless at modelling cat statues like the game actually has). Once again you should see the acknowledgements because the plant generation code isn't mine (the pot is though).
Better water So here's some water that finally looks realistic - although the reflections and refractions aren't quite right yet. This is with fire turned off, by the way, which is why there's no orange tint to everything. I also moved the sun to give light the plants on that side a bit better.
Fire on Same again, with fire turned on. Pity it doesn't actually show up on the pillar in view, but you can see its effects.
Fire broken So I accidentally deleted the fire and had to redo it. Back to the failed attempts that look like someone was over-generous with the fuel...
Decent fire Finally some decent fire - made the short detour into debug mode (with the ubiquitous checkerboard) worth it.
Room with fire ...and with the fire in place. Starting to look alright at this point - apart from the dodgy refraction in the water just under the pillars.
Different angle Different angle.
Black rectangle An annoying black rectangle made an appearance. Probably the fire pillars interfering with each other.
Oops Finally, I accidentally import the checkerboard plane used for debugging into the scene. Although it doesn't actually look bad, the lady of the house isn't happy (and through her appearance we see how the whole thing works scale-wise)...

Source Code

Released April 2013

Originally when I built this webpage I chose not to make the model's POV-Ray source code available. However I recently remembered this project (some 4½ years later), and changed my mind. For those wanting to render their own views and adaptations of my scene, or needing some example code to help them learn POV-Ray, or whatever reason really - help yourself to the source code zip file below.

trmodel-src.zip

Once you have downloaded it and extracted the files, just open up swimmingpool.pov in POV-Ray (which you'll need to get and install if you don't have), and you're ready to go. Be warned: as with any programming language there is a learning curve to POV-Ray if you've never used it before - it's unlikely you'll be able to produce the renders you want unless you take the time to learn some basics.

FAQ

OK, I lie, these aren't really frequently asked questions because no-one's asked them yet. But they will, and when they do I'm ready :)

Why aren't there more renders and videos, or some playable demos?

Although the raytracing technique gives you very nice realistic-looking images, it also takes ages to render (we're talking a couple of hours for one frame here). Given that video and games need about 20 FPS to look vaguely good, rendering all those frames is just out of the question. Having said that, people do make videos with raytracing - it just needs a lot of computing power.

Just to make these some of these stills I distributed the job to four PCs to try and cut the render time - this was my setup:
Too many computers!
The professionals have much bigger clusters to build things like movie CGI.

I have made a small (320x240) video which is a 360° camera rotation view. This took about 24hrs to render all 400 frames.

What exactly is ray tracing and how's it different to the 3D you see in games?

I could explain, but my explanation would be rubbish. Your best bet is to read Wikipedia for a general overview.

What tool(s) did you use to make this?

I started off with Moray which is a graphical modeller for POV-Ray (the Persistence of Vision Raytracer). It had a couple of flaws I didn't like though so I resorted to coding POV by hand. For example, you'd specify a cube by putting box { <0,0,0>, <1,3,4> } where the numbers are the 3D coordinates of opposite corners, then you can add other things like texture and lighting. As you can imagine the above scene is a lot of code.

Can I contact you or request a render of a different view?

Yes - my email address is cjw@mintrasystems.com and there's also a forum post about it (and another one too, where I don't have an account to reply but do read the comments).

Can I have the POV source files?

No. Yes, actually - see the Source Code section above.

Will you ever do any more of the rooms?

I enjoyed this so yes, maybe. However since completing this model I've ceased to be a student and entered the world of work, which has unfortunately cut into my leisure time!

Reuse and Distrubution

I personally don't mind if you reuse, distribute or do whatever with these renders (as long as you don't try to take any credit for my work on them - even implicitly). You should remember though that most of the textures and of course the pictures of Lara herself aren't mine to give away with no-strings-attached. See the acknowledgements.

The same goes for the source code, which I have now published above for download. You may incorporate any parts of the code that I wrote into your own projects - acknowledgement is nice but not essential. Watch out for the textures and Tree Macro though; those are not my work and their original licenses should be honoured.

Banner

If you want to link to this page and don't like text links, you can use this:

TR3 Swimming Pool Remodel Project

Lara

Acknowledgements

As hinted several times above, I can't in all honesty claim everything here as my own work. Specifically:

Chris Ware - September 2008