Python gldrawpixels在pyopengl上没有绘制任何东西?

Python gldrawpixels在pyopengl上没有绘制任何东西?,python,pygame,pixel,pyopengl,gldrawpixels,Python,Pygame,Pixel,Pyopengl,Gldrawpixels,我创建像素缓冲区,用glDrawPixels绘制。代码运行正常,pygame窗口显示。但没有什么可以画的,只有一个空白的白色窗口。即使我改变缓冲区的值,它也不会画任何东西 import pygame from OpenGL.GL import * #initiliaze pixel buffers buffer = bytearray(800 * 600 * 3) for i in range(800 * 600 * 3): buffer[i] = 25 def main():

我创建像素缓冲区,用glDrawPixels绘制。代码运行正常,pygame窗口显示。但没有什么可以画的,只有一个空白的白色窗口。即使我改变缓冲区的值,它也不会画任何东西

import pygame

from OpenGL.GL import *

#initiliaze pixel buffers
buffer = bytearray(800 * 600 * 3)

for i in range(800 * 600 * 3):
    buffer[i] = 25

def main():
    pygame.init()
    display = (800,600)
    pygame.display.set_mode(display, pygame.DOUBLEBUF| pygame.OPENGL)

    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()

        glClear(GL_COLOR_BUFFER_BIT)
        glDrawPixels(800, 600, GL_RGB, GL_UNSIGNED_BYTE, buffer)
        pygame.time.wait(10)

main()


有什么帮助吗?

您没有按更新显示。当显示为
OPENGL
显示时,将执行缓冲区交换:

导入pygame
从OpenGL.GL导入*
WindowsSize=(800600)
#用红色创建800x600缓冲区
缓冲区=字节数组(WindowsSize[0]*WindowsSize[1]*3)
对于范围内的i(WindowsSize[0]*WindowsSize[1]):
缓冲区[i*3]=255
缓冲区[i*3+1]=0
缓冲区[i*3+2]=0
def main():
pygame.init()
#创建“OPENGL”,显示“DOUBLEBUF”
pygame.display.set_模式(WindowsSize,pygame.DOUBLEBUF | pygame.OPENGL)
尽管如此:
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
pygame.quit()
退出
#设置黑色清除颜色并清除颜色平面
glClearColor(0,0,0,1)
glClear(GLU颜色缓冲位)
#绘制缓冲区以显示
glDrawPixels(*窗口大小,GL_RGB,GL_无符号字节,缓冲区)
#更新显示
pygame.display.flip()#