diff options
author | chai <chaifix@163.com> | 2022-03-10 14:07:40 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2022-03-10 14:07:40 +0800 |
commit | 22891bf59032ba88262824255a706d652031384b (patch) | |
tree | 7595439ba9966c9402d37e37cee5e8cf098757d5 /Assets/Scripts/Rendering/RenderingUtility.cs | |
parent | 8b04ea73e540067f83870b61d89db4868fea5e8a (diff) |
* move folder
Diffstat (limited to 'Assets/Scripts/Rendering/RenderingUtility.cs')
-rw-r--r-- | Assets/Scripts/Rendering/RenderingUtility.cs | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/Assets/Scripts/Rendering/RenderingUtility.cs b/Assets/Scripts/Rendering/RenderingUtility.cs deleted file mode 100644 index 5313f59d..00000000 --- a/Assets/Scripts/Rendering/RenderingUtility.cs +++ /dev/null @@ -1,93 +0,0 @@ -using System; -using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.Rendering; -
-// https://docs.unity3d.com/Manual/GraphicsCommandBuffers.html
-// https://docs.unity3d.com/ScriptReference/Rendering.CameraEvent.html
-
-// 前向渲染的camera events
-// * DepthTexture
-// * DepthNormalTexture
-// * ForwardOpaque
-// * ImageEffectsOpaque
-// * Skybox
-// * ForwardAlpha
-// * ImageEffects
-// * Everything
- -[Flags] -public enum ERenderingEvent
-{
- None = 0,
- BeforeDepthTexture = 1,
- BeforeDepthNormalsTexture = 1 << 1,
- BeforeForwardOpaque = 1 << 2,
- BeforeImageEffectsOpaque = 1 << 3,
- BeforeSkybox = 1 << 4,
- BeforeForwardAlpha = 1 << 5,
- BeforeImageEffects = 1 << 6,
- //BeforeEverything = 1 << 7,
- AfterDepthTexture = 1 << 8,
- AfterDepthNormalsTexture = 1 << 9,
- AfterForwardOpaque = 1 << 10,
- AfterImageEffectsOpaque = 1 << 11,
- AfterSkybox = 1 << 12,
- AfterForwardAlpha = 1 << 13,
- AfterImageEffects = 1 << 14,
- AfterEverything = 1 << 15,
-} -
-public static class RenderingUtility -{
- public static Dictionary<ERenderingEvent, CameraEvent> renderingEventToCameraEventDic = new Dictionary<ERenderingEvent, CameraEvent> {
- {ERenderingEvent.BeforeDepthTexture, CameraEvent.BeforeDepthTexture },
- {ERenderingEvent.BeforeDepthNormalsTexture, CameraEvent.BeforeDepthNormalsTexture },
- {ERenderingEvent.BeforeForwardOpaque, CameraEvent.BeforeForwardOpaque },
- {ERenderingEvent.BeforeImageEffectsOpaque, CameraEvent.BeforeImageEffectsOpaque },
- {ERenderingEvent.BeforeSkybox, CameraEvent.BeforeSkybox },
- {ERenderingEvent.BeforeForwardAlpha, CameraEvent.BeforeForwardAlpha },
- {ERenderingEvent.BeforeImageEffects, CameraEvent.BeforeImageEffects },
- {ERenderingEvent.AfterDepthTexture, CameraEvent.AfterDepthTexture },
- {ERenderingEvent.AfterDepthNormalsTexture, CameraEvent.AfterDepthNormalsTexture },
- {ERenderingEvent.AfterForwardOpaque, CameraEvent.AfterForwardOpaque },
- {ERenderingEvent.AfterImageEffectsOpaque, CameraEvent.AfterImageEffectsOpaque },
- {ERenderingEvent.AfterSkybox, CameraEvent.AfterSkybox },
- {ERenderingEvent.AfterForwardAlpha, CameraEvent.AfterForwardAlpha },
- {ERenderingEvent.AfterImageEffects, CameraEvent.AfterImageEffects },
- {ERenderingEvent.AfterEverything, CameraEvent.AfterEverything },
- };
- - public static CameraEvent ToCameraEvent(this ERenderingEvent e)
- {
- return renderingEventToCameraEventDic[e];
- } - - /// <summary>
- /// 计算在rt里面的区域
- /// </summary>
- /// <param name="camera">相机</param>
- /// <param name="worldPos">世界空间坐标</param>
- /// <param name="size">异体矩形(billboard)的相机空间大小</param>
- /// <returns></returns> - public static Vector4 GetTillingOffset(Camera camera, Vector3 worldPos, float sizeInCameraSpace)
- {
- Vector4 tileOffset = new Vector4(1,1,0,0);
- Vector3 camPos = camera.WorldToCameraSpace(worldPos);
-
- Vector3 bottomLeft = new Vector3(camPos.x - sizeInCameraSpace / 2, camPos.y - sizeInCameraSpace / 2, camPos.z);
- Vector3 topRight = new Vector3(camPos.x + sizeInCameraSpace / 2, camPos.y + sizeInCameraSpace / 2, camPos.z);
- Vector2 blViewPos = camera.CameraToViewportSpace(bottomLeft);
- Vector2 trViewPos = camera.CameraToViewportSpace(topRight);
- float width = trViewPos.x - blViewPos.x;
- float height = trViewPos.y - blViewPos.y;
-
- tileOffset.x = width;
- tileOffset.y = height;
- tileOffset.z = blViewPos.x;
- tileOffset.w = blViewPos.y;
- return tileOffset;
- } - -} |