Record Class ProgramDefinition

java.lang.Object
java.lang.Record
foundry.veil.api.client.render.shader.program.ProgramDefinition
Record Components:
vertex - The vertex shader or null to not include one
tesselationControl - The tesselation control shader or null to not include one
tesselationEvaluation - The tesselation evluation shader or null to not include one
geometry - The geometry shader or null to not include one
fragment - The fragment shader or null to not include one
compute - The compute shader or null to not include one. Compute should be in a shader by itself
definitions - The definitions to inject when compiling
definitionDefaults - The default values for definitions
textures - The textures to bind when using this shader
shaders - A map of all sources and their OpenGL types for convenience

public record ProgramDefinition(@Nullable ProgramDefinition.ShaderSource vertex, @Nullable ProgramDefinition.ShaderSource tesselationControl, @Nullable ProgramDefinition.ShaderSource tesselationEvaluation, @Nullable ProgramDefinition.ShaderSource geometry, @Nullable ProgramDefinition.ShaderSource fragment, @Nullable ProgramDefinition.ShaderSource compute, String[] definitions, Map<String,String> definitionDefaults, Map<String,ShaderTextureSource> textures, it.unimi.dsi.fastutil.ints.Int2ObjectMap<ProgramDefinition.ShaderSource> shaders) extends Record
Defines a shader program instance.