Python 为什么这个八角形没有';窗户不合适吗?

Python 为什么这个八角形没有';窗户不合适吗?,python,pyglet,orthographic,Python,Pyglet,Orthographic,我试图创建一个八角形: import pyglet from pyglet.gl import * class mywindow(pyglet.window.Window): def __init__(self,*args,**kwargs): super().__init__(*args,**kwargs) self.set_minimum_size(300,300) def on_draw(self): self.cle

我试图创建一个八角形:

import pyglet
from pyglet.gl import *

class mywindow(pyglet.window.Window):
    def __init__(self,*args,**kwargs):
        super().__init__(*args,**kwargs)
        self.set_minimum_size(300,300)

    def on_draw(self):


        self.clear()    
        glBegin(GL_POLYGON)
        glColor3ub(255,0,0)
        glVertex2f(0,0)
        glVertex2f(1.0,0)
        glVertex2f(1.5,0.5)
        glVertex2f(1.5,1.5)
        glVertex2f(1.0,2.0)
        glVertex2f(0,2.0)
        glVertex2f(-0.5,1.5)
        glVertex2f(-0.5,0.5)
        glEnd()

    def on_resize(self, width, height):
        glViewport(10,10, width, height)
window = mywindow(300,300,"deneme",True)
pyglet.app.run()
一切似乎都很好。但当我运行此代码时,我看到以下输出:
知道如何修复它吗?

大部分八角形都不在视口中。默认情况下,视口的左下角坐标为(-1,-1),右上角坐标为(1,1)。
可以通过以下方式设置正交投影矩阵以更改投影面积(分别为体积):

类mywindow(pyglet.window.window):
# [...]
def on_调整大小(自身、宽度、高度):
glViewport(0,0,宽度,高度)
glMatrixMode(GL_投影)
glLoadIdentity()
格洛托(-3,3,-3,3,-1,1)
glMatrixMode(GLU模型视图)
glLoadIdentity()

您的多边形太大了! 将坐标除以10:

glVertex2f(0,0)
glVertex2f(0.1,0)
glVertex2f(0.15,0.05)
glVertex2f(0.15,.15)
glVertex2f(0.1,.2)
glVertex2f(0,0.2)
glVertex2f(-0.05,0.15)
glVertex2f(-0.05,0.05)
你现在可以看到你的八角形了