@ mario & @Banthar да, спасибо. Сначала я должен создать контекст, чтобы использовать любые функциональные возможности Opengl (да, даже для Opengl 1.1, который поставляется по умолчанию с окнами).
glGetIntegerv не возвращает мусор. glGetIntegerv возвращает либо хорошее значение, либо оно вообще не касается указанного адреса. Причина, по которой вы видите мусор, заключается в том, что переменная не инициализирована. Это похоже на педантичный комментарий, но на самом деле важно знать, что glGetIntegerv не трогает переменную, если она терпит неудачу. Спасибо @ Дэймон
Эта голая кость отлично работает.
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitContextVersion(3,3);
glutInitContextProfile(GLUT_FORWARD_COMPATIBLE);
glutInitContextProfile(GLUT_CORE_PROFILE);
glutCreateWindow("Test");
GLint ExtensionCount;
glGetIntegerv(GL_NUM_EXTENSIONS, &ExtensionCount);
cout << ExtensionCount << endl;
return 0;
}