pygame과 함께 pyopengl을 사용하고 있으며 쿼드에 이미지를 표시하고 싶습니다. glGenTextures(1,img)
을 사용할 때마다 0을 반환합니다. 문맥에서이 함수를 호출해야한다는 내용을 읽었지만 설정하는 방법을 모르겠습니다. 난은 glGenTextures 1을 반환받을 수 있나요 어떻게PyOpenGL glGenTextures가 0을 반환합니다.
import pygame, OpenGL, math, numpy
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU import *
from PIL import Image #have Pillow instead of PIL
img = Image.open('myPixelArt2.bmp')
glGenTextures(1,img)
print glGenTextures(1,img)
print img
0
<PIL.BmpImagePlugin.BmpImageFile image mode=RGB size=64x64 at 0x3A4E9B8>
를 출력 : 여기에
내 코드는 최대 전까지 사용 glGenTexures입니까? glGenTexures (1)을 호출 해 보았습니다. jpg 이미지를 시도했지만 아무 것도 변경하지 않았습니다.
감사합니다, 지금 OpenGLContext, (그리고 PyVRML97 및 PyDispatcher) 설치하지만 어떻게 내가 컨텍스트를 활성화합니까? glGenTextures 전에 스크립트에서 특별히 호출해야합니까? 내 스크립트 상단에 OpenGLContext.textures를 가져 왔습니다. -이 기능으로 컨텍스트가 활성화됩니까? –
@MattMaich : 음, 그 이름은 불행합니다. PyOpenGL의 OpenGLContext는 OpenGL 컨텍스트와 직접적인 관련이 없습니다. 그러나 그것은 단순한 장면 그래프 라이브러리입니다. 그 전에는 그 사실을 알지 못했습니다 ...하지만 OpenGLContext는 다른 GL 컨텍스트 생성 메커니즘을 제공합니다 : glut, wxwindows 및 pygame을 통해 – derhass