/* * 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 * */ #ifndef AZ_COLLECTING_PARTIAL_SRGS #error Do not include this file directly. Include the main .srgi file instead. #endif partial ShaderResourceGroup ViewSrg { // Shared data in PostProcessing // Depth Of Field struct DepthOfFieldData { // x : viewFar, y : viewNear, z : focusDistance float3 m_cameraParameters; // Used to determine the pencilMap texture coordinates from depth. float m_pencilMapTexcoordToCocRadius; float m_pencilMapFocusPointTexcoordU; // circle of confusion to screen ratio; float m_cocToScreenRatio; }; DepthOfFieldData m_dof; struct ExposureControlParameters { // Minimum exposure for eye adaptation in stops (logarithmic space) float m_exposureMinLog2; // Maximum exposure for eye adaptation in stops (logarithmic space) float m_exposureMaxLog2; // The speed at which exposure adjusts up to brighter scenes float m_speedUp; // The speed at which exposure adjusts down to darker scenes float m_speedDown; // Manual exposure compensation value float m_exposureValueCompensation; // Eye adaptation feature flag. uint m_eyeAdaptationEnabled; // Explicit padding at the end uint2 m_padding; }; ConstantBuffer m_exposureControl; float GetExposureValueCompensation() { return m_exposureControl.m_exposureValueCompensation; } }