游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2401|回复: 6

大家帮忙看段变换的代码,我不知道是什么意思

[复制链接]

23

主题

67

帖子

67

积分

注册会员

Rank: 2

积分
67
发表于 2005-9-8 15:21:00 | 显示全部楼层 |阅读模式
static void rot_trans_pers(vector3 *in, vector2 *out)
{
        matrix4 wmat, pmat;
        Vector4  tmp1, tmp2;

        //pmat是projection矩阵,wmat是world矩阵
        tmp1.x=wmat.x.x*in->x+wmat.y.x*in->y+wmat.z.x*in->z+wmat.w.x;
        tmp1.y=wmat.x.y*in->x+wmat.y.y*in->y+wmat.z.y*in->z+wmat.w.y;
        tmp1.z=wmat.x.z*in->x+wmat.y.z*in->y+wmat.z.z*in->z+wmat.w.z;
        tmp1.w=wmat.x.w*in->x+wmat.y.w*in->y+wmat.z.w*in->z+wmat.w.z;

        tmp2.x=pmat.x.x*tmp1.x+pmat.y.x*tmp1.y+pmat.z.x*tmp1.z;
        tmp2.y=pmat.x.y*tmp1.x+pmat.y.y*tmp1.y+pmat.z.y*tmp1.z;
        tmp2.z=pmat.x.z*tmp1.x+pmat.y.z*tmp1.y+pmat.z.z*tmp1.z;
        tmp2.w=pmat.x.w*tmp1.x+pmat.y.w*tmp1.y+pmat.z.w*tmp1.z;

        out->x = (int)((SCR_WIDTH/2)*tmp2.x/tmp2.w+SCR_WIDTH/2);
        out->y = (int)((-SCR_HEIGHT/2)*tmp2.y/tmp2.w+SCR_HEIGHT/2);
}
代码如上,请问谁知道是什么意思?谢~

0

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2005-9-8 17:06:00 | 显示全部楼层

Re:大家帮忙看段变换的代码,我不知道是什么意思

把向量in变换到银幕坐标
最后相当于视口变换

15

主题

1268

帖子

1268

积分

金牌会员

Rank: 6Rank: 6

积分
1268
发表于 2005-9-8 17:10:00 | 显示全部楼层

Re:大家帮忙看段变换的代码,我不知道是什么意思

没必要,直接用D3DX的函数算

0

主题

9

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2005-9-9 16:02:00 | 显示全部楼层

Re:大家帮忙看段变换的代码,我不知道是什么意思

引擎里的代码!!废话,D3DX是简单啊,会用就可以了,那还写引擎干什么??

13

主题

101

帖子

101

积分

注册会员

Rank: 2

积分
101
发表于 2005-9-9 16:31:00 | 显示全部楼层

Re:大家帮忙看段变换的代码,我不知道是什么意思

火气太旺了

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2005-9-10 19:24:00 | 显示全部楼层

Re:大家帮忙看段变换的代码,我不知道是什么意思

4楼:
既然连接了d3dx库,不用岂不是很浪费?

6

主题

390

帖子

400

积分

中级会员

Rank: 3Rank: 3

积分
400
发表于 2005-9-11 09:30:00 | 显示全部楼层

Re:大家帮忙看段变换的代码,我不知道是什么意思

2楼的正解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-27 18:35

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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