Record Class VeilShaderLimits

java.lang.Object
java.lang.Record
foundry.veil.api.client.render.VeilShaderLimits
Record Components:
maxUniformComponents - The number of active components of uniform variables that can be defined outside a uniform block. The term "component" is meant as the basic component of a vector/matrix, so a vec3 takes up 3 components. The minimum value here is 1024, enough room for 256 vec4s.
maxUniformBlocks - The maximum number of uniform blocks that this shader stage can access. The OpenGL-required minimum is 12 in GL 3.3, and 14 in GL 4.3.
maxInputComponents - The maximum number of components that this stage can take as input. The required minimum value differs from shader stage to shader stage.
maxOutputComponents - The maximum number of components that this stage can output. The required minimum value differs from shader stage to shader stage.
maxTextureImageUnits - The maximum number of texture image units that the sampler in this shader can access. The OpenGL-required minimum value is 16 for each stage.
maxImageUniforms - The maximum number of image variables for this shader stage. The OpenGL 4.2 required minimum is eight for fragment and compute shaders, and 0 for the rest. This means implementations may not allow you to use image variables in non-fragment or compute stages.
maxAtomicCounters - The maximum number of Atomic Counter variables that this stage can define. The OpenGL 4.2 required minimum is eight for fragment and compute shaders, and 0 for the rest.
maxAtomicCountBuffers - The maximum number of different buffers that the atomic counter variables can come from. The OpenGL 4.2 required minimum is one for fragment shaders, 8 for compute shaders, and 0 for the rest.
maxShaderStorageBlocks - The maximum number of different shader storage blocks that a stage can use. For fragment and compute shaders, the OpenGL 4.3 required minimum is 8; for the rest, it is 0.

public record VeilShaderLimits(int maxUniformComponents, int maxUniformBlocks, int maxInputComponents, int maxOutputComponents, int maxTextureImageUnits, int maxImageUniforms, int maxAtomicCounters, int maxAtomicCountBuffers, int maxShaderStorageBlocks) extends Record
Shader stage specific resource limits.
See Also:
  • Constructor Details

    • VeilShaderLimits

      public VeilShaderLimits(org.lwjgl.opengl.GLCapabilities caps, int maxUniformComponents, int maxUniformBlocks, int maxInputComponents, int maxOutputComponents, int maxTextureImageUnits, int maxImageUniforms, int maxAtomicCounters, int maxAtomicCountBuffers, int maxShaderStorageBlocks)
    • VeilShaderLimits

      public VeilShaderLimits(int maxUniformComponents, int maxUniformBlocks, int maxInputComponents, int maxOutputComponents, int maxTextureImageUnits, int maxImageUniforms, int maxAtomicCounters, int maxAtomicCountBuffers, int maxShaderStorageBlocks)
      Creates an instance of a VeilShaderLimits record class.
      Parameters:
      maxUniformComponents - the value for the maxUniformComponents record component
      maxUniformBlocks - the value for the maxUniformBlocks record component
      maxInputComponents - the value for the maxInputComponents record component
      maxOutputComponents - the value for the maxOutputComponents record component
      maxTextureImageUnits - the value for the maxTextureImageUnits record component
      maxImageUniforms - the value for the maxImageUniforms record component
      maxAtomicCounters - the value for the maxAtomicCounters record component
      maxAtomicCountBuffers - the value for the maxAtomicCountBuffers record component
      maxShaderStorageBlocks - the value for the maxShaderStorageBlocks record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • maxUniformComponents

      public int maxUniformComponents()
      Returns the value of the maxUniformComponents record component.
      Returns:
      the value of the maxUniformComponents record component
    • maxUniformBlocks

      public int maxUniformBlocks()
      Returns the value of the maxUniformBlocks record component.
      Returns:
      the value of the maxUniformBlocks record component
    • maxInputComponents

      public int maxInputComponents()
      Returns the value of the maxInputComponents record component.
      Returns:
      the value of the maxInputComponents record component
    • maxOutputComponents

      public int maxOutputComponents()
      Returns the value of the maxOutputComponents record component.
      Returns:
      the value of the maxOutputComponents record component
    • maxTextureImageUnits

      public int maxTextureImageUnits()
      Returns the value of the maxTextureImageUnits record component.
      Returns:
      the value of the maxTextureImageUnits record component
    • maxImageUniforms

      public int maxImageUniforms()
      Returns the value of the maxImageUniforms record component.
      Returns:
      the value of the maxImageUniforms record component
    • maxAtomicCounters

      public int maxAtomicCounters()
      Returns the value of the maxAtomicCounters record component.
      Returns:
      the value of the maxAtomicCounters record component
    • maxAtomicCountBuffers

      public int maxAtomicCountBuffers()
      Returns the value of the maxAtomicCountBuffers record component.
      Returns:
      the value of the maxAtomicCountBuffers record component
    • maxShaderStorageBlocks

      public int maxShaderStorageBlocks()
      Returns the value of the maxShaderStorageBlocks record component.
      Returns:
      the value of the maxShaderStorageBlocks record component