glConvolution***()

I just wrote a program using the glConvolution function and vc++6.0 does not seems to like either the these two lines:
glConvolutionFilter2D(…);
and
glEnable(GL_CONVOLUTION_2D);

is it because my opengl libraries does not support the imaging subset. Would linux support it?

Since Windows does not support OpenGL 1.2 (only 1.1 with extensions for much of 1.2), using 1.2 functions is not possible unless the implementation provides the functionality in extensions.

Wich platform supports opengl 1.2 ?

All platforms except Windows… (?)

If you link to mesa (mesa3d.org) you get full OpenGL 1.2 functionality. Nvidia also support most of 1.2 through extensions asa far as I know.

glConvolution is not part of OpenGL 1.2 it is part of the GL_ARB_image extensions. This extension is not supported by any consumer card I know.

Chris

glConvolution is a part of the imaging subset, the imaging subset is a part of OpenGL 1.2. This imaging subset is optional, apart from everything else related to the core OpenGL. If the subset is optional, there must be some way to detect if its there or not, and then you use GL_ARB_imaging.

In other words, you detect the feature through the extension mechanism, but the subset itself is not an extension, it IS a part of OpenGL 1.2.

I’m using some GL_ARB_imaging stuff with VC++6 and extensions on nVidia hardware. You need a late model driver - I think either 10.x or 11.x or later - not sure though. It works fine for me but be warned - it’s not hardware accelerated. There was a recent post in which Matt Craighead said no consumer card for any company would support the imaging subset in hardware. I forget his reasons why (cost, complexity?)

I can only quess, but I think one of the reasons most/all consumer level cards does not have hardware acceleration of the imaging subset is that nearly no consumer level user needs it.