1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
cbuffer ConstantBuffer : register(b0)
{
float4x4 qt_Matrix;
float qt_Opacity;
float2 offset;
float2 delta;
float darkness;
};
Texture2D source : register(t0);
SamplerState sourceSampler : register(s0);
Texture2D shadow : register(t1);
SamplerState shadowSampler : register(s1);
float4 main(float4 position : SV_POSITION, float2 coord : TEXCOORD0) : SV_TARGET
{
float4 fg = source.Sample(sourceSampler, coord);
float4 bg = shadow.Sample(shadowSampler, coord + delta);
return (fg + float4(0.0, 0.0, 0.0, darkness * bg.a) * (1.0 - fg.a)) * qt_Opacity;
}
|