Package foundry.veil.api.client.render
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 Summary
ConstructorDescriptionVeilShaderLimits
(int maxUniformComponents, int maxUniformBlocks, int maxInputComponents, int maxOutputComponents, int maxTextureImageUnits, int maxImageUniforms, int maxAtomicCounters, int maxAtomicCountBuffers, int maxShaderStorageBlocks) Creates an instance of aVeilShaderLimits
record class.VeilShaderLimits
(org.lwjgl.opengl.GLCapabilities caps, int maxUniformComponents, int maxUniformBlocks, int maxInputComponents, int maxOutputComponents, int maxTextureImageUnits, int maxImageUniforms, int maxAtomicCounters, int maxAtomicCountBuffers, int maxShaderStorageBlocks) -
Method Summary
Modifier and TypeMethodDescriptionfinal boolean
Indicates whether some other object is "equal to" this one.final int
hashCode()
Returns a hash code value for this object.int
Returns the value of themaxAtomicCountBuffers
record component.int
Returns the value of themaxAtomicCounters
record component.int
Returns the value of themaxImageUniforms
record component.int
Returns the value of themaxInputComponents
record component.int
Returns the value of themaxOutputComponents
record component.int
Returns the value of themaxShaderStorageBlocks
record component.int
Returns the value of themaxTextureImageUnits
record component.int
Returns the value of themaxUniformBlocks
record component.int
Returns the value of themaxUniformComponents
record component.final String
toString()
Returns a string representation of this record class.
-
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 aVeilShaderLimits
record class.- Parameters:
maxUniformComponents
- the value for themaxUniformComponents
record componentmaxUniformBlocks
- the value for themaxUniformBlocks
record componentmaxInputComponents
- the value for themaxInputComponents
record componentmaxOutputComponents
- the value for themaxOutputComponents
record componentmaxTextureImageUnits
- the value for themaxTextureImageUnits
record componentmaxImageUniforms
- the value for themaxImageUniforms
record componentmaxAtomicCounters
- the value for themaxAtomicCounters
record componentmaxAtomicCountBuffers
- the value for themaxAtomicCountBuffers
record componentmaxShaderStorageBlocks
- the value for themaxShaderStorageBlocks
record component
-
-
Method Details
-
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. -
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. -
equals
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 '=='. -
maxUniformComponents
public int maxUniformComponents()Returns the value of themaxUniformComponents
record component.- Returns:
- the value of the
maxUniformComponents
record component
-
maxUniformBlocks
public int maxUniformBlocks()Returns the value of themaxUniformBlocks
record component.- Returns:
- the value of the
maxUniformBlocks
record component
-
maxInputComponents
public int maxInputComponents()Returns the value of themaxInputComponents
record component.- Returns:
- the value of the
maxInputComponents
record component
-
maxOutputComponents
public int maxOutputComponents()Returns the value of themaxOutputComponents
record component.- Returns:
- the value of the
maxOutputComponents
record component
-
maxTextureImageUnits
public int maxTextureImageUnits()Returns the value of themaxTextureImageUnits
record component.- Returns:
- the value of the
maxTextureImageUnits
record component
-
maxImageUniforms
public int maxImageUniforms()Returns the value of themaxImageUniforms
record component.- Returns:
- the value of the
maxImageUniforms
record component
-
maxAtomicCounters
public int maxAtomicCounters()Returns the value of themaxAtomicCounters
record component.- Returns:
- the value of the
maxAtomicCounters
record component
-
maxAtomicCountBuffers
public int maxAtomicCountBuffers()Returns the value of themaxAtomicCountBuffers
record component.- Returns:
- the value of the
maxAtomicCountBuffers
record component
-
maxShaderStorageBlocks
public int maxShaderStorageBlocks()Returns the value of themaxShaderStorageBlocks
record component.- Returns:
- the value of the
maxShaderStorageBlocks
record component
-