1991-2006
Silicon Graphics, Inc.
2010-2014
Khronos Group
glGetString
3G

# glGetString

return a string describing the current GL connection

## C Specification

                    const GLubyte* glGetString
                    GLenum name

                    const GLubyte* glGetStringi
                    GLenum name
                    GLuint index

## Parameters

`name`

  Specifies a symbolic constant, one of `GL_EXTENSIONS`, `GL_RENDERER`, `GL_SHADING_LANGUAGE_VERSION`, `GL_VENDOR`, or `GL_VERSION`. `glGetStringi` accepts only the `GL_EXTENSIONS` token.

`index`

  For `glGetStringi`, specifies the index of the string to return.

## Description

`glGetString` returns a pointer to a static string describing some aspect of the current GL connection. `name` can be one of the following:

`GL_EXTENSIONS`

  Returns the extension string supported by the implementation.

`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.

`glGetStringi` returns a pointer to a static string indexed by `index`. `name` can be one of the following:

`GL_EXTENSIONS`

  Returns the extension string supported by the implementation at `index`.

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 begin with a version number. The version number uses one of these forms:

major_number.minor_number 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.

All strings are null-terminated.

## Notes

If an error is generated, `glGetString` returns 0.

The client and server may support different versions. `glGetString` always returns a compatible version number. The release number always describes the server.

There is no defined relationship between the order in which extension names appear in the non-indexed string and the order in which they appear in the indexed query.

There is no defined relationship between any particular extension name and the index values; an extension name may correspond to a different index in different GL contexts and/or implementations.

## Errors

`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`.

## API Version Support

`GetString`
`GetStringi`

## Copyright

Copyright 1991-2006 Silicon Graphics, Inc. Copyright 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.