Normalmap

From Blood Wiki
(Difference between revisions)
Jump to: navigation, search
 
(One intermediate revision by one user not shown)
Line 8: Line 8:
 
* Tangentspace normalmap is based on vertex normals, if vertex normals is adjusted, normalmap is outdated.
 
* Tangentspace normalmap is based on vertex normals, if vertex normals is adjusted, normalmap is outdated.
 
* There is DirectX and OpenGL normalmap format, should figure out what format tool is producing and fix normalmap if it doesnt fit.
 
* There is DirectX and OpenGL normalmap format, should figure out what format tool is producing and fix normalmap if it doesnt fit.
* UV seams and 'hard edges' produces by vertex normals is tricky.
+
* UV seams and 'hard edges' produced by vertex normals is tricky.
 
* Normalmappers have a couple of quirks (aliasing, noise).
 
* Normalmappers have a couple of quirks (aliasing, noise).
  
Line 23: Line 23:
 
== See also ==
 
== See also ==
 
* [[Texture]]
 
* [[Texture]]
 +
 +
[[Category:Glossary]]
 +
{{finished}}

Latest revision as of 00:47, 31 July 2012

Normalmap for a bowl model
Heightmap for parallax mapping

Normal maps are images that store per-pixel surface normals directly in the RGB values of an image. Properly done normalmaps can dramatically increase object detalisation without adding more polygons.

Therefore, normalmaps have a bunch fo limits and quirks:

  • Tangentspace normalmap is based on vertex normals, if vertex normals is adjusted, normalmap is outdated.
  • There is DirectX and OpenGL normalmap format, should figure out what format tool is producing and fix normalmap if it doesnt fit.
  • UV seams and 'hard edges' produced by vertex normals is tricky.
  • Normalmappers have a couple of quirks (aliasing, noise).

Recommended articles on normalmaps:

In Darkplaces engine, normalmaps are:

  • Tangent-space RGB
  • OpenGL-oriented (X stores horizontal, Y vertical)
  • Optionally can store alpha component which represents height that will be used for parallax mapping.
  • Compressed to DXT1 (if not alpha) or DXT5

[edit] See also

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox