Class ARBProgramInterfaceQuery

java.lang.Object
org.lwjgl.opengl.ARBProgramInterfaceQuery

public class ARBProgramInterfaceQuery extends Object
Native bindings to the ARB_program_interface_query extension.

This extension provides a single unified set of query commands that can be used by applications to determine properties of various interfaces and resources used by program objects to communicate with application code, fixed-function OpenGL pipeline stages, and other programs. In unextended OpenGL 4.2, there is a separate set of query commands for each different type of interface or resource used by the program. These different sets of queries are structured nearly identically, but the queries for some interfaces have limited capability (e.g., there is no ability to enumerate fragment shader outputs).

With the single set of query commands provided by this extension, a consistent set of queries is available for all interfaces, and a new interface can be added without having to introduce a completely new set of query commands. These queries are intended to provide a superset of the capabilities provided by similar queries in OpenGL 4.2, and should allow for the deprecation of the existing queries.

This extension defines two terms: interfaces and active resources. Each interface of a program object provides a way for the program to communicate with application code, fixed-function OpenGL pipeline stages, and other programs. Examples of interfaces for a program object include inputs (receiving values from vertex attributes or outputs of other programs), outputs (sending values to other programs or per-fragment operations), uniforms (receiving values from API calls), uniform blocks (receiving values from bound buffer objects), subroutines and subroutine uniforms (receiving API calls to indicate functions to call during program execution), and atomic counter buffers (holding values to be manipulated by atomic counter shader functions). Each interface of a program has a set of active resources used by the program. For example, the resources of a program's input interface includes all active input variables used by the first stage of the program. The resources of a program's uniform block interface consists of the set of uniform blocks with at least one member used by any shader in the program.

Requires OpenGL 2.0. Promoted to core in OpenGL 4.3.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Accepted by the pname parameter of GetProgramInterfaceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted by the pname parameter of GetProgramInterfaceiv.
    static final int
    Accepted by the pname parameter of GetProgramInterfaceiv.
    static final int
    Accepted by the pname parameter of GetProgramInterfaceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted in the props array of GetProgramResourceiv.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
    static final int
    Accepted by the programInterface parameter of GetProgramInterfaceiv, GetProgramResourceIndex, GetProgramResourceName, GetProgramResourceiv, GetProgramResourceLocation, and GetProgramResourceLocationIndex.
  • Method Summary

    Modifier and Type
    Method
    Description
    static int
    glGetProgramInterfacei(int program, int programInterface, int pname)
    Queries a property of an interface in a program.
    static void
    glGetProgramInterfaceiv(int program, int programInterface, int pname, int[] params)
    Array version of: GetProgramInterfaceiv
    static void
    glGetProgramInterfaceiv(int program, int programInterface, int pname, IntBuffer params)
    Queries a property of an interface in a program.
    static int
    glGetProgramResourceIndex(int program, int programInterface, CharSequence name)
    Queries the index of a named resource within a program.
    static int
    glGetProgramResourceIndex(int program, int programInterface, ByteBuffer name)
    Queries the index of a named resource within a program.
    static void
    glGetProgramResourceiv(int program, int programInterface, int index, int[] props, int[] length, int[] params)
    Array version of: GetProgramResourceiv
    static void
    glGetProgramResourceiv(int program, int programInterface, int index, IntBuffer props, IntBuffer length, IntBuffer params)
    Retrieves values for multiple properties of a single active resource within a program object.
    static int
    glGetProgramResourceLocation(int program, int programInterface, CharSequence name)
    Queries the location of a named resource within a program.
    static int
    glGetProgramResourceLocation(int program, int programInterface, ByteBuffer name)
    Queries the location of a named resource within a program.
    static int
    glGetProgramResourceLocationIndex(int program, int programInterface, CharSequence name)
    Queries the fragment color index of a named variable within a program.
    static int
    glGetProgramResourceLocationIndex(int program, int programInterface, ByteBuffer name)
    Queries the fragment color index of a named variable within a program.
    static String
    glGetProgramResourceName(int program, int programInterface, int index)
    Queries the name of an indexed resource within a program.
    static String
    glGetProgramResourceName(int program, int programInterface, int index, int bufSize)
    Queries the name of an indexed resource within a program.
    static void
    glGetProgramResourceName(int program, int programInterface, int index, int[] length, ByteBuffer name)
    Array version of: GetProgramResourceName
    static void
    glGetProgramResourceName(int program, int programInterface, int index, IntBuffer length, ByteBuffer name)
    Queries the name of an indexed resource within a program.
    static void
    nglGetProgramInterfaceiv(int program, int programInterface, int pname, long params)
    Unsafe version of: GetProgramInterfaceiv
    static int
    nglGetProgramResourceIndex(int program, int programInterface, long name)
    Unsafe version of: GetProgramResourceIndex
    static void
    nglGetProgramResourceiv(int program, int programInterface, int index, int propCount, long props, int bufSize, long length, long params)
    Unsafe version of: GetProgramResourceiv
    static int
    nglGetProgramResourceLocation(int program, int programInterface, long name)
    Unsafe version of: GetProgramResourceLocation
    static int
    nglGetProgramResourceLocationIndex(int program, int programInterface, long name)
    static void
    nglGetProgramResourceName(int program, int programInterface, int index, int bufSize, long length, long name)
    Unsafe version of: GetProgramResourceName

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait