游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4595|回复: 10

像素问题!

[复制链接]

69

主题

335

帖子

343

积分

中级会员

Rank: 3Rank: 3

积分
343
QQ
发表于 2003-11-14 17:36:00 | 显示全部楼层 |阅读模式
在D3D中例如画一个10x10的正方型平面!
如果在800x600的模式下,就变成了长方型,这个问题要怎么解决!

就是以实际的距离来画,不以像素去画。

谢谢!原来在做2d的时候遇到过,现在给忘了。

90

主题

797

帖子

833

积分

高级会员

论坛版主

Rank: 4

积分
833
QQ
发表于 2003-11-14 20:17:00 | 显示全部楼层

Re:像素问题!

像素的大小是一样的,如果是10*10,那一定是正方形,和分辨率没关系亚

69

主题

335

帖子

343

积分

中级会员

Rank: 3Rank: 3

积分
343
QQ
 楼主| 发表于 2003-11-14 21:08:00 | 显示全部楼层

Re:像素问题!

怎么能没关系啊!
你在1024x768模式下,你画一个500x500的矩形,你用肉眼看是不是长方形(因为1024x768本来比例就不同,所以显示出的图象就会变样)

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20468
发表于 2003-11-14 21:49:00 | 显示全部楼层

Re:像素问题!

在D3D模式下,可以设置屏幕的纵横比例。

69

主题

335

帖子

343

积分

中级会员

Rank: 3Rank: 3

积分
343
QQ
 楼主| 发表于 2003-11-14 22:33:00 | 显示全部楼层

Re:像素问题!

哦?怎么设置?
3D的纵横比例怎么设置?


2D那个怎么设置!

2

主题

106

帖子

114

积分

注册会员

Rank: 2

积分
114
QQ
发表于 2003-11-14 23:21:00 | 显示全部楼层

Re:像素问题!

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

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2003-11-14 23:42:00 | 显示全部楼层

Re:像素问题!

linyizsh 说得对,查查 D3DXMatrixPerspectiveFovLH 的用法,第三个参数就是设置横纵比例的。

69

主题

335

帖子

343

积分

中级会员

Rank: 3Rank: 3

积分
343
QQ
 楼主| 发表于 2003-11-14 23:47:00 | 显示全部楼层

Re:像素问题!

??哪里错了,怎么没反映,和原来一样?

        D3DXMATRIX matProj;
    FLOAT fAspect = 1024 / 768;
    D3DXMatrixPerspectiveFovLH( &matProj, D3DX_PI/4, fAspect,
                                 1.0f, 100.0f );
        pDevice->SetTransform( D3DTS_PROJECTION, &matProj );

69

主题

335

帖子

343

积分

中级会员

Rank: 3Rank: 3

积分
343
QQ
 楼主| 发表于 2003-11-15 00:13:00 | 显示全部楼层

Re:像素问题!

哦,这个问题解决了,呵呵
这里搞错了
FLOAT fAspect = 1024 / 768;         //     1024/768 = 1

8

主题

553

帖子

560

积分

高级会员

Rank: 4

积分
560
发表于 2003-11-15 10:27:00 | 显示全部楼层

Re:像素问题!

呵呵,对于float类型,写上个.0f是不会有损失的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-24 06:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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