The CG VFX
of Troy - Part I: Framestore CFC's Armada
Image
Based Lighting & Rendering
The traditional way of obtaining environment maps and high dynamic
range maps is to use a chrome ball and a camera. The problem was
that we were going to have a variety of difficult locations on
set. We were shooting on beaches in Mexico and Malta as well as
out in the open sea. Thus, we needed a quick way of capturing HDR
images and environment maps. In our research, we found that the
Canon 1DS digital SLR was particularly good as it has a full 35mm
CCD back plate. This meant that we could attach a Sigma 8mm fisheye
lens to it and photograph the full image with negligible artifacts.
The Canon camera also allowed us to program the bracketing, so
that it automatically took five shots at varying F-stops with just
one shutter release. This entire setup was fixed on an iPix rotator
that could rotate to take photos for an entire hemisphere on each
side. The result is a rig that took just 20 seconds to capture
a full HDR environment map at any given location. We used Panoweaver to
stitch the images together and integrated all the HDR images and
environment maps into shaders designed to incorporate Image-Based
Lighting and standard CG lighting if necessary.
One of the issues we encountered was the open environment itself – and
the challenge to attain the right contrast ratios from the fill
(the sea and sky) to the burning hot sun. We performed some tricks
with the HDR maps to generate additional lighting breakdown for
the compositors where we threw away the color values and created
intensity values split into the three channels – Red: very hot
sun spot, Green: sky, Blue: sea. We then rendered with this RGB
intensity map, as one of the many arbitrary outs, and let the compositors
tweak the contrast ratios to get the image-based lighting just
right.
Ambient occlusion and bent normal maps on the boats were pre-baked
as textures and not generated in relation to any specific environment
map. We placed a plane slightly beneath the boat and rendered to
obtain slight subtleties such as crevice detail.
Everyone has a modern preconception of today's sailing yachts with
membrane sails, beautiful backlighting and translucency effects.
We checked the heavy canvas sails used on the real boats and even
on a bright sunset with the sun directly behind the sail, there was
hardly any translucency at all. We even went to the extent of using
BRDF (Bidirectional
Reflectance Distribution Function) models in our shaders and
built our own reflectometer to calculate the reflectance of the sails.
Hence, the sails that you see on screen in Troy are accurate representations
of canvas sails used in that era.