[PyOpenGL-Users] glGet issues
Brought to you by:
mcfletch
From: Tomasz W. <ko...@gm...> - 2013-02-07 14:30:26
|
Hello, I've noticed that this call: out = GL.glGetTexParameteriv(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_SWIZZLE_B) raises: KeyError: ('Unknown specifier GL_TEXTURE_SWIZZLE_B (0x8E44)', 'Failure in cConverter <OpenGL.converters.SizedOutput object at 0x02F8A300>', (GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_B), 2, <ctypes.glGetTexParameteriv object at 0x02F9D238>) This is probably because the list of parameter sizes hardcoded in glget.h is a bit out-of-date: TEX_PARAMETER_SIZES = { simple.GL_TEXTURE_MAG_FILTER: (1,), simple.GL_TEXTURE_MIN_FILTER: (1,), simple.GL_TEXTURE_WRAP_S: (1,), simple.GL_TEXTURE_WRAP_T: (1,), simple.GL_TEXTURE_BORDER_COLOR: (4,), simple.GL_TEXTURE_PRIORITY: (1,), simple.GL_TEXTURE_RESIDENT: (1,) } Sadly, I aparrently can't call this function "normally", without the ctypes enhancement: out = ctypes.c_int() GL.glGetTexParameteriv(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_SWIZZLE_B, ctypes.byref(out)) because of: ValueError: glGetTexParameteriv requires 2 arguments (target, pname), received 3: (GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_B, <cparam 'P' (03513AA8)>) Is that a bug? BTW I've also noticed that GL.glGetTexParameteriv(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_S) returns a numpy.int32, not opengl.constant.IntConstant - is it intended? Regards, -- Kos |