}
protected string[] blendSourceNames = Enum.GetNames(typeof(BlendSource));
// relies on the order shader passes are declared in decal.shader
enum BlendMode
{
Metal_AO_Smoothness,
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
// enum BlendMode
// {
// Metal_AO_Smoothness,
// Metal_Smoothness,
// Metal,
// Smoothness,
// AO
// }
Pass
Name "DBufferProjector_MAOS" // Name is not used
return;
int batchIndex = 0;
int totalToDraw = m_NumResults;
int shaderPass = instance.perChannelMask ? (int)m_Material.GetFloat("_MaskBlendMode") : 0;
int shaderPass = instance.perChannelMask ? (int)m_Material.GetFloat("_MaskBlendMode") : 0; // relies on the order shader passes are declared in decal.shader and decalUI.cs
for (; batchIndex < m_NumResults / kDrawIndexedBatchSize; batchIndex++)
m_PropertyBlock.SetMatrixArray(HDShaderIDs._NormalToWorldID, m_NormalToWorld[batchIndex]);
#pragma shader_feature _STACKLIT_DEBUG
// decal 3RT or 4RT toggle
#pragma multi_compile _ _DECALS_PER_CHANNEL_MASK
//enable GPU instancing support
#pragma multi_compile_instancing