22 #pragma warning( push )
24 #pragma warning(disable : 4251 )
141 TypeInfo(
const std::string& aType,
const std::string& aName,
142 const std::string& aValue = std::string(),
143 const std::string& aSize = std::string()) {
146 this->value = aValue;
156 static void getActiveUniforms(GLuint program, std::vector<TypeInfo>& uniforms,
bool withValues);
162 static GLint _videoMemorySizeInMB;
163 static GLint _maxGLTextureSize;
164 static GLint _maxGLTextureSize3D;
165 static GLint _maxTextureImageUnits;
166 static GLint _maxVertexAttributes;
167 static GLint _maxVaryingFloats;
168 static GLint _maxSmoothLineWidth;
169 static GLint _maxClipPlanes;
170 static GLint _maxLights;
171 static bool _supportsRenderTo3DTexture;
172 static bool _supports10Bit;
173 static bool _isMesaSoftwareRenderer;
175 static void queryCapabilities();
176 static void detect10BitCapability();
177 static void queryVideoMemorySize();
181 static bool hardwareSupports10BitContext();
183 static std::string getGLString(
int name);
185 static std::string _vendor;
186 static std::string _renderer;
187 static std::string _version;
194 #pragma warning( pop )
MeVis OpenGL Information Interface (Singleton)
static bool supportsPBO()
Returns whether PixelBufferObjects are supported.
static std::string uniformTypeToString(GLenum type)
Returns the uniform type as string.
static std::string getUniformValue(GLint program, GLint uniform, GLenum type)
Returns the uniform value as string.
static GLint getMaxLights()
Returns the maximum number of lights.
static GLint getMaxSmoothLineWidth()
Returns the maximum size of a supported smooth line width.
static void disableAllLights()
Disables all lights (needs a valid OpenGL context!).
static GLint getMaxTextureImageUnits()
Returns the maximum available texture units (using GL_MAX_TEXTURE_IMAGE_UNITS).
static bool init()
Initializes the OpenGL information and GLEW, returns true if everything is ok.
static const std::string & getVendorString()
Returns the OpenGL vendor string.
static void disableAllClipPlanes()
Disables all clip planes (needs a valid OpenGL context!).
static const std::string & getVersionString()
Return the OpenGL version string.
static bool supports10Bit()
Returns whether the OpenGL driver supports visible 10-bit OpenGL contexts.
static GLint getVideoMemorySizeInMB()
Returns the maximum available video memory size in MB.
static const char * internalFormatToString(GLuint format)
Returns the internal GL format as string;.
static GLint getMaxVertexAttributes()
Returns the maximum available vertex attributes (using GL_MAX_VERTEX_ATTRIBS).
static bool supportsRenderTo3DTexture()
Returns whether rendering to 3D textures is supported by FrameBufferObjects.
static GLint getMaxClipPlanes()
Returns the maximum number of clip planes.
static GLint getMaxVaryingFloats()
Returns the maximum available varying floats (using GL_MAX_VARYING_FLOATS).
static bool isMesaSoftwareRenderer()
Returns whether the OpenGL driver is the Mesa software renderer (typically llvmpipe).
static GLint getMaxTextureSize3D()
Returns the maximum 3D texture size (using GL_MAX_3D_TEXTURE_SIZE).
static bool isSupported(const char *extension)
Checks whether the given extension is supported.
static const std::string & getRendererString()
Returns the OpenGL driver string.
static GLint getMaxTextureSize()
Returns the maximum 2D texture size (using GL_MAX_TEXTURE_SIZE).
static void getActiveUniforms(GLuint program, std::vector< TypeInfo > &uniforms, bool withValues)
Returns the active uniforms from a shader.
static void clearTextureUnitsAndShaders()
This method binds the 0 target to all texture units and ARB/GLSL shaders.
#define ML_OPENGL_END_NAMESPACE
Closes the namespace for all ML code after the usage of ML_UTILS_START_NAMESPACE.
#define ML_OPENGL_START_NAMESPACE
Macro to put all following code into the namespace ML_NAMESPACE to avoid collisions with symbols of o...
Struct to store infos about a type, e.g., about a uniform.
TypeInfo(const std::string &aType, const std::string &aName, const std::string &aValue=std::string(), const std::string &aSize=std::string())