Well, In fact I dont know anything about glColorTable as I have never used it however can I ask you why do you post this question in OpenGL Shading language forum? Maybe you would receive better answers in some other forum.
Support for GL_EXT_paletted_texture is very limited; it is supported on many NVIDIA chipsets EXCEPT the more recent NV4x. Thus, whether the author of the original post intended or not, the topic is somewhat relevant to this forum because a very simple fragment shader can achieve the same effect as GL_EXT_paletted_texture.
Compile and bind the following program, and set the values of ‘tex’ and ‘palette’ to the numbers of the texture units that hold your indexed texture (2-D) and colour table (1-D), respectively.
Originally posted by mabraham:
gl_FragColor = gl_Color * texture1D( palette, texture2D( tex, gl_TexCoord[ 0 ].st ).r );
This will only work if point filtering is enabled for both textures. Unless I am mistaken the paletized textures have the lookup done before any filtering is applied.