void OnEnable() { myCam = GetComponent <Camera>(); CreateMaterialsAndTextures(); SetReprojectionPixelSize(reprojectionResolution); currentReprojectionPixelSize = reprojectionResolution; }
void Update() { if (EnviroSky.instance == null) { return; } if (currentReprojectionPixelSize != reprojectionResolution) { currentReprojectionPixelSize = reprojectionResolution; SetReprojectionPixelSize(reprojectionResolution); } }
public void SetReprojectionPixelSize(EnviroVolumeCloudsQualitySettings.ReprojectionPixelSize pSize) { switch (pSize) { case EnviroVolumeCloudsQualitySettings.ReprojectionPixelSize.Off: reprojectionPixelSize = 1; break; case EnviroVolumeCloudsQualitySettings.ReprojectionPixelSize.Low: reprojectionPixelSize = 2; break; case EnviroVolumeCloudsQualitySettings.ReprojectionPixelSize.Medium: reprojectionPixelSize = 4; break; case EnviroVolumeCloudsQualitySettings.ReprojectionPixelSize.High: reprojectionPixelSize = 8; break; } frameList = CalculateFrames(reprojectionPixelSize); }
public override void AddRenderPasses(UnityEngine.Rendering.Universal.ScriptableRenderer renderer, ref UnityEngine.Rendering.Universal.RenderingData renderingData) { if (EnviroSkyMgr.instance != null && EnviroSky.instance != null && EnviroSkyMgr.instance.useVolumeClouds && EnviroSky.instance.PlayerCamera != null) { if (renderingData.cameraData.camera.cameraType == CameraType.Preview) { return; } myCam = renderingData.cameraData.camera; var src = renderer.cameraColorTarget; var dest = UnityEngine.Rendering.Universal.RenderTargetHandle.CameraTarget; if (currentReprojectionPixelSize != EnviroSky.instance.cloudsSettings.cloudsQualitySettings.reprojectionPixelSize) { currentReprojectionPixelSize = EnviroSky.instance.cloudsSettings.cloudsQualitySettings.reprojectionPixelSize; SetReprojectionPixelSize(EnviroSky.instance.cloudsSettings.cloudsQualitySettings.reprojectionPixelSize); } if (renderingData.cameraData.isSceneViewCamera && !EnviroSky.instance.showVolumeCloudsInEditor) { return; } RenderVolumeClouds(renderingData.cameraData.cameraTargetDescriptor); if (blitPass == null) { Create(); } blitPass.Setup(src, dest); renderer.EnqueuePass(blitPass); } }