logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

glGetSubroutineUniformLocation - retrieve the location of a subroutine uniform of a given shader stage

C Specification

GLintglGetSubroutineUniformLocation(GLuintprogram,GLenumshadertype,constGLchar*name);

Description

glGetSubroutineUniformLocation returns the location of the subroutine uniform variable name in the shader
       stage of type shadertype attached to program, with behavior otherwise identical to
       glGetUniformLocation().

       If name is not the name of a subroutine uniform in the shader stage, -1 is returned, but no error is
       generated. If name is the name of a subroutine uniform in the shader stage, a value between zero and the
       value of GL_ACTIVE_SUBROUTINE_LOCATIONS minus one will be returned. Subroutine locations are assigned
       using consecutive integers in the range from zero to the value of GL_ACTIVE_SUBROUTINE_LOCATIONS minus
       one for the shader stage. For active subroutine uniforms declared as arrays, the declared array elements
       are assigned consecutive locations.

Errors

GL_INVALID_ENUM is generated if shadertype or pname is not one of the accepted values.

       GL_INVALID_VALUE is generated if program is not the name of an existing program object.

Name

       glGetSubroutineUniformLocation - retrieve the location of a subroutine uniform of a given shader stage
       within a program

Parameters

program
           Specifies the name of the program containing shader stage.

       shadertype
           Specifies the shader stage from which to query for subroutine uniform index.  shadertype must be one
           of GL_VERTEX_SHADER, GL_TESS_CONTROL_SHADER, GL_TESS_EVALUATION_SHADER, GL_GEOMETRY_SHADER or
           GL_FRAGMENT_SHADER.

       name
           Specifies the name of the subroutine uniform whose index to query.

See Also

glGetProgram(), glGetActiveSubroutineUniform(), glGetActiveSubroutineUniformName(),
       glGetUniformLocation()

Version Support

       ┌────────────────────────────────┬───────────────────────────────────────────────────────────────────────┐
       │                                │                OpenGLVersion                                         │
       ├────────────────────────────────┼─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┤
       │ Function2.02.13.03.13.23.34.04.14.24.34.44.5 │
       │ /                              │     │     │     │     │     │     │     │     │     │     │     │     │
       │ Feature                        │     │     │     │     │     │     │     │     │     │     │     │     │
       │ Name                           │     │     │     │     │     │     │     │     │     │     │     │     │
       ├────────────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │ glGetSubroutineUniformLocation │  -  │  -  │  -  │  -  │  -  │  -  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       └────────────────────────────────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

See Also