2

我正在制作一个分屏游戏。当我渲染每个分屏时,屏幕边界之外有一些重叠。

屏幕会说 10x10 瓷砖大。如果向右移动半个图块,假设分屏视图居中,现在屏幕上显示的左右边缘有半个图块。

但是,我无法渲染半个图块,因此会渲染整个图块。我必须渲染一个额外的瓷砖(我实际上渲染了 12 以使其更容易),以便在您移动时,边缘没有黑色间隙。

如果分屏是屏幕的全尺寸,则此重叠不是问题。但是,如果您并排渲染两个分屏,如果有任何位超出线外,则最后绘制的那个将与另一个重叠,例如可见半图块的另一半。

我认为解决方案是将每个分屏渲染为纹理,并将纹理绘制到屏幕上,裁剪掉与边界重叠的位。

我想不出为什么会有很多与此相关的性能开销,因为它将一个纹理渲染到屏幕上而没有效果转换。但我想知道我是否弄错了,也许这会大大减慢游戏速度。

有没有更好的解决方案,或者这个应该没问题?

4

1 回答 1

1

一般来说,这应该可以忽略不计。我曾经使用过的所有图形硬件都会渲染到视频内存中的交替缓冲区。将渲染目标设置为内存中的任意纹理通常同样容易。然后,唯一的开销是将纹理复制到渲染缓冲区的操作。不是零时间,但肯定很少。如果你比我聪明得多,你也许可以将标准渲染缓冲区的片段视为纹理,并避免复制。但是,我当然不是未指定、任意或虚构图形系统方面的专家,所以我想如果没有更多信息,我不应该这么冒昧;)

于 2012-03-05T22:40:28.943 回答