python - 如何使用 Opengl 在 pygame 中制作可调整大小的窗口

标签 python opengl pygame viewport pyopengl

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

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)

最佳答案

您必须将视口(viewport)的大小调整为窗口和当前帧缓冲区的大小,通过 glViewport :

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

关于python - 如何使用 Opengl 在 pygame 中制作可调整大小的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64146091/

相关文章:

python - discord.py 重写 : TypeError: cogs must derive from Cog

python - 使用Psychopy和/或PyGame在Python中播放声音

python - 无法使用 Pygame 在同一代码中旋转和移动 Sprite

python pygame 使用 VIDEORESIZE 更新新窗口,但窗口中的项目不更新其新位置

python - 在 Linux/X11 上以编程方式启动独立的 Adob​​e flashplayer

python - 使列宽占用wxPython ListCtrl中的可用空间

python - 为什么将整数转换为字符串,将其切片,然后再转换回整数,这给我带来TypeError吗?

opengl - 在没有矩阵的情况下旋转 3D 矢量 (OpenGL)

opengl - 太阳着色器不工作

opengl - GLU NURBS - 如何设置控制点权重?