## Name

glIsShader — Determines if a name corresponds to a shader object

## C Specification

`GLboolean glIsShader(` | GLuint shader`)`;

## Parameters

`shader`

  Specifies a potential shader object.

## Description

`glIsShader` returns `GL_TRUE` if `shader` is the name of a shader object previously created with glCreateShader and not yet deleted with glDeleteShader. If `shader` is zero or a non-zero value that is not the name of a shader object, or if an error occurs, `glIsShader` returns `GL_FALSE`.

## Notes

No error is generated if `shader` is not a valid shader object name.

A shader object marked for deletion with glDeleteShader but still attached to a program object is still considered a shader object and `glIsShader` will return `GL_TRUE`.

## Associated Gets

glGetAttachedShaders with a valid program object

glGetShader with arguments `shader` and a parameter to be queried

glGetShaderInfoLog with argument `object`

glGetShaderSource with argument `object`

## Version Support

| OpenGL Version
--- | ---
Function / Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5
`glIsShader` | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔

## See Also

glAttachShader, glCompileShader, glCreateShader, glDeleteShader, glDetachShader, glLinkProgram, glShaderSource

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