您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
517 行
16 KiB
517 行
16 KiB
Shader "HDRenderPipeline/Decal"
|
|
{
|
|
Properties
|
|
{
|
|
// Versioning of material to help for upgrading
|
|
[HideInInspector] _HdrpVersion("_HdrpVersion", Float) = 2
|
|
|
|
_BaseColor("_BaseColor", Color) = (1,1,1,1)
|
|
_BaseColorMap("BaseColorMap", 2D) = "white" {}
|
|
_NormalMap("NormalMap", 2D) = "bump" {} // Tangent space normal map
|
|
_MaskMap("MaskMap", 2D) = "white" {}
|
|
_DecalBlend("_DecalBlend", Range(0.0, 1.0)) = 0.5
|
|
[ToggleUI] _AlbedoMode("_AlbedoMode", Range(0.0, 1.0)) = 1.0
|
|
[HideInInspector] _NormalBlendSrc("_NormalBlendSrc", Float) = 0.0
|
|
[HideInInspector] _MaskBlendSrc("_MaskBlendSrc", Float) = 1.0
|
|
[HideInInspector] _MaskBlendMode("_MaskBlendMode", Float) = 4.0 // smoothness 3RT default
|
|
[ToggleUI] _MaskmapMetal("_MaskmapMetal", Range(0.0, 1.0)) = 0.0
|
|
[ToggleUI] _MaskmapAO("_MaskmapAO", Range(0.0, 1.0)) = 0.0
|
|
[ToggleUI] _MaskmapSmoothness("_MaskmapSmoothness", Range(0.0, 1.0)) = 1.0
|
|
[HideInInspector] _DecalMeshDepthBias("_DecalMeshDepthBias", Float) = 0.0
|
|
[HideInInspector] _DrawOrder("_DrawOrder", Int) = 0
|
|
}
|
|
|
|
HLSLINCLUDE
|
|
|
|
#pragma target 4.5
|
|
#pragma only_renderers d3d11 ps4 xboxone vulkan metal switch
|
|
//#pragma enable_d3d11_debug_symbols
|
|
|
|
//-------------------------------------------------------------------------------------
|
|
// Variant
|
|
//-------------------------------------------------------------------------------------
|
|
#pragma shader_feature _COLORMAP
|
|
#pragma shader_feature _NORMALMAP
|
|
#pragma shader_feature _MASKMAP
|
|
#pragma shader_feature _ALBEDOCONTRIBUTION
|
|
|
|
#pragma shader_feature _NORMAL_BLEND_SRC_B
|
|
#pragma shader_feature _MASK_BLEND_SRC_B
|
|
|
|
#pragma multi_compile_instancing
|
|
// No need to teset for DECALS_3RT we are in decal shader, so there is no OFF state
|
|
#pragma multi_compile _ DECALS_4RT
|
|
//-------------------------------------------------------------------------------------
|
|
// Define
|
|
//-------------------------------------------------------------------------------------
|
|
#define UNITY_MATERIAL_DECAL
|
|
|
|
//-------------------------------------------------------------------------------------
|
|
// Include
|
|
//-------------------------------------------------------------------------------------
|
|
|
|
#include "CoreRP/ShaderLibrary/Common.hlsl"
|
|
#include "CoreRP/ShaderLibrary/Wind.hlsl"
|
|
#include "../../ShaderPass/FragInputs.hlsl"
|
|
#include "../../ShaderPass/ShaderPass.cs.hlsl"
|
|
|
|
|
|
//-------------------------------------------------------------------------------------
|
|
// variable declaration
|
|
//-------------------------------------------------------------------------------------
|
|
|
|
#include "DecalProperties.hlsl"
|
|
|
|
// All our shaders use same name for entry point
|
|
#pragma vertex Vert
|
|
#pragma fragment Frag
|
|
|
|
ENDHLSL
|
|
|
|
SubShader
|
|
{
|
|
Tags{ "RenderPipeline" = "HDRenderPipeline"}
|
|
|
|
// c# code relies on the order in which the passes are declared, any change will need to be reflected in DecalUI.cs
|
|
|
|
// pass 0 is mesh 3RT mode
|
|
Pass
|
|
{
|
|
Name "DBufferMesh_3RT" // Name is not used
|
|
Tags{"LightMode" = "DBufferMesh_3RT"} // Smoothness
|
|
ZWrite Off
|
|
ZTest LEqual
|
|
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
|
|
Blend 0 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 1 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
|
|
ColorMask BA 2 // smoothness/smoothness alpha
|
|
|
|
HLSLPROGRAM
|
|
|
|
#define SHADERPASS SHADERPASS_DBUFFER_MESH
|
|
#include "../../ShaderVariables.hlsl"
|
|
#include "Decal.hlsl"
|
|
#include "ShaderPass/DecalSharePass.hlsl"
|
|
#include "DecalData.hlsl"
|
|
#include "../../ShaderPass/ShaderPassDBuffer.hlsl"
|
|
|
|
ENDHLSL
|
|
}
|
|
|
|
// enum MaskBlendFlags
|
|
//{
|
|
// Metal = 1 << 0,
|
|
// AO = 1 << 1,
|
|
// Smoothness = 1 << 2,
|
|
//}
|
|
|
|
// Projectors
|
|
//
|
|
// 1 - Metal
|
|
// 2 - AO
|
|
// 3 - Metal + AO
|
|
// 4 - Smoothness also 3RT
|
|
// 5 - Metal + Smoothness
|
|
// 6 - AO + Smoothness
|
|
// 7 - Metal + AO + Smoothness
|
|
//
|
|
|
|
Pass
|
|
{
|
|
Name "DBufferProjector_M" // Name is not used
|
|
Tags{"LightMode" = "DBufferProjector_M"} // Metalness
|
|
// back faces with zfail, for cases when camera is inside the decal volume
|
|
Cull Front
|
|
ZWrite Off
|
|
ZTest Greater
|
|
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
|
|
Blend 0 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 1 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 3 Zero OneMinusSrcColor
|
|
|
|
ColorMask R 2 // metal
|
|
ColorMask R 3 // metal alpha
|
|
|
|
HLSLPROGRAM
|
|
|
|
#define SHADERPASS SHADERPASS_DBUFFER_PROJECTOR
|
|
#include "../../ShaderVariables.hlsl"
|
|
#include "Decal.hlsl"
|
|
#include "ShaderPass/DecalSharePass.hlsl"
|
|
#include "DecalData.hlsl"
|
|
#include "../../ShaderPass/ShaderPassDBuffer.hlsl"
|
|
|
|
ENDHLSL
|
|
}
|
|
|
|
Pass
|
|
{
|
|
Name "DBufferProjector_AO" // Name is not used
|
|
Tags{"LightMode" = "DBufferProjector_AO"} // AO only
|
|
// back faces with zfail, for cases when camera is inside the decal volume
|
|
Cull Front
|
|
ZWrite Off
|
|
ZTest Greater
|
|
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
|
|
Blend 0 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 1 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 3 Zero OneMinusSrcColor
|
|
|
|
ColorMask G 2 // ao
|
|
ColorMask G 3 // ao alpha
|
|
|
|
HLSLPROGRAM
|
|
|
|
#define SHADERPASS SHADERPASS_DBUFFER_PROJECTOR
|
|
#include "../../ShaderVariables.hlsl"
|
|
#include "Decal.hlsl"
|
|
#include "ShaderPass/DecalSharePass.hlsl"
|
|
#include "DecalData.hlsl"
|
|
#include "../../ShaderPass/ShaderPassDBuffer.hlsl"
|
|
|
|
ENDHLSL
|
|
}
|
|
|
|
Pass
|
|
{
|
|
Name "DBufferProjector_MAO" // Name is not used
|
|
Tags{"LightMode" = "DBufferProjector_MAO"} // AO + Metalness
|
|
// back faces with zfail, for cases when camera is inside the decal volume
|
|
Cull Front
|
|
ZWrite Off
|
|
ZTest Greater
|
|
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
|
|
Blend 0 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 1 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 3 Zero OneMinusSrcColor
|
|
|
|
ColorMask RG 2 // metalness + ao
|
|
ColorMask RG 3 // metalness alpha + ao alpha
|
|
|
|
HLSLPROGRAM
|
|
|
|
#define SHADERPASS SHADERPASS_DBUFFER_PROJECTOR
|
|
#include "../../ShaderVariables.hlsl"
|
|
#include "Decal.hlsl"
|
|
#include "ShaderPass/DecalSharePass.hlsl"
|
|
#include "DecalData.hlsl"
|
|
#include "../../ShaderPass/ShaderPassDBuffer.hlsl"
|
|
|
|
ENDHLSL
|
|
}
|
|
|
|
Pass
|
|
{
|
|
Name "DBufferProjector_S" // Name is not used
|
|
Tags{"LightMode" = "DBufferProjector_S"} // Smoothness
|
|
// back faces with zfail, for cases when camera is inside the decal volume
|
|
Cull Front
|
|
ZWrite Off
|
|
ZTest Greater
|
|
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
|
|
Blend 0 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 1 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
|
|
ColorMask BA 2 // smoothness/smoothness alpha
|
|
ColorMask 0 3 // Caution: We need to setup the mask to 0 in case perChannelMAsk is enabled as 4 RT are bind
|
|
|
|
HLSLPROGRAM
|
|
|
|
#define SHADERPASS SHADERPASS_DBUFFER_PROJECTOR
|
|
#include "../../ShaderVariables.hlsl"
|
|
#include "Decal.hlsl"
|
|
#include "ShaderPass/DecalSharePass.hlsl"
|
|
#include "DecalData.hlsl"
|
|
#include "../../ShaderPass/ShaderPassDBuffer.hlsl"
|
|
|
|
ENDHLSL
|
|
}
|
|
|
|
Pass
|
|
{
|
|
Name "DBufferProjector_MS" // Name is not used
|
|
Tags{"LightMode" = "DBufferProjector_MS"} // Smoothness and Metalness
|
|
// back faces with zfail, for cases when camera is inside the decal volume
|
|
Cull Front
|
|
ZWrite Off
|
|
ZTest Greater
|
|
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
|
|
Blend 0 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 1 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 3 Zero OneMinusSrcColor
|
|
|
|
ColorMask RBA 2 // metal/smoothness/smoothness alpha
|
|
ColorMask R 3 // metal alpha
|
|
|
|
HLSLPROGRAM
|
|
|
|
#define SHADERPASS SHADERPASS_DBUFFER_PROJECTOR
|
|
#include "../../ShaderVariables.hlsl"
|
|
#include "Decal.hlsl"
|
|
#include "ShaderPass/DecalSharePass.hlsl"
|
|
#include "DecalData.hlsl"
|
|
#include "../../ShaderPass/ShaderPassDBuffer.hlsl"
|
|
|
|
ENDHLSL
|
|
}
|
|
|
|
|
|
Pass
|
|
{
|
|
Name "DBufferProjector_AOS" // Name is not used
|
|
Tags{"LightMode" = "DBufferProjector_AOS"} // AO + Smoothness
|
|
// back faces with zfail, for cases when camera is inside the decal volume
|
|
Cull Front
|
|
ZWrite Off
|
|
ZTest Greater
|
|
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
|
|
Blend 0 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 1 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 3 Zero OneMinusSrcColor
|
|
|
|
ColorMask GBA 2 // ao, smoothness, smoothness alpha
|
|
ColorMask G 3 // ao alpha
|
|
|
|
HLSLPROGRAM
|
|
|
|
#define SHADERPASS SHADERPASS_DBUFFER_PROJECTOR
|
|
#include "../../ShaderVariables.hlsl"
|
|
#include "Decal.hlsl"
|
|
#include "ShaderPass/DecalSharePass.hlsl"
|
|
#include "DecalData.hlsl"
|
|
#include "../../ShaderPass/ShaderPassDBuffer.hlsl"
|
|
|
|
ENDHLSL
|
|
}
|
|
|
|
Pass
|
|
{
|
|
Name "DBufferProjector_MAOS" // Name is not used
|
|
Tags { "LightMode" = "DBufferProjector_MAOS" } // Metalness AO and Smoothness
|
|
// back faces with zfail, for cases when camera is inside the decal volume
|
|
Cull Front
|
|
ZWrite Off
|
|
ZTest Greater
|
|
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
|
|
Blend 0 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 1 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 3 Zero OneMinusSrcColor
|
|
|
|
HLSLPROGRAM
|
|
|
|
#define SHADERPASS SHADERPASS_DBUFFER_PROJECTOR
|
|
#include "../../ShaderVariables.hlsl"
|
|
#include "Decal.hlsl"
|
|
#include "ShaderPass/DecalSharePass.hlsl"
|
|
#include "DecalData.hlsl"
|
|
#include "../../ShaderPass/ShaderPassDBuffer.hlsl"
|
|
|
|
ENDHLSL
|
|
}
|
|
|
|
// Mesh
|
|
// 8 - Metal
|
|
// 9 - AO
|
|
// 10 - Metal + AO
|
|
// 11 - Smoothness
|
|
// 12 - Metal + Smoothness
|
|
// 13 - AO + Smoothness
|
|
// 14 - Metal + AO + Smoothness
|
|
|
|
Pass
|
|
{
|
|
Name "DBufferMesh_M" // Name is not used
|
|
Tags{"LightMode" = "DBufferMesh_M"} // Metalness
|
|
ZWrite Off
|
|
ZTest LEqual
|
|
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
|
|
Blend 0 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 1 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 3 Zero OneMinusSrcColor
|
|
|
|
ColorMask R 2 // metal
|
|
ColorMask R 3 // metal alpha
|
|
|
|
HLSLPROGRAM
|
|
|
|
#define SHADERPASS SHADERPASS_DBUFFER_MESH
|
|
#include "../../ShaderVariables.hlsl"
|
|
#include "Decal.hlsl"
|
|
#include "ShaderPass/DecalSharePass.hlsl"
|
|
#include "DecalData.hlsl"
|
|
#include "../../ShaderPass/ShaderPassDBuffer.hlsl"
|
|
|
|
ENDHLSL
|
|
}
|
|
|
|
Pass
|
|
{
|
|
Name "DBufferMesh_AO" // Name is not used
|
|
Tags{"LightMode" = "DBufferMesh_AO"} // AO only
|
|
ZWrite Off
|
|
ZTest LEqual
|
|
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
|
|
Blend 0 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 1 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 3 Zero OneMinusSrcColor
|
|
|
|
ColorMask G 2 // ao
|
|
ColorMask G 3 // ao alpha
|
|
|
|
HLSLPROGRAM
|
|
|
|
#define SHADERPASS SHADERPASS_DBUFFER_MESH
|
|
#include "../../ShaderVariables.hlsl"
|
|
#include "Decal.hlsl"
|
|
#include "ShaderPass/DecalSharePass.hlsl"
|
|
#include "DecalData.hlsl"
|
|
#include "../../ShaderPass/ShaderPassDBuffer.hlsl"
|
|
|
|
ENDHLSL
|
|
}
|
|
|
|
Pass
|
|
{
|
|
Name "DBufferMesh_MAO" // Name is not used
|
|
Tags{"LightMode" = "DBufferMesh_MAO"} // AO + Metalness
|
|
ZWrite Off
|
|
ZTest LEqual
|
|
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
|
|
Blend 0 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 1 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 3 Zero OneMinusSrcColor
|
|
|
|
ColorMask RG 2 // metalness + ao
|
|
ColorMask RG 3 // metalness alpha + ao alpha
|
|
|
|
HLSLPROGRAM
|
|
|
|
#define SHADERPASS SHADERPASS_DBUFFER_MESH
|
|
#include "../../ShaderVariables.hlsl"
|
|
#include "Decal.hlsl"
|
|
#include "ShaderPass/DecalSharePass.hlsl"
|
|
#include "DecalData.hlsl"
|
|
#include "../../ShaderPass/ShaderPassDBuffer.hlsl"
|
|
|
|
ENDHLSL
|
|
}
|
|
|
|
Pass
|
|
{
|
|
Name "DBufferMesh_S" // Name is not used
|
|
Tags{"LightMode" = "DBufferMesh_S"} // Smoothness
|
|
ZWrite Off
|
|
ZTest LEqual
|
|
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
|
|
Blend 0 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 1 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
|
|
ColorMask BA 2 // smoothness/smoothness alpha
|
|
ColorMask 0 3 // Caution: We need to setup the mask to 0 in case perChannelMAsk is enabled as 4 RT are bind
|
|
|
|
HLSLPROGRAM
|
|
|
|
#define SHADERPASS SHADERPASS_DBUFFER_MESH
|
|
#include "../../ShaderVariables.hlsl"
|
|
#include "Decal.hlsl"
|
|
#include "ShaderPass/DecalSharePass.hlsl"
|
|
#include "DecalData.hlsl"
|
|
#include "../../ShaderPass/ShaderPassDBuffer.hlsl"
|
|
|
|
ENDHLSL
|
|
}
|
|
|
|
|
|
Pass
|
|
{
|
|
Name "DBufferMesh_MS" // Name is not used
|
|
Tags{"LightMode" = "DBufferMesh_MS"} // Smoothness and Metalness
|
|
ZWrite Off
|
|
ZTest LEqual
|
|
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
|
|
Blend 0 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 1 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 3 Zero OneMinusSrcColor
|
|
|
|
ColorMask RBA 2 // metal/smoothness/smoothness alpha
|
|
ColorMask R 3 // metal alpha
|
|
|
|
HLSLPROGRAM
|
|
|
|
#define SHADERPASS SHADERPASS_DBUFFER_MESH
|
|
#include "../../ShaderVariables.hlsl"
|
|
#include "Decal.hlsl"
|
|
#include "ShaderPass/DecalSharePass.hlsl"
|
|
#include "DecalData.hlsl"
|
|
#include "../../ShaderPass/ShaderPassDBuffer.hlsl"
|
|
|
|
ENDHLSL
|
|
}
|
|
|
|
Pass
|
|
{
|
|
Name "DBufferMesh_AOS" // Name is not used
|
|
Tags{"LightMode" = "DBufferMesh_AOS"} // AO + Smoothness
|
|
ZWrite Off
|
|
ZTest LEqual
|
|
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
|
|
Blend 0 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 1 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 3 Zero OneMinusSrcColor
|
|
|
|
ColorMask GBA 2 // ao, smoothness, smoothness alpha
|
|
ColorMask G 3 // ao alpha
|
|
|
|
HLSLPROGRAM
|
|
|
|
#define SHADERPASS SHADERPASS_DBUFFER_MESH
|
|
#include "../../ShaderVariables.hlsl"
|
|
#include "Decal.hlsl"
|
|
#include "ShaderPass/DecalSharePass.hlsl"
|
|
#include "DecalData.hlsl"
|
|
#include "../../ShaderPass/ShaderPassDBuffer.hlsl"
|
|
|
|
ENDHLSL
|
|
}
|
|
|
|
Pass
|
|
{
|
|
Name "DBufferMesh_MAOS" // Name is not used
|
|
Tags{"LightMode" = "DBufferMesh_MAOS"} // Metalness AO and Smoothness
|
|
ZWrite Off
|
|
ZTest LEqual
|
|
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
|
|
Blend 0 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 1 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 2 SrcAlpha OneMinusSrcAlpha, Zero OneMinusSrcAlpha
|
|
Blend 3 Zero OneMinusSrcColor
|
|
|
|
HLSLPROGRAM
|
|
|
|
#define SHADERPASS SHADERPASS_DBUFFER_MESH
|
|
#include "../../ShaderVariables.hlsl"
|
|
#include "Decal.hlsl"
|
|
#include "ShaderPass/DecalSharePass.hlsl"
|
|
#include "DecalData.hlsl"
|
|
#include "../../ShaderPass/ShaderPassDBuffer.hlsl"
|
|
|
|
ENDHLSL
|
|
}
|
|
}
|
|
CustomEditor "Experimental.Rendering.HDPipeline.DecalUI"
|
|
}
|