Class GLWrapper.Shader

java.lang.Object
org.boxutil.define.GLWrapper.Shader
Direct Known Subclasses:
GLWrapper.Shader.Comp, GLWrapper.Shader.Frag, GLWrapper.Shader.Geom, GLWrapper.Shader.Tess, GLWrapper.Shader.Vert
Enclosing class:
GLWrapper

  • Field Details

    • GL_TRUE

      public static final int GL_TRUE
      See Also:
    • GL_FALSE

      public static final int GL_FALSE
      See Also:
    • GL_SHADING_LANGUAGE_VERSION

      public static int GL_SHADING_LANGUAGE_VERSION
    • GL_DELETE_STATUS

      public static int GL_DELETE_STATUS
    • GL_COMPILE_STATUS

      public static int GL_COMPILE_STATUS
    • GL_VALIDATE_STATUS

      public static int GL_VALIDATE_STATUS
    • GL_INFO_LOG_LENGTH

      public static int GL_INFO_LOG_LENGTH
    • GL_SHADER_INCLUDE

      public static int GL_SHADER_INCLUDE
  • Method Details

    • valid

      public static boolean valid()
      Also within GLWrapper.Shader.Vert.valid() and GLWrapper.Shader.Frag.valid(), and glsl 110 supported at least.
    • valid_RectangularMatrix

      public static boolean valid_RectangularMatrix()
      The Uniform type: mat2x3, mat2x4, mat3x2, mat3x4, mat4x2, mat4x3
    • valid_UniformUint

      public static boolean valid_UniformUint()
      Unsigned integer.
    • valid_ProgramParameter

      public static boolean valid_ProgramParameter()
      Valid when OpenGL41/GL_ARB_separate_shader_objects supported, or ARB_geometry_shader4/EXT_geometry_shader4 supported.

      For configure the geometry shader when layout qualifier is not support.

      GL41.glProgramParameteri(int, int, int)

    • valid_Subroutine

      public static boolean valid_Subroutine()
    • valid_UniformDouble

      public static boolean valid_UniformDouble()
    • valid_ProgramUniform

      public static boolean valid_ProgramUniform()
      Set shader program's uniform directly without GL20.glUseProgram(int).
    • valid_ProgramUniformDouble

      public static boolean valid_ProgramUniformDouble()
      Set shader program's uniform directly without GL20.glUseProgram(int).
    • valid_Include

      public static boolean valid_Include()
      Still recommended to use String.replace(CharSequence, CharSequence) even if it was valid.

      ARBShadingLanguageInclude.glNamedStringARB(int, ByteBuffer, ByteBuffer)

      ARBShadingLanguageInclude.glNamedStringARB(int, CharSequence, CharSequence)

      ARBShadingLanguageInclude.glDeleteNamedStringARB(ByteBuffer)

      ARBShadingLanguageInclude.glDeleteNamedStringARB(CharSequence)

      ARBShadingLanguageInclude.glCompileShaderIncludeARB(int, int, ByteBuffer)

      ARBShadingLanguageInclude.glCompileShaderIncludeARB(int, CharSequence[])

      ARBShadingLanguageInclude.glIsNamedStringARB(ByteBuffer)

      ARBShadingLanguageInclude.glIsNamedStringARB(CharSequence)

    • getVersionGLSL

      public static short getVersionGLSL()
      Returns:
      three-digit integer when valid() was true, means the highest supported glsl version on current OpenGL context, otherwise returns 0 if any shader features was unsupported.
    • glShaderSource

      public static void glShaderSource(int shader, ByteBuffer string)
    • glShaderSource

      public static void glShaderSource(int shader, CharSequence string)
    • glShaderSource

      public static void glShaderSource(int shader, CharSequence[] strings)
    • glCreateShader

      public static int glCreateShader(int type)
    • glCompileShader

      public static void glCompileShader(int shader)
    • glDeleteShader

      public static void glDeleteShader(int shader)
    • glCreateProgram

      public static int glCreateProgram()
    • glAttachShader

      public static void glAttachShader(int program, int shader)
    • glDetachShader

      public static void glDetachShader(int program, int shader)
    • glLinkProgram

      public static void glLinkProgram(int program)
    • glUseProgram

      public static void glUseProgram(int program)
    • glDeleteProgram

      public static void glDeleteProgram(int program)
    • glUniform1f

      public static void glUniform1f(int location, float v0)
    • glUniform2f

      public static void glUniform2f(int location, float v0, float v1)
    • glUniform3f

      public static void glUniform3f(int location, float v0, float v1, float v2)
    • glUniform4f

      public static void glUniform4f(int location, float v0, float v1, float v2, float v3)
    • glUniform1i

      public static void glUniform1i(int location, int v0)
    • glUniform2i

      public static void glUniform2i(int location, int v0, int v1)
    • glUniform3i

      public static void glUniform3i(int location, int v0, int v1, int v2)
    • glUniform4i

      public static void glUniform4i(int location, int v0, int v1, int v2, int v3)
    • glUniform1

      public static void glUniform1(int location, FloatBuffer values)
    • glUniform2

      public static void glUniform2(int location, FloatBuffer values)
    • glUniform3

      public static void glUniform3(int location, FloatBuffer values)
    • glUniform4

      public static void glUniform4(int location, FloatBuffer values)
    • glUniform1

      public static void glUniform1(int location, IntBuffer values)
    • glUniform2

      public static void glUniform2(int location, IntBuffer values)
    • glUniform3

      public static void glUniform3(int location, IntBuffer values)
    • glUniform4

      public static void glUniform4(int location, IntBuffer values)
    • glUniformMatrix2

      public static void glUniformMatrix2(int location, boolean transpose, FloatBuffer matrices)
    • glUniformMatrix3

      public static void glUniformMatrix3(int location, boolean transpose, FloatBuffer matrices)
    • glUniformMatrix4

      public static void glUniformMatrix4(int location, boolean transpose, FloatBuffer matrices)
    • glGetShaderi

      public static int glGetShaderi(int shader, int pname)
    • glGetProgrami

      public static int glGetProgrami(int program, int pname)
    • glGetShaderInfoLog

      @NotNull public static String glGetShaderInfoLog(int shader, int maxLength)
    • glGetProgramInfoLog

      @NotNull public static String glGetProgramInfoLog(int program, int maxLength)
    • glGetAttachedShaders

      public static void glGetAttachedShaders(int program, IntBuffer count, IntBuffer shaders)
    • glGetUniformLocation

      public static int glGetUniformLocation(int program, ByteBuffer name)
    • glGetUniformLocation

      public static int glGetUniformLocation(int program, CharSequence name)
    • glUniformMatrix2x3

      public static void glUniformMatrix2x3(int location, boolean transpose, FloatBuffer matrices)
    • glUniformMatrix2x4

      public static void glUniformMatrix2x4(int location, boolean transpose, FloatBuffer matrices)
    • glUniformMatrix3x2

      public static void glUniformMatrix3x2(int location, boolean transpose, FloatBuffer matrices)
    • glUniformMatrix3x4

      public static void glUniformMatrix3x4(int location, boolean transpose, FloatBuffer matrices)
    • glUniformMatrix4x2

      public static void glUniformMatrix4x2(int location, boolean transpose, FloatBuffer matrices)
    • glUniformMatrix4x3

      public static void glUniformMatrix4x3(int location, boolean transpose, FloatBuffer matrices)
    • glUniform1ui

      public static void glUniform1ui(int location, int v0)
    • glUniform2ui

      public static void glUniform2ui(int location, int v0, int v1)
    • glUniform3ui

      public static void glUniform3ui(int location, int v0, int v1, int v2)
    • glUniform4ui

      public static void glUniform4ui(int location, int v0, int v1, int v2, int v3)
    • glUniform1u

      public static void glUniform1u(int location, IntBuffer value)
    • glUniform2u

      public static void glUniform2u(int location, IntBuffer value)
    • glUniform3u

      public static void glUniform3u(int location, IntBuffer value)
    • glUniform4u

      public static void glUniform4u(int location, IntBuffer value)
    • glProgramParameteri

      public static void glProgramParameteri(int program, int pname, int value)
    • glGetSubroutineUniformLocation

      public static int glGetSubroutineUniformLocation(int program, int shadertype, ByteBuffer name)
    • glGetSubroutineUniformLocation

      public static int glGetSubroutineUniformLocation(int program, int shadertype, CharSequence name)
    • glGetSubroutineIndex

      public static int glGetSubroutineIndex(int program, int shadertype, ByteBuffer name)
    • glGetSubroutineIndex

      public static int glGetSubroutineIndex(int program, int shadertype, CharSequence name)
    • glGetActiveSubroutineUniform

      public static void glGetActiveSubroutineUniform(int program, int shadertype, int index, int pname, IntBuffer values)
    • glGetActiveSubroutineUniformi

      public static int glGetActiveSubroutineUniformi(int program, int shadertype, int index, int pname)
    • glUniformSubroutinesu

      public static void glUniformSubroutinesu(int shadertype, IntBuffer indices)
    • glUniform1d

      public static void glUniform1d(int location, double x)
    • glUniform2d

      public static void glUniform2d(int location, double x, double y)
    • glUniform3d

      public static void glUniform3d(int location, double x, double y, double z)
    • glUniform4d

      public static void glUniform4d(int location, double x, double y, double z, double w)
    • glUniform1

      public static void glUniform1(int location, DoubleBuffer value)
    • glUniform2

      public static void glUniform2(int location, DoubleBuffer value)
    • glUniform3

      public static void glUniform3(int location, DoubleBuffer value)
    • glUniform4

      public static void glUniform4(int location, DoubleBuffer value)
    • glUniformMatrix2

      public static void glUniformMatrix2(int location, boolean transpose, DoubleBuffer value)
    • glUniformMatrix3

      public static void glUniformMatrix3(int location, boolean transpose, DoubleBuffer value)
    • glUniformMatrix4

      public static void glUniformMatrix4(int location, boolean transpose, DoubleBuffer value)
    • glUniformMatrix2x3

      public static void glUniformMatrix2x3(int location, boolean transpose, DoubleBuffer value)
    • glUniformMatrix2x4

      public static void glUniformMatrix2x4(int location, boolean transpose, DoubleBuffer value)
    • glUniformMatrix3x2

      public static void glUniformMatrix3x2(int location, boolean transpose, DoubleBuffer value)
    • glUniformMatrix3x4

      public static void glUniformMatrix3x4(int location, boolean transpose, DoubleBuffer value)
    • glUniformMatrix4x2

      public static void glUniformMatrix4x2(int location, boolean transpose, DoubleBuffer value)
    • glUniformMatrix4x3

      public static void glUniformMatrix4x3(int location, boolean transpose, DoubleBuffer value)
    • glProgramUniform1i

      public static void glProgramUniform1i(int program, int location, int v0)
    • glProgramUniform2i

      public static void glProgramUniform2i(int program, int location, int v0, int v1)
    • glProgramUniform3i

      public static void glProgramUniform3i(int program, int location, int v0, int v1, int v2)
    • glProgramUniform4i

      public static void glProgramUniform4i(int program, int location, int v0, int v1, int v2, int v3)
    • glProgramUniform1ui

      public static void glProgramUniform1ui(int program, int location, int v0)
    • glProgramUniform2ui

      public static void glProgramUniform2ui(int program, int location, int v0, int v1)
    • glProgramUniform3ui

      public static void glProgramUniform3ui(int program, int location, int v0, int v1, int v2)
    • glProgramUniform4ui

      public static void glProgramUniform4ui(int program, int location, int v0, int v1, int v2, int v3)
    • glProgramUniform1f

      public static void glProgramUniform1f(int program, int location, float v0)
    • glProgramUniform2f

      public static void glProgramUniform2f(int program, int location, float v0, float v1)
    • glProgramUniform3f

      public static void glProgramUniform3f(int program, int location, float v0, float v1, float v2)
    • glProgramUniform4f

      public static void glProgramUniform4f(int program, int location, float v0, float v1, float v2, float v3)
    • glProgramUniform1

      public static void glProgramUniform1(int program, int location, IntBuffer value)
    • glProgramUniform2

      public static void glProgramUniform2(int program, int location, IntBuffer value)
    • glProgramUniform3

      public static void glProgramUniform3(int program, int location, IntBuffer value)
    • glProgramUniform4

      public static void glProgramUniform4(int program, int location, IntBuffer value)
    • glProgramUniform1u

      public static void glProgramUniform1u(int program, int location, IntBuffer value)
    • glProgramUniform2u

      public static void glProgramUniform2u(int program, int location, IntBuffer value)
    • glProgramUniform3u

      public static void glProgramUniform3u(int program, int location, IntBuffer value)
    • glProgramUniform4u

      public static void glProgramUniform4u(int program, int location, IntBuffer value)
    • glProgramUniform1

      public static void glProgramUniform1(int program, int location, FloatBuffer value)
    • glProgramUniform2

      public static void glProgramUniform2(int program, int location, FloatBuffer value)
    • glProgramUniform3

      public static void glProgramUniform3(int program, int location, FloatBuffer value)
    • glProgramUniform4

      public static void glProgramUniform4(int program, int location, FloatBuffer value)
    • glProgramUniformMatrix2

      public static void glProgramUniformMatrix2(int program, int location, boolean transpose, FloatBuffer value)
    • glProgramUniformMatrix3

      public static void glProgramUniformMatrix3(int program, int location, boolean transpose, FloatBuffer value)
    • glProgramUniformMatrix4

      public static void glProgramUniformMatrix4(int program, int location, boolean transpose, FloatBuffer value)
    • glProgramUniformMatrix2x3

      public static void glProgramUniformMatrix2x3(int program, int location, boolean transpose, FloatBuffer value)
    • glProgramUniformMatrix2x4

      public static void glProgramUniformMatrix2x4(int program, int location, boolean transpose, FloatBuffer value)
    • glProgramUniformMatrix3x2

      public static void glProgramUniformMatrix3x2(int program, int location, boolean transpose, FloatBuffer value)
    • glProgramUniformMatrix3x4

      public static void glProgramUniformMatrix3x4(int program, int location, boolean transpose, FloatBuffer value)
    • glProgramUniformMatrix4x2

      public static void glProgramUniformMatrix4x2(int program, int location, boolean transpose, FloatBuffer value)
    • glProgramUniformMatrix4x3

      public static void glProgramUniformMatrix4x3(int program, int location, boolean transpose, FloatBuffer value)
    • glProgramUniform1d

      public static void glProgramUniform1d(int program, int location, double v0)
    • glProgramUniform2d

      public static void glProgramUniform2d(int program, int location, double v0, double v1)
    • glProgramUniform3d

      public static void glProgramUniform3d(int program, int location, double v0, double v1, double v2)
    • glProgramUniform4d

      public static void glProgramUniform4d(int program, int location, double v0, double v1, double v2, double v3)
    • glProgramUniform1

      public static void glProgramUniform1(int program, int location, DoubleBuffer value)
    • glProgramUniform2

      public static void glProgramUniform2(int program, int location, DoubleBuffer value)
    • glProgramUniform3

      public static void glProgramUniform3(int program, int location, DoubleBuffer value)
    • glProgramUniform4

      public static void glProgramUniform4(int program, int location, DoubleBuffer value)
    • glProgramUniformMatrix2

      public static void glProgramUniformMatrix2(int program, int location, boolean transpose, DoubleBuffer value)
    • glProgramUniformMatrix3

      public static void glProgramUniformMatrix3(int program, int location, boolean transpose, DoubleBuffer value)
    • glProgramUniformMatrix4

      public static void glProgramUniformMatrix4(int program, int location, boolean transpose, DoubleBuffer value)
    • glProgramUniformMatrix2x3

      public static void glProgramUniformMatrix2x3(int program, int location, boolean transpose, DoubleBuffer value)
    • glProgramUniformMatrix2x4

      public static void glProgramUniformMatrix2x4(int program, int location, boolean transpose, DoubleBuffer value)
    • glProgramUniformMatrix3x2

      public static void glProgramUniformMatrix3x2(int program, int location, boolean transpose, DoubleBuffer value)
    • glProgramUniformMatrix3x4

      public static void glProgramUniformMatrix3x4(int program, int location, boolean transpose, DoubleBuffer value)
    • glProgramUniformMatrix4x2

      public static void glProgramUniformMatrix4x2(int program, int location, boolean transpose, DoubleBuffer value)
    • glProgramUniformMatrix4x3

      public static void glProgramUniformMatrix4x3(int program, int location, boolean transpose, DoubleBuffer value)
    • glNamedStringARB

      public static void glNamedStringARB(int type, ByteBuffer name, ByteBuffer string)
    • glNamedStringARB

      public static void glNamedStringARB(int type, CharSequence name, CharSequence string)
    • glDeleteNamedStringARB

      public static void glDeleteNamedStringARB(ByteBuffer name)
    • glDeleteNamedStringARB

      public static void glDeleteNamedStringARB(CharSequence name)
    • glCompileShaderIncludeARB

      public static void glCompileShaderIncludeARB(int shader, int count, ByteBuffer path)
    • glCompileShaderIncludeARB

      public static void glCompileShaderIncludeARB(int shader, CharSequence[] path)
    • glIsNamedStringARB

      public static boolean glIsNamedStringARB(ByteBuffer name)
    • glIsNamedStringARB

      public static boolean glIsNamedStringARB(CharSequence name)