Очевидно, что Windows застряла на старой версии OpenGL (1.2?). Попробуйте использовать GLEW или Glee для загрузки необходимого расширения ( GL_ARB_TEXTURE_COMPRESSION в случае glCompressedTexImage2D
). Эти библиотеки загрузят доступные расширения и позволят вам проверить в своем коде, загружено конкретное расширение или нет.
Пример с GLEE:
#include <gl/GLee.h>
if (GLEE_ARB_TEXTURE_COMPRESSION)
{
glCompressedTexImage2D(...);
}
else
{
// the extension is not available, use a different method
}
Обратите внимание, что GLEE не требует от вас его явной инициализации (в отличие от GLEW). Я настоятельно рекомендую этот метод вместо ручной загрузки указателя на функцию. Не потому, что это мой ответ :), а потому, что это также позаботится о том, чтобы выяснить, поддерживает ли аппаратное обеспечение и его драйвер расширение (которое может быть очень грязным), и оно не зависит от платформы.