You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Gems/Atom/Feature/Common/Assets/ShaderResourceGroups/PostProcessing/ViewSrg.azsli

67 lines
1.7 KiB
Plaintext

/*
* 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;
[[pad_to(16)]]
};
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<ExposureControlParameters> m_exposureControl;
float GetExposureValueCompensation()
{
return m_exposureControl.m_exposureValueCompensation;
}
}