【问题标题】:Full screen rendering on widescreen monitors在宽屏显示器上进行全屏渲染
【发布时间】:2010-01-06 19:38:16
【问题描述】:

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

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

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

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

3) 别的东西

你认为最好的方法是什么?

【问题讨论】:

    标签: opengl directx rendering


    【解决方案1】:

    我也会建议您的选项 1。具体来说,如果可能,您希望将显示分辨率保留在本机监视器分辨率中。如今,大多数人都在使用 LCD 显示器,如果输出分辨率与原始显示器分辨率不匹配(或者不是一个非常方便的倍数),那么您可能会得到一些可怕的伪影和模糊。所以一定要从原始分辨率开始,找出较小的尺寸(可能是高度,因为宽屏风靡一时),然后把两边都装上。你肯定想保留方形像素。您甚至可能会发现(取决于您的游戏资产与输出之间的大小比率)如果您缩小比例,您会获得更好的结果。

    【讨论】:

      【解决方案2】:

      解决方案 1) 听起来对我来说是最好的(易于实施且性能明智)。

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

      【讨论】:

        【解决方案3】:

        在这方面并没有太多经验,但是整个背景都可见重要吗?如果没有,如何像在窗口中使用背景一样缩放它:填充屏幕和底部和顶部(或左侧和右侧)外部边缘的剪辑。这样图片的纵横比也不会乱了。

        如果画质很差,是否可以放大图片并缩小尺寸?至少应该比扩大规模更好。

        【讨论】:

          【解决方案4】:

          Mhn...据我所知,大多数驱动程序已经将其作为选项完成,无需特定编码。 (至少 Intel 有它,并且运行良好。它具有三种模式,无限制拉伸、保持纵横比拉伸(带有黑色条带)、居中(不拉伸))

          无论如何,如果您必须编写代码,则更喜欢使用统一缩放,否则您会得到不好的结果。 :P

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-10-24
            • 1970-01-01
            • 1970-01-01
            • 2010-10-19
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多