我想與PyOpenGL中的framebuffer對象一起工作,並已發現一些教程來教我自己。我正在使用Python 2.7.3開發一個WinXP機器,我剛安裝了PyOpenGL 3.0.2和PyOpenGL-accelerated 3.0.2的二進制發行版。然而,直接在一開始,我遇到了一個問題,從某種意義上說,我得到的錯誤信息是fbo函數似乎不存在。這是重建我的問題的步驟:pyopengl framebuffer
導入模塊:
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。
我在做什麼錯?不應該將所有必需的幀緩衝區庫與PyOpenGL(-accelerate)的二進制文件一起安裝嗎?
在此先感謝任何能夠幫助我的人。
編輯:我剛剛發現https://stackoverflow.com/questions/12953134/problems-with-frame-buffer-objects-fbos-in-pyopengl,類似的問題,但沒有解決
你能鏈接教程? – Aesthete
http://pyopengl.sourceforge.net/context/tutorials/shadow_2.xhtml 或 http://www.opengl.org/wiki/Framebuffer_Object_Examples#Quick_example.2C_render_to_texture_.282D.29 或 HTTP ://bazaar.launchpad.net/~mcfletch/openglcontext/trunk/view/head:/tests/shadow_2.py –