| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 | 
							- using Fort23.Core;
 
- using Fort23.Mono.Test;
 
- using Fort23.UTool;
 
- using UnityEngine;
 
- using UnityEngine.Rendering;
 
- using UnityEngine.Rendering.Universal;
 
- using UnityEngine.UI;
 
- namespace Fort23.Mono
 
- {
 
-     [UIBinding(prefab = "BackgroundCom")]
 
-     public partial class BackgroundCom : UIComponent
 
-     {
 
-         protected Material Material = new Material(Shader.Find("Unlit/MoHu"));
 
-         private void Init()
 
-         {
 
-             
 
-         }
 
-         public override void AddEvent()
 
-         {
 
-         }
 
-         public override void DelEvent()
 
-         {
 
-         }
 
-         public override void AddButtonEvent()
 
-         {
 
-         }
 
-         
 
-         
 
-         public async override CTask<bool> AsyncInit(object[] uiData)
 
-         {
 
-             ManualAsyncTask ct = ManualAsyncTask.Create();
 
-             if (GObjectPoolInterface != null)
 
-             {
 
-                 GObjectPoolInterface.SetActive(false);
 
-             }
 
-             // var rect = panelObj.AddComponent<RectTransform>();
 
-           
 
-             UIManager.Instance.RefreshFull();
 
-             // Shader.SetGlobalTexture(CameraTransparentColorTexture, renderTexture);
 
-             InterceptGamePass.SetRenderTexture(renderTexture, delegate { ct.SetResult(); }, executeCallBack: Execute);
 
-             await ct.Wait();
 
-             RawImage.texture = renderTexture;
 
-             
 
-             RawImage.SetNativeSize();
 
-             TimerComponent.Instance.AddTimer(500, delegate
 
-             {
 
-                 UIManager.Instance.RefreshFull();
 
-               
 
-           
 
-             });
 
-             await base.AsyncInit(uiData);
 
-             return true;
 
-         }
 
-         
 
-         private RenderTexture renderTexture
 
-         {
 
-             get
 
-             {
 
-                 if (_renderTexture == null)
 
-                 {
 
-                     _renderTexture = new RenderTexture(Screen.width, Screen.height, 0, RenderTextureFormat.Default);
 
-                 }
 
-                 return _renderTexture;
 
-             }
 
-         }
 
-         private RenderTexture _renderTexture;
 
-         public override void Show()
 
-         {
 
-             base.Show();
 
-             transform.anchorMin = Vector2.zero;
 
-             transform.anchorMax = Vector2.one;
 
-             CanvasScaler scaler=  transform.GetComponentInParent<CanvasScaler>();
 
-             RectTransform scalerTran=   scaler.GetComponent<RectTransform>();
 
-             transform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, scalerTran.sizeDelta.x);
 
-             transform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, scalerTran.sizeDelta.y);
 
-         }
 
-         protected void Execute(ScriptableRenderContext context, RenderingData renderingData, RenderTexture renderTargetHandle, RenderTargetIdentifier source, RenderTextureDescriptor cameraTextureDescriptor)
 
-         {
 
-             if (Material == null)
 
-             {
 
-                 Material = new Material(Shader.Find("Unlit/MoHu"));
 
-             }
 
-             // return;
 
-             LogTool.Log("回调背景图加载");
 
-             CommandBuffer cmd = CommandBufferPool.Get("background");
 
-             int w = cameraTextureDescriptor.width;
 
-             int h = cameraTextureDescriptor.height;
 
-             int randerIndex = -255;
 
-             RenderTargetIdentifier lasetIdentifier = default;
 
-             int lasetranderIndex = 10000;
 
-             for (int i = 0; i < 4; i++)
 
-             {
 
-                 w /= 2;
 
-                 h /= 2;
 
-                 if (w <= 1 || h <= 1)
 
-                 {
 
-                     break;
 
-                 }
 
-             
 
-                 int index =  Shader.PropertyToID("back_tu"+i);
 
-                 // isTu1 = !isTu1;
 
-                 cmd.GetTemporaryRT(index, w, h, 0, FilterMode.Bilinear, RenderTextureFormat.ARGB32);
 
-                 RenderTargetIdentifier renderTargetIdentifier = new RenderTargetIdentifier(index);
 
-                 if (lasetranderIndex != 10000)
 
-                 {
 
-                     cmd.Blit(lasetIdentifier, renderTargetIdentifier, Material, 0);
 
-                     cmd.ReleaseTemporaryRT(lasetranderIndex);
 
-                 }
 
-                 else
 
-                 {
 
-                     cmd.Blit(source, renderTargetIdentifier, Material, 0);
 
-                 }
 
-             
 
-                 lasetIdentifier = renderTargetIdentifier;
 
-                 lasetranderIndex = index;
 
-                 // break;
 
-             }
 
-             
 
-             for (int i = 0; i < 4; i++)
 
-             {
 
-                 w *= 2;
 
-                 h *= 2;
 
-                 if (w > cameraTextureDescriptor.width || h > cameraTextureDescriptor.height)
 
-                 {
 
-                     break;
 
-                 }
 
-             
 
-                 int index =  Shader.PropertyToID("back_fd"+i);
 
-                 cmd.GetTemporaryRT(index, w, h, 0, FilterMode.Bilinear, RenderTextureFormat.ARGB32);
 
-                 RenderTargetIdentifier renderTargetIdentifier = new RenderTargetIdentifier(index);
 
-                 if (lasetranderIndex != 10000)
 
-                 {
 
-                     cmd.Blit(lasetIdentifier, renderTargetIdentifier, Material, 1);
 
-                     cmd.ReleaseTemporaryRT(lasetranderIndex);
 
-                 }
 
-             
 
-                 lasetIdentifier = renderTargetIdentifier;
 
-                 lasetranderIndex = index;
 
-                 // break;
 
-             }
 
-             // int index = Shader.PropertyToID("back_tu");
 
-             // isTu1 = !isTu1;
 
-             // cmd.GetTemporaryRT(index, w, h, 0, FilterMode.Bilinear,
 
-             //     RenderTextureFormat.ARGB32);
 
-             // RenderTargetIdentifier renderTargetIdentifier = new RenderTargetIdentifier(index);
 
-             // cmd.Blit(source, renderTargetIdentifier,Material,0);
 
-             cmd.Blit(lasetIdentifier, renderTargetHandle,Material,2);
 
-             cmd.ReleaseTemporaryRT(lasetranderIndex);
 
-             context.ExecuteCommandBuffer(cmd);
 
-             CommandBufferPool.Release(cmd);
 
-         }
 
-         public override void Dispose()
 
-         {
 
-             base.Dispose();
 
-         }
 
-     }
 
- }
 
 
  |