游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1762|回复: 3

上次的问题没有人回答(郁闷),这次再来个d3d菜鸟问题

[复制链接]

32

主题

377

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
发表于 2004-8-13 21:23:00 | 显示全部楼层 |阅读模式
请问,我这样作了后(如下),是每个顶点的坐标改变?还是整个三维坐标系旋转或者移动?
我作了个简单的试验,觉得好像顶点的坐标并未改变……?
请问到底是怎么回事?
D3DXMatrixTranslation(&MatrixXYZ,tx,ty,tz);
        D3DXMatrixRotationX(&MatrixX,rx);
        D3DXMatrixRotationY(&MatrixY,ry);
        D3DXMatrixRotationZ(&MatrixZ,rz);
        D3DXMatrixMultiply(&NewMatrix,&MatrixXYZ,&NewMatrix);
        D3DXMatrixMultiply(&NewMatrix,&MatrixX,&NewMatrix);
        D3DXMatrixMultiply(&NewMatrix,&MatrixY,&NewMatrix);
        D3DXMatrixMultiply(&NewMatrix,&MatrixZ,&NewMatrix);

        lp3DDevice->SetTransform(D3DTS_WORLD,&NewMatrix);

29

主题

421

帖子

436

积分

中级会员

Rank: 3Rank: 3

积分
436
发表于 2004-8-13 21:59:00 | 显示全部楼层

Re:上次的问题没有人回答(郁闷),这次再来个d3d菜鸟问

我贴个例子给你看看吧
D3DXMATRIXA16 matNewMatrix, mat, rotZ, rotX, rotY;
D3DXQUATERNION qAxisToAxis;
D3DXMatrixRotationX(&rotX, vRotation.x);
D3DXMatrixRotationZ(&rotY, vRotation.y);
D3DXMatrixRotationZ(&rotZ, vRotation.z);
D3DXMatrixMultiply(&mat, &rotY, &rotX);
D3DXMatrixMultiply(&mat, &mat, &rotZ);
D3DXQUATERNION qAxisToAxis;
D3DXQuaternionRotationMatrix(&qAxisToAxis,&mat);
D3DXMatrixTransformation(&matNewMatrix,NULL,NULL,NULL,NULL,&qAxisToAxis,&D3DXVECTOR3(tx,ty,tz));
lp3DDevice->SetTransform(D3DTS_WORLD,&NewMatrix);

32

主题

377

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
 楼主| 发表于 2004-8-14 00:10:00 | 显示全部楼层

Re:上次的问题没有人回答(郁闷),这次再来个d3d菜鸟问

楼上的给点说明吧?

32

主题

377

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
 楼主| 发表于 2004-8-14 00:11:00 | 显示全部楼层

Re:上次的问题没有人回答(郁闷),这次再来个d3d菜鸟问

哦,是不是说,要对坐标轴进行一次矩阵转换?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-16 23:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表