informa
2 min read
article

Detail Textures

A method for automatically applying normal-mapped detail textures to a terrain mesh.

The terrain in Overgrowth has looked nice in the distance, but many of you noticed that it looked a bit blurry close up. This is because it didn't have a real detail texture yet! Detail textures are tiled images that are used to provide close-up material definition. Here is the base color map for an Overgrowth terrain (lighting and atmospheric effects are disabled for clarity):

It looks pretty blurry! You can tell that the green area is meant to be grass, and the brown area is meant to be dirt, but it doesn't have any detail. You can't see any of the clumps of grass or flakes of dried dirt. To add these details, we use slightly modified photographs (as described in this post). Here are the textures used in this example:

Now that we have these three textures, where do we put them? My solution was to find the average color the each texture and compare it to the color at each pixel in the base terrain color map. Here is the average color of each of these detail textures:

Here are the textures applied to the terrain using this method.

The colors don't quite match the existing terrain, so they are tinted based on the difference between their average color and the terrain color. This ensures that the overall look of the terrain is not changed (again, lighting and atmospheric effects are disabled for clarity).

The terrain has some detail now, but it still looks pretty flat -- to make the details pop out more, we can apply normal mapped lighting. We already discussed how this works for characters, and it works in much the same way for terrain.

Now we can put it all together, and it looks pretty decent! The transition from grass to dirt is now very clearly defined.

We still need to add some 3D grass planes to complete this terrain, but the base layer is complete. Here's another angle on the same scene:

What do you think of our new terrain detail textures? I'm glossing over a lot of the technical details here. Is there anything you'd like me to explain further?

Follow us here!
Facebook iconModDB iconSteam iconTwitter iconYouTube icon

Latest Jobs

Treyarch

Playa Vista, California
6.20.22
Audio Engineer

Digital Extremes

London, Ontario, Canada
6.20.22
Communications Director

High Moon Studios

Carlsbad, California
6.20.22
Senior Producer

Build a Rocket Boy Games

Edinburgh, Scotland
6.20.22
Lead UI Programmer
More Jobs   

CONNECT WITH US

Register for a
Subscribe to
Follow us

Game Developer Account

Game Developer Newsletter

@gamedevdotcom

Register for a

Game Developer Account

Gain full access to resources (events, white paper, webinars, reports, etc)
Single sign-on to all Informa products

Register
Subscribe to

Game Developer Newsletter

Get daily Game Developer top stories every morning straight into your inbox

Subscribe
Follow us

@gamedevdotcom

Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more