Shadow Generations Shaders - BlendDetail dndnd: Difference between revisions
Appearance
	
	
| Justin113D (talk | contribs)  Added behavior | Justin113D (talk | contribs)  Used new bug parameters | ||
| Line 9: | Line 9: | ||
| * [[Texture Blending#Distance blending|distance blending]] to apply detail [[Hedgehog Engine 2 - Textures#Albedo|albedo]] and [[Hedgehog Engine 2 - Textures#Normal map|normal map]] textures | * [[Texture Blending#Distance blending|distance blending]] to apply detail [[Hedgehog Engine 2 - Textures#Albedo|albedo]] and [[Hedgehog Engine 2 - Textures#Normal map|normal map]] textures | ||
| | overview bugs = This shader has a severe bug where normals break outside the detail range! | |||
| | | |||
| | related shaders =   | | related shaders =   | ||
| Line 50: | Line 46: | ||
| {{!}} the combined <code>diffuse</code> textures overlaid with the <code>diffuse[1]</code> texture using [[Texture Blending#Detail blending|detail blending]] | {{!}} the combined <code>diffuse</code> textures overlaid with the <code>diffuse[1]</code> texture using [[Texture Blending#Detail blending|detail blending]] | ||
| {{!}}} | {{!}}} | ||
| | vertex colors = | | vertex colors = | ||
| Line 62: | Line 51: | ||
| * Alpha is used as the basis for the <b>blend factor</b> | * Alpha is used as the basis for the <b>blend factor</b> | ||
| | textures = | | bugs = The shader checks if the surface is within the detail range, and only then applies the detail diffuse and the detail normal textures. | ||
| Unfortunately, the surface' normal direction never gets set outside this <code>if</code>-block, which means normals are completely broken outside the detail range. | |||
| | textures =   | |||
| diffuse,0,Any, | diffuse,0,Any, | ||
Latest revision as of 12:17, 25 August 2025
Overview
Shader Behavior Overview
Shader model: 
   [2] Standard (PBR)
Does not support:
An advanced PBR shader that uses
- vertex alpha to blend between two albedo textures
- distance blending to apply detail albedo and normal map textures
Warning
  This shader has a severe bug where normals break outside the detail range!
It is advised to not used this shader.
Related shaders
- Blend_dpndpn
- Blend_dpnbdpn
- BlendDetail_dpndpnn
- Detail_dpndpn
- Detail_dpnn
- DirectionBlend_dpndpn
- DirectionBlend_dpndpnn
- DirectionBlend_dpnndpn
- DistanceBlend_dpn
Behavior
Vertex alpha blending
The shader has two sets of diffuse textures and two sets of PBRFactor parameters.
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.
Distance blending
Uses distance blending to interpolate
| From... | ... to | 
|---|---|
| the normaltexture | the normalandnormal[1]textures blended together | 
| the combined diffusetextures | the combined diffusetextures overlaid with thediffuse[1]texture using detail blending | 
Vertex Colors
- Color is not used
- Alpha is used as the basis for the blend factor
Bugs
Warning
  The shader checks if the surface is within the detail range, and only then applies the detail diffuse and the detail normal textures.
Unfortunately, the surface' normal direction never gets set outside this 
if-block, which means normals are completely broken outside the detail range.Material Inputs
Textures
| Name | Index | UV Index | Kind | Red | Green | Blue | Alpha | 
|---|---|---|---|---|---|---|---|
| diffuse | 0 | Any | Albedo | First Albedo color | N/A | ||
| diffuse | 1 | 2 | Detail albedo | Detail color | N/A | ||
| diffuse | 2 | Any | Albedo | Second Albedo color | N/A | ||
| normal | 0 | 0 | Normal map | Normal map direction | N/A | N/A | |
| normal | 1 | 2 | Detail Normal map | Detail Normal map direction | N/A | N/A | |
Parameters
| Name | X | Y | Z | W | 
|---|---|---|---|---|
| DetailFactor | UV scale for the diffuse[1]andnormal[1]textures | N/A | N/A | N/A | 
| PBRFactor | First Specular factor | First Smoothness factor | First Metallic factor | N/A | 
| PBRFactor2 | Second Specular factor | Second Smoothness factor | Second Metallic factor | N/A | 
Technical
| Shader Features | 
|---|
| enable_multi_tangent_space | 
| is_use_tex_srt_anim | 
| is_use_gi_prt | 
| is_use_gi_sg | 
| is_use_gi |