Shader Docs
Understanding and leveraging RED3 shaders
We do not have official documentation from CDPR about how shaders are used by artists. Thus any 2d/3d artist is looking at hundreds of black-box shaders with unknown usage. This is extremely demotivating for anyone looking to bring new assets to life with REDengine. The following list of tables is an attempt to make life easier for artists by using the community to document commonly used shaders.
About the documentation
The name and path of each shader will be documented by the header.
Next we are using a table for each texture parameter with the exact name listed by CDPR in the w2mg file, how REDengine uses each specific RGBA channel, and the usable range of the channel if not 0-1/0-255.
When applicable, vertex color properties will be listed underneath the texture table with a similar format.
Scalar, vector, color, and other properties will follow with their own unique description table.
An asterisk (*) is used to notate some degree of uncertainty, or need for more independent testing.
Shaders
pbr_std_tint_mask_det
pbr_std_tint_mask_det
Texture Channels
Red
Green
Blue
Alpha
Diffuse
Color
Color
Color
Transparency
Normal
Normal
Normal
Normal
Roughness
Tintmask
Ambient Occlusion
Tint
Detail Mask (128-255)
None
Properties
Description
SpecularColor
RGB value to assign specular highlight
DetailNormal1
1 of 2 procedural normal map detail overlays
DetailTile
X/Y tiling values for DetailNormal
DetailRotation
Rotation values for DetailNomal
DetailRange
Distance at which DetailNormal is applied to mesh
Roughness_min/max
Clip values to add a global min/max to roughness texture
AOPower
Multiplier for Ambient Occlusion
Notes
Extremely common for character assets
Uses EnableMask flag to create alpha clipped transparency mask from diffuse texture
pbr_std_tint_mask_2det
pbr_std_tint_mask_2det
Texture Channels
Red
Green
Blue
Alpha
Diffuse
Color
Color
Color
Transparency
Normal
Normal
Normal
Normal
Roughness
Tintmask
Ambient Occlusion
Tint
2 Detail Masks (0-0.5/0.5-1)
None
Properties
Description
SpecularColor
RGB value to assign specular highlight
DetailNormal1
1 of 2 procedural normal map detail overlays
DetailNormal2
2 of 2 procedural normal map detail overlays
DetailTile1/2
X/Y tiling values for DetailNormals
DetailRotation1/2
Rotation values for DetailNomals
DetailRange
Distance at which DetailNormal is applied to mesh
Roughness_min/max
Clip values to add a global min/max to roughness texture
AmbientPower
Multiplier for Ambient Occlusion
Notes
Extremely common for character assets
Uses EnableMask flag to create alpha clipped transparency mask from diffuse texture
Based on pbr-std-tint-mask-det
The tintmask texture packs 2 maps into the blue channel, one map from values 0-127 and another from 127-255. The "zero value" for both textures is at the midpoint, while using values closer to 0/255 will increase the detailmap strength.
pbr_std_tint_mask_2det_fresnel
pbr_std_tint_mask_2det_fresnel
Texture Channels
Red
Green
Blue
Alpha
Diffuse
Color
Color
Color
Transparency
Normal
Normal
Normal
Normal
Roughness
Tintmask
Ambient Occlusion
Tint
2 Detail Masks (0-0.5/0.5-1)
None
Properties
Description
SpecularColor
RGB value to assign specular highlight
DetailNormal1
1 of 2 procedural normal map detail overlays
DetailNormal2
2 of 2 procedural normal map detail overlays
DetailTile1/2
X/Y tiling values for DetailNormals
DetailRotation1/2
Rotation values for DetailNomals
DetailRange
Distance at which DetailNormal is applied to mesh
Roughness_min/max
Clip values to add a global min/max to roughness texture
AmbientPower
Multiplier for Ambient Occlusion
FresnelPower
Fresnel multiplier
FresnelStrenght
(misspelled by CDPR) Fresnel multiplier
Notes
Uses EnableMask flag to create alpha clipped transparency mask from diffuse texture
Based on pbr-std-tint-mask-2det
The tintmask texture packs 2 maps into the blue channel, one map from values 0-127 and another from 127-255. The "zero value" for both textures is at the midpoint, while using values closer to 0/255 will increase the detailmap strength.
Uses "fresnel" values to add extra fresnel effect to the mesh. Read more about fresnel here.
Last updated