D3DXVec3TransformNormal()和D3DXVec3TransformCoord() (转)
来源:互联网 发布:exe软件无法运行 编辑:程序博客网 时间:2024/05/18 03:27
坐标和向量是有区别的:向量的第四维数值是0,坐标的第四维数值是1
向量 = 两个坐标的差值 第四维同样做减法,结果是0
向量的坐标变换用D3DXVec3TransformNormal,点用D3DXVec3TransformCoord。D3DXVec3Transform和D3DXVec3TransformCoord相似,区别在于后者变换后将w投射回1
实际执行计算的时候是:
D3DXVec3TransformCoord
VOut.x = V1.x * M.11 + V1.y * M.21 + V1.z * M.31 + M.41
VOut.y = V1.x * M.12 + V1.y * M.22 + V1.z * M.32 + M.42
VOut.z = V1.x * M.13 + V1.y * M.23 + V1.z * M.33 + M.43
D3DXVec3TransformCoord
VOut.x = V1.x * M.11 + V1.y * M.21 + V1.z * M.31 + M.41
VOut.y = V1.x * M.12 + V1.y * M.22 + V1.z * M.32 + M.42
VOut.z = V1.x * M.13 + V1.y * M.23 + V1.z * M.33 + M.43
因为是向量,第四维不计算:
D3DXVec3TransformNormal
VOut.x = V1.x * M.11 + V1.y * M.21 + V1.z * M.31
VOut.y = V1.x * M.12 + V1.y * M.22 + V1.z * M.32
VOut.z = V1.x * M.13 + V1.y * M.23 + V1.z * M.33
D3DXVec3TransformNormal
VOut.x = V1.x * M.11 + V1.y * M.21 + V1.z * M.31
VOut.y = V1.x * M.12 + V1.y * M.22 + V1.z * M.32
VOut.z = V1.x * M.13 + V1.y * M.23 + V1.z * M.33
- D3DXVec3TransformNormal()和D3DXVec3TransformCoord() (转)
- D3DXVec3TransformNormal()和D3DXVec3TransformCoord()
- 区别D3DXVec3TransformNormal和D3DXVec3TransformCoord
- D3DXVec3TransformNormal()和D3DXVec3TransformCoord()
- D3DXVec3TransformNormal和D3DXVec3TransformCoord的区别
- D3DXVec3TransformNormal 函数
- D3DXVec3TransformCoord 函数
- D3DXVec3TransformCoord Function
- ContentValues和HashTable和HashMap (转)
- 堆和栈和区别(转)
- 句柄和指针(转)
- malloc 和 calloc (转)
- (转)memset和ZeroMemory
- 数组和指针(转)
- 堆和栈(转)
- 堆和栈(转)
- (转)AutoCompleteTextView和MultiAutoCompleteTextView
- 委托和事件(转)
- JSP 语法详解 1【转帖】
- SQL server 2005安装问题汇总
- Python之禅
- 什么是Microformats?
- AxMediaplayer的引用
- D3DXVec3TransformNormal()和D3DXVec3TransformCoord() (转)
- 运行rundll32.exe user.exe用法一览
- Microformats教程 第1部分
- Microformats教程 第2部分
- JSP 语法详解 2【转帖】
- [转]SQL Server2000中死锁经验总结
- JSP 语法详解 3【转帖】
- MySQL 的存储过程写法和Cursor的使用
- JSP 语法详解 4【转帖】