Interface PostPipeline
- All Superinterfaces:
AutoCloseable
,MutableUniformAccess
,org.lwjgl.system.NativeResource
,UniformAccess
- All Known Implementing Classes:
BlitPostStage
,CompositePostPipeline
,CopyPostStage
,DepthFunctionPostStage
,FramebufferPostStage
,MaskPostStage
A series of post-processing effects that can be run to change the current framebuffer state.
It can be fully run using PostProcessingManager.runPipeline(PostPipeline)
.
This class implements UniformAccess
to allow changing uniforms in all shaders.
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
Context for applying post pipelines. -
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
apply
(PostPipeline.Context context) Applies this post effect.default void
free()
Allows a post pipeline to dispose of any resources it takes up.default float
getFloat
(CharSequence name) Retrieves a single float by the specified name.default void
getFloats
(CharSequence name, float[] values) Retrieves an array of floats by the specified name.default int
getInt
(CharSequence name) Retrieves a single integer by the specified name.default void
getInts
(CharSequence name, int[] values) Retrieves an array of integers by the specified name.default void
getMatrix
(CharSequence name, org.joml.Matrix2f value) Retrieves a matrix2x2 by the specified namedefault void
getMatrix
(CharSequence name, org.joml.Matrix3f value) Retrieves a matrix3x3 by the specified namedefault void
getMatrix
(CharSequence name, org.joml.Matrix3x2f value) Retrieves a matrix3x2 by the specified namedefault void
getMatrix
(CharSequence name, org.joml.Matrix4f value) Retrieves a matrix4x4 by the specified namedefault void
getMatrix
(CharSequence name, org.joml.Matrix4x3f value) Retrieves a matrix4x3 by the specified namedefault int
getStorageBlock
(CharSequence name) Retrieves the location of a storage block.getType()
default int
getUniform
(CharSequence name) Retrieves the location of a uniform.default int
getUniformBlock
(CharSequence name) Retrieves the location of a uniform block.default void
getVector
(CharSequence name, org.joml.Vector2f... values) Retrieves an array of vectors by the specified name.default void
getVector
(CharSequence name, org.joml.Vector2i... values) Retrieves an array of vectors by the specified name.default void
getVector
(CharSequence name, org.joml.Vector3f... values) Retrieves an array of vectors by the specified name.default void
getVector
(CharSequence name, org.joml.Vector3i... values) Retrieves an array of vectors by the specified name.default void
getVector
(CharSequence name, org.joml.Vector4f... values) Retrieves an array of vectors by the specified name.default void
getVector
(CharSequence name, org.joml.Vector4i... values) Retrieves an array of vectors by the specified name.default boolean
hasStorageBlock
(CharSequence name) Checks if the specified storage block exists in the shader.default boolean
hasUniform
(CharSequence name) Checks if the specified uniform exists in the shader.default boolean
hasUniformBlock
(CharSequence name) Checks if the specified uniform block exists in the shader.default void
setFloat
(CharSequence name, float value) Sets a float in the shader.default void
setFloats
(CharSequence name, float... values) Sets an array of floats in the shader.default void
setInt
(CharSequence name, int value) Sets an integer in the shader.default void
setInts
(CharSequence name, int... values) Sets an array of integers in the shader.default void
setMatrix
(CharSequence name, org.joml.Matrix2fc value) Sets a matrix in the shader.default void
setMatrix
(CharSequence name, org.joml.Matrix3fc value) Sets a matrix in the shader.default void
setMatrix
(CharSequence name, org.joml.Matrix3x2fc value) Sets a matrix in the shader.default void
setMatrix
(CharSequence name, org.joml.Matrix4fc value) Sets a matrix in the shader.default void
setMatrix
(CharSequence name, org.joml.Matrix4x3fc value) Sets a matrix in the shader.default void
setStorageBlock
(CharSequence name, int binding) Sets the binding to use for the specified storage block.default void
setUniformBlock
(CharSequence name, int binding) Sets the binding to use for the specified uniform block.default void
setVector
(CharSequence name, float x, float y) Sets a vector in the shader.default void
setVector
(CharSequence name, float x, float y, float z) Sets a vector in the shader.default void
setVector
(CharSequence name, float x, float y, float z, float w) Sets a vector in the shader.default void
setVectorI
(CharSequence name, int x, int y) Sets an integer vector in the shader.default void
setVectorI
(CharSequence name, int x, int y, int z) Sets an integer vector in the shader.default void
setVectorI
(CharSequence name, int x, int y, int z, int w) Sets an integer vector in the shader.default void
setVectors
(CharSequence name, org.joml.Vector2fc... values) Sets an array of vectors in the shader.default void
setVectors
(CharSequence name, org.joml.Vector2ic... values) Sets an array of integer vectors in the shader.default void
setVectors
(CharSequence name, org.joml.Vector3fc... values) Sets an array of vectors in the shader.default void
setVectors
(CharSequence name, org.joml.Vector3ic... values) Sets an array of integer vectors in the shader.default void
setVectors
(CharSequence name, org.joml.Vector4fc... values) Sets an array of vectors in the shader.default void
setVectors
(CharSequence name, org.joml.Vector4ic... values) Sets an array of integer vectors in the shader.Methods inherited from interface foundry.veil.api.client.render.shader.program.MutableUniformAccess
applyRenderSystem, setVector, setVector, setVector, setVector, setVectorI, setVectorI, setVectorI
Methods inherited from interface org.lwjgl.system.NativeResource
close
-
Field Details
-
CODEC
-
-
Method Details
-
apply
Applies this post effect.PostProcessingManager.runPipeline(PostPipeline)
should be called to run this pipeline.- Parameters:
context
- The context to use when running this pipeline.
-
free
default void free()Allows a post pipeline to dispose of any resources it takes up.- Specified by:
free
in interfaceorg.lwjgl.system.NativeResource
-
getType
PostPipelineStageRegistry.PipelineType<? extends PostPipeline> getType()- Returns:
- The type of post effect this is
-
getUniform
Description copied from interface:UniformAccess
Retrieves the location of a uniform.- Specified by:
getUniform
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to get- Returns:
- The location of that uniform or
-1
if not found
-
getUniformBlock
Description copied from interface:UniformAccess
Retrieves the location of a uniform block.- Specified by:
getUniformBlock
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform block to get- Returns:
- The location of that uniform block or -1 if not found
-
getStorageBlock
Description copied from interface:UniformAccess
Retrieves the location of a storage block.- Specified by:
getStorageBlock
in interfaceUniformAccess
- Parameters:
name
- The name of the storage block to get- Returns:
- The location of that storage block or -1 if not found
-
hasUniform
Description copied from interface:UniformAccess
Checks if the specified uniform exists in the shader.- Specified by:
hasUniform
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to check- Returns:
- Whether that uniform can be set
-
hasUniformBlock
Description copied from interface:UniformAccess
Checks if the specified uniform block exists in the shader.- Specified by:
hasUniformBlock
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform block to check- Returns:
- Whether that uniform block can be set
-
hasStorageBlock
Description copied from interface:UniformAccess
Checks if the specified storage block exists in the shader.- Specified by:
hasStorageBlock
in interfaceUniformAccess
- Parameters:
name
- The name of the storage block to check- Returns:
- Whether that storage block can be set
-
getFloat
Description copied from interface:UniformAccess
Retrieves a single float by the specified name.- Specified by:
getFloat
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to get- Returns:
- The float value of that uniform
-
getInt
Description copied from interface:UniformAccess
Retrieves a single integer by the specified name.- Specified by:
getInt
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to get- Returns:
- The int value of that uniform
-
getFloats
Description copied from interface:UniformAccess
Retrieves an array of floats by the specified name.- Specified by:
getFloats
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to getvalues
- The values to set
-
getVector
Description copied from interface:UniformAccess
Retrieves an array of vectors by the specified name.- Specified by:
getVector
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to getvalues
- The values to set
-
getVector
Description copied from interface:UniformAccess
Retrieves an array of vectors by the specified name.- Specified by:
getVector
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to getvalues
- The values to set
-
getVector
Description copied from interface:UniformAccess
Retrieves an array of vectors by the specified name.- Specified by:
getVector
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to getvalues
- The values to set
-
getInts
Description copied from interface:UniformAccess
Retrieves an array of integers by the specified name.- Specified by:
getInts
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to getvalues
- The values to set
-
getVector
Description copied from interface:UniformAccess
Retrieves an array of vectors by the specified name.- Specified by:
getVector
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to getvalues
- The values to set
-
getVector
Description copied from interface:UniformAccess
Retrieves an array of vectors by the specified name.- Specified by:
getVector
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to getvalues
- The values to set
-
getVector
Description copied from interface:UniformAccess
Retrieves an array of vectors by the specified name.- Specified by:
getVector
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to getvalues
- The values to set
-
getMatrix
Description copied from interface:UniformAccess
Retrieves a matrix2x2 by the specified name- Specified by:
getMatrix
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to getvalue
- The value to set
-
getMatrix
Description copied from interface:UniformAccess
Retrieves a matrix3x3 by the specified name- Specified by:
getMatrix
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to getvalue
- The value to set
-
getMatrix
Description copied from interface:UniformAccess
Retrieves a matrix3x2 by the specified name- Specified by:
getMatrix
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to getvalue
- The value to set
-
getMatrix
Description copied from interface:UniformAccess
Retrieves a matrix4x4 by the specified name- Specified by:
getMatrix
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to getvalue
- The value to set
-
getMatrix
Description copied from interface:UniformAccess
Retrieves a matrix4x3 by the specified name- Specified by:
getMatrix
in interfaceUniformAccess
- Parameters:
name
- The name of the uniform to getvalue
- The value to set
-
setUniformBlock
Description copied from interface:MutableUniformAccess
Sets the binding to use for the specified uniform block.- Specified by:
setUniformBlock
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the block to setbinding
- The binding to use for that block
-
setStorageBlock
Description copied from interface:MutableUniformAccess
Sets the binding to use for the specified storage block.- Specified by:
setStorageBlock
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the block to setbinding
- The binding to use for that block
-
setFloat
Description copied from interface:MutableUniformAccess
Sets a float in the shader.- Specified by:
setFloat
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setvalue
- The value to set
-
setVector
Description copied from interface:MutableUniformAccess
Sets a vector in the shader.- Specified by:
setVector
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setx
- The x component of the vectory
- The y component of the vector
-
setVector
Description copied from interface:MutableUniformAccess
Sets a vector in the shader.- Specified by:
setVector
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setx
- The x component of the vectory
- The y component of the vectorz
- The z component of the vector
-
setVector
Description copied from interface:MutableUniformAccess
Sets a vector in the shader.- Specified by:
setVector
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setx
- The x component of the vectory
- The y component of the vectorz
- The z component of the vectorw
- The w component of the vector
-
setInt
Description copied from interface:MutableUniformAccess
Sets an integer in the shader.- Specified by:
setInt
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setvalue
- The value to set
-
setVectorI
Description copied from interface:MutableUniformAccess
Sets an integer vector in the shader.- Specified by:
setVectorI
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setx
- The x component of the vectory
- The y component of the vector
-
setVectorI
Description copied from interface:MutableUniformAccess
Sets an integer vector in the shader.- Specified by:
setVectorI
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setx
- The x component of the vectory
- The y component of the vectorz
- The z component of the vector
-
setVectorI
Description copied from interface:MutableUniformAccess
Sets an integer vector in the shader.- Specified by:
setVectorI
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setx
- The x component of the vectory
- The y component of the vectorz
- The z component of the vectorw
- The w component of the vector
-
setFloats
Description copied from interface:MutableUniformAccess
Sets an array of floats in the shader.- Specified by:
setFloats
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setvalues
- The values to set in order
-
setVectors
Description copied from interface:MutableUniformAccess
Sets an array of vectors in the shader.- Specified by:
setVectors
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setvalues
- The values to set in order
-
setVectors
Description copied from interface:MutableUniformAccess
Sets an array of vectors in the shader.- Specified by:
setVectors
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setvalues
- The values to set in order
-
setVectors
Description copied from interface:MutableUniformAccess
Sets an array of vectors in the shader.- Specified by:
setVectors
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setvalues
- The values to set in order
-
setInts
Description copied from interface:MutableUniformAccess
Sets an array of integers in the shader.- Specified by:
setInts
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setvalues
- The values to set in order
-
setVectors
Description copied from interface:MutableUniformAccess
Sets an array of integer vectors in the shader.- Specified by:
setVectors
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setvalues
- The values to set in order
-
setVectors
Description copied from interface:MutableUniformAccess
Sets an array of integer vectors in the shader.- Specified by:
setVectors
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setvalues
- The values to set in order
-
setVectors
Description copied from interface:MutableUniformAccess
Sets an array of integer vectors in the shader.- Specified by:
setVectors
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setvalues
- The values to set in order
-
setMatrix
Description copied from interface:MutableUniformAccess
Sets a matrix in the shader.- Specified by:
setMatrix
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setvalue
- The value to set
-
setMatrix
Description copied from interface:MutableUniformAccess
Sets a matrix in the shader.- Specified by:
setMatrix
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setvalue
- The value to set
-
setMatrix
Description copied from interface:MutableUniformAccess
Sets a matrix in the shader.- Specified by:
setMatrix
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setvalue
- The value to set
-
setMatrix
Description copied from interface:MutableUniformAccess
Sets a matrix in the shader.- Specified by:
setMatrix
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setvalue
- The value to set
-
setMatrix
Description copied from interface:MutableUniformAccess
Sets a matrix in the shader.- Specified by:
setMatrix
in interfaceMutableUniformAccess
- Parameters:
name
- The name of the uniform to setvalue
- The value to set
-