|
|
发表于 2011-9-9 17:27:00
|
显示全部楼层
Re:请问为什么光照计算要放在view space中呢?
这个很容易理解啊,主要是为了效率。
如果放在world space,那么pos/normal会先*mWorld再计算光照,再*mView,最后mproj
如果是在view space里面,先计算mworld*mview ,然后一次矩阵运算就可以搞定坐标变换。
而软件实现的光照,一般是在model space里面计算。
把view pos和light pos变换到model space里面。这样避免了对每个顶点pos/normal的变换,提高了效率
因为对一个模型来说,view pos,light pos只需计算一次,要是按顶点变换的话,矩阵计算就会多很多。
最终效果是一样的,只不过算法效率不一样
|
|