How to add Textures to The Dark Mod: Difference between revisions

From The DarkMod Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 41: Line 41:
{{Things-To-Remember|
{{Things-To-Remember|
* Move the DDS textures into the '''dds/textures/...''' tree.
* Move the DDS textures into the '''dds/textures/...''' tree.
* Move the TGA textures into the '''textures/...''' tree.
* Move the TGA and JPG files into the '''textures/...''' tree.
* Don't save DDS files into folders more than 5 levels deep.}}
* Don't save DDS files into folders more than 5 levels deep.}}
== Create your Shader Definition (Material) ==
== Create your Shader Definition (Material) ==

Revision as of 10:16, 18 November 2007

Create your texture

This is mostly artwork. Be sure to start off with useful raw material with a reasonably high resolution. Where possible, work from photo-references. A basic guide can be found here: Texture Creation - Basic Tutorial.

A few things to remember: Make sure your texture dimensions are a power of 2 (eg, 128, 256, 512, 1024, etc). Other common mistakes can be found here: Common Texture Mistakes

Things to remember:

  • Use good source material
  • All image dimensions must be powers of two: 64, 128, 256, 512, 1024 (don't go beyond 1024).
  • Avoid lighting baked into the diffusemap
  • Keep your PSD/Gimp working version safe!

Save your Texture in the correct Format

Save the diffusemap, the normalmap and an optional specularmap to a TGA file. The Texture Guidelines will help you choosing the correct resolution. A TGA version of your diffusemap is supposed to be uploaded to our hi-res repository for future reference (see below).

Once your TGA file is saved, you will have to create DDS files for the diffuse and specular (not the normalmap) as well. These are smaller in size and can be loaded faster by the engine. Follow the DDS creation guide to learn how to create the DDS files in the correct formats.

Also, create an editor image out of your diffusemap. The editor image dimension should be 256x256 pixels and the file should be saved in the JPG format. Add the _ed postfix to the filename name (like mytexture_ed.jpg).

Things to remember:

  • Most textures don't need speculars
  • Create DDS for your diffusemap and specularmap.
  • Keep TGA version of your diffusemap and specularmap.
  • Create a TGA version of your normalmap (uncompressed, no RLE).
  • Create a JPG editor image (max. 256px)

Name your Texture

You should give your texture a descriptive name, usually three words, like rough_dark_flagstones01.dds. Try to think about what mappers might want to know when looking for your texture. If the name is really distinctive, then a number is probably not necessary, but for other names a number might be appropriate.

Be sure to rename all your DDS file extensions to a lowercase .dds (the Compressonator always creates files with uppercase extension, TDM requires them to be lowercase).

If your texture tiles only in one direction, include the phrase tiling_1d at the end of the name. If your texture does not tile (repeat) at all, add the phrase nontiling. So, a normalmap could be names as concrete_dirt01_tiling1d_local.tga.

Diffusemaps should have no extension to their name. Normalmaps should have a _local extension at the end of their name. Specular maps should have a _s extension, the editor images go with an _ed extension.

Things to remember:

  • Choose descriptive names for your texture.
  • Add the suffix tiling_1d/nontiling to the filename where appropriate.
  • Diffusemap: mytexture.dds (note the lowercase)
  • Normalmap: mytexture_local.tga
  • Editor image: mytexture_ed.jpg (max. 256 pixels in size)
  • (Optional) Specularmap: mytexture_s.dds

Move the Texture to the right Location

When you upload textures, be sure to upload the files to the right spot. The Texture Folder Structure can help you finding the right folder for your texture.

The .dds diffuse and specular go in the dds/textures/ folder structure. The .tga normalmap goes in the textures/ folder structure. Note that there is a peculiarity of the Doom 3 engine not being able to load DDS textures that are more than five folders deep. The deepest level allowed would be something along the lines of dds/textures/darkmod/door/metal/. This is something to be watched out for.

Things to remember:

  • Move the DDS textures into the dds/textures/... tree.
  • Move the TGA and JPG files into the textures/... tree.
  • Don't save DDS files into folders more than 5 levels deep.

Create your Shader Definition (Material)

Your material entry should be added to the .mtr file that has the same name as the folder your texture is saved in. For example, the material entry for a texture saved in textures/darkmod/wood/panels should be saved in the .mtr file, tdm_wood_panels.mtr.

You should name your material entry the same name as your diffuse texture, including the folder path structure (eg, "textures/darkmod/wood/panels/rectangle_oak_face"). (Do not add .tga or .dds to the end, and also skip the dds/ folder prefix.)

The only exception is when multiple shaders are using the same diffusemap, or when your texture doesn't tile (or tiles in only one direction). In the latter case, you would add /nontiling/ or "/tiling_1d/ to the end of the shader folder (a 'virtual' folder, essentially). (The textures used to be separated like that in the actual folder structure, but due to D3's inability to read .dds files five folders deep, they had to be moved.)

Things to remember:

  • Create your shader in the correct file (tdm_xxx_yyy.mtr)
  • The shader name for tiling textures is the same as the diffusemap
  • Nontiling/tiling_1d textures go into a "virtual" subfolder nontiling/ or tiling_1d/
  • You don't need to specify file extensions (.dds/.tga/.jpg) to the material defs, this is automatically guessed by the engine.
  • You don't need the dds/ folder prefix to reference the DDS textures.
  • Be sure to include the frob highlight code (see Basic Material File)

Upload the Textures

Once, you have checked your texture in-game (and are pleased with the results), you'll need to upload the files to our SVN repository.

The .tga of the diffuse and specular is needed as well in case we ever want to make modifications to the texture or new textures based on the old. Opening and resaving .dds files results in loss of detail, so all new versions of textures should be made from the .tga files. So, additional to the textures needed for the engine and editor (diffuse/normal/specular/editorimage) you're encouraged to upload the uncompressed textures to the hires repository.

The hires repository is located at https://<InsertDarkmodServerHere>/svn/darkmod_hires/trunk/tga_backup/. As only diffuse/speculars are compressed in DDS format, these are the only two that need to be uploaded in TGA format. The TGA files should be named just like the DDS versions and should be located in the analogous folder than they are in the main repository, but below the tga_backup/ folder. For instance tga_backup/textures/darkmod/stone/etc.

The hires TGA can be RLE-compressed to save some space, but this is not too important. Uncompressed TGAs are only important for the textures used by the engine itself.

As last part, it would be nice to have the actual working versions (Photoshop/Gimp source files) stored on the server too. This is of course a large upload, but having the source files is very valuable. For this purpose, there is another repository texture_src installed at https://<InsertDarkmodServerHere>/svn/texture_src/.

Things to remember:

  • Upload the diffuse, normal, (specular,) and editor image to the regular darkmod SVN.
  • Upload the (RLE-compressed) TGA diffusemap and specularmap to the darkmod_hires SVN repository (into the tga_backup subfolder).
  • Upload the working source file (PSD/Gimp) to the texture_src repository.