Detail mapping

From EDukeWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Detail mapping is one of the new engine features in EDuke32. It uses hardware multitexturing to combine a regular texture map with a greyscale texture scaled differently, resulting in memory-efficient additionnal detail.

DEF syntax to define detail textures inside model or texture blocks :

detail { file filename scale scale surf surface}

where filename is a regular double-quoted texture complete path and scale a positive floating-point value that'll determine how much your detail map should repeat on your diffuse map (if you want your detail map to repeat five times, use a 1/5 scale : 0.2) and surface the surface id you want to work with if you're dealing with MD3s.

Example of a detail map definition :

Get to the 884 crate texture definition in the textures.def included with the HRP :

texture 884 {
  pal 0 { file "highres/textures/0884.jpg" }
}

Add a detail texture definition line so it looks like that :

texture 884 {
  pal 0 { file "highres/textures/0884.jpg" }
  detail { file "highres/textures/0884_detail.jpg" scale 1.0 }
}

Get this detail texture (I found it here : [1]) and save it as 0884_detail.jpg in the highres/textures directory :

Make sure detail mapping is enabled in the advanced graphics option menu (or just type r_detailmapping 1 in the console), fire up E1L1 and see the result on the roof crate :

Try setting the scale to a lower value to add even more detail (a 1.0 scale doesn't make much sense because your it doesn't add any potential detail to your texture). Here's the same crate with a 0.2 scale (meaning that the detail map will fit five times on the diffuse map) :

Detail mapping can also be used on models :