Package net.minecraft.client.gl
Class ShaderProgram
java.lang.Object
net.minecraft.client.gl.ShaderProgram
- All Implemented Interfaces:
AutoCloseable
Represents a shader program. Also known as a program object that can be
created with
glCreateProgram
.
Warning: This class is referred to as a shader in
strings. However, this does NOT represent a shader object that can be
created with glCreateShader
. CompiledShader
is what
represents a shader object.
- See Also:
- Mappings:
Namespace Name named net/minecraft/client/gl/ShaderProgram
intermediary net/minecraft/class_5944
official fjh
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final String
private static final Uniform
private final int
static ShaderProgram
private static final Logger
private final IntList
private final Object2ObjectMap
<String, GpuTexture> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addSamplerTexture
(String name, @Nullable GpuTexture texture) void
close()
static ShaderProgram
create
(CompiledShader vertexShader, CompiledShader fragmentShader, VertexFormat format, String name) private GlUniform
createUniform
(RenderPipeline.UniformDescription description) int
getGlRef()
private static @Nullable UniformType
getType
(int id) getUniform
(String name) getUniformOrDefault
(String name) void
initializeUniforms
(VertexFormat.DrawMode drawMode, Matrix4f viewMatrix, Matrix4f projectionMatrix, float screenWidth, float screenHeight) void
set
(List<RenderPipeline.UniformDescription> uniforms, List<String> samplers) toString()
void
unbind()
-
Field Details
-
LOGGER
- Mappings:
Namespace Name Mixin selector named LOGGER
Lnet/minecraft/client/gl/ShaderProgram;LOGGER:Lorg/slf4j/Logger;
intermediary field_58041
Lnet/minecraft/class_5944;field_58041:Lorg/slf4j/Logger;
official r
Lfjh;r:Lorg/slf4j/Logger;
-
PREDEFINED_UNIFORMS
- Mappings:
Namespace Name Mixin selector named PREDEFINED_UNIFORMS
Lnet/minecraft/client/gl/ShaderProgram;PREDEFINED_UNIFORMS:Ljava/util/Set;
intermediary field_57863
Lnet/minecraft/class_5944;field_57863:Ljava/util/Set;
official a
Lfjh;a:Ljava/util/Set;
-
INVALID
- Mappings:
Namespace Name Mixin selector named INVALID
Lnet/minecraft/client/gl/ShaderProgram;INVALID:Lnet/minecraft/client/gl/ShaderProgram;
intermediary field_57864
Lnet/minecraft/class_5944;field_57864:Lnet/minecraft/class_5944;
official b
Lfjh;b:Lfjh;
-
DEFAULT_UNIFORM
- Mappings:
Namespace Name Mixin selector named DEFAULT_UNIFORM
Lnet/minecraft/client/gl/ShaderProgram;DEFAULT_UNIFORM:Lnet/minecraft/client/gl/Uniform;
intermediary field_29484
Lnet/minecraft/class_5944;field_29484:Lnet/minecraft/class_278;
official s
Lfjh;s:Lfja;
-
samplers
- Mappings:
Namespace Name Mixin selector named samplers
Lnet/minecraft/client/gl/ShaderProgram;samplers:Ljava/util/List;
intermediary field_53838
Lnet/minecraft/class_5944;field_53838:Ljava/util/List;
official t
Lfjh;t:Ljava/util/List;
-
samplerTextures
- Mappings:
Namespace Name Mixin selector named samplerTextures
Lnet/minecraft/client/gl/ShaderProgram;samplerTextures:Lit/unimi/dsi/fastutil/objects/Object2ObjectMap;
intermediary field_53839
Lnet/minecraft/class_5944;field_53839:Lit/unimi/dsi/fastutil/objects/Object2ObjectMap;
official u
Lfjh;u:Lit/unimi/dsi/fastutil/objects/Object2ObjectMap;
-
samplerLocations
- Mappings:
Namespace Name Mixin selector named samplerLocations
Lnet/minecraft/client/gl/ShaderProgram;samplerLocations:Lit/unimi/dsi/fastutil/ints/IntList;
intermediary field_53840
Lnet/minecraft/class_5944;field_53840:Lit/unimi/dsi/fastutil/ints/IntList;
official v
Lfjh;v:Lit/unimi/dsi/fastutil/ints/IntList;
-
uniforms
- Mappings:
Namespace Name Mixin selector named uniforms
Lnet/minecraft/client/gl/ShaderProgram;uniforms:Ljava/util/List;
intermediary field_29490
Lnet/minecraft/class_5944;field_29490:Ljava/util/List;
official w
Lfjh;w:Ljava/util/List;
-
uniformsByName
- Mappings:
Namespace Name Mixin selector named uniformsByName
Lnet/minecraft/client/gl/ShaderProgram;uniformsByName:Ljava/util/Map;
intermediary field_53841
Lnet/minecraft/class_5944;field_53841:Ljava/util/Map;
official x
Lfjh;x:Ljava/util/Map;
-
glRef
private final int glRef- Mappings:
Namespace Name Mixin selector named glRef
Lnet/minecraft/client/gl/ShaderProgram;glRef:I
intermediary field_29493
Lnet/minecraft/class_5944;field_29493:I
official y
Lfjh;y:I
-
debugLabel
- Mappings:
Namespace Name Mixin selector named debugLabel
Lnet/minecraft/client/gl/ShaderProgram;debugLabel:Ljava/lang/String;
intermediary field_57865
Lnet/minecraft/class_5944;field_57865:Ljava/lang/String;
official z
Lfjh;z:Ljava/lang/String;
-
modelViewMat
- Mappings:
Namespace Name Mixin selector named modelViewMat
Lnet/minecraft/client/gl/ShaderProgram;modelViewMat:Lnet/minecraft/client/gl/GlUniform;
intermediary field_29470
Lnet/minecraft/class_5944;field_29470:Lnet/minecraft/class_284;
official c
Lfjh;c:Lfjm;
-
projectionMat
- Mappings:
Namespace Name Mixin selector named projectionMat
Lnet/minecraft/client/gl/ShaderProgram;projectionMat:Lnet/minecraft/client/gl/GlUniform;
intermediary field_29471
Lnet/minecraft/class_5944;field_29471:Lnet/minecraft/class_284;
official d
Lfjh;d:Lfjm;
-
textureMat
- Mappings:
Namespace Name Mixin selector named textureMat
Lnet/minecraft/client/gl/ShaderProgram;textureMat:Lnet/minecraft/client/gl/GlUniform;
intermediary field_29472
Lnet/minecraft/class_5944;field_29472:Lnet/minecraft/class_284;
official e
Lfjh;e:Lfjm;
-
screenSize
- Mappings:
Namespace Name Mixin selector named screenSize
Lnet/minecraft/client/gl/ShaderProgram;screenSize:Lnet/minecraft/client/gl/GlUniform;
intermediary field_29473
Lnet/minecraft/class_5944;field_29473:Lnet/minecraft/class_284;
official f
Lfjh;f:Lfjm;
-
colorModulator
- Mappings:
Namespace Name Mixin selector named colorModulator
Lnet/minecraft/client/gl/ShaderProgram;colorModulator:Lnet/minecraft/client/gl/GlUniform;
intermediary field_29474
Lnet/minecraft/class_5944;field_29474:Lnet/minecraft/class_284;
official g
Lfjh;g:Lfjm;
-
light0Direction
- Mappings:
Namespace Name Mixin selector named light0Direction
Lnet/minecraft/client/gl/ShaderProgram;light0Direction:Lnet/minecraft/client/gl/GlUniform;
intermediary field_29475
Lnet/minecraft/class_5944;field_29475:Lnet/minecraft/class_284;
official h
Lfjh;h:Lfjm;
-
light1Direction
- Mappings:
Namespace Name Mixin selector named light1Direction
Lnet/minecraft/client/gl/ShaderProgram;light1Direction:Lnet/minecraft/client/gl/GlUniform;
intermediary field_29476
Lnet/minecraft/class_5944;field_29476:Lnet/minecraft/class_284;
official i
Lfjh;i:Lfjm;
-
glintAlpha
- Mappings:
Namespace Name Mixin selector named glintAlpha
Lnet/minecraft/client/gl/ShaderProgram;glintAlpha:Lnet/minecraft/client/gl/GlUniform;
intermediary field_42231
Lnet/minecraft/class_5944;field_42231:Lnet/minecraft/class_284;
official j
Lfjh;j:Lfjm;
-
fogStart
- Mappings:
Namespace Name Mixin selector named fogStart
Lnet/minecraft/client/gl/ShaderProgram;fogStart:Lnet/minecraft/client/gl/GlUniform;
intermediary field_29477
Lnet/minecraft/class_5944;field_29477:Lnet/minecraft/class_284;
official k
Lfjh;k:Lfjm;
-
fogEnd
- Mappings:
Namespace Name Mixin selector named fogEnd
Lnet/minecraft/client/gl/ShaderProgram;fogEnd:Lnet/minecraft/client/gl/GlUniform;
intermediary field_29478
Lnet/minecraft/class_5944;field_29478:Lnet/minecraft/class_284;
official l
Lfjh;l:Lfjm;
-
fogColor
- Mappings:
Namespace Name Mixin selector named fogColor
Lnet/minecraft/client/gl/ShaderProgram;fogColor:Lnet/minecraft/client/gl/GlUniform;
intermediary field_29479
Lnet/minecraft/class_5944;field_29479:Lnet/minecraft/class_284;
official m
Lfjh;m:Lfjm;
-
fogShape
- Mappings:
Namespace Name Mixin selector named fogShape
Lnet/minecraft/client/gl/ShaderProgram;fogShape:Lnet/minecraft/client/gl/GlUniform;
intermediary field_36373
Lnet/minecraft/class_5944;field_36373:Lnet/minecraft/class_284;
official n
Lfjh;n:Lfjm;
-
lineWidth
- Mappings:
Namespace Name Mixin selector named lineWidth
Lnet/minecraft/client/gl/ShaderProgram;lineWidth:Lnet/minecraft/client/gl/GlUniform;
intermediary field_29480
Lnet/minecraft/class_5944;field_29480:Lnet/minecraft/class_284;
official o
Lfjh;o:Lfjm;
-
gameTime
- Mappings:
Namespace Name Mixin selector named gameTime
Lnet/minecraft/client/gl/ShaderProgram;gameTime:Lnet/minecraft/client/gl/GlUniform;
intermediary field_29481
Lnet/minecraft/class_5944;field_29481:Lnet/minecraft/class_284;
official p
Lfjh;p:Lfjm;
-
modelOffset
- Mappings:
Namespace Name Mixin selector named modelOffset
Lnet/minecraft/client/gl/ShaderProgram;modelOffset:Lnet/minecraft/client/gl/GlUniform;
intermediary field_53139
Lnet/minecraft/class_5944;field_53139:Lnet/minecraft/class_284;
official q
Lfjh;q:Lfjm;
-
-
Constructor Details
-
Method Details
-
create
public static ShaderProgram create(CompiledShader vertexShader, CompiledShader fragmentShader, VertexFormat format, String name) throws ShaderLoader.LoadException - Throws:
ShaderLoader.LoadException
- Mappings:
Namespace Name Mixin selector named create
Lnet/minecraft/client/gl/ShaderProgram;create(Lnet/minecraft/client/gl/CompiledShader;Lnet/minecraft/client/gl/CompiledShader;Lcom/mojang/blaze3d/vertex/VertexFormat;Ljava/lang/String;)Lnet/minecraft/client/gl/ShaderProgram;
intermediary method_62896
Lnet/minecraft/class_5944;method_62896(Lnet/minecraft/class_10141;Lnet/minecraft/class_10141;Lcom/mojang/blaze3d/vertex/VertexFormat;Ljava/lang/String;)Lnet/minecraft/class_5944;
official a
Lfjh;a(Lfjk;Lfjk;Lcom/mojang/blaze3d/vertex/VertexFormat;Ljava/lang/String;)Lfjh;
-
set
- Mappings:
Namespace Name Mixin selector named set
Lnet/minecraft/client/gl/ShaderProgram;set(Ljava/util/List;Ljava/util/List;)V
intermediary method_62900
Lnet/minecraft/class_5944;method_62900(Ljava/util/List;Ljava/util/List;)V
official a
Lfjh;a(Ljava/util/List;Ljava/util/List;)V
-
createUniform
- Mappings:
Namespace Name Mixin selector named createUniform
Lnet/minecraft/client/gl/ShaderProgram;createUniform(Lcom/mojang/blaze3d/pipeline/RenderPipeline$UniformDescription;)Lnet/minecraft/client/gl/GlUniform;
intermediary method_67880
Lnet/minecraft/class_5944;method_67880(Lcom/mojang/blaze3d/pipeline/RenderPipeline$UniformDescription;)Lnet/minecraft/class_284;
official a
Lfjh;a(Lcom/mojang/blaze3d/pipeline/RenderPipeline$UniformDescription;)Lfjm;
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
-
unbind
public void unbind()- Mappings:
Namespace Name Mixin selector named unbind
Lnet/minecraft/client/gl/ShaderProgram;unbind()V
intermediary method_34585
Lnet/minecraft/class_5944;method_34585()V
official a
Lfjh;a()V
-
getUniform
- Mappings:
Namespace Name Mixin selector named getUniform
Lnet/minecraft/client/gl/ShaderProgram;getUniform(Ljava/lang/String;)Lnet/minecraft/client/gl/GlUniform;
intermediary method_34582
Lnet/minecraft/class_5944;method_34582(Ljava/lang/String;)Lnet/minecraft/class_284;
official a
Lfjh;a(Ljava/lang/String;)Lfjm;
-
getUniformOrDefault
- Mappings:
Namespace Name Mixin selector named getUniformOrDefault
Lnet/minecraft/client/gl/ShaderProgram;getUniformOrDefault(Ljava/lang/String;)Lnet/minecraft/client/gl/Uniform;
intermediary method_35785
Lnet/minecraft/class_5944;method_35785(Ljava/lang/String;)Lnet/minecraft/class_278;
official b
Lfjh;b(Ljava/lang/String;)Lfja;
-
addSamplerTexture
- Mappings:
Namespace Name Mixin selector named addSamplerTexture
Lnet/minecraft/client/gl/ShaderProgram;addSamplerTexture(Ljava/lang/String;Lcom/mojang/blaze3d/textures/GpuTexture;)V
intermediary method_62899
Lnet/minecraft/class_5944;method_62899(Ljava/lang/String;Lcom/mojang/blaze3d/textures/GpuTexture;)V
official a
Lfjh;a(Ljava/lang/String;Lcom/mojang/blaze3d/textures/GpuTexture;)V
-
initializeUniforms
public void initializeUniforms(VertexFormat.DrawMode drawMode, Matrix4f viewMatrix, Matrix4f projectionMatrix, float screenWidth, float screenHeight) - Mappings:
Namespace Name Mixin selector named initializeUniforms
Lnet/minecraft/client/gl/ShaderProgram;initializeUniforms(Lcom/mojang/blaze3d/vertex/VertexFormat$DrawMode;Lorg/joml/Matrix4f;Lorg/joml/Matrix4f;FF)V
intermediary method_60897
Lnet/minecraft/class_5944;method_60897(Lcom/mojang/blaze3d/vertex/VertexFormat$class_5596;Lorg/joml/Matrix4f;Lorg/joml/Matrix4f;FF)V
official a
Lfjh;a(Lcom/mojang/blaze3d/vertex/VertexFormat$b;Lorg/joml/Matrix4f;Lorg/joml/Matrix4f;FF)V
-
getGlRef
- Mappings:
Namespace Name Mixin selector named getGlRef
Lnet/minecraft/client/gl/ShaderProgram;getGlRef()I
intermediary method_1270
Lnet/minecraft/class_5944;method_1270()I
official b
Lfjh;b()I
-
toString
-
getDebugLabel
- Mappings:
Namespace Name Mixin selector named getDebugLabel
Lnet/minecraft/client/gl/ShaderProgram;getDebugLabel()Ljava/lang/String;
intermediary method_68404
Lnet/minecraft/class_5944;method_68404()Ljava/lang/String;
official c
Lfjh;c()Ljava/lang/String;
-
getSamplerLocations
- Mappings:
Namespace Name Mixin selector named getSamplerLocations
Lnet/minecraft/client/gl/ShaderProgram;getSamplerLocations()Lit/unimi/dsi/fastutil/ints/IntList;
intermediary method_68405
Lnet/minecraft/class_5944;method_68405()Lit/unimi/dsi/fastutil/ints/IntList;
official d
Lfjh;d()Lit/unimi/dsi/fastutil/ints/IntList;
-
getSamplers
- Mappings:
Namespace Name Mixin selector named getSamplers
Lnet/minecraft/client/gl/ShaderProgram;getSamplers()Ljava/util/List;
intermediary method_68670
Lnet/minecraft/class_5944;method_68670()Ljava/util/List;
official e
Lfjh;e()Ljava/util/List;
-
getUniforms
- Mappings:
Namespace Name Mixin selector named getUniforms
Lnet/minecraft/client/gl/ShaderProgram;getUniforms()Ljava/util/List;
intermediary method_68406
Lnet/minecraft/class_5944;method_68406()Ljava/util/List;
official f
Lfjh;f()Ljava/util/List;
-
getType
- Mappings:
Namespace Name Mixin selector named getType
Lnet/minecraft/client/gl/ShaderProgram;getType(I)Lnet/minecraft/client/gl/UniformType;
intermediary method_68695
Lnet/minecraft/class_5944;method_68695(I)Lnet/minecraft/class_10789;
official a
Lfjh;a(I)Lfku;
-