easy-gl › ContextInfo

ContextInfo

A plain data struct returned by Capabilities::context_info(). Contains the GL vendor, renderer, version strings, and the extension list.

struct ContextInfo {
    ApiKind                   api      = ApiKind::Unknown;
    int                       major    = 0;
    int                       minor    = 0;
    std::string               vendor;
    std::string               renderer;
    std::string               version_string;
    std::string               shading_language_version;
    std::vector<std::string> extensions;

    bool is_opengl()   const;
    bool is_opengles() const;
};

ApiKind

ValueMeaning
ApiKind::UnknownBefore initialization
ApiKind::OpenGLDesktop OpenGL
ApiKind::OpenGLESOpenGL ES (mobile/embedded)

Printing info

const auto& info = device.capabilities().context_info();

std::cout << "API:      " << (info.is_opengl() ? "OpenGL" : "OpenGL ES") << '\n';
std::cout << "Version:  " << info.major << '.' << info.minor << '\n';
std::cout << "Vendor:   " << info.vendor << '\n';
std::cout << "Renderer: " << info.renderer << '\n';
std::cout << "GLSL:     " << info.shading_language_version << '\n';

std::cout << "Extensions (" << info.extensions.size() << "):\n";
for (const auto& ext : info.extensions)
    std::cout << "  " << ext << '\n';