您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
32 行
1.5 KiB
32 行
1.5 KiB
using UnityEngine;
|
|
using UnityEngine.Rendering;
|
|
using UnityEngine.Rendering.Universal;
|
|
|
|
public class MainRenderPass : ScriptableRenderPass
|
|
{
|
|
FilteringSettings m_OpaqueFilteringSettings;
|
|
FilteringSettings m_TransparentFilteringSettings;
|
|
ShaderTagId m_UniversalForwardPass = new ShaderTagId("UniversalForward");
|
|
|
|
public MainRenderPass(RenderPassEvent renderPassEvent)
|
|
{
|
|
this.renderPassEvent = renderPassEvent;
|
|
m_OpaqueFilteringSettings = new FilteringSettings(RenderQueueRange.opaque);
|
|
m_TransparentFilteringSettings = new FilteringSettings(RenderQueueRange.transparent);
|
|
}
|
|
|
|
//public override void Configure(CommandBuffer cmd, RenderTextureDescriptor cameraTextureDescriptor)
|
|
//{
|
|
// ConfigureTarget(BuiltinRenderTextureType.CurrentActive, BuiltinRenderTextureType.CurrentActive);
|
|
//}
|
|
|
|
public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)
|
|
{
|
|
var opaqueDrawingSettings = CreateDrawingSettings(m_UniversalForwardPass, ref renderingData, SortingCriteria.CommonOpaque);
|
|
var transparentDrawingSettings = CreateDrawingSettings(m_UniversalForwardPass, ref renderingData, SortingCriteria.CommonTransparent);
|
|
|
|
context.DrawRenderers(renderingData.cullResults, ref opaqueDrawingSettings, ref m_OpaqueFilteringSettings);
|
|
context.DrawSkybox(renderingData.cameraData.camera);
|
|
context.DrawRenderers(renderingData.cullResults, ref transparentDrawingSettings, ref m_TransparentFilteringSettings);
|
|
}
|
|
}
|