1

我想打印我的 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
}
4

1 回答 1

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( ... );
于 2013-02-11T20:12:29.020 回答