游戏开发论坛

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

请教 关于摄影变换的问题

[复制链接]

83

主题

169

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
发表于 2008-1-1 16:33:00 | 显示全部楼层 |阅读模式
我先是写了五个点(渲染时不进行背面剔除)
如下:
CUSTOMVERTEX2 customVertex2[]=
        {
                {100.0f,0.0f,0.0f,1.0f,D3DCOLOR_XRGB(255,0,0)},
                {200.0f,200.0f,0.0f,1.0f,D3DCOLOR_XRGB(255,0,0)},
                {300.0f,0.0f,0.0f,1.0f,D3DCOLOR_XRGB(0,0,255)},
                {300.0f,200.0f,200.0f,1.0f,D3DCOLOR_XRGB(255,0,0)},
                {400.0f,300.0f,200.0f,1.0f,D3DCOLOR_XRGB(255,0,0)}
        };

然后设置了摄影机,而且在BeginScene之前对它进行了调用
void CDirect3dObject::SetCamera()
{
        D3DXVECTOR3 eye(2.0f,1.5f,-3.0f);
        D3DXVECTOR3 at(0.0f,0.0f,0.0f);
        D3DXVECTOR3 up(0.0f,1.0f,0.0f);
        D3DXMATRIX viewMatrix;
        D3DXMatrixLookAtLH(&viewMatrix,&eye,&at,&up);
        pDrect3DDevice->SetTransform(D3DTS_VIEW,&viewMatrix);
        D3DXMATRIX projectionMatrix;
        D3DXMatrixPerspectiveFovLH(&projectionMatrix,D3DX_PI/2,800/600,1.0f,1000.0f);
        pDrect3DDevice->SetTransform(D3DTS_PROJECTION,&projectionMatrix);
}

但是奇怪的是不管我怎么改变eye at 或up的复值就是看不到三维透视的关系.
显示的结果就象用ID3DXSprite做出的精灵一样,总是正对着视口.
这是怎么回事?

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2008-1-1 18:39:00 | 显示全部楼层

Re:请教 关于摄影变换的问题

FVF是怎样设的?

83

主题

169

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
 楼主| 发表于 2008-1-1 20:55:00 | 显示全部楼层

Re:请教 关于摄影变换的问题

谢谢
是我没弄清楚D3DFVF_XYZ和D3DFVF_XYZRHW的区别

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2008-1-1 21:04:00 | 显示全部楼层

Re:请教 关于摄影变换的问题

就是嘛,不客气。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 23:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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