浏览代码

For LW use the proper shader paths that get exported from the LW package..

/main
Tim Cooper 7 年前
当前提交
5c4cbe12
共有 8 个文件被更改,包括 26 次插入35 次删除
  1. 6
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Util/GraphUtil.cs
  2. 7
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/DefaultShaderIncludes.cs
  3. 10
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Templates/lightweightPBRExtraPasses.template
  4. 28
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Templates/lightweightPBRForwardPass.template
  5. 2
      MaterialGraphProject/UnityPackageManager/manifest.json
  6. 8
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/SerializableGraph.meta
  7. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/ShaderGraphLibrary.meta
  8. 0
      /MaterialGraphProject/Assets/UnityShaderEditor/ShaderGraphLibrary

6
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Data/Util/GraphUtil.cs


finalBuilder.AppendLine(@"HLSLINCLUDE");
finalBuilder.AppendLine("#define USE_LEGACY_UNITY_MATRIX_VARIABLES");
finalBuilder.AppendLine(@"#include ""ShaderLibrary/Common.hlsl""");
finalBuilder.AppendLine(@"#include ""ShaderLibrary/Packing.hlsl""");
finalBuilder.AppendLine(@"#include ""ShaderLibrary/Color.hlsl""");
finalBuilder.AppendLine(@"#include ""CoreRP/ShaderLibrary/Common.hlsl""");
finalBuilder.AppendLine(@"#include ""CoreRP/ShaderLibrary/Packing.hlsl""");
finalBuilder.AppendLine(@"#include ""CoreRP/ShaderLibrary/Color.hlsl""");
finalBuilder.AppendLine(@"#include ""ShaderGraphLibrary/Functions.hlsl""");
finalBuilder.AppendLine(@"#include ""ShaderGraphLibrary/ShaderVariables.hlsl""");
finalBuilder.AppendLine(@"#include ""ShaderGraphLibrary/ShaderVariablesFunctions.hlsl""");

7
MaterialGraphProject/Assets/UnityShaderEditor/Editor/DefaultShaderIncludes.cs


{
return new[]
{
Path.GetFullPath("Packages/com.unity.render-pipelines.core"),
Path.GetFullPath("Packages/com.unity.render-pipelines.lightweight/Shaders"),
Path.GetFullPath("Packages/com.unity.render-pipelines.high-quality/Material/Unlit"),
Path.GetFullPath("Assets/UnityShaderEditor/Editor"),
Path.GetFullPath("Packages/com.unity.shadergraph/Editor"),
Path.GetFullPath("Assets/UnityShaderEditor"),
Path.GetFullPath("Packages/com.unity.shadergraph"),
};
}
}

10
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Templates/lightweightPBRExtraPasses.template


Pass
Pass
{
Tags{"LightMode" = "ShadowCaster"}

#pragma vertex ShadowPassVertex
#pragma fragment ShadowPassFragment
#include "LightweightPassShadow.hlsl"
#include "LWRP/Shaders/LightweightPassShadow.hlsl"
ENDHLSL
}

#pragma vertex vert
#pragma fragment frag
#include "LightweightShaderLibrary/Core.hlsl"
#include "LWRP/Shaders/LightweightShaderLibrary/Core.hlsl"
float4 vert(float4 pos : POSITION) : SV_POSITION
{

#pragma shader_feature _SPECGLOSSMAP
#include "LightweightPassMeta.hlsl"
#include "LWRP/Shaders/LightweightPassMeta.hlsl"
}
}

28
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Templates/lightweightPBRForwardPass.template


#pragma prefer_hlslcc gles
#pragma target 3.0
// -------------------------------------
// Lightweight Pipeline keywords
// We have no good approach exposed to skip shader variants, e.g, ideally we would like to skip _CASCADE for all puctual lights
// Lightweight combines light classification and shadows keywords to reduce shader variants.
// Lightweight shader library declares defines based on these keywords to avoid having to check them in the shaders
// Core.hlsl defines _MAIN_LIGHT_DIRECTIONAL and _MAIN_LIGHT_SPOT (point lights can't be main light)
// Shadow.hlsl defines _SHADOWS_ENABLED, _SHADOWS_SOFT, _SHADOWS_CASCADE, _SHADOWS_PERSPECTIVE
#pragma multi_compile _ _MAIN_LIGHT_DIRECTIONAL_SHADOW _MAIN_LIGHT_DIRECTIONAL_SHADOW_CASCADE _MAIN_LIGHT_DIRECTIONAL_SHADOW_SOFT _MAIN_LIGHT_DIRECTIONAL_SHADOW_CASCADE_SOFT _MAIN_LIGHT_SPOT_SHADOW _MAIN_LIGHT_SPOT_SHADOW_SOFT
#pragma multi_compile _MAIN_DIRECTIONAL_LIGHT _MAIN_SPOT_LIGHT
#pragma multi_compile _ _VERTEX_LIGHTS
// -------------------------------------
// Unity defined keywords
#pragma multi_compile _ _HARD_SHADOWS _SOFT_SHADOWS _HARD_SHADOWS_CASCADES _SOFT_SHADOWS_CASCADES
#pragma multi_compile _ _VERTEX_LIGHTS
#pragma multi_compile_fog
#pragma vertex vert

#include "LightweightShaderLibrary/Core.hlsl"
#include "LightweightShaderLibrary/Lighting.hlsl"
#include "ShaderLibrary/Color.hlsl"
#include "LWRP/Shaders/LightweightShaderLibrary/Core.hlsl"
#include "LWRP/Shaders/LightweightShaderLibrary/Lighting.hlsl"
#include "CoreRP/ShaderLibrary/Color.hlsl"
#include "ShaderGraphLibrary/Functions.hlsl"
${Graph}

half3 vertexLight = VertexLighting(lwWorldPos, lwWNormal);
half fogFactor = ComputeFogFactor(clipPos.z);
o.fogFactorAndVertexLight = half4(fogFactor, vertexLight);
o.clipPos = clipPos;
return o;

float AlphaClipThreshold = 0;
${SurfaceOutputRemap}
#if defined(UNITY_COLORSPACE_GAMMA)
Albedo = Albedo * Albedo;
Emission = Emission * Emission;
#endif
#if _NORMALMAP
half3 normalWS = TangentToWorldNormal(Normal, WorldSpaceTangent, WorldSpaceBiTangent, WorldSpaceNormal);

2
MaterialGraphProject/UnityPackageManager/manifest.json


{
"registry": "https://staging-packages.unity.com",
"dependencies": {
"com.unity.render-pipelines.lightweight" : "0.1.22"
"com.unity.render-pipelines.lightweight" : "0.1.23"
}
}

8
MaterialGraphProject/Assets/UnityShaderEditor/Editor/SerializableGraph.meta


fileFormatVersion: 2
guid: e47723110397ff04388ed94332cd6208
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/ShaderGraphLibrary.meta → /MaterialGraphProject/Assets/UnityShaderEditor/ShaderGraphLibrary.meta

/MaterialGraphProject/Assets/UnityShaderEditor/Editor/ShaderGraphLibrary → /MaterialGraphProject/Assets/UnityShaderEditor/ShaderGraphLibrary

正在加载...
取消
保存