I'm writing an application that has need for a 2D convolution, and so
hoped to use the function glSeparableFilter2DEXT from the module
OpenGL.GL.EXT.convolution. However, when I call
glSeparableFilter2DEXT, I get the following error message which I'd
like to understand:
OpenGL.GL.GLerror: [Errno (1282,)] Dynamic function loading not
implemented/supported on this platform
I believe I get this because the OpenGL library does not implement the
convolution extension (neither GL_EXT_convolution nor GL_ARB_imaging
string appear in the GL_EXTENSIONS list), but I keep tripping over my
hazy understanding of OpenGL version, PyOpenGL version, and various
extension.
Two questions I hope someone can answer:
1. What does the above error mean?
2. How do these facts fit together: The various filter/convolution
operations seem to be defined in the GL_EXT_convolution extension
(True?), but later these and other extensions appear to be under an
umbrella-like extension GL_ARB_imaging (True?), and in a later
version of the OpenGL spec, these operations migrated into the
OpenGL core (True?), but as an optional feature (True?). Can I
tell if a particular implementation (of OpenGL version 1.4 in my
case) provides this function in the core or not by looking at the
GL_EXTENSIONS string? If it does provide SeparableFilter2D, can
PyOpenGL call it or will I trip over a version mismatch since
PyOpenGL supports only up to OpenGL version 1.1?
3. Is it really possible that a several-month-old top-of-the-line
graphics card does not support simple convolutions?
Sorry for the long question 2, but I would dearly like to clear up my
hazy understanding here.
System facts:
Windows XP
Python 2.3,
PyOpenGL 2.0.1.07
OpenGL facts:
GL_RENDERER: RADEON 9800 Pro x86/SSE2
GL_VERSION: 1.4.4103 WinXP Release
Thanks,
Gary Herron
|