游戏开发论坛

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

全屏模式的长宽比列不一致的问题如何解决?

[复制链接]

11

主题

53

帖子

53

积分

注册会员

Rank: 2

积分
53
发表于 2004-5-22 13:48:00 | 显示全部楼层 |阅读模式
[em4]

我用的1024*768的全屏模式,但是载入的模型被压扁了,不知道这个问题要如何解决?

sf_2004522134821.jpg

50

主题

992

帖子

1012

积分

金牌会员

Rank: 6Rank: 6

积分
1012
发表于 2004-5-22 14:14:00 | 显示全部楼层

Re:全屏模式的长宽比列不一致的问题如何解决?

是不是projection的长宽比例没有设置好?

69

主题

335

帖子

343

积分

中级会员

Rank: 3Rank: 3

积分
343
QQ
发表于 2004-5-22 15:49:00 | 显示全部楼层

Re:全屏模式的长宽比列不一致的问题如何解决?

在D3D模式下,可以设置屏幕的纵横比例
如果是在D3D中可以通过修改D3DXMatrixPerspectiveFovLH函数的第三个参数来改变屏幕的纵横比例,比如当你的屏幕为1024*768时,把参数修改为1024/768,那么渲染出来就是正方形的,否则就不是正方形。

详细看这里:
http://www.gameres.com/bbs/showthread.asp?threadid=2620

11

主题

53

帖子

53

积分

注册会员

Rank: 2

积分
53
 楼主| 发表于 2004-5-22 23:13:00 | 显示全部楼层

Re: Re:全屏模式的长宽比列不一致的问题如何解决?

thinbug: Re:全屏模式的长宽比列不一致的问题如何解决?

在D3D模式下,可以设置屏幕的纵横比例
如果是在D3D中可以通过修改D3DXMatrixPerspectiveFovLH函数的第三个...


谢谢楼上,比例的问题基本上解决了,我用c#,但是现在好象透视焦距还是有问题,我的代码如下:

float proportion=(float)(1024.0/768.0);
device.Transform.World = Matrix.RotationY(Environment.TickCount/1000.0f );
device.Transform.View = Matrix.LookAtLH(new Vector3( -500.0f,0.0f,0.0f),new Vector3(0.0f, 0.0f, 0.0f),new Vector3(0.0f, 1.0f, 0.0f ));
device.Transform.Projection = Matrix.PerspectiveFovLH( (float)(Math.PI / 4), proportion,1.0f, 1024.0f );

能告诉后两个参数应该如何设置么?尤其是倒数第二个参数?

sf_2004522231344.jpg

11

主题

53

帖子

53

积分

注册会员

Rank: 2

积分
53
 楼主| 发表于 2004-5-22 23:16:00 | 显示全部楼层

Re: Re:全屏模式的长宽比列不一致的问题如何解决?

thinbug: Re:全屏模式的长宽比列不一致的问题如何解决?

在D3D模式下,可以设置屏幕的纵横比例
如果是在D3D中可以通过修改D3DXMatrixPerspectiveFovLH函数的第三个...


如果倒数第二个参数设成负数,则模型不可见,如果设成0,则模型显示不正常,如图:

sf_2004522231651.jpg

11

主题

53

帖子

53

积分

注册会员

Rank: 2

积分
53
 楼主| 发表于 2004-5-22 23:18:00 | 显示全部楼层

Re: Re: Re:全屏模式的长宽比列不一致的问题如何解决?

3dmax中同一模型的渲染效果:

sf_2004522231845.jpg

50

主题

992

帖子

1012

积分

金牌会员

Rank: 6Rank: 6

积分
1012
发表于 2004-5-23 21:55:00 | 显示全部楼层

Re:全屏模式的长宽比列不一致的问题如何解决?

最后两个参数用来设置远、近剪切面的,也就是摄像机最近和最远能看到哪。倒数第二个参数是最近剪切面参数,不能设成负的,也不能设成0.0f(因为D3D中没有对零剪切面的判断),如果需要比较近的剪切面可以把这个参数设成比较小的正数,如:0.001f
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-1 05:55

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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