如何使用 Opengl 在 pygame 中制作可调整大小的 window
How to make a resizeble window in pygame with Opengl
我想使用 Pyopengl 在 pygame 中调整大小 window,并尝试使用此代码
pygame.display.set_mode(display, DOUBLEBUF|OPENGL, RESIZABLE)
或这个
pygame.display.set_mode(display, DOUBLEBUF|OPENGL, pygame.RESIZABLE)
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)
假设您要导入 pygame.locals 它应该是这样的:
pygame.display.set_mode(display, DOUBLEBUF | OPENGL | RESIZABLE)
基本上你所有的display flags都应该用“|”连接(管道)字符。
您必须将视口的大小调整为 window 和当前帧缓冲区的大小,方法是 glViewport
:
glViewport(0, 0, display[0], display[1])
我想使用 Pyopengl 在 pygame 中调整大小 window,并尝试使用此代码
pygame.display.set_mode(display, DOUBLEBUF|OPENGL, RESIZABLE)
或这个
pygame.display.set_mode(display, DOUBLEBUF|OPENGL, pygame.RESIZABLE)
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)
假设您要导入 pygame.locals 它应该是这样的:
pygame.display.set_mode(display, DOUBLEBUF | OPENGL | RESIZABLE)
基本上你所有的display flags都应该用“|”连接(管道)字符。
您必须将视口的大小调整为 window 和当前帧缓冲区的大小,方法是 glViewport
:
glViewport(0, 0, display[0], display[1])