游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2255|回复: 1

求答:3D空间坐标转换屏幕2D坐标.

[复制链接]

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2010-11-30 00:37:00 | 显示全部楼层 |阅读模式
        D3DXMATRIX mview,mpoj,mwod,mxyz;
        D3DXVECTOR3 veyept;
        veyept.x=m_game.viewx;
        veyept.y=m_game.viewy+m_game.vy;
        veyept.z=m_game.viewz-m_game.vz;
        D3DXVECTOR3 vlookatpt;
        vlookatpt.x=m_game.viewx;
        vlookatpt.y=0.0f;
        vlookatpt.z=m_game.viewz;
        D3DXVECTOR3 vupvec(0.0f,1.0f,0.0f);
        D3DXMatrixLookAtLH(&mview,&veyept,&vlookatpt,&vupvec);

        D3DXMatrixPerspectiveFovLH(&mpoj,D3DX_PI/4,(float)D3D_WIDTH/(float)D3D_HEIGHT,1.0f,1500.0f);//投置投影距阵
        D3DXMatrixTranslation(&mxyz,m_cmx.object[danqianmesh].m_xyz.x,m_cmx.object[danqianmesh].m_xyz.y,m_cmx.object[danqianmesh].m_xyz.z);
        m_game.g_device->SetTransform(D3DTS_WORLD,&mxyz);
        m_game.g_device->GetTransform(D3DTS_WORLD,&mwod);
        D3DVIEWPORT9 viewpoj;
        viewpoj.X=0;
        viewpoj.Y=0;
        viewpoj.Width=D3D_WIDTH;
        viewpoj.Height=D3D_HEIGHT;
        viewpoj.MinZ=0.0f;
        viewpoj.MaxZ=1.0f;
        D3DXVec3Project(&dx,&m_cmx.object[danqianmesh].m_xyz,&viewpoj,&mpoj,&mview,&mwod);



为什么老是不成功.获取的数字.很大不知道.D3DXVec3Project这个函数到底怎么用.求高手指点....

30

主题

89

帖子

91

积分

注册会员

Rank: 2

积分
91
发表于 2010-12-1 12:23:00 | 显示全部楼层

Re:求答:3D空间坐标转换屏幕2D坐标.

?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-17 17:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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