Interview with Marcin Gruszczyk

Typically my posts are my how to's and tips and tricks, but every now and then, I think it's important to get inspired and highlight some good talent. I don't do alot of interviews, but I have been a fan of Marcin's work for sometime and thought it important to put the spotlight on him as his work is very inspirational.  Not only are his renderings beautiful, but there is alot of technical materials and lighting going on!

rh: Marcin, for a while now I’ve been a fan of your work, and as someone who is in the arch-viz rendering industry, your work is very fresh and new as your works subject matter, airplanes, are very different from typical architecture or automotive renderings. You’ve managed to take what could be very mundane shots of something in midair, and turn them into amazing compositions and works of art.

Marcin: I am very happy to be able to work together with many dedicated and talented people. In fact, all of the work for Lufthansa is a team effort and as a CG guy I have learned so much. Thankfully, our client appreciates our work - which is unfortunately not the case for so many CG artists out there. At times, I'm still able take a short break sometimes and work on something personal, either torturing a teapot with dynamic simulations or rendering a car. 

rh: How did you get into doing renderings? 

Marcin: I got in touch with computers and graphics in the C-64 era, did my first 3d renderings on Amiga later but lost interest in computers after that, mainly because of my other passion, the guitar. Years later, I started doing CD designs and flyers for my band on the PC and got hooked again; it was exciting to see how much 3d has developed in the meantime. At that time, I have been working in a print house doing pre-press work and layout and played around with 3d software at home, hoping to work in the 3d industry someday. I then got to work at a company which produced 3d real-time architectural presentations and later, in 2006, met the folks in Frankfurt and started working with them. 

rh: What software’s do you use to create your renderings, and what is your workflow? 

Marcin: Workflow will always differ depending on the job, but for most of the Lufthansa images our workflow has been as follows:

If NURBS data was supplied, I've used MoI3d to review, remodel or repair the data when needed. I then imported this as NURBS into 3ds max through the Npower importers and finally converted to mesh or poly objects. Getting NURBS data from manufacturers is a huge problem because of IP restrictions, so we ended up modeling a lot as NURBS in Moi3d and in 3ds max. I had an excellent library of reference images which allowed me to model with a high level of detail and was very useful as a guideline for the materials and textures. Brazil was used for rendering and shading. It is always a critical point for me so I usually spend a lot of time creating materials and textures, and doing many test renderings.

Once everything was in place we could start working on the images with Jens Polkowski from Lufthansa and photographer Jens Goerlich.

We did a lot of previz before the backplates were shot. The client's idea was to produce a consistent set of images that would be later used in a story about the new Boeing 747-8 in the Lufthansa magazine. We determined the best camera angles and lenses and basically defined and documented everything in 3ds max before the actual shooting. Jens had detailed information on the camera's levels, tilt angles and focal lengths and could shoot backplates that would later match our cameras in 3ds max. It turned out to work surprisingly well and helped a lot to maintain the consistency Lufthansa had in mind across very different shots.

After the shooting, I've been given bracketed shots of the environments, done with a Canon 5D and a fisheye lens. We've used PTGui to stitch these as equirectangular panoramas and Photomatix to generate the HDRs, and because they were shot shortly after the backplates were taken they had almost identical lighting conditions. 

rh: Most of the backgrounds in your Lufthansa renderings are in fact photos. How does your photographer manage to get such beautiful photographs, and how do you get the lighting and reflections from the photos into your renderings? 

Marcin: As an airline, Lufthansa needs to show both air-to-air and ground shots of their airplanes, showing them in different situations, lighting conditions and perspectives. Jens has been on several helicopter and airplane flights to capture beautiful and interesting skies and cloudscapes. For ground shots, we typically get a more defined request.

It's not easy for anyone to imagine a huge airplane somewhere on the ground when it's not actually there. We'll often sit together before a shooting in order to look for unseen perspectives or to just get a better picture of the airplane's shape. Out on location, he tries to capture an interesting picture of the area while keeping in mind the plane's position and dimensions. Jens is able to tell which focal length the camera I'm using in 3ds max after looking at the screen for a second so he really knows what he's doing out there.

