Я использую pyopengl с pygame, и я хочу отобразить изображение на квадроцикле. Каждый раз, когда я использовал glGenTextures(1,img)
, он возвращает 0. Я читал о необходимости вызова этой функции в контексте, но я не знаю, как ее установить.PyOpenGL glGenTextures возвращает 0
Вот мой код до недо с помощью glGenTexures:
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>
Как получить glGenTextures для возвращения 1? Я пробовал вызов glGenTexures (1) и попробовал jpg-образ, но ничего не меняет.
Thankyou, я теперь установлен OpenGLContext, (и PyVRML97 и PyDispatcher), но как активировать контекст? Я могу назвать что-либо в частности в моем скрипте перед glGenTextures? Я импортировал OpenGLContext.textures в верхней части моего скрипта - это активирует контекст сам по себе? –
@MattMaich: Хмм, это намиг неудачно. OpenGLContext PyOpenGL напрямую не связан с контекстами OpenGL. Но это своего рода простая библиотека сценографа. Я не знал об этом раньше ... Но в этой статье OpenGLContext предусмотрены различные механизмы создания контекста GL: через перенасыщение через wxwindows и через сам pygame – derhass