一直搞不明白这个tangent space到底是什么宝贝,既然是tangent肯定需要做dx/dv之类的求导动作,可是,查来查去,都是讲不明白,最后看到这个,才恍然大悟:
T = normalize(dx/du, dy/du, dz/du)
N = T × normalize(dx/dv, dy/dv, dz/dv)
B = N × T
(Tangent space is just such a local coordinate system. The orthonormal basis for the tangent space is the normalized unperturbed surface normal Nn, the tangent vector Tn defined by normalizing dP/du, and the binormal Bn defined as Nn×Tn. The orthonormal basis for a coordinate system is also sometimes
called the reference frame.)
其实这个tangent space 就是我们熟悉的tangent,无非在pixel lighting进行现实应用时,理解为2个坐标系的变换。
说直白一点,T = normalize(dx/du, dy/du, dz/du),这句话说明所有问题,这个t变量的x值就是模型坐标系下x值的变化对应u值变化的正切,就跟2纬曲线dy/dx就是曲线的正切值,也是反应这条曲线变化坡度的值一样。
再直白一点,这个tangent space,切空间,就是反应这个模型空间坐标相对应纹理坐标相的变换坡度
posted on 2007-10-20 14:20
Sherk 阅读(3310)
评论(6) 编辑 收藏 引用