#include "common.hlsli"

struct v2p
{
    float2 tc0 : TEXCOORD0; // Texture coordinates         (for sampling maps)
    float2 tc1 : TEXCOORD1; // Texture coordinates         (for sampling maps)
    float2 tc2 : TEXCOORD2; // Texture coordinates         (for sampling maps)
    float2 tc3 : TEXCOORD3; // Texture coordinates         (for sampling maps)
};

uniform float4 b_params;

// Pixel
float4 main(v2p I) : COLOR
{
    // hi-rgb.base-lum
    float3 s0 = tex2D(s_image, I.tc0);
    float3 s1 = tex2D(s_image, I.tc1);
    float3 s2 = tex2D(s_image, I.tc2);
    float3 s3 = tex2D(s_image, I.tc3);

    float3 avg = (s0 + s1 + s2 + s3) / (2.0f * def_hdr);
    float hi = dot(avg, 1.0f) - b_params.x; // assume def_hdr equal to 3.0

    return float4(avg, hi);
}