As for the CG part, he usually shoots the backplates and the HDR environment in the same lighting conditions so they are easier to work with and mostly require only a basic color correction.

For lighting and reflection environments in air-to-air shots, I needed a different workflow due to the fact that one cannot shoot an environment HDR up in the air. I'm using Vue and Terragen to produce panoramic HDR environments, trying to mimic lighting and cloud formation from the real-world background plates.

Sometimes, I'll model some of the landscape's features in 3ds max and use camera mapping to map the background image onto it so it reflects in a more realistic way.

I tweak a lot until the CG objects look convincing. Sometimes it may be necessary to add fill lights or to change the sun's position in order to get a more interesting image or emphasize a certain area of the airplane. Additionally, if the backplate and HDR environment don't match, it may be necessary to apply curves or color corrections on the HDR images.

Luckily, there are plenty of free plugins and scripts to work around 3ds max' limitations. I have used Martin Breidt's ImagePlane and Overscan scripts, some of Neil Blevins' scripts, some of BlurBeta's maps and materials, Cuneyt Ozdas' ColorCorrect map, BerconMaps and many more. 

rh: The details of the airplanes are exquisite, down to the screws and bolts. How much of the detail in the airplane is modeled geometry and how much of it do you rely on texture maps? 

Marcin: Since airplanes are so huge they need a certain level of detail so they don't look like toy models when rendered. You really need to see screws, rivets and all kinds of small parts to create the illusion of a real-life object.

After working several years for Lufthansa, I know which parts of the airplane are the most interesting to them and try to keep that in mind when modeling or texturing. Something that's likely to be seen in a close-up will get a lot of attention. For example, we've produced a series of images with the airplane up in the air over beautiful landscapes, with the camera looking at the engines. They're all quite highres and require a very high level of detail to look convincing - so we started to model every single screw and rivet in our recent models. While it may sound like it's way too much work, it actually saves a lot of time that would otherwise have to be spent on painting and tweaking textures, which also needs considerable amounts of time when going for very high resolution output.

Also, an airplane is covered with markings almost everywhere. Most of those that are visible from a greater distance need to be painted and mapped. Some of them require different mapping projections and many of the main texture setups take up several map channels per object because of this.

When creating materials, I try to instance textures and maps as often as possible. It can get very tedious to replace a color map for example when it is used in many different materials. If you take care of those things at the beginning it'll eventually pay off. 

rh: You have a very keen eye for composition in your renderings, do you pick the camera shots yourself, or is it a collaboration effort? 

Marcin: This is always a collaboration effort. Often, Jens Polkowski from Lufthansa will approach us with an idea, either suggesting a certain composition or leaving it up to us to come up with something based on their marketing needs. We'll then work a bit on different camera angles and send them back to Lufthansa so they can give us feedback or decide which of them get produced.

I have learned a lot from both of them in this regard. Funny enough, sometimes they'll be able to imagine the rendered result much better than I am, and it still happens regularly! 

rh: Although most of the backgrounds in your renderings are photos, you have also been successful in creating cg generated backgrounds. How do you get such realism in clouds, and mountains? 

Marcin: For the image below of the Airbus A380 and Boeing 747-8, I have used Terragen and World Machine to produce the background. As a first step, I created an alpine landscape in Terragen and exported a part of this landscape as a heightfield map. In World Machine, a geological erosion effect was applied and exported back to Terragen in order to render the final image with clouds and proper lighting. I also rendered out a HDR environment and used this 3ds max to render the airplanes; the final composite was then done in Photoshop.

It's really fun to work with these programs and the possibilities are almost endless. It is something I want to use more in the future as you can get some beautiful results without having to rely on real-world photographs. 

rh: How much of your renderings are touched in post, and what tools do you use to create the final composites? 

Marcin: While I think Photoshop lacks some essential features (full HDR support or a non-destructive workflow for filters and masks are good examples), I still think it is the best tool for the kind of work I am doing. I try to avoid rendering in passes as Brazil doesn't support them in a convenient way. Instead, I try to get everything right in the rendering and only render out an additional shadow pass for better control over the shadows and masks for certain objects to avoid painting masks. After that, I'm doing some basic level, color and contrast corrections and leave the real work to Meike Wittenstein, a real Photoshop sorceress, who gives it a final touch.

