There are three different kinds of lighting happening in Submerged Ballet: the visible spotlights scattered over the main structure, the caustic streaks dominating the background, and thirdly the ordinary stage lights (key and fill lights).
The small visible spots were built using pairs of coaxially aligned parallel spotlights, with varying ranges and radii. Six such pairs were grouped together in a radial arrangement, and these in turn were instanced across the model together with some geometry using the guide splines.
The caustic streaks were produced by applying a light gel with a caustic pattern bitmap to a volumetric spotlight. Unfortunately this arrangement required extremely high quality settings to avoid artifacts when rendered at print resolution, so despite the background pass containing nothing more than this caustic spotlight and a gradient backdrop, it took approximately seven hours to render.
The basic stage lighting was very simple - a key spotlight held high above and to the left of the main structure with fill light almost directly below this. Both lights were set to generate soft shadows. Due to the placement of the key light, it provided quite a lot of rimlight quality as well, so no dedicated light source was required for that.
Rendering and post-processing
One of the most important features of the final render is the strong sense of depth provided by the murky alien mist which endows the piece with a feeling of being underwater. Ordinary distance fog did not produce the desired result and volumetric fog shaders were far too slow in terms of rendering and therefore unlikely to end up looking the way I wanted (please note that my entire project was made on a 466 MHz Celeron with 192 MB RAM). The solution was to map my background gradient onto four infinite planes evenly distributed along the depth axis, and lower the opacity to make each plane semi-transparent. This way I produced five different zones of haze which became thicker with each step away from the camera. By placing the building 'billboards' and the pre-rendered background structures in different haze zones, I was able to control the overall feeling of depth with complete accuracy. Importantly, I could experiment without having to wait for test-renders since the viewport feedback was sufficient.
I used only two main layers in the final rendering - the background with haze planes, buildings and the caustic light pattern, and the foreground with the main structure using copies of the background haze planes. The background pass also included two main structures further away from the camera with different rotations, pre-rendered with alpha channels for easy render-time compositing. The final layers were rendered using the Cinema 4D multi-pass feature which, among other things, allowed me to easily adjust the amount of key and fill light separately in Photoshop after the rendering was completed.
Further 2D post-processing included some brushing in color dodge blending mode, color rebalancing and levels and contrast adjustments. I also added a touch of diagonal rain-like streaks to emphasize the overall chaos.
I'm 36 years old and live in southern Sweden. Since the age of 13 I've spent most of my time in front of various computer screens, but only began playing with 3D CG in mid-2000. I started out using Blender, but was lucky enough to be able to switch to Cinema 4D in August 2003. I have been serious about 3D for exactly one year - a time period corresponding exactly to the current extent of my CGTalk membership!
I've been working periodically as a teacher in various computer-related domains in the past few years, mainly in programming and web design, but am currently seeking an appropriate job in the CG field to take advantage of my skills.
Occasionally I leave my 3D for and indulge in my other interests: drawing, writing short stories and making music.
James Kaufeldt’s challenger gallery
Submerged Ballet by James Kaufeldt
The Alienware Challenge 2004