저는 PyOpenGL에서 프레임 버퍼 객체로 작업하려고하고 있으며 자신을 가르치기위한 튜토리얼을 발견했습니다. Python 2.7.3을 사용하는 WinXP 시스템에서 작업하고 PyOpenGL 3.0.2 및 PyOpenGL-accelerate 3.0.2의 바이너리 배포판을 설치했습니다. 그러나 처음에는 문제가 발생한다는 의미에서 fbo 함수가 존재하지 않는다는 오류 메시지가 나타납니다. 모듈을 가져 오기pyopengl 프레임 버퍼
:
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GL.framebufferobjects import *
지금 나에게 사용할 수있는 프레임 버퍼 오브젝트/기능을 가지고 있어야이 내 문제를 재현하는 단계입니다.
fbo = glGenFramebuffers(1)
glBindFramebuffer(GL_FRAMEBUFFER, fbo)
내가 오류를 얻을 :
print glGenFramebuffers
print glBindFramebuffer
내가 전화를 시도하는 경우에, 튜토리얼에 명시된 바와 같이,이 오브젝트의 (인스턴스을), 그러나
<OpenGL.extensions.glGenFramebuffers object at 0x03172260>
<OpenGL.extensions.glBindFramebuffer object at 0x03172120>
을 보여줍니다 :
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)
참으로 거짓을 반환합니다.
내가 뭘 잘못하고 있니? 모든 필요한 프레임 버퍼 라이브러리가 PyOpenGL (-accelerate) 바이너리와 함께 설치되어서는 안됩니까?
나를 도울 수있는 사람에게 미리 감사드립니다.
편집 : 난 그냥 비슷한 문제로, https://stackoverflow.com/questions/12953134/problems-with-frame-buffer-objects-fbos-in-pyopengl을 찾았지만, 당신이 파일을 실행하면 해결책
당신이 튜토리얼 링크를 수없이 프레임 버퍼 객체에 당신은 또한 액세스 권한을 갖는 PyOpenGL의 최신 버전에서
(> = 3.0.2)를 포함 할 필요하지 않는 것 ? – 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 –