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 normal texture
|
the normal and normal[1] textures blended together
|
the combined diffuse textures
|
the combined diffuse textures overlaid with the diffuse[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] and normal[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
|