26 lines
791 B
HLSL
26 lines
791 B
HLSL
#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);
|
|
}
|