/////////////////////////////////////////////////////////////////////////////// // glInfo.h // ======== // get GL vendor, version, supported extensions and other states using glGet* // functions and store them glInfo struct variable // // To get valid OpenGL infos, OpenGL rendering context (RC) must be opened // before calling glInfo::getInfo(). Otherwise it returns false. // // AUTHOR: Song Ho Ahn (song.ahn@gmail.com) // CREATED: 2005-10-04 // UPDATED: 2013-03-06 // // Copyright (c) 2005-2013 Song Ho Ahn /////////////////////////////////////////////////////////////////////////////// #ifndef GLINFO_H #define GLINFO_H #include #include // struct variable to store OpenGL info struct glInfo { std::string vendor; std::string renderer; std::string version; std::string glslVersion; std::vector extensions; int redBits; int greenBits; int blueBits; int alphaBits; int depthBits; int stencilBits; int maxTextureSize; int maxLights; int maxAttribStacks; int maxModelViewStacks; int maxProjectionStacks; int maxClipPlanes; int maxTextureStacks; // ctor, init all members glInfo() : redBits(0), greenBits(0), blueBits(0), alphaBits(0), depthBits(0), stencilBits(0), maxTextureSize(0), maxLights(0), maxAttribStacks(0), maxModelViewStacks(0), maxClipPlanes(0), maxTextureStacks(0) {} void getInfo(unsigned int param=0); // extract info void printSelf(); // print itself bool isExtensionSupported(const std::string& ext); // check if a extension is supported }; #endif