【问题标题】:How to make a resizeble window in pygame with Opengl如何使用 Opengl 在 pygame 中制作可调整大小的窗口
【发布时间】:2020-09-30 21:36:06
【问题描述】:

我想使用 Pyopengl 在 pygame 中制作可调整大小的窗口,并尝试使用此代码

pygame.display.set_mode(display, DOUBLEBUF|OPENGL, RESIZABLE)

或者这个

pygame.display.set_mode(display, DOUBLEBUF|OPENGL, pygame.RESIZABLE)

不显示可调整大小。这段代码现在可以工作了:

def main():
pygame.init()
display = (800,600)
pygame.display.set_mode(display, DOUBLEBUF|OPENGL, RESIZABLE)
gluPerspective(45, (display[0]/display[1]), 0.1, 500.0) # настройка камеры угол обзора дальняя и ближняя дистанция рендера
clock = pygame.time.Clock()
FPS = 60
angle=0
distance=20
while True:
     ...
pygame.display.flip()
clock.tick(FPS)

【问题讨论】:

    标签: python opengl pygame viewport pyopengl


    【解决方案1】:

    你必须通过glViewport将视口的大小调整为窗口和当前帧缓冲区的大小:

    glViewport(0, 0, display[0], display[1])
    

    【讨论】:

      【解决方案2】:

      假设您正在导入pygame.locals,它应该是这样的:

      pygame.display.set_mode(display, DOUBLEBUF | OPENGL | RESIZABLE)
      

      基本上你所有的display flags 都应该用“|”加入(管道)字符。

      【讨论】:

        猜你喜欢
        • 2013-08-19
        • 1970-01-01
        • 2015-05-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多