GLAPI/glGetString
Core in version | 4.6 | |
---|---|---|
Core since version | 1.0 |
glGetString: return a string describing the current GL connection
Function Definition[edit]
const GLubyte* glGetString(GLenum name); const GLubyte* glGetStringi(GLenum name, GLuint index);
- name
- Specifies a symbolic constant, one of GL_VENDOR, GL_RENDERER, GL_VERSION, or GL_SHADING_LANGUAGE_VERSION. Additionally, glGetStringi accepts the GL_EXTENSIONS token.
- index
- For glGetStringi, specifies the index of the string to return.
Description[edit]
glGetString returns a pointer to a static string describing some aspect of the current GL connection. name can be one of the following:
- GL_VENDOR
Returns the company responsible for this GL implementation. This name does not change from release to release.
- GL_RENDERER
Returns the name of the renderer. This name is typically specific to a particular configuration of a hardware platform. It does not change from release to release.
- GL_VERSION
Returns a version or release number.
- GL_SHADING_LANGUAGE_VERSION
Returns a version or release number for the shading language.
Strings GL_VENDOR and GL_RENDERER together uniquely specify a platform. They do not change from release to release and should be used by platform-recognition algorithms.
The GL_VERSION and GL_SHADING_LANGUAGE_VERSION strings retrieved from glGetString begin with a version number. The version number uses one of these forms:
major_number.minor_number
or
major_number.minor_number.release_number
Vendor-specific information may follow the version number. Its format depends on the implementation, but a space always separates the version number and the vendor-specific information.
glGetStringi returns a pointer to a static string indexed by index. name can be one of the following:
- GL_EXTENSIONS
- For glGetStringi only, returns the extension string supported by the implementation at index. The index index is on the range [0 to glGetIntegerv(GL_NUM_EXTENSIONS) - 1].
- GL_SHADING_LANGUAGE_VERSION
- Returns one of the versions of GLSL supported by this implementation. index is on the range [0 to glGetIntegerv(GL_NUM_SHADING_LANGUAGE_VERSIONS) - 1].
The GL_SHADING_LANGUAGE_VERSION strings retrieved using glGetStringi use the formatting of GLSL's #version declaration. This has the following forms:
number
or
number profile
The profile is only present for versions of GLSL that have this distinction.
Note that GLSL only gained the #version declaration in version 1.10; if an implementation exposes support for GLSL 1.00 (through ARB_shading_language_100), then it will return an empty string ("").
Versions of the GLSL for OpenGL ES can also be supported. If an implementation returns "100", this does not refer to GLSL 1.00. It instead refers to support for OpenGL ES's 2.0's GLSL ES version 1.00. The profile can also be "es", which represents a version of OpenGL ES's shading language. So version "300 es" represents GLSL ES 3.00. GLSL ES 1.00 does not use the "es" profile name.
All strings returned by these functions are null-terminated.
Notes[edit]
If an error is generated, the functions return 0.
The client and server may support different versions. glGetString always returns a compatible version number. The release number always describes the server.
Errors[edit]
GL_INVALID_ENUM is generated if name is not an accepted value.
GL_INVALID_VALUE is generated by glGetStringi if index is outside the valid range for indexed state name.
Copyright[edit]
Copyright © 1991-2006 Silicon Graphics, Inc. Copyright © 2010 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see LicenseRef-FreeB.