float2 ScreenMult = GetPostProcessInputSize(0).xy / Frame.RenderTargetSize;
int TexIndex = 14;
float samples[10] = {-0.08,-0.05,-0.03,-0.02,-0.01,0.01,0.02,0.03,0.05,0.08};
float2 dir = ScreenMult * float2(0.5,0.5) - UV;
float4 color = SceneTextureLookup(UV, TexIndex, false);
float4 sum = color;
float2 pos = float2(0.0,0.0);
for(int i = 0; i<10; i++)
{
pos = UV + dir * samples[i] * myDist;
max(min(pos, ScreenMult * float2(1.0, 1.0)), float2(0.0,0.0));
sum += SceneTextureLookup(pos, TexIndex, false);
}
sum *= 1.0/11.0;
return sum;
径向模糊代码
最新推荐文章于 2023-03-28 11:12:13 发布