[PyOpenGL-Users] bug in glDrawBuffers?
Brought to you by:
mcfletch
From: Gijs <in...@bo...> - 2009-02-15 16:48:30
|
Hello List, I am trying to use glDrawBuffers to render to multiple textures using shaders. However, I'm running into a problem (otherwise I wouldn't be posting here ofcourse :) ). When I call glDrawBuffers with *any* buffer-type, it fails with the following error: File "/Library/Python/2.5/site-packages/OpenGL/platform/baseplatform.py", line 275, in __call__ return self( *args, **named ) File "/Library/Python/2.5/site-packages/OpenGL/error.py", line 194, in glCheckError baseOperation = baseOperation, OpenGL.error.GLError: GLError( err = 1280, description = 'invalid enumerant', baseOperation = glDrawBuffers, cArguments = ( 1, [ GL_COLOR_ATTACHMENT0_EXT ], ) ) This is ofcourse just an example but I want to use it to enable 8 buffers (the maximum that is supported by my card). When I call glDrawBuffer with GL_COLOR_ATTACHMENT0_EXT it does work so I know it *should* work. I am using python 2.5.1 and Mac OS X 10.5. Below is part of my test-render code for 3 buffers: glUseProgram(p_multiple_output) glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, b_multiple_output) glActiveTexture(GL_TEXTURE0) glBindTexture(GL_TEXTURE_RECTANGLE_ARB, int(input_images[0])) glActiveTexture(GL_TEXTURE1) glBindTexture(GL_TEXTURE_RECTANGLE_ARB, int(input_images[1])) glActiveTexture(GL_TEXTURE2) glBindTexture(GL_TEXTURE_RECTANGLE_ARB, int(input_images[2])) glActiveTexture(GL_TEXTURE0) drawingBuffers = list([GL_COLOR_ATTACHMENT0_EXT, GL_COLOR_ATTACHMENT1_EXT, GL_COLOR_ATTACHMENT2_EXT]) glDrawBuffers(3, drawingBuffers) glCallList(quadid) Hope someone knows what's going on under the hood. Regards |