Опитвам се да работя с обекти на framebuffer в PyOpenGL и намерих някои уроци, за да се науча. Работя на WinXP машина с Python 2.7.3 и току-що инсталирах двоичните дистрибуции на PyOpenGL 3.0.2 и PyOpenGL-accelerate 3.0.2. Въпреки това, директно в началото срещам проблем, в смисъл че получавам съобщение за грешка, че функциите fbo изглежда не съществуват. Това са стъпките за пресъздаване на моя проблем:
Импортиране на модулите:
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GL.framebufferobjects import *
Сега трябва да разполагам с обектите/функциите на буфера на кадрите.
print glGenFramebuffers
print glBindFramebuffer
показва
<OpenGL.extensions.glGenFramebuffers object at 0x03172260>
<OpenGL.extensions.glBindFramebuffer object at 0x03172120>
Въпреки това, ако се опитам да извикам (направя екземпляр) на този обект, както е посочено в урока, с:
fbo = glGenFramebuffers(1)
glBindFramebuffer(GL_FRAMEBUFFER, fbo )
Получавам грешката:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "latebind.pyx", line 31, in OpenGL_accelerate.latebind.LateBind.__call__ (src\latebind.c:645)
File "C:\Python27\lib\site-packages\OpenGL\extensions.py", line 189, in finalise
self.__name__,
OpenGL.error.NullFunctionError: Attempt to call an undefined alternate function (glGenFramebuffers, glGenFramebuffersEXT), check for bool(glGenFramebuffers) before calling
използвайки
bool(glGenFramebuffers)
наистина връща False.
какво правя грешно Не трябва ли да се инсталират всички необходими библиотеки на framebuffer с двоичните файлове на PyOpenGL(-accelerate)?
Благодаря предварително на всеки, който може да ми помогне.
РЕДАКТИРАНЕ: Току-що намерих https://stackoverflow.com/questions/12953134/problems-with-frame-buffer-objects-fbos-in-pyopengl, с подобен проблем, но без решение