public override void FrameUpdate(PipelineCamera cam, ref PipelineCommandData data, CommandBuffer buffer) { sharedData.autoExposureTexture = RuntimeUtilities.whiteTexture; sharedData.screenSize = new Vector2Int(cam.cam.pixelWidth, cam.cam.pixelHeight); sharedData.uberMaterial.SetTexture(PostProcessing.ShaderIDs.AutoExposureTex, sharedData.autoExposureTexture); renderAction(ref data); if (sharedData.keywordsTransformed) { sharedData.keywordsTransformed = false; sharedData.uberMaterial.shaderKeywords = sharedData.shaderKeywords.ToArray(); } PostFunctions.RunPostProcess(ref cam.targets, buffer, ref data, uberAction); PipelineFunctions.ReleaseRenderTarget(sharedData.temporalRT); }
public override void FrameUpdate(PipelineCamera cam, ref PipelineCommandData data, CommandBuffer buffer) { HistoryTexture texComponent = IPerCameraData.GetProperty <HistoryTexture>(cam, GetHistoryTex); texComponent.UpdateProperty(cam); SetHistory(cam.cam, buffer, ref texComponent.historyTex, cam.targets.renderTarget); historyTex = texComponent.historyTex; //TAA Start const float kMotionAmplification_Blending = 100f * 60f; const float kMotionAmplification_Bounding = 100f * 30f; block.SetVector(ShaderIDs._Jitter, jitter); block.SetFloat(ShaderIDs._Sharpness, sharpness); block.SetVector(ShaderIDs._TemporalClipBounding, new Vector4(stationaryAABBScale, motionAABBScale, kMotionAmplification_Bounding, 0f)); block.SetVector(ShaderIDs._FinalBlendParameters, new Vector4(stationaryBlending, motionBlending, kMotionAmplification_Blending, 0f)); block.SetTexture(ShaderIDs._HistoryTex, historyTex); PostFunctions.RunPostProcess(ref cam.targets, buffer, ref data, taaFunction); }