Shadow Generations Shaders - BlendDetail dpndpnn: Difference between revisions
Appearance
	
	
| Justin113D (talk | contribs)  Added page | 
| (No difference) | 
Revision as of 20:12, 22 August 2025
Overview
Shader Behavior Overview
Shader model: 
   [2] Standard (PBR)
Does not support:
An advanced PBR shader that uses
- distance blending to blend in a detail normal map
- Vertex alpha to blend between two sets of albedo and PRM textures
It is essentially a combination of the Blend_dpndpn and Detail_dpnn shaders.
Related shaders
- Blend_dpndpn
- Blend_dpnbdpn
- BlendDetail_dndnd
- Detail_dpndpn
- Detail_dpnn
- DirectionBlend_dpndpn
- DirectionBlend_dpndpnn
- DirectionBlend_dpnndpn
- DistanceBlend_dpn
Behavior
Distance blending
Uses distance blending to interpolate
- from the normaltexture
- to the normalandnormal[2]textures blended together.
The shader uses detailDistance and detailFadeRange from the stage RFL to determine the detail range.
Vertex alpha blending
This shader has two sets of PBR textures:
- diffuseand- specular
- diffuse[1]and- specular[1]
The shader uses a blend factor to interpolate from the first set of textures to second one.
This blend factor consists of just the vertex alpha.
- For the speculartextures, the blend factor is used as is.
- For the diffusetextures, the blend factor is multiplied by thediffuse[1]texture alpha.
Bugs
Warning
  The shader has 3 
normal texture slots: Only normal and normal[2] are used, with normal[1] left unused.
Yet, to be able to specify a texture for the normal[2] slot, a material must have 3 texture slots, even if the slot for normal[1] is empty.
In a similar vein, the shader has the enable_multi_tangent_space feature, but never makes use of it.
Speculation:
Vertex Colors
- Color is multiplied into the diffusetexture color
- Alpha is used as the basis for the blend factor
Material Inputs
Textures
| Name | Index | UV Index | Kind | Red | Green | Blue | Alpha | 
|---|---|---|---|---|---|---|---|
| diffuse | 0 | 0 | Albedo | First Albedo color | N/A | ||
| diffuse | 1 | 2 | Albedo | Second Albedo color | Multiplied into the vertex alpha (blend factor), but only for when blending the two diffuse textures! | ||
| specular | 0 | 0 | PRM | First Specular factor; Gets multiplied by 0.25 | First Smoothness factor | First Metallic factor | First Ambient Occlusion | 
| specular | 1 | 2 | PRM | Second Specular factor; Gets multiplied by 0.25 | Second Smoothness factor | Second Metallic factor | Second Ambient Occlusion | 
| normal | 0 | 0 | Normal map | First Normal map direction | N/A | N/A | |
| normal | 1 | N/A | N/A | Unused | |||
| normal | 2 | 3 | Detail Normal map | Detail Normal map direction | N/A | N/A | |
Parameters
| Name | X | Y | Z | W | 
|---|---|---|---|---|
| DetailFactor | UV scale for the normal[2]texture | N/A | N/A | N/A | 
Technical
| Shader Features | 
|---|
| enable_multi_tangent_space | 
| is_use_gi_prt | 
| is_use_gi_sg | 
| is_use_gi |