I have downloaded OpenGL SDK to write a little programme. I tried to use extension “glConvolutionFilter2D/glConvolutionFilter2DEXT”
and I encountered some problems.
I use Visual Studio C++ ver. 6. Even though I included all essential header files
I still get an error:
‘glConvolutionFilter2D’: undeclared identifier
So, I placed my line with “glConvolutionFilter2D” command in one of demo source file included in SDK
The result was the same. Then I’v started to add other GL commands from 1.2 version. Parameter are unimportant.
glColorTable(1, 1, 1, 1, 1, filter);
glCopyColorTable (1, 1, 1, 1, 1);
glGetColorTable (1, 1, 1, filter);
glGetColorTableParameterfv (1, 1, filter);
glGetColorTableParameteriv (1, 1, &kk);
Everything was OK to this command ^^.
‘glColorSubTable’: undeclared identifier.
What do I do wrong?
Looks to me like you have a glext.h that isn’t up to date. I may be wrong here, but one thing I have found, there are a lot of sites with the “current” glext.h which is missing a lot of current extentions.
Maybe then it worth of try to get a function pointer, something like this:
glConvolutionFilter2D = (PFNGLCONVOLUTIONFILTER2DPROC)wglGetProcAddress(“glConvolutionFilter2DEXT”);
Also check if it is available scanning the string returned by glGetString(GL_EXTENSIONS) for the extension name, and check your glext.h if it has the typedefs and declares for it, i.e. it is up to date, repeating 147-2’s words
Thanks for reply 147-2 & matt_weird.
I got latest nVidia SDK, so I think that
the “glext.h” is up-to -date. It looks OK.
It has all lines, even those containing:
Obviously I can define it manually as
matt_weird wrote, but all it’s done in glext.h.
I know that I should check if extension is available.
I’m confused because the compiler doesn’t see
the part of declarations. There are a few declarations
in glext.h. I mean glConvolutionFilter2D and
glConvolutionFilter2DEXT. Maybe that’s the problem.