#include "common.hlsli" struct v2p { float2 tc0 : TEXCOORD0; // base float4 c : COLOR0; // diffuse }; // Pixel float4 main(v2p I) : SV_Target { float4 c = I.c * s_base.Sample(smp_base, I.tc0); c.xyz *= c.w; float3 r = float3(1, 1, 1) - c.xyz + c.xyz * c.xyz; return float4(PushGamma(r), 1); }