trying to a add automatic exposure
This commit is contained in:
@@ -31,8 +31,9 @@ struct Parameters
|
||||
float sat = 1.0;
|
||||
Texture2D hdrInputTexture;
|
||||
SamplerState hdrSampler;
|
||||
StructuredBuffer<float> averageLuminance;
|
||||
};
|
||||
ParameterBlock<Parameters> pParams;
|
||||
ParameterBlock<Parameters> pToneMappingParams;
|
||||
|
||||
// AgX
|
||||
// ->
|
||||
@@ -88,15 +89,15 @@ float3 agxEotf(float3 val) {
|
||||
return val;
|
||||
}
|
||||
|
||||
float3 agxLook(float3 val) {
|
||||
float3 agxLook(float3 val, float avgLum) {
|
||||
const float3 lw = float3(0.2126, 0.7152, 0.0722);
|
||||
float luma = dot(val, lw);
|
||||
float luma = dot(val, lw) / (9.6 * avgLum + 0.00001);
|
||||
|
||||
// Default
|
||||
float3 offset = pParams.offset.xyz;
|
||||
float3 slope = pParams.slope.xyz;
|
||||
float3 power = pParams.power.xyz;
|
||||
float sat = pParams.sat;
|
||||
float3 offset = pToneMappingParams.offset.xyz;
|
||||
float3 slope = pToneMappingParams.slope.xyz;
|
||||
float3 power = pToneMappingParams.power.xyz;
|
||||
float sat = pToneMappingParams.sat;
|
||||
|
||||
// ASC CDL
|
||||
val = pow(val * slope + offset, power);
|
||||
@@ -106,12 +107,12 @@ float3 agxLook(float3 val) {
|
||||
[shader("pixel")]
|
||||
float4 toneMapping(float2 uv : UV) : SV_Target
|
||||
{
|
||||
float3 hdrValue = pParams.hdrInputTexture.Sample(pParams.hdrSampler, uv).rgb;
|
||||
//float3 value = agx(hdrValue);
|
||||
//value = agxLook(value);
|
||||
//value = agxEotf(value);
|
||||
|
||||
float3 value = hdrValue / (hdrValue + float3(10));
|
||||
float3 hdrValue = pToneMappingParams.hdrInputTexture.Sample(pToneMappingParams.hdrSampler, uv).rgb;
|
||||
float avgLum = pToneMappingParams.averageLuminance[0];
|
||||
|
||||
float3 value = agx(hdrValue);
|
||||
value = agxLook(value, avgLum);
|
||||
value = agxEotf(value);
|
||||
|
||||
return float4(value, 1);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user