Interface MutableUniformAccess

All Superinterfaces:
UniformAccess
All Known Subinterfaces:
PostPipeline, ShaderProgram
All Known Implementing Classes:
BlitPostStage, CompositePostPipeline, CopyPostStage, DepthFunctionPostStage, FramebufferPostStage, MaskPostStage, ShaderProgramImpl

public interface MutableUniformAccess extends UniformAccess
Provides write access to all uniform variables in a shader program.
  • Method Details

    • applyRenderSystem

      default void applyRenderSystem()
      Sets default uniforms based on what RenderSystem provides.
    • setUniformBlock

      void setUniformBlock(CharSequence name, int binding)
      Sets the binding to use for the specified uniform block.
      Parameters:
      name - The name of the block to set
      binding - The binding to use for that block
    • setStorageBlock

      void setStorageBlock(CharSequence name, int binding)
      Sets the binding to use for the specified storage block.
      Parameters:
      name - The name of the block to set
      binding - The binding to use for that block
    • setFloat

      void setFloat(CharSequence name, float value)
      Sets a float in the shader.
      Parameters:
      name - The name of the uniform to set
      value - The value to set
    • setVector

      void setVector(CharSequence name, float x, float y)
      Sets a vector in the shader.
      Parameters:
      name - The name of the uniform to set
      x - The x component of the vector
      y - The y component of the vector
    • setVector

      void setVector(CharSequence name, float x, float y, float z)
      Sets a vector in the shader.
      Parameters:
      name - The name of the uniform to set
      x - The x component of the vector
      y - The y component of the vector
      z - The z component of the vector
    • setVector

      void setVector(CharSequence name, float x, float y, float z, float w)
      Sets a vector in the shader.
      Parameters:
      name - The name of the uniform to set
      x - The x component of the vector
      y - The y component of the vector
      z - The z component of the vector
      w - The w component of the vector
    • setVector

      default void setVector(CharSequence name, org.joml.Vector2fc value)
      Sets a vector in the shader.
      Parameters:
      name - The name of the uniform to set
      value - The value to set
    • setVector

      default void setVector(CharSequence name, org.joml.Vector3fc value)
      Sets a vector in the shader.
      Parameters:
      name - The name of the uniform to set
      value - The value to set
    • setVector

      default void setVector(CharSequence name, org.joml.Vector4fc value)
      Sets a vector in the shader.
      Parameters:
      name - The name of the uniform to set
      value - The value to set
    • setVector

      default void setVector(CharSequence name, float[] values)
      Sets a vector in the shader.
      Parameters:
      name - The name of the uniform to set
      values - The values to set
      Throws:
      UnsupportedOperationException - If the array passed in is empty
    • setInt

      void setInt(CharSequence name, int value)
      Sets an integer in the shader.
      Parameters:
      name - The name of the uniform to set
      value - The value to set
    • setVectorI

      void setVectorI(CharSequence name, int x, int y)
      Sets an integer vector in the shader.
      Parameters:
      name - The name of the uniform to set
      x - The x component of the vector
      y - The y component of the vector
    • setVectorI

      void setVectorI(CharSequence name, int x, int y, int z)
      Sets an integer vector in the shader.
      Parameters:
      name - The name of the uniform to set
      x - The x component of the vector
      y - The y component of the vector
      z - The z component of the vector
    • setVectorI

      void setVectorI(CharSequence name, int x, int y, int z, int w)
      Sets an integer vector in the shader.
      Parameters:
      name - The name of the uniform to set
      x - The x component of the vector
      y - The y component of the vector
      z - The z component of the vector
      w - The w component of the vector
    • setVectorI

      default void setVectorI(CharSequence name, org.joml.Vector2ic value)
      Sets an integer vector in the shader.
      Parameters:
      name - The name of the uniform to set
      value - The value to set
    • setVectorI

      default void setVectorI(CharSequence name, org.joml.Vector3ic value)
      Sets an integer vector in the shader.
      Parameters:
      name - The name of the uniform to set
      value - The value to set
    • setVectorI

      default void setVectorI(CharSequence name, org.joml.Vector4ic value)
      Sets an integer vector in the shader.
      Parameters:
      name - The name of the uniform to set
      value - The value to set
    • setFloats

      void setFloats(CharSequence name, float... values)
      Sets an array of floats in the shader.
      Parameters:
      name - The name of the uniform to set
      values - The values to set in order
    • setVectors

      void setVectors(CharSequence name, org.joml.Vector2fc... values)
      Sets an array of vectors in the shader.
      Parameters:
      name - The name of the uniform to set
      values - The values to set in order
    • setVectors

      void setVectors(CharSequence name, org.joml.Vector3fc... values)
      Sets an array of vectors in the shader.
      Parameters:
      name - The name of the uniform to set
      values - The values to set in order
    • setVectors

      void setVectors(CharSequence name, org.joml.Vector4fc... values)
      Sets an array of vectors in the shader.
      Parameters:
      name - The name of the uniform to set
      values - The values to set in order
    • setInts

      void setInts(CharSequence name, int... values)
      Sets an array of integers in the shader.
      Parameters:
      name - The name of the uniform to set
      values - The values to set in order
    • setVectors

      void setVectors(CharSequence name, org.joml.Vector2ic... values)
      Sets an array of integer vectors in the shader.
      Parameters:
      name - The name of the uniform to set
      values - The values to set in order
    • setVectors

      void setVectors(CharSequence name, org.joml.Vector3ic... values)
      Sets an array of integer vectors in the shader.
      Parameters:
      name - The name of the uniform to set
      values - The values to set in order
    • setVectors

      void setVectors(CharSequence name, org.joml.Vector4ic... values)
      Sets an array of integer vectors in the shader.
      Parameters:
      name - The name of the uniform to set
      values - The values to set in order
    • setMatrix

      void setMatrix(CharSequence name, org.joml.Matrix2fc value)
      Sets a matrix in the shader.
      Parameters:
      name - The name of the uniform to set
      value - The value to set
    • setMatrix

      void setMatrix(CharSequence name, org.joml.Matrix3fc value)
      Sets a matrix in the shader.
      Parameters:
      name - The name of the uniform to set
      value - The value to set
    • setMatrix

      void setMatrix(CharSequence name, org.joml.Matrix3x2fc value)
      Sets a matrix in the shader.
      Parameters:
      name - The name of the uniform to set
      value - The value to set
    • setMatrix

      void setMatrix(CharSequence name, org.joml.Matrix4fc value)
      Sets a matrix in the shader.
      Parameters:
      name - The name of the uniform to set
      value - The value to set
    • setMatrix

      void setMatrix(CharSequence name, org.joml.Matrix4x3fc value)
      Sets a matrix in the shader.
      Parameters:
      name - The name of the uniform to set
      value - The value to set