Textures

From Mod Wiki
Revision as of 17:02, 15 October 2007 by 192.168.0.129 (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Basic Texture Overview

Generic texture info here.

Diffuse Maps

A diffuse map of a door.

A diffuse map is a texture you use to define a surface's main colour.

In order to work well with a normal map and a specular map, a good diffuse texture should not have any directional lighting included, it should only have generic "ambient occlusion" - ie. the surface gets darker in deep cracks and around embossed details. If you are generating your normal maps from high-poly geometry, you should bake a matching ambient occlusion pass from the geometry and multiply this on top of your diffuse texture to make sure that the lighting matches the normal map.

For a full explanation, see Diffuse Maps.

Local Normal Maps

A local map of a door.

Virtually all geometric surface detail should be represented in bump maps instead of drawn into the diffuse maps in the conventional style. This allows a single texture to take on different characteristics based on its interaction with lights.

Ideally, local (or tangent-space) normal maps should be generated from high-poly geometry for the best consistency and surface detail. However, it is often necessary to create normal maps from source photography and textures. This can be done in Photoshop by using the NVidia Tools NormalMap Filter, or using a 3rd-party application such as Crazybump.

Two types of images can be used for bump mapping in ETQW; height maps and normal maps.

For a full explanation, see Bump Maps.

Specular Maps

A specular map of a door.

Specular maps are the maps you use to define a surface's shininess and highlight colour.

The higher the value of a pixel (from black to white), the shinier the surface will appear in-game. Therefore, surfaces such as dry stone or cotton fabric would tend to have a very dark specular map, while surfaces like polished chrome or plastic would tend to have lighter specular maps.

The colour of a pixel is also used, to calculate the resulting colour of the surface. A very saturated specular map will have a very different visual effect than a grey specular map. If you need a more "neutral" highlight on a surface, your specular map should use the inverse of the diffuse map's colour. Using the same colour on the specular as on the diffuse will result in a more saturated highlight when viewed in the game.

For a full explanation, see Specular Maps.

Special Map Types

Glow Maps

An example of a glow map.

Glow maps, also known as self-illumination maps, are used to make surfaces appear like they are emitting light. Glow maps are blended additively over a texture, so areas which do not glow at all should be pure black on the glow map, and any brighter colors will appear to be emitting light.

For a full explanation, see Special Map Types.


Texturesheets

Texturesheets are larger sheets of separate textures combined into a single image to reduce draw calls and improve performance. Texturesheets can easily be created and controlled using the Atlas Editor.

For a full explanation, see Texturesheets.

The Atlas Editor (editSheets)

The Atlas Editor (editSheets) is used to group multiple source textures together into one larger texture, known as a texture sheet. This texture sheet can then be used for multiple models, allowing them to share a single large texture and reducing the overall number of batches sent to the graphics card.

The Atlas Editor solves the problem of having to manually update the atlas map whenever one of its source maps is changed. A recompile of the atlas map is all that is necessary to incorporate any source map changes. It also lets you draw out areas of specific surface types, and automatically outputs these areas for the game to load.

For a full explanation, see The Atlas Editor.

RenderBumpFlat

RenderBumpFlat is a console command that generates normal maps from generally flat 3D models, and is usually used to create normal maps for tiling environment textures.

For a full explanation, see RenderBumpFlat.

Detail Textures

Any texture can have a detail map added to it. This creates an extra layer of detail blended on top of the existing texture and normal map - a pass which is only drawn when the player is very close to the object. It can help to disguise lower-resolution textures (for example when picmips are enabled).

For a full explanation, see Detail Textures.

Picmip & Related Issues

Picmip is a method of loading only lower mip-map levels, to save memory at runtime.