Thank you, Ramy! Last but not least, I'd like to credit some others involved in this project as well, namely Fjodor Tscherkassow, an incredibly talented 3d modeler, and Martin Repplinger, who's been responsible for stitching the HDR environments. 

rh: Marcin, thank you for all the rich information, and taking the time to answer these questions.  You have definitely set the bar in many aspects. Your images are very inspirational, and fresh as your process is different than most out there! 

You can see more of Marcin's work on cgsociety.org or his website mswee.net, and much like his renderings, Marcin went above and beyond, and has shared with us some of his insight to his process creating his awesome materials shared here:

Adding real-life look to materials

Since I have received a lot of positive feedback on the job, particularly on shading, I'd like to give a brief overview over how I added dirt to the materials. I am working with Brazil and because it's only rarely used out there, I will try to explain the idea behind the approach instead of showing screenshots of the material setups.

When working on the first model and doing the first test renderings I quickly realized that I'll need to introduce some kind of dirt on a material level to get a realistic look and a sense of scale. Painting maps for every single part of a huge model wouldn't have been feasible. Even if I would have taken the time to do so, it would have been a nightmare to manage the materials and would have taken a considerable amount of memory - only to add something for what should be solely a subtle effect.

The solution was to use a map that would paint a gradient on sharp edges of a mesh in a procedural way – I have used the f-edge plugin to do that and used that map as the blend mask in a Blend Material (see my notes at the end of the article on how to achieve similar effects with other plugins). This mask would then blend between a clean and shiny material (Material 1) and a more or less dirty and worn version of the clean material (Material 2). To take this a bit further and make it a bit more convincing, the f-edge map is distorted by another map, in this case by a Bercon Mapping map (there's also a free map called Warp Texture which can be used for the same effect). Using this in a ColorCorrect node will give you even more control.

Another technique to simulate dirt is to use an ambient occlusion map and use different procedural noise maps to make it look less regular. Again, if used as a blend map in a Blend Material to blend between two versions of a material, it can add realism to the shading without much effort.

Generally speaking, I often blend many procedural maps in a Composite Map and use them as diffuse or reflection textures. With huge models with thousands of objects and hundreds of materials, working with painted textures quickly becomes a pain - you always need to go through a chain of steps, unwrapping or taking care of the mapping projection, painting the textures, loading them in 3ds max and taking care of map channels etc. Procedural setups can help to quickly get a convincing level of realism in your materials. However, keep in mind that using procedurals will add to the rendertime and the more complicated your setups are, the slower they'll render.


Both techniques were already described by Neil Blevins in the past:

For the worn edges technique, his approach is different as it is based on vertex colors. As a consequence, it is not completely procedural as it needs to be setup per object, it requires a rather high resolution of the mesh to look nice and it generates an additional mapping channel, thus requiring more memory than a completely procedural approach and will add to the file size.

For the ambient occlusion mask technique, I have used different maps to achieve a similar effect, but the general workflow is the same.

• f-edge is a commercial 3rd party map, available from http://www.ddag.org/products.html

• A similar effect can be achieved with the Gradient Edge map from Vladislav Gavrilov (http://www.vg2max.spb.ru/GradientEdge.htm). Vray users can use the VrayDirt map with the 'invert normal' option for a similar effect

• Keep in mind that most of the maps used here won't work with mental ray

Feel free to e-mail me if you have any questions regarding this workflow or for anything else – mg[at]mswee.net

Copyrights for all images: Deutsche Lufthansa AG, Jens Goerlich, mo cgi


  1. Excellent interview! Nice to see how those incredible images are made

  2. Thanks very much for the great insight and tips. Great work.

  3. I heart the Brazil renderer, haven't heard of it being used for years. Miss it. Gorgeous renders. (former Ramy SCAD classmate here)

  4. This interview was great! Thank Ramy for posting this! I learned alot from Marcin. Thanks to the both of you.

  5. Really interesting! Thanks Ramy for posting, I learned alot from Marcin! Thanks to both of you.