D3DXVec3TransformNormal()和D3DXVec3TransformCoord()
来源:互联网 发布:js闭包的作用 编辑:程序博客网 时间:2024/06/08 12:10
D3DXVec3TransformNormal()和D3DXVec3TransformCoord()
根据给定的矩阵变换法线(向量)或坐标,区别在于后者变换后将w分量投射回1。
向量为两个坐标的差值,因此第四维的值为0,而坐标的第四维的值则为1。
上述两个函数具体的计算过程如下:
D3DXVec3TransformNormal
VOut.x = VIn.x * M.11 + VIn.y * M.21 + VIn.z * M.31
VOut.y = VIn.x * M.12 + VIn.y * M.22 + VIn.z * M.32
VOut.z = VIn.x * M.13 + VIn.y * M.23 + VIn.z * M.33
D3DXVec3TransformCoord
VOut.x = VIn.x * M.11 + VIn.y * M.21 + VIn.z * M.31 + M.41
VOut.y = VIn.x * M.12 + VIn.y * M.22 + VIn.z * M.32 + M.42
VOut.z = VIn.x * M.13 + VIn.y * M.23 + VIn.z * M.33 + M.43
D3DXVec3TransformCoord 函数
用矩阵变换3-D向量,并且用w = 1投影结果。
定义:
D3DXVECTOR3 *WINAPI D3DXVec3TransformCoord(
D3DXVECTOR3 *pOut,
CONST D3DXVECTOR3 *pV,
CONST D3DXMATRIX *pM
);
Parameters
pOut
[in, out] 指向 D3DXVECTOR3 结构的操作结果。
pV
[in] 指向 D3DXVECTOR3 结构的向量。
pM
[in] 指向 D3DXMATRIX 结构的变换矩阵。
Return Value
指向 D3DXVECTOR3 结构的变换后的向量。
说明:
这个函数用矩阵pM变换3-D向量pV (x, y, z, 1),并且用w = 1投影结果。
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3TransformCoord作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
D3DXVec3TransformNormal 函数
用矩阵变换3-D向量标准形式。
定义:
D3DXVECTOR3 *WINAPI D3DXVec3TransformNormal(
D3DXVECTOR3 *pOut,
CONST D3DXVECTOR3 *pV,
CONST D3DXMATRIX *pM
);
Parameters
pOut
[in, out] 指向 D3DXVECTOR3 结果的操作结果。
pV
[in] 指向 D3DXVECTOR3 结构的向量。
pM
[in] 指向 D3DXMATRIX 结构的矩阵。
返回值:
指向 D3DXVECTOR3 结构的变换后的向量。
说明:
这个函数用矩阵pM变换向量pV标准形式 (x, y, z, 0),不是齐次坐标形式。
如果一个非仿射矩阵变换,那么这个矩阵要作逆运算后再转置才传给本函数。
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3TransformNormal作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
- D3DXVec3TransformNormal()和D3DXVec3TransformCoord()
- 区别D3DXVec3TransformNormal和D3DXVec3TransformCoord
- D3DXVec3TransformNormal()和D3DXVec3TransformCoord()
- D3DXVec3TransformNormal()和D3DXVec3TransformCoord() (转)
- D3DXVec3TransformNormal和D3DXVec3TransformCoord的区别
- D3DXVec3TransformNormal 函数
- D3DXVec3TransformCoord 函数
- D3DXVec3TransformCoord Function
- . 和 ->
- || 和&&
- .和::
- “?”和“!”
- #和##
- && 和 ||
- 、和
- #和##
- .//和..//
- 和
- 接到腾讯的电话
- 从头到尾彻底理解傅里叶变换算法
- Oracle超出最大连接数问题及解决
- socket简单通信编程 发送字符串
- 读书笔记目录
- D3DXVec3TransformNormal()和D3DXVec3TransformCoord()
- Redis 中文手册
- 回归自然
- 判断栈的出栈和入栈序列O(N)时间O(N)空间
- 关于汇编程序编译的一些详细步骤和要点
- 使用 HTML 控件创建出色的 Metro 风格应用
- 【原创】PID控制算法模拟器
- 最小的K个数
- tiny6410 中 QT程序 在开发板运行字体变得很小