我的情况如下。我制作使用固定大小背景的游戏(比如800x600)。当玩家在宽屏显示器上全屏显示时,我会在侧面添加黑条,以确保游戏看起来不会拉伸。
但是,有几种方法可以做到这一点,我想知道什么是最好的方法:
1)找到与显示器的原始宽高比紧密匹配的分辨率,并放大渲染图像以适合高度。例如,我的显示器是1280x800,所以我设置了分辨率,并将图像缩放1.33 - 它需要1066x800但它看起来很好。缺点:按比例放大,但缩放是均匀的(因此像素仍为方形)
2)设置800x600全屏,将宽度缩小0.625,这样渲染的图像看起来不会拉伸。缺点:非均匀缩放。这看起来不错吗?
3)其他东西
您认为最好的方法是什么?
答案 0 :(得分:4)
我也建议您选择1。具体来说,如果可能的话,您希望将显示分辨率保留在本机监视器分辨率中。现在大多数人都在使用LCD显示器,如果输出分辨率与原始显示分辨率不匹配(或者不是一个非常方便的倍数),那么你可能会得到一些可怕的人工制品和模糊。所以一定要从原始分辨率开始,找出较小的尺寸(可能是高度,因为宽屏是暴风雨)和侧面的药盒。你肯定想保持正方形像素。您甚至可以找到(取决于您的游戏资产和输出之间的大小比率),如果您缩小比例,您可以获得更好的结果。
答案 1 :(得分:3)
解决方案1)对我来说听起来最好(易于实施且性能明智)。
您还可以使用固定大小的纹理(800x600)渲染游戏,然后将四边形(两个屏幕对齐的三角形)渲染到原始屏幕分辨率,正好在中间,启用纹理并固定 - 大小纹理绑定到管道。
答案 2 :(得分:1)
在这方面真的没有多少经验,但重要的是整个背景是否可见?如果没有,那么如何缩放它就像在窗口中使用背景一样:填充屏幕和剪辑边缘到底部和顶部(或左右)。这样,图像的宽高比也不会搞砸。
如果质量不好,那么拥有更大的图像并缩小比例呢?应该比至少扩大规模更好的质量。
答案 3 :(得分:0)
Mhn ...据我所知,大多数驱动程序已经完成了此操作,无需特殊编码。 (至少英特尔拥有它,并且完美运行。它有三种模式,拉伸不受限制,拉伸保持纵横比(黑色条带),居中(不拉伸))
无论如何,如果你需要编码它更喜欢统一缩放,否则你会得到不好的结果。 :P