Shader error in 'Shader Graphs/hidden/preview/Multiply_c1863e04608f4df39a32c1d12bc1816c': '_AdditionalLightsPosition': implicit array missing initial value at /Projects/UNITY/ProjectCamping/Library/PackageCache/com.unity.render-pipelines.universal@14.0.10/ShaderLibrary/Input.hlsl(151) (on d3d11)
Compiling Subshader: 0, Pass: <Unnamed Pass 0>, Fragment program with <no keywords>
Platform defines: SHADER_API_DESKTOP UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_REFLECTION_BUFFERS UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS
Disabled keywords: SHADER_API_GLES30 UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_UNIFIED_SHADER_PRECISION_MODEL UNITY_VIRTUAL_TEXTURING
Shader error in 'Shader Graphs/hidden/preview/Multiply_c1863e04608f4df39a32c1d12bc1816c': undeclared identifier 'MAX_VISIBLE_LIGHT_COUNT_DESKTOP' at /Projects/UNITY/ProjectCamping/Library/PackageCache/com.unity.render-pipelines.universal@14.0.10/ShaderLibrary/Input.hlsl(151) (on d3d11)
Compiling Subshader: 0, Pass: <Unnamed Pass 0>, Fragment program with <no keywords>
Platform defines: SHADER_API_DESKTOP UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_REFLECTION_BUFFERS UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS
Disabled keywords: SHADER_API_GLES30 UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_UNIFIED_SHADER_PRECISION_MODEL UNITY_VIRTUAL_TEXTURING
Shader warning in 'Shader Graphs/hidden/preview/Multiply_c1863e04608f4df39a32c1d12bc1816c': 'UNITY_MATRIX_I_P': macro redefinition. Previous definition found at C:/Projects/UNITY/ProjectCamping/Library/PackageCache/com.unity.shadergraph@14.0.10/ShaderGraphLibrary/ShaderVariablesMatrixDefsLegacyUnity.hlsl:13. at /Projects/UNITY/ProjectCamping/Library/PackageCache/com.unity.render-pipelines.universal@14.0.10/ShaderLibrary/Input.hlsl(193)
Shader warning in 'Shader Graphs/hidden/preview/Multiply_c1863e04608f4df39a32c1d12bc1816c': 'UNITY_MATRIX_I_VP': macro redefinition. Previous definition found at C:/Projects/UNITY/ProjectCamping/Library/PackageCache/com.unity.shadergraph@14.0.10/ShaderGraphLibrary/ShaderVariablesMatrixDefsLegacyUnity.hlsl:15. at /Projects/UNITY/ProjectCamping/Library/PackageCache/com.unity.render-pipelines.universal@14.0.10/ShaderLibrary/Input.hlsl(195)
Shader error in 'Shader Graphs/hidden/preview/trowbridgeReitzAnisotropicNDFCustomFunction_24f8a070c6374375b4c9ff181831dd8b': variable '_trowbridgeReitzAnisotropicNDFCustomFunction_24f8a070c6374375b4c9ff181831dd8b_ANDF_5_Float' used without having been completely initialized at line 208 (on d3d11)
Compiling Subshader: 0, Pass: <Unnamed Pass 0>, Fragment program with <no keywords>
Platform defines: SHADER_API_DESKTOP UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_REFLECTION_BUFFERS UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS
Disabled keywords: SHADER_API_GLES30 UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_UNIFIED_SHADER_PRECISION_MODEL UNITY_VIRTUAL_TEXTURING
Shader warning in 'Shader Graphs/hidden/preview/trowbridgeReitzAnisotropicNDFCustomFunction_24f8a070c6374375b4c9ff181831dd8b': value cannot be infinity, isfinite() may not be necessary. /Gis may force isfinite() to be performed at line 208 (on d3d11)
Compiling Subshader: 0, Pass: <Unnamed Pass 0>, Fragment program with <no keywords>
Platform defines: SHADER_API_DESKTOP UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_REFLECTION_BUFFERS UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS
Disabled keywords: SHADER_API_GLES30 UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_UNIFIED_SHADER_PRECISION_MODEL UNITY_VIRTUAL_TEXTURING
here is my custom function code:
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl"
void GetMainLight_float(out float4 Position, out float4 Colors)
{
Position = _MainLightPosition.xyzw;
Colors = _MainLightColor.rgba;
}
void GetIfLighting_float(float4 Input, out float4 Output)
{
if (_MainLightPosition.w == 1)
{
Output = float4(0.0, 0.0, 0.0, 0.0);
}
else
{
Output = Input;
}
}
void GetPBRNormal_float(Matrix3x3 TangentMatrix, float3 SampledNormalMap, out float3 Normal)
{
Normal = mul(TangentMatrix, SampledNormalMap.xyz * 2 - 1);
}
void FPower5_float(float A, out float B)
{
B = pow(1 - A, 5);
}
// Diffuse distribution functions
void lambertDiffuse_float(float3 albedo, out float3 lambert)
{
return albedo / PI;
}
// Fresnel functions
void fresnel1_float(float3 F0, float NdotV, out float3 fresnel)
{
return F0 + (1 - F0) * fPow5(NdotV);
}
void fresnel2_float(float3 F0, float NdotV, float Roughness, out float3 fresnel)
{
return F0 + (max(1.0 - Roughness, F0) - F0) * fPow5(NdotV);
}
void fresnelDisney_float(float HdotL, float NdotL, float NdotV, float Roughness, out float3 disneyFresnel)
{
float k = 0.5 + 2 * Roughness * sqrt(HdotL);
float firstTerm = (k - 1) * fPow5(NdotV) + 1;
float secondTerm = (k - 1) * fPow5(NdotL) + 1;
return firstTerm * secondTerm;
}
void F0_float(float Ior, out float F)
{
F = pow((1.0 - Ior) / (1.0 + Ior), 2);
}
// Normal distribution functions
void trowbridgeReitzNDF_float(float NdotH, float Roughness, out float RNDF)
{
float alpha = Roughness * Roughness;
float alpha2 = alpha * alpha;
float NdotH2 = NdotH * NdotH;
float denominator = PI * pow((alpha2 - 1) * NdotH2 + 1, 2);
RNDF = alpha2 / denominator;
}
void trowbridgeReitzAnisotropicNDF_float(float NdotH, float Roughness, float Anisotropy, float HdotT, float HdotB, out float ANDF)
{
float aspect = sqrt(1.0 - 0.9 * Anisotropy);
float alpha = Roughness * Roughness;
float roughT = alpha / aspect;
float roughB = alpha * aspect;
float alpha2 = alpha * alpha;
float NdotH2 = NdotH * NdotH;
float HdotT2 = HdotT * HdotT;
float HdotB2 = HdotB * HdotB;
float denominator = PI * roughT * roughB * pow(HdotT2 / (roughT * roughT) + HdotB2 / (roughB * roughB) + NdotH2, 2);
ANDF = 1 / denominator;
}
// Geometric attenuation functions
void cookTorranceGAF1_float(float NdotH, float NdotV, float HdotV, float NdotL, float TGAF)
{
float firstTerm = 2 * NdotH * NdotV / HdotV;
float secondTerm = 2 * NdotH * NdotL / HdotV;
TGAF = min(1, min(firstTerm, secondTerm));
}
void schlickBeckmannGAF2_float(float dotProduct, float Roughness, float TGAF)
{
float alpha = Roughness * Roughness;
float k = alpha * 0.797884560803; // sqrt(2 / PI)
TGAF = dotProduct / (dotProduct * (1 - k) + k);
}
// Helpers
void gammaCorrection_float(float3 v, float3 correction)
{
correction = pow(v, 1.0 / 2.2);
}
void sRGB2Lin_float(float3 sRGB, float3 Linear)
{
Linear = return pow(sRGB, 2.2);
}