首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DirectX9独立解析

DirectX9独立解析
EN

Stack Overflow用户
提问于 2013-03-20 08:27:45
回答 2查看 426关注 0票数 0

如何更改分辨率并将整个游戏扩展到新的分辨率?我希望我的游戏有一个基本的分辨率,当我改变它以扩展到新的分辨率时。我看到了一些类似的问题,但所有的答案都建议我应该改变表示参数。如果我这样做,我的屏幕分辨率会改变,但我的所有其他对象保持相同的大小,并在错误的位置绘制。

我使用LPD3DXSPRITE对象将纹理、一些DirectX文本和定义如下的顶点绘制到屏幕上:

代码语言:javascript
运行
复制
#define D3DFVF_VERTEX (D3DFVF_XYZRHW | D3DFVF_DIFFUSE)

我试图将D3DXSPRITE_OBJECTSPACE放在sprite->Begin()中,并尝试使用投影、视图和世界矩阵,但没有成功。

有没有人能告诉我这种方法是否可行,我该怎么做?我还读到了另一种方法,它建议渲染到表面,然后拉伸表面,但我不知道如何实现。我是DirectX的初学者。我在谷歌上搜索了第二种方法,但我找不到解释它的人,我也不认为我能从精灵绘制到曲面。

编辑:

我设法使用CreateRenderTarget、SetRenderTarget和StretchRect方法做到了这一点,首先打印到一个表面,然后在后台缓冲区上拉伸它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-21 00:57:45

我设法使用CreateRenderTarget、SetRenderTarget和StretchRect方法做到了这一点,首先打印到一个表面,然后在后台缓冲区上拉伸它。

票数 0
EN

Stack Overflow用户

发布于 2013-03-20 12:45:50

可以通过使用DIPs (独立于设备的像素或独立于设备的单位)来测量坐标而不是物理像素来实现此目的。您还必须将您的游戏标记为DPI感知,以便当您更改分辨率时,操作系统不会缩放您的UI。有关DPI的更多信息,请参阅this article

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15513086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档