Latest  | Search | Go
Edit this page   |   Attach file 

  Home | Tutorials | Technical Reference | Runtime | API Documentation | ContentCreation > TextureGuidelines  

Reality Engine Texturing Guidelines

Quick Summary

  • Use TGA unless you have a damn good reason not to. PNG is ok sometimes, but has poor alpha support.
  • Use JPG and die a painful death
  • Make your source art BIG, as large as you could ever imagine it needing to be, and keep to powers of two.
  • ATI cards cannot display over 2048x2048, and NVIDIA cards 4096x4096.

Texture dimensions

Texture dimensions may be any powers of two from 32 to 4096. Textures need not be square. Sizes such as 256x256, 1024x128, and 2048x32 are acceptable, but should not be smaller than 32x32. Non power-of-two textures will work, but will be internally scaled to the next power of two, wasting memory, so please only use such textures for testing purposes, never for final art.

Please keep your source art large and uncompressed, and include it with your work for archiving. The "average" size of textures right now is about 512x512, but if you keep your art as 1024x1024, it'll be reusable in the future, or as an option for higher-end video cards. Exact sizes will of course depend on usage.

Bump Maps / Normal Maps

See BumpMapping

Texturing Guidelines

[Note: Be sure to check out the links at the bottom of the page!]

This is a next-generation video game. If you're coming from texturing games like Quake3, Unreal Tournament, etc... throw everything you know out the window. You now have to learn to think an entirely different way about your textures.

So, what does all of this mean to you as a texture artist?

  1. DO NOT paint shadows into your textures - use a bump map
  2. DO NOT paint highlights into your textures - use a specular map and a bump map
  3. DO NOT paint glows into your textures - use an illumination map

Other Things You Need To Know

Recommended size for typical source texture art (meaning the size it is created at) is 1k (1024x1024). However, the larger the better in most cases due to future scalability concerns. Also, use your head. A poker card for instance does not need to be 1k in size.

Don't paint things that should be geometry into textures. We want to see real lights and real panels rather than fake textured ones. Ask a modeler if you have an idea and need help realizing it. Specular maps should be considered for all surfaces, but obviously not if the surface is going to be matte. There's no sense in having a completely black specular map.

Light maps are NOT bump maps. Light maps were used in the olden days to create shadows and the illusion of light falling on to textures. Bump maps are superior to light maps in every way. Do not confuse the two. If you are used to making light maps, the process for creating a bump map is NOT THE SAME. Please see the tutorial here.

Useful Links

On that note, happy texturing!


Texture formats Reference

Evolution supports five texture formats: PNG, TGA, DDS (Direct Draw Surface), BMP, and JPEG.

TGA

This is the ideal format for art. It is a lossless format, and supports alpha content via alpha channels. By default, TGA files are converted to the DXT1 compression format internally, or DXT3 if they contain alpha. You can save a TGA as 24-bit if it has no alpha, or 32-bit if it has alpha. NOTE: Photoshop 7.0 has a bug where you can't save alpha in TGA. You should upgrade to Photoshop 7.1 or Photoshop CS.

PNG

This is a nice format, but its alpha support is lacklustre. It only technically supports a "transparency" channel, which can be hard to work with. PNG is lossless, but compressed, so it's has a file size equivilent to what it would if zipped up. PNG also supports greyscale, so please use this for monochrome maps, as it'll cut file sizes by 75%. NOTE: Photoshop has lackluster PNG support, including no ability to save alpha. I highly recommend downloading SuperPNG which is a superior PNG plugin. Remember to delete the old adobe png.8bi file after installing.

BMP

As big as TGA, but lacks alpha channel support. I therefore see little merit in using this format, however, it is fully supported. By default, BMP files are converted to the DXT1 compression format internally.

JPEG

JPEG is compressed so loses visual quality. Unfortunately graphics cards cannot read JPEG compression so they get expanded to DXT internally, so the quality you lose from using JPEG compression has NO BENEFIT WHATSOEVER in-game. THEREFORE, DO NOT USE THIS FORMAT.

DDS

DDS is a native storage format, in that no conversion needs to be done when the texture is loaded, subsequently loading times are extremely fast, in the order of 5x faster than any other format. This format gives you full control over the texture attributes and color format, it also supports alpha channels. This format is therefore recommended for maximum performance and control WHEN NEEDED.

DirectX Texture Compression (Ignore unless using DDS files)

DXTC is the native, compressed texture format used in DirectX 9. In many cases, DXTC reduces texture memory usage by 50% or more over palettized, 8-bit textures, allowing for twice the textures at the same resolution, or the same number of textures at twice the resolution. Three DXTC formats are available. You can see a detailed comparison on the different types of texture compression here: http://udn.epicgames.com/pub/Content/TextureComparison/

DXT1

DXT1 is a four-bit compressed color format that allows for opaque, and one-bit alpha textures; that is, textures with no transparency at all, and textures with a single transparent color. A hardware bug in all nVidia chipsets, including the NV20 (GeForce3), potentially makes DXT1 textures gross and ugly. Specifically, decompression is performed in 16-bit color mode internally, making the resulting texture potentially unacceptable for use, especially when combined with other operations. Test your DXT1 textures on nVidia hardware before committing to their use. All other DXTC formats on nVidia hardware are okay, as textures are decompressed in 32-bit color internally.

DXT3

DXT3 adds support for a four-bit explicit alpha channel, on top of DXT1's color compression. Four-bit explicit alpha allows for sixteen distinct alpha values, making it good for textures with sharply contrasting translucent/opaque areas. DXT2 textures assume the color data is premultiplied by the alpha channel, and are not supported.

DXT5

DXT5 support a four-bit interpolated alpha channel. Three bits are used to determine explicit alpha values, and two eight-bit values are used to interpolategradually between them. This makes the format especially suited for soft gradients and other textures where the alpha areas vary less wildly. DXT4 assumes colors are premultiplied by the alpha channel, and is not supported.

32-bit RGBA

32-bit RGBA is the obese godfather of textures. While extremely powerful, it's also terribly overweight. It features full 24-bit color, plus an 8-bit alpha channel, but takes up four bytes for every pixel; a 256x256 texture will require 256k of memory.

Recommendation

Use DXT1 textures as much as is possible. While artists need to examine DXT1 versions of their textures due to the penetration of nVidia hardware with the decompression bug, the greatest space savings can be had with them. If watching for rendering artifacts is not an option, DXT5 supports the most flexible alpha channels, while not increasing memory usage beyond that of a normal 8-bit palettized texture.

Also, if you need full color resolution for a texture, without an alpha channel, use an 8-bit palettized texture. While requiring the same amount of video memory, disk and system memory usage is a mere 25% of full RGBA, and the differences are undetectable in most cases. Use full RGBA only when DXT3/5 do not suffice in the both the color and alpha quality department, in highly visible expanses, such as skies.

Working with DDS files

If you wish to take advantage of the DDS format, you'll need one of these utilities.

NVIDIA Tools

http://developer.nvidia.com/object/nv_texture_tools.html

This page contains several useful texture manipulation tools. This includes:

  • DDS Utilities
  • 3ds max .dds Plug-ins
  • Adobe PhotoShop Normal Map and DDS Authoring Plug-ins
  • DDS Thumbnail Viewer for Windows Explorer

ATI "Compressinator"

http://www.ati.com/developer/compressonator.zip

This is a good tool for creating compressed DDS files, and allows you to compare the visual differences between the different formats.

TextureGuidelines   Edit | Attach | Ref-By | Printable | Diffs | r1.3 | > | r1.2 | > | r1.1 | More