Search code examples
c++openglstdstring

How print out the OpenGl version of a GPU and put it in a string in Opengl and C++?


I need to print out the OpenGL Version of my GPU in an application and then put it in a string.


Solution

  • You can use the following code as an example:

    std::cout << "" << std::endl;
    std::cout << "" << "OpenGL Vendor: " << glGetString(GL_VENDOR) << std::endl;
    std::cout << "" << "OpenGL Renderer: " << glGetString(GL_RENDERER) << std::endl;
    std::cout << "" << "OpenGL Version: " << glGetString(GL_VERSION) << std::endl;
    std::cout << "" << "OpenGL Shading Language Version: " << glGetString(GL_SHADING_LANGUAGE_VERSION) << std::endl;
    std::cout << "" << std::endl;
    
    std::string Vendor(reinterpret_cast<const char*>(glGetString(GL_VENDOR)));
    std::string Renderer(reinterpret_cast<const char*>(glGetString(GL_RENDERER)));
    std::string Version(reinterpret_cast<const char*>(glGetString(GL_VERSION)));
    std::string ShadingLanguageVersion(reinterpret_cast<const char*>(glGetString(GL_SHADING_LANGUAGE_VERSION)));
    
    mystring = "\n";
    mystring = "OpenGL Vendor: " + Vendor + "\n";
    mystring = "OpenGL Renderer : " + Renderer + "\n";
    mystring = "OpenGL Version: " + Version + "\n";
    mystring = "OpenGL Shading Language Version: " + ShadingLanguageVersion + "\n";
    mystring = "\n";
    

    I also recommend this documentation.