|
|
发表于 2008-7-19 15:07:00
|
显示全部楼层
Re:HLSL里mul函数的问题
一个点,向量通过矩阵变换是因该:矩阵X向量
----这里向量 看做 是列向量,对吧。这里的矩阵是OpenGL标准
而 M$ 为了与众不同,它采用 (行)向量 * 转置的OpenGL矩阵。
但是到了 shader 中,M$ 的这种方法就显得不方便了,因为需要用4条 dp4 指令实现,你想想...
所以需要 OpenGL矩阵 * (列)向量,但这又不符合 M$ 的书写顺序,所以他就 mul vector, matrix
(这里的 matrix 采用OpenGL矩阵,即 M$ 矩阵的 转置 )
http://bbs.gameres.com/showthread.asp?threadid=110042
投票: 关于变换矩阵的行列性(不懂请勿乱选) ( 1 2 3 )
简单的说 M$ 的 mul 是一个“混血儿”。(我从来不用,很恶心,还是GL的好) |
|