mirror of
https://github.com/glfw/glfw.git
synced 2025-10-04 21:56:36 +00:00
56 lines
1.6 KiB
C++
56 lines
1.6 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// 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 <string>
|
|
#include <vector>
|
|
|
|
// struct variable to store OpenGL info
|
|
struct glInfo
|
|
{
|
|
std::string vendor;
|
|
std::string renderer;
|
|
std::string version;
|
|
std::string glslVersion;
|
|
std::vector <std::string> 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
|