<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://hedgedocs.com/index.php?action=history&amp;feed=atom&amp;title=Shadow_Generations_Shaders_-_DirectionBlend_dpndpnn</id>
	<title>Shadow Generations Shaders - DirectionBlend dpndpnn - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://hedgedocs.com/index.php?action=history&amp;feed=atom&amp;title=Shadow_Generations_Shaders_-_DirectionBlend_dpndpnn"/>
	<link rel="alternate" type="text/html" href="https://hedgedocs.com/index.php?title=Shadow_Generations_Shaders_-_DirectionBlend_dpndpnn&amp;action=history"/>
	<updated>2026-04-08T12:32:35Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://hedgedocs.com/index.php?title=Shadow_Generations_Shaders_-_DirectionBlend_dpndpnn&amp;diff=1130&amp;oldid=prev</id>
		<title>Justin113D: Added page</title>
		<link rel="alternate" type="text/html" href="https://hedgedocs.com/index.php?title=Shadow_Generations_Shaders_-_DirectionBlend_dpndpnn&amp;diff=1130&amp;oldid=prev"/>
		<updated>2025-08-25T14:03:52Z</updated>

		<summary type="html">&lt;p&gt;Added page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Shader Documentation&lt;br /&gt;
| game = Shadow Generations&lt;br /&gt;
| shader name = DirectionBlend_dpndpnn&lt;br /&gt;
| sbo = model=2, no_noise, no_transparent_layer&lt;br /&gt;
&lt;br /&gt;
| overview =&lt;br /&gt;
An advanced [[Hedgehog_Engine_2_-_Physically_Based_Rendering_(PBR)|PBR]] shader that&lt;br /&gt;
* uses [[Texture Blending#Directional blending|directional blending]] to interpolate between two texture sets&lt;br /&gt;
* [[Texture Blending#Normal map blending|blends]] an extra [[Hedgehog Engine 2 - Textures#Normal map|normal map]] textures into the other normal maps.&lt;br /&gt;
&lt;br /&gt;
This shader is essentially a modification of the {{ShaderLink|Shadow Generations|DirectionBlend_dpndpn}} shader.&lt;br /&gt;
&lt;br /&gt;
| related shaders = &lt;br /&gt;
Blend_dpnbdpn,&lt;br /&gt;
Blend_dpndpn,&lt;br /&gt;
BlendDetail_dndnd,&lt;br /&gt;
BlendDetail_dpndpnn,&lt;br /&gt;
Detail_dpndpn,&lt;br /&gt;
Detail_dpnn,&lt;br /&gt;
DirectionBlend_dpndpn,&lt;br /&gt;
DirectionBlend_dpnndpn,&lt;br /&gt;
DistanceBlend_dpn&lt;br /&gt;
&lt;br /&gt;
| behavior =&lt;br /&gt;
&lt;br /&gt;
=== Extra Normal Map ===&lt;br /&gt;
The &amp;lt;code&amp;gt;normal[2]&amp;lt;/code&amp;gt; texture is [[Texture Blending#Normal map blending|blended]] into the &amp;lt;code&amp;gt;normal&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;normal[1]&amp;lt;/code&amp;gt; textures before their usage.&lt;br /&gt;
&lt;br /&gt;
=== Directional blending ===&lt;br /&gt;
&lt;br /&gt;
This shader has two sets of PBR textures:&lt;br /&gt;
* &amp;lt;code&amp;gt;diffuse&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;specular&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;normal&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;diffuse[1]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;specular[1]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;normal[1]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The shader uses a &amp;lt;b&amp;gt;blend factor&amp;lt;/b&amp;gt; to [[Texture Blending#Interpolation|interpolate]] from the first set of textures to second one.&lt;br /&gt;
&amp;lt;br/&amp;gt;This &amp;lt;b&amp;gt;blend factor&amp;lt;/b&amp;gt; is calculated using [[Texture Blending#Directional blending|directional blending]].&lt;br /&gt;
&lt;br /&gt;
This involves various inputs:&lt;br /&gt;
&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
{{!}}+&lt;br /&gt;
! Input&lt;br /&gt;
! Description&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} Normal map&lt;br /&gt;
{{!}} The &amp;lt;code&amp;gt;normal&amp;lt;/code&amp;gt; texture is applied to the normal direction before calculating the directional blend factor&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} Red vertex color channel&lt;br /&gt;
{{!}} The [[Texture Blending#Variables|directional blend bias]]&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;DirectionParam&amp;lt;/code&amp;gt; parameter&lt;br /&gt;
{{!}} The [[Texture Blending#Directional blending|directional blend direction]]&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;NormalBlendParam&amp;lt;/code&amp;gt; parameter&lt;br /&gt;
{{!}} The [[Texture Blending#Directional blending|Directional blend intensity and offset]]&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} &amp;lt;code&amp;gt;diffuse&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;diffuse[1]&amp;lt;/code&amp;gt; (multiplied together)&lt;br /&gt;
{{!}} The [[Texture Blending#Directional blending|Directional blend limit]]&lt;br /&gt;
{{!}}}&lt;br /&gt;
&lt;br /&gt;
=== Transparency ===&lt;br /&gt;
&lt;br /&gt;
(For some reason) the &amp;lt;b&amp;gt;directional blend factor&amp;lt;/b&amp;gt; is used for the transparency, and not any of the diffuse textures alpha channels, which makes for limited use cases.&lt;br /&gt;
&lt;br /&gt;
| vertex colors =&lt;br /&gt;
* The colors...&lt;br /&gt;
** Red channel is used as the [[Texture Blending#Variables|directional blend bias]]&lt;br /&gt;
** Green and blue channels are unused&lt;br /&gt;
* Alpha is unused&lt;br /&gt;
&lt;br /&gt;
| textures =&lt;br /&gt;
diffuse,0,Any,&lt;br /&gt;
[[Hedgehog Engine 2 - Textures#Albedo|Albedo]],&lt;br /&gt;
First [[Hedgehog_Engine_2_-_Physically_Based_Rendering_(PBR)#Albedo|Albedo]] color__,&lt;br /&gt;
[[Texture Blending#Variables|directional blend limit]];&lt;br /&gt;
&lt;br /&gt;
diffuse,1,Any,&lt;br /&gt;
[[Hedgehog Engine 2 - Textures#Albedo|Albedo]],&lt;br /&gt;
Second [[Hedgehog_Engine_2_-_Physically_Based_Rendering_(PBR)#Albedo|Albedo]] color__,&lt;br /&gt;
[[Texture Blending#Variables|directional blend limit]];&lt;br /&gt;
&lt;br /&gt;
specular,0,Any,&lt;br /&gt;
[[Hedgehog Engine 2 - Textures#PRM|PRM]],&lt;br /&gt;
First [[Hedgehog Engine 2 - Physically Based Rendering (PBR)#Specular|Specular]] factor\; &amp;lt;br/&amp;gt;Gets multiplied by 0.25,&lt;br /&gt;
First [[Hedgehog Engine 2 - Physically Based Rendering (PBR)#Smoothness|Smoothness]] factor,&lt;br /&gt;
First [[Hedgehog Engine 2 - Physically Based Rendering (PBR)#Metallic|Metallic]] factor,&lt;br /&gt;
First [[Hedgehog Engine 2 - Physically Based Rendering (PBR)#Ambient Occlusion|Ambient Occlusion]];&lt;br /&gt;
&lt;br /&gt;
specular,1,Any,&lt;br /&gt;
[[Hedgehog Engine 2 - Textures#PRM|PRM]],&lt;br /&gt;
Second [[Hedgehog Engine 2 - Physically Based Rendering (PBR)#Specular|Specular]] factor\; &amp;lt;br/&amp;gt;Gets multiplied by 0.25,&lt;br /&gt;
Second [[Hedgehog Engine 2 - Physically Based Rendering (PBR)#Smoothness|Smoothness]] factor,&lt;br /&gt;
Second [[Hedgehog Engine 2 - Physically Based Rendering (PBR)#Metallic|Metallic]] factor,&lt;br /&gt;
Second [[Hedgehog Engine 2 - Physically Based Rendering (PBR)#Ambient Occlusion|Ambient Occlusion]];&lt;br /&gt;
&lt;br /&gt;
normal,0,Any,&lt;br /&gt;
[[Hedgehog Engine 2 - Textures#Normal map|Normal map]],&lt;br /&gt;
First [[Normal_mapping|Normal map direction]]_,,;&lt;br /&gt;
&lt;br /&gt;
normal,1,Any,&lt;br /&gt;
[[Hedgehog Engine 2 - Textures#Normal map|Normal map]],&lt;br /&gt;
Second [[Normal_mapping|Normal map direction]]_,,;&lt;br /&gt;
&lt;br /&gt;
normal,2,Any,&lt;br /&gt;
[[Hedgehog Engine 2 - Textures#Normal map|Normal map]],&lt;br /&gt;
Extra [[Normal_mapping|Normal map direction]] that is [[Texture Blending#Normal map blending|blended]] into the other normal maps_,,;&lt;br /&gt;
&lt;br /&gt;
| parameters = &lt;br /&gt;
&lt;br /&gt;
DirectionParam, [[Texture Blending#Directional blending|Directional blend direction]]__,;&lt;br /&gt;
&lt;br /&gt;
NormalBlendParam, &lt;br /&gt;
[[Texture Blending#Directional blending|Directional blend intensity]],&lt;br /&gt;
[[Texture Blending#Directional blending|Directional blend offset]],&lt;br /&gt;
,;&lt;br /&gt;
&lt;br /&gt;
| features =&lt;br /&gt;
is_compute_instancing,&lt;br /&gt;
is_use_tex_srt_anim,&lt;br /&gt;
enable_alpha_threshold,&lt;br /&gt;
is_use_gi_prt,&lt;br /&gt;
is_use_gi_sg,&lt;br /&gt;
is_use_gi&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Justin113D</name></author>
	</entry>
</feed>