2003-2005
3Dlabs Inc. Ltd.
2010-2014
Khronos Group
glGetAttachedShaders
3G

# glGetAttachedShaders

Returns the handles of the shader objects attached to a program object

## C Specification

            void glGetAttachedShaders
            GLuint program
            GLsizei maxCount
            GLsizei *count
            GLuint *shaders

## Parameters

`program`

  Specifies the program object to be queried.

`maxCount`

  Specifies the size of the array for storing the returned object names.

`count`

  Returns the number of names actually returned in `shaders`.

`shaders`

  Specifies an array that is used to return the names of attached shader objects.

## Description

`glGetAttachedShaders` returns the names of the shader objects attached to `program`. The names of shader objects that are attached to `program` will be returned in `shaders.` The actual number of shader names written into `shaders` is returned in `count.` If no shader objects are attached to `program`, `count` is set to 0. The maximum number of shader names that may be returned in `shaders` is specified by `maxCount`.

If the number of names actually returned is not required (for instance, if it has just been obtained by calling glGetProgramiv), a value of `NULL` may be passed for count. If no shader objects are attached to `program`, a value of 0 will be returned in `count`. The actual number of attached shaders can be obtained by calling glGetProgramiv with the value `GL_ATTACHED_SHADERS`.

## Errors

`GL_INVALID_VALUE` is generated if `program` is not a value generated by OpenGL.

`GL_INVALID_OPERATION` is generated if `program` is not a program object.

`GL_INVALID_VALUE` is generated if `maxCount` is less than 0.

## Associated Gets

glGetProgramiv with argument `GL_ATTACHED_SHADERS`

glIsProgram

## API Version Support

glGetAttachedShaders

## See Also

glAttachShader, glDetachShader.

## Copyright

Copyright 2003-2005 3Dlabs Inc. Ltd. Copyright 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.