$envmapmask: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
 Warning:
Warning:
 
  
		
	
| TomEdwards (talk | contribs) mNo edit summary | TomEdwards (talk | contribs)  mNo edit summary | ||
| Line 59: | Line 59: | ||
| * [[$phong]] (diffuse reflection) | * [[$phong]] (diffuse reflection) | ||
| [[Category:List of Shader Parameters| | [[Category:List of Shader Parameters|E]] | ||
| [[Category:VMT Reflections]] | [[Category:VMT Reflections]] | ||
| [[Category:VMT Texture Reference]] | [[Category:VMT Texture Reference]] | ||
Revision as of 13:34, 12 July 2008
$envmapmask defines a specular mask, which affects how strongly each pixel of a material reflects light from the $envmap. The mask should be a greyscale image in which entirely reflective areas are black and entirely matte areas are white.
 Warning:
Warning:$envmapmask will not work in materials using $bumpmap. See #Alternative_methods.VMT syntax example
$envmapmask <texture>
VertexLitGeneric { $envmap env_cubemap $envmapmask "props/tvscreen_test" $envmapmasktransform "center .5 .5 scale .25 .25 rotate 0 translate 0 0" //dx9 only $envmapmaskscale .25 // dx8 only $envmapmaskframe 1 $selfillum_envmapmask_alpha 1 //dx9 only }
Additional parameters
 
  npc_cscanner's mask.
- $envmapmasktransform <matrix>
- Adjusts UV mapping of the specular mask.
- DirectX 8 and below use $envmapmaskscaleinstead.
- The default position is center .5 .5 scale 1 1 rotate 0 translate 0 0.- centerdefines the point of rotation. Only useful if- rotateis being used.
- scalefits the texture into the material the given number of times.- 2 1is a 50% scale in the horizontal X axis while the vertical Y axis is still at original scale.
- rotaterotates the texture counter-clockwise in degrees. Accepts any number, including negatives.
- translateshifts the texture by the given numbers.- .5will shift it half-way. 1 will shift it once completely over, which is the same as not moving it at all.
  Note:All values must be included! Note:All values must be included!
 Bug:Scaling the texture may cause odd issues where the Texture Lock tool in Hammer will not actually lock the texture in place.  [todo tested in ?] Bug:Scaling the texture may cause odd issues where the Texture Lock tool in Hammer will not actually lock the texture in place.  [todo tested in ?]
 Bug:Rotating textures applied on brushes will rotate around the map origin (confirm: Orangebox engine only?). A fix for this is to change the center position in the VMT to the brush's origin.  [todo tested in ?] Bug:Rotating textures applied on brushes will rotate around the map origin (confirm: Orangebox engine only?). A fix for this is to change the center position in the VMT to the brush's origin.  [todo tested in ?]
 
- $envmapmaskscale <float>
- Scales the specular mask by the given value.
- See also $envmapmasktransform, above.
- Requires DirectX 8.
- $envmapmaskframe <integer>
- The frame of an animated texture to use as the mask.
- $selfillum_envmapmask_alpha <bool>
- Derives self-illumination values from the alpha channel of the specular mask.
- Requires DirectX 9.
- See also $selfillum.
Alternative methods
Rather than creating a whole new texture just for a specular mask, you can use the alpha channel of either the $basetexture or $bumpmap. Note that this unfortunately won't reduce the overall amount of data on-disc or in-memory.
If you do use these commands, transformations and other such parameters applied to the base texture/bump map will also apply to the specular mask.
- $basealphaenvmapmask <bool>
- Use the alpha channel of $basetextureas the specular mask.
- If used, the specular mask will be inverted: black = more reflective, white = duller.
- $normalmapalphaenvmapmask <bool>
- Use the alpha channel of $bumpmapas the specular mask.
- This must be used if the material has a bump map.