游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5122|回复: 16

D3D!球不是圆的!?

[复制链接]

9

主题

39

帖子

43

积分

注册会员

Rank: 2

积分
43
发表于 2008-8-20 11:08:00 | 显示全部楼层 |阅读模式
初学D3D,做了一个台球的测试程序,当球在原点时非常圆,但是把球移动到边上就会呈现椭圆状!?
难道球不是从任何角度看都是圆的么?

球是用D3DXCreateSphere创建的,所以不用怀疑模型有问题,它的半径是1.0f,视点在(0.0f, 0.0f, 60.0f), 观察点在原点,方向y朝上。
当球在原点,一切正常,移动到(20.0f, 10.0f, 0.0f)就会椭圆化(变化很小)。

这个是怎么回事?可以避免这种情况发生么?(个人感觉是由于视点是个点造成的,如果可以像方向光源那样,把视点设成一个方向,或许就没有问题了,不过不知道方法)

请教高人解答!!!

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2008-8-20 11:34:00 | 显示全部楼层

Re:D3D!球不是圆的!?

你照张照片看一下就明白了!椭圆是对的。

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2008-8-20 12:17:00 | 显示全部楼层

Re:D3D!球不是圆的!?

椭圆是对的。把fov设小一点就不明显了。

9

主题

39

帖子

43

积分

注册会员

Rank: 2

积分
43
 楼主| 发表于 2008-8-20 13:55:00 | 显示全部楼层

Re: Re:D3D!球不是圆的!?

qrli: Re3D!球不是圆的!?

椭圆是对的。把fov设小一点就不明显了。


像QQ台球是怎么做的?它边上的台球还是圆的啊!?
还有,请教一下,fov是什么?

2

主题

683

帖子

687

积分

高级会员

Rank: 4

积分
687
发表于 2008-8-20 14:02:00 | 显示全部楼层

Re:D3D!球不是圆的!?

那是2D的吧?

9

主题

39

帖子

43

积分

注册会员

Rank: 2

积分
43
 楼主| 发表于 2008-8-20 14:06:00 | 显示全部楼层

Re: Re:D3D!球不是圆的!?

wildfire: Re3D!球不是圆的!?

那是2D的吧?


那就更佩服QQ了,2D的,它的球角度旋转是怎么显示出来的?

而且我用LordPE挂进程看了一下,它确实加载d3d8.dll了。

4

主题

28

帖子

32

积分

注册会员

Rank: 2

积分
32
发表于 2008-8-20 14:49:00 | 显示全部楼层

-

像QQ台球是怎么做的?它边上的台球还是圆的啊!?
还有,请教一下,fov是什么?

D3DXMATRIX *D3DXMatrixPerspectiveFovLH(
        D3DXMATRIX* pOut, // 返回的投影矩阵
        FLOAT fovY, // 用弧度表示的视野角度vertical field of view angle in radians
        FLOAT Aspect, // 宽高比
        FLOAT zn, // 前裁剪面距离
        FLOAT zf // 后裁剪面距离
);
建议LZ找本基础的书看看。

9

主题

39

帖子

43

积分

注册会员

Rank: 2

积分
43
 楼主| 发表于 2008-8-20 15:33:00 | 显示全部楼层

Re: -

slowhand: -


D3DXMATRIX *D3DXMatrixPerspectiveFovLH(
        D3DXMATRIX* pOut, // 返回的投影矩阵
        FLOAT fovY, // 用弧...


原来你说的是这个fov,这个不能改小了,改小了就跑到视角外面去了。
如果把视点放远一点,来让这个fov小一点的话,球也会变得很小。
为了让球看起来跟原来一样大,那么球也要创建的大一点,移动的距离也会比原来大,正因为这个移动距离也是成比例变大的,实际上弧度范围根本就没有减小。
至于有没有直接把远处物体直接放大显示的方法,我不知道,正是要请教各位……

书都快翻烂了,书只会告诉你怎么架摄像机,但是不会告诉你怎样才能架好摄像机!

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2008-8-20 16:39:00 | 显示全部楼层

Re:D3D!球不是圆的!?

你还是用正交投影得了

9

主题

39

帖子

43

积分

注册会员

Rank: 2

积分
43
 楼主| 发表于 2008-8-20 17:07:00 | 显示全部楼层

Re: Re:D3D!球不是圆的!?

qrli: Re3D!球不是圆的!?

你还是用正交投影得了


我翻了翻手头的书,找不到与正交投影的相关的,网上也找不到。

这位大侠可以说说方法吗?谢谢了……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 11:48

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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