Detail mapping
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 :