游戏开发论坛

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

D3D观察点设置一问

[复制链接]

6

主题

10

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2005-5-6 17:09:00 | 显示全部楼层 |阅读模式
我以(0,0,0)为中心创建一个矩形,四个顶点分别为(-4,3,0),(4,3,0),(4,-3,0),(-4,-3,0)
然后在(0,0,-4)朝着矩形中心观察,观察角度 1.287=2*arctan(3/4) ,理论上是不是
应该刚刚观察到这个完整矩形?不过实验结果似乎不是,在(0,0,-6)观察时,发现
矩形长宽比并不是4:3,为什么呢?那么怎么才能刚好观察到这个完整的矩形呢?

下面是部分代码:
device.Transform.Projection = Matrix.PerspectiveFovLH( 1.287f , 4/ 3 , -1.0f, 1.0f);
device.Transform.View = Matrix.LookAtLH(new Vector3(0,0, -5.5f), new Vector3(0,0,0), new Vector3(0,1,0));

6

主题

10

帖子

10

积分

新手上路

Rank: 1

积分
10
 楼主| 发表于 2005-5-8 13:48:00 | 显示全部楼层

Re:D3D观察点设置一问

知道呢,原来是挂在Matrix.PerspectiveFovLH( 1.287f , 4/ 3 , -1.0f, 1.0f);上呢,4/3被认为
是1了 ,改成 float(4)/3就可以了,唉

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2005-5-8 21:19:00 | 显示全部楼层

Re:D3D观察点设置一问

要想在 (0,0,-4) 能刚好观察到这个完整的矩形,可以使用平行投影。

1

主题

31

帖子

37

积分

注册会员

Rank: 2

积分
37
发表于 2005-5-28 16:48:00 | 显示全部楼层

Re:D3D观察点设置一问

以前我也犯这错误,Math.Sqrt(10/70)总是得0.好久才发现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-25 19:40

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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