材质结构:
![](https://img-blog.csdnimg.cn/1ec1150f74804e369de818d95237ec0e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2gxNTI4NTExODU4Ng==,size_20,color_FFFFFF,t_70,g_se,x_16)
GaussianBlur?:
static const int SceneTextureId = 14;
float2 TexelSize = View.ViewSizeAndInvSize.zw;
float2 UV = GetDefaultSceneTextureUV(Parameters, SceneTextureId);
float3 PixelSum = float3(0, 0, 0);
float WeightSum = 0;
for (int x = -Radius; x <= Radius; x++)
{
for (int y = -Radius; y <= Radius; y++)
{
float2 Offset = float2(x, y) * TexelSize;
float3 PixelColor = SceneTextureLookup(UV + Offset, 14, 0).rgb;
float Weight = Calculate1DGaussian(x / Radius) * Calculate1DGaussian(y / Radius);
PixelSum += PixelColor * Weight;
WeightSum += Weight;
}
}
return PixelSum / WeightSum;
Radius:8
![](https://img-blog.csdnimg.cn/2222630418474c8e9b249ef431da6508.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2gxNTI4NTExODU4Ng==,size_20,color_FFFFFF,t_70,g_se,x_16)
Radius:1
![](https://img-blog.csdnimg.cn/f8b723d215da4d28b7e1da24426f54a3.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2gxNTI4NTExODU4Ng==,size_20,color_FFFFFF,t_70,g_se,x_16)
?
?
|