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