gause 卷积 matlab,卷积/球谐函数 - osc_fs15pkda的个人空间 - OSCHINA - 中文开源技术交流社区...

这篇的球谐部分还需要完善下 目前是咩有的

正好light probe里面有

https://www.jianshu.com/p/cbd1a1f86d1b

https://blog.csdn.net/bitcarmanlee/article/details/54729807

blur是个卷积 每个点采样高斯分布

照着做了一下 还真是

f4ba1e400d83a475a34fe12d32e24621.png

float a=1.0;

s = a*(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, UnityStereoTransformScreenSpaceTex(uv + _MainTex_TexelSize.xy*float2(-1,1))));

// s += a * (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, UnityStereoTransformScreenSpaceTex(uv + _MainTex_TexelSize.xy*float2(0,1))));

// s += a * (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, UnityStereoTransformScreenSpaceTex(uv + _MainTex_TexelSize.xy*float2(1,1))));

// s += a * (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, UnityStereoTransformScreenSpaceTex(uv + _MainTex_TexelSize.xy*float2(-1,0))));

s += a*(SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, UnityStereoTransformScreenSpaceTex(uv + _MainTex_TexelSize.xy*float2(0,0))));

//s += -a * (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, UnityStereoTransformScreenSpaceTex(uv + _MainTex_TexelSize.xy*float2(1,0))));

//s += a * (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, UnityStereoTransformScreenSpaceTex(uv + _MainTex_TexelSize.xy*float2(-1,-1))));

//s += -a * (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, UnityStereoTransformScreenSpaceTex(uv + _MainTex_TexelSize.xy*float2(0,-1))));

s += a * (SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, UnityStereoTransformScreenSpaceTex(uv + _MainTex_TexelSize.xy*float2(-1,-1))));

//s += 0.5;

//s *=(1.0 / 9.0);

a组成的3X3的矩阵就是kernel了

浮雕的kernel是

-1,-1,-1

-1, 0, 1

1, 1, 1

结果再-0.5

gause的kernel

ebfd3867efd3f3e769d5fac7d26cc339.png

============

球谐

正弦函数 傅里叶展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值