gpt4 book ai didi

python - Pyglet 中的比例分辨率

转载 作者:行者123 更新时间:2023-11-28 22:03:43 31 4
gpt4 key购买 nike

我正在使用 pyglet (OpenGL) 库,我希望能够在不改变窗口大小的情况下改变虚拟分辨率。例如,一个 2x2 的框将在屏幕上绘制为 4x4 像素。我知道我可以找到正在绘制的所有内容并单独对其进行缩放,但这可能会很昂贵。我无法在线找到此解决方案(如果它存在的话),因此将不胜感激。澄清:我在考虑大多数游戏的分辨率设置。窗口以相同大小保持全屏显示,但比例发生变化。

最佳答案

您需要导入 openGL 才能使用缩放功能:

from pgylet.gl import *

接下来,在您的游戏窗口初始化后输入以下代码:

#These arguments are x, y and z respectively. This scales your window.
glScalef(2.0, 2.0, 2.0)

此时您的分辨率将翻倍,但您的窗口将保持相同大小。您可以通过将窗口的宽度和高度加倍来轻松纠正此问题。此外,你的纹理会显得模糊,所以我们需要解决这个问题。我们需要在 on_draw() 函数中为纹理设置参数:

def on_draw(self):
self.clear() #clears the screen
#The following two lines will change how textures are scaled.
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST)
self.label.draw() #blits the label to the screen

您现在应该让像素以原始大小的两倍显示。

关于python - Pyglet 中的比例分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8556589/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com