Fixed the bug from shader gui drawer : [Worker0] Failed to create MaterialEnum, enum UnityEditor.Rendering.HighDefinition.TransparentCullMode not found;
Fixed the bug that outline does not rendering when material type is set to transparent; Fixed the bug that hair shadow buffer does not rendering the object that material type is set to transparent;
This commit is contained in:
@@ -59,7 +59,7 @@ public class UTSHairShadowPass : DrawRenderersCustomPass
|
||||
|
||||
var result = new RendererListDesc(HDShaderPassNames.s_DepthForwardOnlyName, ctx.cullingResults, ctx.hdCamera.camera)
|
||||
{
|
||||
renderQueueRange = GetRenderQueueRange(renderQueueType),
|
||||
renderQueueRange = GetRenderQueueRange(RenderQueueType.All),
|
||||
sortingCriteria = sortingCriteria,
|
||||
excludeObjectMotionVectors = false,
|
||||
stateBlock = stateBlock,
|
||||
|
||||
@@ -33,11 +33,8 @@ public class UTSOutlinePass : DrawRenderersCustomPass
|
||||
var result = new UnityEngine.Rendering.RendererUtils.RendererListDesc(outlineTag, ctx.cullingResults, ctx.hdCamera.camera)
|
||||
{
|
||||
rendererConfiguration = renderConfig,
|
||||
renderQueueRange = GetRenderQueueRange(renderQueueType),
|
||||
sortingCriteria = sortingCriteria,
|
||||
renderQueueRange = GetRenderQueueRange(RenderQueueType.All),
|
||||
excludeObjectMotionVectors = false,
|
||||
overrideMaterial = overrideMaterial,
|
||||
overrideMaterialPassIndex = (overrideMaterial != null) ? overrideMaterial.FindPass(overrideMaterialPassName) : 0,
|
||||
stateBlock = stateBlock,
|
||||
renderingLayerMask = renderingLayerMask,
|
||||
};
|
||||
|
||||
@@ -41,27 +41,27 @@ namespace Unity.Toonshader
|
||||
[RuntimeInitializeOnLoadMethod]
|
||||
public static void RegisterCustomPasses()
|
||||
{
|
||||
CustomPassVolume.RegisterUniqueGlobalCustomPass(CustomPassInjectionPoint.AfterOpaqueAndSky, _outlinePass);
|
||||
CustomPassVolume.RegisterUniqueGlobalCustomPass(CustomPassInjectionPoint.AfterOpaqueDepthAndNormal, _hairShadowPass);
|
||||
CustomPassVolume.RegisterUniqueGlobalCustomPass(CustomPassInjectionPoint.BeforePostProcess, _outlinePass);
|
||||
|
||||
_outlinePass.enabled = _renderSetting.outlineSetting.enable;
|
||||
_hairShadowPass.SetEnable(_renderSetting.hairShadowSetting.enable);
|
||||
_outlinePass.enabled = _renderSetting.outlineSetting.enable;
|
||||
}
|
||||
|
||||
public static void UnregisterGlobalCustomPass()
|
||||
{
|
||||
CustomPassVolume.UnregisterGlobalCustomPass(_outlinePass);
|
||||
CustomPassVolume.UnregisterGlobalCustomPass(_hairShadowPass);
|
||||
CustomPassVolume.UnregisterGlobalCustomPass(_outlinePass);
|
||||
_hairShadowPass.Release();
|
||||
}
|
||||
|
||||
public static void NotifyRendererSettingChanged()
|
||||
{
|
||||
_outlinePass.enabled = _renderSetting.outlineSetting.enable;
|
||||
_outlinePass.renderingLayerMask = _renderSetting.outlineSetting.renderingLayer;
|
||||
|
||||
_hairShadowPass.SetEnable(_renderSetting.hairShadowSetting.enable);
|
||||
_hairShadowPass.renderingLayerMask = _renderSetting.hairShadowSetting.CasterRenderingLayer;
|
||||
|
||||
_outlinePass.enabled = _renderSetting.outlineSetting.enable;
|
||||
_outlinePass.renderingLayerMask = _renderSetting.outlineSetting.renderingLayer;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user