예제 #1
0
        public override void Create()
        {
            if (EnviroSkyMgr.instance == null || EnviroSkyLite.instance == null)
            {
                return;
            }

            CreateFogMaterial();

            blitPass = new EnviroBlitPass(UnityEngine.Rendering.Universal.RenderPassEvent.BeforeRenderingTransparents, material, 0, name);
        }
예제 #2
0
        public override void Create()
        {
            if (EnviroSkyMgr.instance == null || EnviroSky.instance == null)
            {
                return;
            }

            CreateMaterialsAndTextures();

            if (EnviroSky.instance != null)
            {
                SetReprojectionPixelSize(EnviroSky.instance.cloudsSettings.cloudsQualitySettings.reprojectionPixelSize);
            }

            blitPass = new EnviroBlitPass(UnityEngine.Rendering.Universal.RenderPassEvent.BeforeRenderingTransparents, blitMat, 0, name);
        }
예제 #3
0
        public override void Create()
        {
            if (EnviroSkyMgr.instance == null)
            {
                return;
            }

            if (EnviroSkyMgr.instance.Camera != null)
            {
                myCam = EnviroSkyMgr.instance.Camera;
            }
            else
            {
                myCam = Camera.main;
            }

            CreateMaterialsAndTextures();

            getSouceTexture = new EnviroBlitPassIdentifiers(UnityEngine.Rendering.Universal.RenderPassEvent.AfterRenderingTransparents, null, 0, "Get Source");
            blitPassFinal   = new EnviroBlitPass(UnityEngine.Rendering.Universal.RenderPassEvent.AfterRenderingTransparents, sunShaftsMaterial, 4, "MoonShafts Final");
        }
예제 #4
0
        public override void AddRenderPasses(UnityEngine.Rendering.Universal.ScriptableRenderer renderer, ref UnityEngine.Rendering.Universal.RenderingData renderingData)
        {
            if (renderingData.cameraData.camera.cameraType == CameraType.Preview)
            {
                return;
            }

            myCam = renderingData.cameraData.camera;

            if (EnviroSkyLite.instance != null && EnviroSkyLite.instance.usePostEffectFog)
            {
                var src  = renderer.cameraColorTarget;
                var dest = UnityEngine.Rendering.Universal.RenderTargetHandle.CameraTarget;

                if (!renderingData.cameraData.isSceneViewCamera && renderingData.cameraData.camera == EnviroSkyLite.instance.PlayerCamera)
                {
                    UpdateMatrix();

                    if (currentSimpleFog != EnviroSkyLite.instance.fogSettings.useSimpleFog)
                    {
                        CreateFogMaterial();
                        blitPass         = new EnviroBlitPass(UnityEngine.Rendering.Universal.RenderPassEvent.BeforeRenderingTransparents, material, 0, name);
                        currentSimpleFog = EnviroSkyLite.instance.fogSettings.useSimpleFog;
                    }

                    RenderFog();

                    if (blitPass == null)
                    {
                        Create();
                    }

                    blitPass.Setup(src, dest);

                    renderer.EnqueuePass(blitPass);
                }
            }
        }