卷積/球諧函數


這篇的球諧部分還需要完善下 目前是咩有的

正好light probe里面有

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

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

blur是個卷積 每個點采樣高斯分布

照着做了一下 還真是

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

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

球諧

正弦函數 傅里葉展開


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM