Python gldrawpixels在pyopengl上没有绘制任何东西?
我创建像素缓冲区,用glDrawPixels绘制。代码运行正常,pygame窗口显示。但没有什么可以画的,只有一个空白的白色窗口。即使我改变缓冲区的值,它也不会画任何东西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():
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()#