在宽屏显示器上全屏渲染

问题描述 投票:0回答:5

我的情况如下。我制作使用固定尺寸背景(例如 800x600)的游戏。当玩家在宽屏显示器中全屏显示时,我会在两侧添加黑条,以确保游戏看起来不会被拉伸。

有几种方法可以做到这一点,但我想知道什么是最好的方法:

1) 找到与显示器的原始宽高比紧密匹配的分辨率,并放大渲染图像以适应高度。例如,我的显示器是 1280x800,所以我设置该分辨率,并将图像缩放 1.33 - 它需要 1066x800,但看起来不错。缺点:按比例放大,但缩放是均匀的(因此像素仍然是正方形)

2)设置800x600全屏,宽度缩小0.625,这样渲染的图像看起来没有拉伸。缺点:缩放不均匀。这个好看吗?

3)其他的事情

您认为做到这一点的最佳方法是什么?

opengl directx rendering
5个回答
4
投票

我也建议你选择1。 具体来说,如果可能的话,您希望将显示分辨率保留为本机显示器分辨率。 如今,大多数人都使用 LCD 显示器,如果输出分辨率与本机显示分辨率不匹配(或者不是一个非常方便的倍数),那么您可能会看到一些可怕的伪像和模糊现象。 因此,一定要从原始分辨率开始,找出较小的尺寸(可能是高度,因为宽屏风靡一时)并将侧面封闭起来。 你肯定想保留正方形像素。 您甚至可能会发现(取决于游戏资源和输出之间的大小比例)如果您缩小比例,您会获得更好的结果。


3
投票

解决方案 1) 听起来对我来说是最好的(易于实现和性能)。

您还可以以固定大小的纹理 (800x600) 渲染游戏,然后将四边形(屏幕对齐的两个三角形)渲染到本机屏幕分辨率,就在中间,启用纹理和固定大小的纹理绑定到管道。


1
投票

在这方面确实没有太多经验,但是整个背景可见很重要吗?如果没有,如何像处理窗口中的背景一样缩放它:填充屏幕并剪裁底部和顶部(或左侧和右侧)外面的边缘。这样图像的长宽比也不会混乱。

如果质量不好,是否可以使用更大的图像并按比例缩小?至少质量应该比扩大规模更好。


0
投票

Mhn...据我所知,大多数驱动程序已经将其作为一种选项完成,而不需要特定的编码。 (至少Intel有这个功能,而且工作得很好。它有三种模式,无限制拉伸、保持纵横比拉伸(有黑带)、居中(无拉伸))

无论如何,如果你必须编码,最好使用统一的缩放比例,否则你会得到不好的结果。 :P


0
投票

[威廉去上学][1]

[1]:威廉上学图片https://i.sstatic.net/pzPg1aEf.jpg

© www.soinside.com 2019 - 2024. All rights reserved.