我想打印GPU中可用的扩展程序和版本信息。
我使用自定义函数检查从NEHE获取的扩展,甚至从官方网站上获取,也不起作用。
我无法让它发挥作用。这里发生了什么?。
#include <windows.h>
#include <GL/freeglut.h>
#include <iostream>
int main(int argc, char **argv)
{
glutInit(&argc, argv);
cout << "test" << GL_VERSION; // WORKS . SHOWS A NUMBER
cout << glGetString(GL_VERSION); // DOESN´T WORK. Shows nothing, but continues
if (glutExtensionSupported("GL_NV_bindless_texture"))
cout << "YES"; // NEVER GETS PRINTED, DOESN´T MATTER WHICH EXTENSION I CHOOSE
char* extensiones = (char*)glGetString(GL_EXTENSIONS);
cout << extensiones; // DOESN´T WORK NEITHER
}
答案 0 :(得分:2)
glutInit(&argc, argv);
这不会创建像glGetString()
这样的东西需要正确操作的OpenGL上下文。
你需要一路走下去并创建一个窗口:
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_RGBA | GLUT_DOUBLE );
glutCreateWindow( "Window" );
// you can use GL functions below here
glutExtensionSupported( ... );
glGetString( ... );