GIMP Normals for Second Life

The title is not very PC. But, I think it will work. GIMP is the free open source image editor many Second Life residents use. With the coming of the Materials System to Second Life™, users of GIMP are going to want to be making normal maps. So, here is a bit more about what normal maps are and how to make them.

GIMP Normal Maps

First, in English the word gimp also means a lame person. GIMP is DEFINITELY NOT a lame image editor. Its name was to denote it being free. While the name is not particularly flattering for the program it derives from: GNU Image Manipulation Program where GNU or GNU GPL stands for: GNU = GNU’s Not Unix and GPL = General Public License. These later acronyms are about how the software is licensed for sale or redistribution.

Normal maps are different from Bump maps, so don’t think of the terms/names as interchangeable that will get confusing. They accomplish a similar task by different processes. The maps add the illusion of more 3D shape with fewer polygons.

Think of a coarsely woven material like canvas or denim or may be a coin. Modeling the surface with polygons to get realistic lighting would require a ridiculous number of polygons. Normal and bump mapping solves that problem with fewer polygons while retaining the detail. So, the 3D geometry for a coin could be a simple flat disk. Applying a normal map would add the relief to make it appear the disk had been stamped in a press. As the coin is tilted and moved it would appear to have a 3D surface with shadows and highlights changing.

As one researches normal maps 3 different types are revealed; World Maps, Object Maps, and Tangent Maps. In Second Life it seems we will be using Tangent Maps. There are two types of tangent maps. Like belly buttons there are innies and outies… concave and convex.

When generating normal maps in a program like Blender you can be more… precise… than with image editors. Precise in this case meaning more photo realistic. Also in a 2D image editor it is challenging to create the same level of detail and realism as with a 3D modeling program, at least at my skill level.

But for clothing textures, repetitive patterns, and simple surfaces GIMP is way more than adequate.

Making

The trick in using GIMP to make normal maps is in knowing how to use GIMP and the Normal Map Plug-in. There is a great tutorial over on the Valve Developer’s wiki: Normal Map Creation in The GIMP. They have a link to the plug-in, which is: GIMP normalmap plugin.

The tutorial refers to an adjustment you need to make for the Source Engine. You can ignore that as Source is a Valve render engine not Second Life’s render engine. I have not been able to find out if ‘flat’ for second life is 127 or 128. Blender creates a flat Tangent Normal Map as RGB/XYZ: 128, 128, 255. The 127-128 difference is probably small enough it doesn’t matter.

Tools

Photoshop and GIMP are the most likely tools for SL users. One needs an image editor that will let them edit individual channels in the image. You may notice the SL Wiki on Materials Data says the Alpha layer of the image is the specular exponent. I think the author meant ‘component.’ Since the alpha layer is used as a control you will need an image editor that gives you access to the color and alpha channels.

3 thoughts on “GIMP Normals for Second Life

  1. I wrote a little about something similar; making normal maps from height maps with xNormal here: http://katfetisov.wordpress.com/2013/04/13/materials-for-dummies/

    If you’re getting into the whole materials thing then xNormal is a useful (and free) bit of kit.

  2. This isnt really the best way to make normals maps. I rather suggest to everyone to use the easy and free xNormal which gives great results and is very easy to use. It can also convert autoamtically some different maps between them like AO from a normal map for example.

Leave a Reply

Your email address will not be published. Required fields are marked *