/* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #include #include "DepthOfField.azsli" ShaderResourceGroup PerPass : SRG_PerPass { Texture2D m_depthTexture; RWBuffer m_outputFocusDepth; float2 m_autoFocusScreenPosition; Sampler LinearSampler { MinFilter = Linear; MagFilter = Linear; MipFilter = Linear; AddressU = Clamp; AddressV = Clamp; AddressW = Clamp; }; } [numthreads(1, 1, 1)] void MainCS(uint3 dispatch_id : SV_DispatchThreadID) { float depth = PerPass::m_depthTexture.SampleLevel(PerPass::LinearSampler, PerPass::m_autoFocusScreenPosition, 0).x; PerPass::m_outputFocusDepth[0] = InvertDepth(depth); }