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
ConstructorsConstructorDescriptionVeilShaderLimits(int maxUniformComponents, int maxUniformBlocks, int maxInputComponents, int maxOutputComponents, int maxTextureImageUnits, int maxImageUniforms, int maxAtomicCounters, int maxAtomicCountBuffers, int maxShaderStorageBlocks) Creates an instance of aVeilShaderLimitsrecord 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 booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.intReturns the value of themaxAtomicCountBuffersrecord component.intReturns the value of themaxAtomicCountersrecord component.intReturns the value of themaxImageUniformsrecord component.intReturns the value of themaxInputComponentsrecord component.intReturns the value of themaxOutputComponentsrecord component.intReturns the value of themaxShaderStorageBlocksrecord component.intReturns the value of themaxTextureImageUnitsrecord component.intReturns the value of themaxUniformBlocksrecord component.intReturns the value of themaxUniformComponentsrecord component.final StringtoString()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 aVeilShaderLimitsrecord class.- Parameters:
maxUniformComponents- the value for themaxUniformComponentsrecord componentmaxUniformBlocks- the value for themaxUniformBlocksrecord componentmaxInputComponents- the value for themaxInputComponentsrecord componentmaxOutputComponents- the value for themaxOutputComponentsrecord componentmaxTextureImageUnits- the value for themaxTextureImageUnitsrecord componentmaxImageUniforms- the value for themaxImageUniformsrecord componentmaxAtomicCounters- the value for themaxAtomicCountersrecord componentmaxAtomicCountBuffers- the value for themaxAtomicCountBuffersrecord componentmaxShaderStorageBlocks- the value for themaxShaderStorageBlocksrecord 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 themaxUniformComponentsrecord component.- Returns:
- the value of the
maxUniformComponentsrecord component
-
maxUniformBlocks
public int maxUniformBlocks()Returns the value of themaxUniformBlocksrecord component.- Returns:
- the value of the
maxUniformBlocksrecord component
-
maxInputComponents
public int maxInputComponents()Returns the value of themaxInputComponentsrecord component.- Returns:
- the value of the
maxInputComponentsrecord component
-
maxOutputComponents
public int maxOutputComponents()Returns the value of themaxOutputComponentsrecord component.- Returns:
- the value of the
maxOutputComponentsrecord component
-
maxTextureImageUnits
public int maxTextureImageUnits()Returns the value of themaxTextureImageUnitsrecord component.- Returns:
- the value of the
maxTextureImageUnitsrecord component
-
maxImageUniforms
public int maxImageUniforms()Returns the value of themaxImageUniformsrecord component.- Returns:
- the value of the
maxImageUniformsrecord component
-
maxAtomicCounters
public int maxAtomicCounters()Returns the value of themaxAtomicCountersrecord component.- Returns:
- the value of the
maxAtomicCountersrecord component
-
maxAtomicCountBuffers
public int maxAtomicCountBuffers()Returns the value of themaxAtomicCountBuffersrecord component.- Returns:
- the value of the
maxAtomicCountBuffersrecord component
-
maxShaderStorageBlocks
public int maxShaderStorageBlocks()Returns the value of themaxShaderStorageBlocksrecord component.- Returns:
- the value of the
maxShaderStorageBlocksrecord component
-