SurfaceGGX: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
Bug:This shader won't receive light properly from env_projectedtextures like the player's flashlight, instead making the material appear pure black.  If the player is allowed to use a flashlight, the best case scenario is to only use this shader on props in lit up areas.  This shader applied to weapon view models is safe from this however.  [todo tested in ?]
Note:
		
	
No edit summary  | 
				|||
| Line 4: | Line 4: | ||
== Supported Parameters ==  | == Supported Parameters ==  | ||
;{{MatParamDef|[[$basetexture]]|  | ;{{MatParamDef|[[$basetexture]]|text=Diffuse texture.}}  | ||
;{{MatParamDef|[[$bumpmap]]|  | ;{{MatParamDef|[[$bumpmap]]|text=Normal mapping. {{bug|hidetested=1|Animated bump maps aren't possible as the shader lacks the <code>$bumpframe</code> parameter.}} }}  | ||
;{{MatParamDef|[[$color#Models|$color2]]|  | ;{{MatParamDef|[[$color#Models|$color2]]|text=Color tinting.}}  | ||
;{{MatParamDef|[[$detail]]|  | ;{{MatParamDef|[[$detail]]|text=Detail texturing.}}  | ||
;{{MatParamDef|[[$envmap]]|  | ;{{MatParamDef|[[$envmap]]|text=Specular reflections.}}  | ||
;{{MatParamDef|[[$alphatest]]|  | ;{{MatParamDef|[[$alphatest]]|text=Alpha testing.}}  | ||
=== Metalness Parameters ===  | === Metalness Parameters ===  | ||
| Line 18: | Line 18: | ||
=== Specular/Gloss Parameters ===  | === Specular/Gloss Parameters ===  | ||
;{{MatParamDef|$pbr|bool|Enables PBR reflections.}}  | ;{{MatParamDef|$pbr|bool|text=Enables PBR reflections.}}  | ||
;{{MatParamDef|$masks|texture|A mask for specular and glossiness.  <code>$pbr</code> must be enabled to work.}}  | ;{{MatParamDef|$masks|texture|text=A mask for specular and glossiness.  <code>$pbr</code> must be enabled to work.}}  | ||
=== Misc. Parameters ===  | === Misc. Parameters ===  | ||
;{{MatParamDef|$fuzz|bool|Enables a asperity/fuzz scattering pass on the material.}}  | ;{{MatParamDef|$fuzz|bool|text=Enables a asperity/fuzz scattering pass on the material.}}  | ||
;{{MatParamDef|$fuzzmultiplier|float|Multiplier for the fuzz effect, default is 1.0.}}  | ;{{MatParamDef|$fuzzmultiplier|float|text=Multiplier for the fuzz effect, default is 1.0.}}  | ||
;{{MatParamDef|$roughnessmultiplier|float|Multiplier for roughness.  {{TODO|More detail, what is roughness?}} }}  | ;{{MatParamDef|$roughnessmultiplier|float|text=Multiplier for roughness.  {{TODO|More detail, what is roughness?}} }}  | ||
;{{MatParamDef|$subsurfacescattering|bool|Enables subsurface scattering on the material. {{TODO|More detail.}} }}  | ;{{MatParamDef|$subsurfacescattering|bool|text=Enables subsurface scattering on the material. {{TODO|More detail.}} }}  | ||
;{{MatParamDef|$disableenvmap|bool|Enabling disables <code>$envmap</code> reflections.  The shader will use <code>$envmap</code> by default even if it isn't specified, unless this is enabled.}}  | ;{{MatParamDef|$disableenvmap|bool|text=Enabling disables <code>$envmap</code> reflections.  The shader will use <code>$envmap</code> by default even if it isn't specified, unless this is enabled.}}  | ||
== Configuring the masks ==  | == Configuring the masks ==  | ||
Revision as of 07:09, 24 August 2025
Template:Shader multi It was first introduced in Day of Infamy and back ported to Insurgency. It supports PBR.
Supported Parameters
[[$basetexture|$basetexture]] <void>
	
Diffuse texture.
Normal mapping. 
Bug:Animated bump maps aren't possible as the shader lacks the 
$bumpframe parameter.Color tinting.
Detail texturing.
Specular reflections.
[[$alphatest|$alphatest]] <void>
	
Alpha testing.
Metalness Parameters
Enables use of the green channel of 
$phongexponenttexture.Despite the name, this is a mask that defines the metalness of the material.
Specular/Gloss Parameters
Enables PBR reflections.
A mask for specular and glossiness.  
$pbr must be enabled to work.Misc. Parameters
Enables a asperity/fuzz scattering pass on the material.
Multiplier for the fuzz effect, default is 1.0.
Multiplier for roughness.  
Todo: More detail, what is roughness?
Enables subsurface scattering on the material. 
Todo: More detail.
Enabling disables 
$envmap reflections.  The shader will use $envmap by default even if it isn't specified, unless this is enabled.Configuring the masks
$phongexponenttexture
The RGB channels of $phongexponenttexture is configured as follows:
| Channel | Data | 
|---|---|
| Red | Glossiness (roughness inverted) | 
| Green | Metalness inverted | 
| Blue | Sub-surface scattering mask | 
$metal must be set to 1 in order to use the green channel.
$fuzz and $detailnormal use the inverse of the blue channel.$masks
The RGB and alpha channels of $masks is configured as follows:
| Channel | Data | 
|---|---|
| RGB | Specular tint | 
| Alpha | Glossiness | 
$pbr must be enabled to make use of $masks.
See also
- WorldGGX, similar shader used for brushes and displacements.