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

`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 glGetProgram), 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 glGetProgram with the value `GL_ATTACHED_SHADERS`.

## Notes

`glGetAttachedShaders` is available only if the GL version is 2.0 or greater.

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

`GL_INVALID_OPERATION` is generated if glGetAttachedShaders is executed between the execution of glBegin and the corresponding execution of glEnd.

## Associated Gets

glGetProgram with argument `GL_ATTACHED_SHADERS`

glIsProgram

## See Also

glAttachShader, glDetachShader

.

## Copyright

Copyright 2003-2005 3Dlabs Inc. Ltd. 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/.