コード例 #1
0
        public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
        {
            var     camera = renderingData.cameraData.camera;
            TAAData TaaData;

            if (!m_TAADatas.TryGetValue(camera, out TaaData))
            {
                TaaData = new TAAData();
                m_TAADatas.Add(camera, TaaData);
            }
            var stack       = VolumeManager.instance.stack;
            var TaaComonent = stack.GetComponent <TemporalAntiAliasing>();

            if (TaaComonent.IsActive() && !renderingData.cameraData.isSceneViewCamera)
            {
                UpdateTAAData(renderingData, TaaData, TaaComonent);
                m_cameraSettingPass.Setup(TaaData);
                renderer.EnqueuePass(m_cameraSettingPass);
                m_TAAPass.Setup(TaaData, TaaComonent);
                renderer.EnqueuePass(m_TAAPass);
            }
            else if (!TaaComonent.IsActive())
            {
                m_TAAPass.Clear();
            }
        }
コード例 #2
0
ファイル: TAAPass.cs プロジェクト: unitycoder/TAA_Unity_URP
 internal void Setup(TAAData TaaData, TemporalAntiAliasing Taa)
 {
     // Set data
     m_TaaData  = TaaData;
     m_taa      = Taa;
     m_Material = new Material(Shader.Find(TaaShader));
 }
コード例 #3
0
        void UpdateTAAData(RenderingData renderingData, TAAData TaaData, TemporalAntiAliasing Taa)
        {
            Camera  camera           = renderingData.cameraData.camera;
            Vector2 additionalSample = Utils.GenerateRandomOffset() * Taa.spread.value;

            TaaData.sampleOffset = additionalSample;
            TaaData.porjPreview  = previewProj;
            TaaData.viewPreview  = previewView;
            TaaData.projOverride = camera.orthographic
                       ? Utils.GetJitteredOrthographicProjectionMatrix(camera, TaaData.sampleOffset)
                       : Utils.GetJitteredPerspectiveProjectionMatrix(camera, TaaData.sampleOffset);
            TaaData.sampleOffset = new Vector2(TaaData.sampleOffset.x / camera.scaledPixelWidth, TaaData.sampleOffset.y / camera.scaledPixelHeight);
            previewView          = camera.worldToCameraMatrix;
            previewProj          = camera.projectionMatrix;
        }
コード例 #4
0
 internal void Setup(TAAData data)
 {
     m_TaaData = data;
 }