Post news RSS Anatomy of a Scene

Two weeks ago we we posted some screen shots of the new marines in Natural Selection 2. We were really happy to hear the overwhelmingly positive response to the new marine design. There were a lot of comments and questions about the renders we posted, so this week I put together a video to show all of the components that make up the rendering system in our engine.

Posted by on

Two weeks ago we we posted some screen shots of the new marines in Natural Selection 2. We were really happy to hear the overwhelmingly positive response to the new marine design.

There were a lot of comments and questions about the renders we posted, so this week I put together a video to show all of the components that make up the rendering system in our engine.


Here's what you're seeing in the video:

Wireframe
– This shows the geometry that make up the objects visible in the scene. Here you see about 100,000 triangles. Each marine has over 13,000 triangles!

Normal Map
– In addition to all of the geometric detail in the models, we get even more detail by using a normal map. The normal map causes flat triangles to be lit as if they were actually more complicated surfaces. For our models, we generate the normal maps from incredibly high polygon meshes.

Texture Map
– The texture map is a hand painted image that specifies the color of the models.

Specular Map
– The specular map is also hand painted and tells the rendering engine how shiny the surface is and what color the reflected light should be. For metals this is typically similar to the surface color. For the skin, we use a blue tint to counteract the warm tones of the texture and give the result cool white highlights. The cloth parts are completely black so that they won't be shiny in the final image.

Gloss Map
– The gloss map also helps define the shininess of the surface, but in this case it's how smooth the material is. For a really smooth surface – like a pool ball – the highlights will be very tight, but for rough materials it will be broad. There isn't too much detail in the gloss map because this effect tends to be fairly subtle.

Lighting
– To determine how bright each pixel in the final image will be, the rendering engine computes a number of lighting passes. Each pass uses the normal, texture, specular and gloss maps to figure out how much light is reflecting off the surface and entering the camera's lens. Here we're just showing the lighting passes without the influence of the texture map for clarity. Shadow maps are also used to determine which parts of the scene should be in shadow, although not every light casts a shadow for efficiency.

Ambient Occlusion
– The rendering engine applies a screen space ambient occlusion technique to add even more shadowing detail. Ambient occlusion is a measure of how much light from the environment is blocked by nearby surfaces. We use a simple approximation to darken the crevasses that aren't handled well by the shadow mapping system. The ambient occlusion is applied as a darkening effect over the final lighting; this isn't physically based, but gives us the results we're after.Combined – Here the lighting and texture mapping are shown combined. In practice this is actually done during the lighting passes.

Atmosphere
– The atmosphere pass simulates the effect of light hitting tiny particles in the air (here's another example). This has become one of the "signature" effects of our rendering and you can see it put to extensive use in our other videos.

Color Grading
– Also called color correction, color grading is the process of adjusting the brightness, contrast, color levels, etc. of the final image. This gives a lot of control over the scene that can be difficult or impossible to achieve by tweaking the lighting and texture maps.

We hope you've enjoyed this "under-the-covers" look at our engine. You can also see our rendering engine at work (with motion blur!) in the teaser video we released on the main site.

Comments
Elementalist
Elementalist

Ouch, that's pretty heavy on detail. Makes it look pretty though.

Not sure I want to know what your minimum computer specs for running everything on high would be.

Amazing work!

Reply Good karma Bad karma+1 vote
phipe
phipe

This is pillowy mounds of win you have created there.

Reply Good karma Bad karma+3 votes
vfn4i83
vfn4i83

Great work, great models, little too shining but nice.

Reply Good karma Bad karma+1 vote
Joe_Shmoe
Joe_Shmoe

I love these developer notes... very interesting to see what goes into the creation of a game and how technology eveolves with new effects etc... awsum stuff this =]

Reply Good karma Bad karma+2 votes
mdvhimself
mdvhimself

cool

Reply Good karma Bad karma+1 vote
smurfbizkit
smurfbizkit

Game looks great as usual...however your diffuse textures really are pulling the art down. Your texture artist just can't match the skill level in the concepts (which is a shame).

Reply Good karma Bad karma-3 votes
Godwin
Godwin

lol smurf whine whine whine

Reply Good karma Bad karma+1 vote
kinesis916
kinesis916

This was fantastic. The video would have been great on it's own, but then to explain it all in quick simple terms was an added bonus.

Reply Good karma Bad karma+1 vote
Nebcake
Nebcake

That is really amazing all the components needed, to make something from ok to totally awesome.

Reply Good karma Bad karma+1 vote
Toyoka
Toyoka

This is an excellent example of developer noting. I love this game (and it's Half-Life mod predecessor) and love how it's coming along! Hope to see more development videos and the like :)

Reply Good karma Bad karma+1 vote
SleepingDaemon
SleepingDaemon

The models look super sexy! Loving the engine. Hopefully it'll run ok on my end.

Reply Good karma Bad karma+1 vote
exanity
exanity

Love that you guys to the time out to give a detailed breakdown like this. Can't wait to see more if this game!

Reply Good karma Bad karma+1 vote
Spooboy
Spooboy

Wait...is this out? haha sorry for my stupidity

Reply Good karma Bad karma+1 vote
m82sniper
m82sniper

No, but you can pre-order it and get early beta access.

Reply Good karma Bad karma+1 vote
Spooboy
Spooboy

Thanks, I guess ill go do that now.

Reply Good karma Bad karma+1 vote
Keptron
Keptron

This game is gonna kick *** ... seriously, it is great by just looking the videos/images

Reply Good karma Bad karma+1 vote
Six_Ways
Six_Ways

Looks great, but is 13k per character plus all those passes really feasible? Your AO shader for instance looks pretty accurate so I imagine that's doing a lot of sampling. I'm not criticising or anything, I realise you've thought all of this out, I'm just interested how you're dealing with such complexity?

Reply Good karma Bad karma+1 vote
Bird_of_Prey
Bird_of_Prey

What can you say? Amazing. If I hadn't seen it from wire frame on up I'd say that the finished image was a really nice looking piece of concept art.

Reply Good karma Bad karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.