Normalmap
From Blood Wiki
(Difference between revisions)
Line 4: | Line 4: | ||
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: | 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. | + | * 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. | ||
* Normalmappers have a couple of quirks (aliasing, noise). | * Normalmappers have a couple of quirks (aliasing, noise). | ||
− | * | + | * UV seams and vertex normals 'hard edges' is tricky. |
'''Recommended articles on normalmaps:''' | '''Recommended articles on normalmaps:''' |
Revision as of 15:09, 18 July 2012
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.
- Normalmappers have a couple of quirks (aliasing, noise).
- UV seams and vertex normals 'hard edges' is tricky.
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 use for parallax mapping.
- Compressed to DXT1 (if not alpha) or DXT5