Texture Modding: Difference between revisions

From OpenMW Wiki
Jump to navigation Jump to search
Line 39: Line 39:


The specular mask is stored in the alpha channel of the color texture.
The specular mask is stored in the alpha channel of the color texture.
Note that contrary to what you'd expect, alpha=1 means no specular and alpha=0 means full specular. This is because Vanilla's default textures aren't supposed to have specular.
 
'''Note that contrary to what you'd expect, alpha=1 means no specular and alpha=0 means full specular.''' This is because Vanilla's default textures aren't supposed to have specular.


=== Normal mapping ===
=== Normal mapping ===

Revision as of 14:40, 5 December 2013

NOTE: This page describes features that are (partially) implemented in GIT, but haven't been released yet.

Objects

NIFs

The below instructions are for NifSkope.

Normal mapping

Simply assign the texture to the BumpTexture slot of the NiTexturingProperty.

Parallax

Parallax mapping is similar to normal mapping, except that the alpha channel contains height information. To tell OpenMW that height information is available, make sure your normal map filename contains "_nh." (stands for normalHeight). Example: Tx_BM_snow_01_nh.dds

Please note that the strength of the parallax effect is not adjustable at the moment. However, to reduce the effect you can simply scale the heights. At height 0.5, no view dependent offset is performed.

Specular mapping

First, make sure that specular is enabled in general:

  • You need to add a NiSpecularProperty and make sure the 'flags' field is set to '1'.
  • In the NiMaterialProperty, make sure the specular color is set properly and glossiness is valid (valid values are from 1-128). Values higher than 128 may work, but are not supported on all graphics cards. The higher the glossiness, the 'sharper' the specular effects will look.

Once that's done, you can define shiny and non-shiny parts along the texture by storing a specular mask in the alpha channel of the color texture. alpha 1 = shiniest, alpha 0 = no specular.

Obviously, for alpha-blended (or alpha-tested) materials, the alpha channel is already used for transparency, so specular mapping those is not possible yet.

Native format

We plan to have native mesh/material formats in the future, but this is still in the planning stages.

Terrain

Specular mapping

The specular mask is stored in the alpha channel of the color texture.

Note that contrary to what you'd expect, alpha=1 means no specular and alpha=0 means full specular. This is because Vanilla's default textures aren't supposed to have specular.

Normal mapping

Normal maps need to be named with an _n postfix. For example, for a color texture Tx_BM_snow_01.dds, OpenMW will look for a normal map called Tx_BM_snow_01_n.dds.

Parallax mapping

Parallax mapping is similar to normal mapping, except that the alpha channel contains height information. alpha = 1 -> highest, alpha = 0 -> lowest. Also, the filename postfix you need to use becomes _nh (e.g. Tx_BM_snow_01_nh.dds) so that OpenMW knows that height information is available.