最簡(jiǎn)理解TangentSpace與WorldSpace轉(zhuǎn)換
本來是很簡(jiǎn)單的東西,竟然一下子搜不到公式,離譜。
找到SP官網(wǎng)shader文檔:
https://substance3d.adobe.com/documentation/spdoc/lib-vectors-shader-api-188976085.html
記錄一下。
其中mat3是glsl中的,column major。這個(gè)乘法是行向量的乘法:

額外:T,B,N怎么來
估計(jì)N的方法太多了,論文有,PCL庫有...最簡(jiǎn)可以由局部點(diǎn)云算梯度來
T在houdini中有這些方法估算:

其中MikkT在UE4里有。最簡(jiǎn)可以又3個(gè)vertex組成兩個(gè)線性無關(guān)worldSpace的向量,又根據(jù)vertex的uv屬性,(大部分情況下)也是兩組線性無關(guān)的a*u+b*v向量,所以可以湊出1*u+0*v和0*u+1*v的worldSpace向量,當(dāng)tangent/bitangent。
標(biāo)簽: