InterceptGameFaeture.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using Fort23.Mono.Test;
  4. using UnityEngine;
  5. using UnityEngine.Rendering.Universal;
  6. using UnityEngine.Serialization;
  7. public class InterceptGameFaeture : ScriptableRendererFeature
  8. {
  9. // public InterceptGamePass interceptGamePass;
  10. // private RenderTargetHandle m_CameraColorAttachment;
  11. // 屏幕拷贝Pass
  12. private InterceptGamePass m_CopyTransparentColorPass;
  13. public override void Create()
  14. {
  15. // 初始化构建屏幕拷贝Pass
  16. m_CopyTransparentColorPass = new InterceptGamePass(RenderPassEvent.AfterRenderingTransparents);
  17. // 映射到显存中的RT
  18. // m_CameraColorAttachment.Init("_CameraColorTexture");
  19. }
  20. public override void SetupRenderPasses(ScriptableRenderer renderer, in RenderingData renderingData)
  21. {
  22. m_CopyTransparentColorPass.Setup(renderer.cameraColorTargetHandle);
  23. }
  24. public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
  25. {
  26. // Debug.Log("satrt AddRenderPasses GuiCamera");
  27. // Debug.Log("AddRenderPasses");
  28. if (renderingData.cameraData.cameraType == CameraType.Game &&
  29. renderingData.cameraData.camera.CompareTag("GuiCamera"))
  30. {
  31. // Debug.Log("AddRenderPasses GuiCamera");
  32. renderer.EnqueuePass(m_CopyTransparentColorPass);
  33. }
  34. }
  35. }