D3DXVec3TransformNormal()和D3DXVec3TransformCoord()
来源:互联网 发布:安装mysql后怎么使用 编辑:程序博客网 时间:2024/06/08 10:52
D3DXVec3TransformNormal()和D3DXVec3TransformCoord()
坐标和向量是有区别的:向量的第四维数值是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
阅读全文
0 0
- D3DXVec3TransformNormal()和D3DXVec3TransformCoord()
- 区别D3DXVec3TransformNormal和D3DXVec3TransformCoord
- D3DXVec3TransformNormal()和D3DXVec3TransformCoord()
- D3DXVec3TransformNormal()和D3DXVec3TransformCoord() (转)
- D3DXVec3TransformNormal和D3DXVec3TransformCoord的区别
- D3DXVec3TransformNormal 函数
- D3DXVec3TransformCoord 函数
- D3DXVec3TransformCoord Function
- . 和 ->
- || 和&&
- .和::
- “?”和“!”
- #和##
- && 和 ||
- 、和
- #和##
- .//和..//
- 和
- 操作系统找不到已输入的环境选项解决方案
- hdu 6156 回文数 数位dp
- 【数字图像处理】灰度变换函数(对数变换、反对数变换、幂次变换)
- springmvc controller层接收List类型的参数
- map集合的四种遍历方式
- D3DXVec3TransformNormal()和D3DXVec3TransformCoord()
- 一,注册与登陆接口
- linux ubuntu下生成静态库与共享库
- phpStudy,JetBrains PhpStorm安装,及搭建thinkPHP
- 非静态方法的锁是实例对象本身(this),静态方法的锁是类对象本身(.class)
- lintcode反转整数
- 简述MVC与MVP
- HTML5 VideoAPI,打造自己的Web视频播放器
- javascript 删除所有空格的方法