public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) { // Get MotionData var camera = renderingData.cameraData.camera; MotionData motionData; if (!m_MotionDatas.TryGetValue(camera, out motionData)) { motionData = new MotionData(); m_MotionDatas.Add(camera, motionData); } // Calculate motion data CalculateTime(); UpdateMotionData(camera, motionData); // Motion vector pass m_MotionVectorRenderPass.Setup(motionData); renderer.EnqueuePass(m_MotionVectorRenderPass); // Motion blur pass var stack = VolumeManager.instance.stack; var motionBlur = stack.GetComponent <MotionBlur>(); if (motionBlur.IsActive() && !renderingData.cameraData.isSceneViewCamera) { m_MotionBlurRenderPass.Setup(motionBlur); renderer.EnqueuePass(m_MotionBlurRenderPass); } }
public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) { // Get MotionData var camera = renderingData.cameraData.camera; // These flags are still required in SRP or the engine won't compute previous model matrices... camera.depthTextureMode |= DepthTextureMode.MotionVectors | DepthTextureMode.Depth; MotionData motionData; if (!m_MotionDatas.TryGetValue(camera, out motionData)) { motionData = new MotionData(); m_MotionDatas.Add(camera, motionData); } // Calculate motion data CalculateTime(); UpdateMotionData(camera, motionData); // Motion vector pass m_MotionVectorRenderPass.Setup(motionData); renderer.EnqueuePass(m_MotionVectorRenderPass); // Motion blur pass var stack = VolumeManager.instance.stack; var motionBlur = stack.GetComponent <MotionBlur>(); if (motionBlur.IsActive() && !renderingData.cameraData.isSceneViewCamera) { m_MotionBlurRenderPass.Setup(motionBlur); renderer.EnqueuePass(m_MotionBlurRenderPass); } }