Package net.minecraft.client.gl
Class ShaderProgram
java.lang.Object
net.minecraft.client.gl.ShaderProgram
- All Implemented Interfaces:
AutoCloseable,ShaderProgramSetupView
@Environment(CLIENT)
public class ShaderProgram
extends Object
implements ShaderProgramSetupView, 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. ShaderStage is what
represents a shader object.
- See Also:
- Mappings:
Namespace Name named net/minecraft/client/gl/ShaderProgramintermediary net/minecraft/class_5944official gfn
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static ShaderProgramprivate static intprivate static final Stringprivate static final Uniformprivate booleanprivate static final booleanprivate final VertexFormatprivate final ShaderStageprivate final intprivate static final String(package private) static final Loggerprivate final Stringstatic final Stringprivate final ShaderStage -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSampler(String name, Object sampler) private voidaddUniform(JsonElement json) voidvoidbind()voidclose()intgetGlRef()getName()getUniform(String name) getUniformOrDefault(String name) voidinitializeUniforms(VertexFormat.DrawMode drawMode, Matrix4f viewMatrix, Matrix4f projectionMatrix, Window window) private voidprivate static ShaderStageloadShader(ResourceFactory factory, ShaderStage.Type type, String name) voidprivate voidreadSampler(JsonElement json) voidunbind()
-
Field Details
-
SHADERS_DIRECTORY
- See Also:
- Mappings:
Namespace Name Mixin selector named SHADERS_DIRECTORYLnet/minecraft/client/gl/ShaderProgram;SHADERS_DIRECTORY:Ljava/lang/String;intermediary field_32778Lnet/minecraft/class_5944;field_32778:Ljava/lang/String;official aLgfn;a:Ljava/lang/String;
-
CORE_DIRECTORY
- See Also:
- Mappings:
Namespace Name Mixin selector named CORE_DIRECTORYLnet/minecraft/client/gl/ShaderProgram;CORE_DIRECTORY:Ljava/lang/String;intermediary field_40512Lnet/minecraft/class_5944;field_40512:Ljava/lang/String;official qLgfn;q:Ljava/lang/String;
-
INCLUDE_DIRECTORY
- See Also:
- Mappings:
Namespace Name Mixin selector named INCLUDE_DIRECTORYLnet/minecraft/client/gl/ShaderProgram;INCLUDE_DIRECTORY:Ljava/lang/String;intermediary field_32779Lnet/minecraft/class_5944;field_32779:Ljava/lang/String;official rLgfn;r:Ljava/lang/String;
-
LOGGER
- Mappings:
Namespace Name Mixin selector named LOGGERLnet/minecraft/client/gl/ShaderProgram;LOGGER:Lorg/slf4j/Logger;intermediary field_29483Lnet/minecraft/class_5944;field_29483:Lorg/slf4j/Logger;official sLgfn;s:Lorg/slf4j/Logger;
-
DEFAULT_UNIFORM
- Mappings:
Namespace Name Mixin selector named DEFAULT_UNIFORMLnet/minecraft/client/gl/ShaderProgram;DEFAULT_UNIFORM:Lnet/minecraft/client/gl/Uniform;intermediary field_29484Lnet/minecraft/class_5944;field_29484:Lnet/minecraft/class_278;official tLgfn;t:Lfar;
-
field_32780
private static final boolean field_32780- See Also:
- Mappings:
Namespace Name Mixin selector named field_32780Lnet/minecraft/client/gl/ShaderProgram;field_32780:Zintermediary field_32780Lnet/minecraft/class_5944;field_32780:Zofficial uLgfn;u:Z
-
activeProgram
- Mappings:
Namespace Name Mixin selector named activeProgramLnet/minecraft/client/gl/ShaderProgram;activeProgram:Lnet/minecraft/client/gl/ShaderProgram;intermediary field_29485Lnet/minecraft/class_5944;field_29485:Lnet/minecraft/class_5944;official vLgfn;v:Lgfn;
-
activeProgramGlRef
private static int activeProgramGlRef- Mappings:
Namespace Name Mixin selector named activeProgramGlRefLnet/minecraft/client/gl/ShaderProgram;activeProgramGlRef:Iintermediary field_29486Lnet/minecraft/class_5944;field_29486:Iofficial wLgfn;w:I
-
samplers
- Mappings:
Namespace Name Mixin selector named samplersLnet/minecraft/client/gl/ShaderProgram;samplers:Ljava/util/Map;intermediary field_29487Lnet/minecraft/class_5944;field_29487:Ljava/util/Map;official xLgfn;x:Ljava/util/Map;
-
samplerNames
- Mappings:
Namespace Name Mixin selector named samplerNamesLnet/minecraft/client/gl/ShaderProgram;samplerNames:Ljava/util/List;intermediary field_29488Lnet/minecraft/class_5944;field_29488:Ljava/util/List;official yLgfn;y:Ljava/util/List;
-
loadedSamplerIds
- Mappings:
Namespace Name Mixin selector named loadedSamplerIdsLnet/minecraft/client/gl/ShaderProgram;loadedSamplerIds:Ljava/util/List;intermediary field_29489Lnet/minecraft/class_5944;field_29489:Ljava/util/List;official zLgfn;z:Ljava/util/List;
-
uniforms
- Mappings:
Namespace Name Mixin selector named uniformsLnet/minecraft/client/gl/ShaderProgram;uniforms:Ljava/util/List;intermediary field_29490Lnet/minecraft/class_5944;field_29490:Ljava/util/List;official ALgfn;A:Ljava/util/List;
-
loadedUniformIds
- Mappings:
Namespace Name Mixin selector named loadedUniformIdsLnet/minecraft/client/gl/ShaderProgram;loadedUniformIds:Ljava/util/List;intermediary field_29491Lnet/minecraft/class_5944;field_29491:Ljava/util/List;official BLgfn;B:Ljava/util/List;
-
loadedUniforms
- Mappings:
Namespace Name Mixin selector named loadedUniformsLnet/minecraft/client/gl/ShaderProgram;loadedUniforms:Ljava/util/Map;intermediary field_29492Lnet/minecraft/class_5944;field_29492:Ljava/util/Map;official CLgfn;C:Ljava/util/Map;
-
glRef
private final int glRef- Mappings:
Namespace Name Mixin selector named glRefLnet/minecraft/client/gl/ShaderProgram;glRef:Iintermediary field_29493Lnet/minecraft/class_5944;field_29493:Iofficial DLgfn;D:I
-
name
- Mappings:
Namespace Name Mixin selector named nameLnet/minecraft/client/gl/ShaderProgram;name:Ljava/lang/String;intermediary field_29494Lnet/minecraft/class_5944;field_29494:Ljava/lang/String;official ELgfn;E:Ljava/lang/String;
-
dirty
private boolean dirty- Mappings:
Namespace Name Mixin selector named dirtyLnet/minecraft/client/gl/ShaderProgram;dirty:Zintermediary field_29495Lnet/minecraft/class_5944;field_29495:Zofficial FLgfn;F:Z
-
vertexShader
- Mappings:
Namespace Name Mixin selector named vertexShaderLnet/minecraft/client/gl/ShaderProgram;vertexShader:Lnet/minecraft/client/gl/ShaderStage;intermediary field_29467Lnet/minecraft/class_5944;field_29467:Lnet/minecraft/class_281;official GLgfn;G:Lfaw;
-
fragmentShader
- Mappings:
Namespace Name Mixin selector named fragmentShaderLnet/minecraft/client/gl/ShaderProgram;fragmentShader:Lnet/minecraft/client/gl/ShaderStage;intermediary field_29468Lnet/minecraft/class_5944;field_29468:Lnet/minecraft/class_281;official HLgfn;H:Lfaw;
-
format
- Mappings:
Namespace Name Mixin selector named formatLnet/minecraft/client/gl/ShaderProgram;format:Lnet/minecraft/client/render/VertexFormat;intermediary field_29469Lnet/minecraft/class_5944;field_29469:Lnet/minecraft/class_293;official ILgfn;I:Lfbn;
-
modelViewMat
- Mappings:
Namespace Name Mixin selector named modelViewMatLnet/minecraft/client/gl/ShaderProgram;modelViewMat:Lnet/minecraft/client/gl/GlUniform;intermediary field_29470Lnet/minecraft/class_5944;field_29470:Lnet/minecraft/class_284;official bLgfn;b:Lfaz;
-
projectionMat
- Mappings:
Namespace Name Mixin selector named projectionMatLnet/minecraft/client/gl/ShaderProgram;projectionMat:Lnet/minecraft/client/gl/GlUniform;intermediary field_29471Lnet/minecraft/class_5944;field_29471:Lnet/minecraft/class_284;official cLgfn;c:Lfaz;
-
textureMat
- Mappings:
Namespace Name Mixin selector named textureMatLnet/minecraft/client/gl/ShaderProgram;textureMat:Lnet/minecraft/client/gl/GlUniform;intermediary field_29472Lnet/minecraft/class_5944;field_29472:Lnet/minecraft/class_284;official dLgfn;d:Lfaz;
-
screenSize
- Mappings:
Namespace Name Mixin selector named screenSizeLnet/minecraft/client/gl/ShaderProgram;screenSize:Lnet/minecraft/client/gl/GlUniform;intermediary field_29473Lnet/minecraft/class_5944;field_29473:Lnet/minecraft/class_284;official eLgfn;e:Lfaz;
-
colorModulator
- Mappings:
Namespace Name Mixin selector named colorModulatorLnet/minecraft/client/gl/ShaderProgram;colorModulator:Lnet/minecraft/client/gl/GlUniform;intermediary field_29474Lnet/minecraft/class_5944;field_29474:Lnet/minecraft/class_284;official fLgfn;f:Lfaz;
-
light0Direction
- Mappings:
Namespace Name Mixin selector named light0DirectionLnet/minecraft/client/gl/ShaderProgram;light0Direction:Lnet/minecraft/client/gl/GlUniform;intermediary field_29475Lnet/minecraft/class_5944;field_29475:Lnet/minecraft/class_284;official gLgfn;g:Lfaz;
-
light1Direction
- Mappings:
Namespace Name Mixin selector named light1DirectionLnet/minecraft/client/gl/ShaderProgram;light1Direction:Lnet/minecraft/client/gl/GlUniform;intermediary field_29476Lnet/minecraft/class_5944;field_29476:Lnet/minecraft/class_284;official hLgfn;h:Lfaz;
-
glintAlpha
- Mappings:
Namespace Name Mixin selector named glintAlphaLnet/minecraft/client/gl/ShaderProgram;glintAlpha:Lnet/minecraft/client/gl/GlUniform;intermediary field_42231Lnet/minecraft/class_5944;field_42231:Lnet/minecraft/class_284;official iLgfn;i:Lfaz;
-
fogStart
- Mappings:
Namespace Name Mixin selector named fogStartLnet/minecraft/client/gl/ShaderProgram;fogStart:Lnet/minecraft/client/gl/GlUniform;intermediary field_29477Lnet/minecraft/class_5944;field_29477:Lnet/minecraft/class_284;official jLgfn;j:Lfaz;
-
fogEnd
- Mappings:
Namespace Name Mixin selector named fogEndLnet/minecraft/client/gl/ShaderProgram;fogEnd:Lnet/minecraft/client/gl/GlUniform;intermediary field_29478Lnet/minecraft/class_5944;field_29478:Lnet/minecraft/class_284;official kLgfn;k:Lfaz;
-
fogColor
- Mappings:
Namespace Name Mixin selector named fogColorLnet/minecraft/client/gl/ShaderProgram;fogColor:Lnet/minecraft/client/gl/GlUniform;intermediary field_29479Lnet/minecraft/class_5944;field_29479:Lnet/minecraft/class_284;official lLgfn;l:Lfaz;
-
fogShape
- Mappings:
Namespace Name Mixin selector named fogShapeLnet/minecraft/client/gl/ShaderProgram;fogShape:Lnet/minecraft/client/gl/GlUniform;intermediary field_36373Lnet/minecraft/class_5944;field_36373:Lnet/minecraft/class_284;official mLgfn;m:Lfaz;
-
lineWidth
- Mappings:
Namespace Name Mixin selector named lineWidthLnet/minecraft/client/gl/ShaderProgram;lineWidth:Lnet/minecraft/client/gl/GlUniform;intermediary field_29480Lnet/minecraft/class_5944;field_29480:Lnet/minecraft/class_284;official nLgfn;n:Lfaz;
-
gameTime
- Mappings:
Namespace Name Mixin selector named gameTimeLnet/minecraft/client/gl/ShaderProgram;gameTime:Lnet/minecraft/client/gl/GlUniform;intermediary field_29481Lnet/minecraft/class_5944;field_29481:Lnet/minecraft/class_284;official oLgfn;o:Lfaz;
-
chunkOffset
- Mappings:
Namespace Name Mixin selector named chunkOffsetLnet/minecraft/client/gl/ShaderProgram;chunkOffset:Lnet/minecraft/client/gl/GlUniform;intermediary field_29482Lnet/minecraft/class_5944;field_29482:Lnet/minecraft/class_284;official pLgfn;p:Lfaz;
-
-
Constructor Details
-
ShaderProgram
- Throws:
IOException- Mappings:
Namespace Name Mixin selector named <init>Lnet/minecraft/client/gl/ShaderProgram;<init>(Lnet/minecraft/resource/ResourceFactory;Ljava/lang/String;Lnet/minecraft/client/render/VertexFormat;)Vintermediary <init>Lnet/minecraft/class_5944;<init>(Lnet/minecraft/class_5912;Ljava/lang/String;Lnet/minecraft/class_293;)Vofficial <init>Lgfn;<init>(Lauh;Ljava/lang/String;Lfbn;)V
-
-
Method Details
-
loadShader
private static ShaderStage loadShader(ResourceFactory factory, ShaderStage.Type type, String name) throws IOException - Throws:
IOException- Mappings:
Namespace Name Mixin selector named loadShaderLnet/minecraft/client/gl/ShaderProgram;loadShader(Lnet/minecraft/resource/ResourceFactory;Lnet/minecraft/client/gl/ShaderStage$Type;Ljava/lang/String;)Lnet/minecraft/client/gl/ShaderStage;intermediary method_34579Lnet/minecraft/class_5944;method_34579(Lnet/minecraft/class_5912;Lnet/minecraft/class_281$class_282;Ljava/lang/String;)Lnet/minecraft/class_281;official aLgfn;a(Lauh;Lfaw$a;Ljava/lang/String;)Lfaw;
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
unbind
public void unbind()- Mappings:
Namespace Name Mixin selector named unbindLnet/minecraft/client/gl/ShaderProgram;unbind()Vintermediary method_34585Lnet/minecraft/class_5944;method_34585()Vofficial fLgfn;f()V
-
bind
public void bind()- Mappings:
Namespace Name Mixin selector named bindLnet/minecraft/client/gl/ShaderProgram;bind()Vintermediary method_34586Lnet/minecraft/class_5944;method_34586()Vofficial gLgfn;g()V
-
markUniformsDirty
public void markUniformsDirty()- Specified by:
markUniformsDirtyin interfaceShaderProgramSetupView- Mappings:
Namespace Name Mixin selector named markUniformsDirtyLnet/minecraft/client/gl/ShaderProgramSetupView;markUniformsDirty()Vintermediary method_1279Lnet/minecraft/class_3679;method_1279()Vofficial bLfay;b()V
-
getUniform
- Mappings:
Namespace Name Mixin selector named getUniformLnet/minecraft/client/gl/ShaderProgram;getUniform(Ljava/lang/String;)Lnet/minecraft/client/gl/GlUniform;intermediary method_34582Lnet/minecraft/class_5944;method_34582(Ljava/lang/String;)Lnet/minecraft/class_284;official aLgfn;a(Ljava/lang/String;)Lfaz;
-
getUniformOrDefault
- Mappings:
Namespace Name Mixin selector named getUniformOrDefaultLnet/minecraft/client/gl/ShaderProgram;getUniformOrDefault(Ljava/lang/String;)Lnet/minecraft/client/gl/Uniform;intermediary method_35785Lnet/minecraft/class_5944;method_35785(Ljava/lang/String;)Lnet/minecraft/class_278;official bLgfn;b(Ljava/lang/String;)Lfar;
-
loadReferences
private void loadReferences()- Mappings:
Namespace Name Mixin selector named loadReferencesLnet/minecraft/client/gl/ShaderProgram;loadReferences()Vintermediary method_34588Lnet/minecraft/class_5944;method_34588()Vofficial jLgfn;j()V
-
readSampler
- Mappings:
Namespace Name Mixin selector named readSamplerLnet/minecraft/client/gl/ShaderProgram;readSampler(Lcom/google/gson/JsonElement;)Vintermediary method_34580Lnet/minecraft/class_5944;method_34580(Lcom/google/gson/JsonElement;)Vofficial aLgfn;a(Lcom/google/gson/JsonElement;)V
-
addSampler
- Mappings:
Namespace Name Mixin selector named addSamplerLnet/minecraft/client/gl/ShaderProgram;addSampler(Ljava/lang/String;Ljava/lang/Object;)Vintermediary method_34583Lnet/minecraft/class_5944;method_34583(Ljava/lang/String;Ljava/lang/Object;)Vofficial aLgfn;a(Ljava/lang/String;Ljava/lang/Object;)V
-
addUniform
- Throws:
InvalidHierarchicalFileException- Mappings:
Namespace Name Mixin selector named addUniformLnet/minecraft/client/gl/ShaderProgram;addUniform(Lcom/google/gson/JsonElement;)Vintermediary method_34584Lnet/minecraft/class_5944;method_34584(Lcom/google/gson/JsonElement;)Vofficial bLgfn;b(Lcom/google/gson/JsonElement;)V
-
getVertexShader
- Specified by:
getVertexShaderin interfaceShaderProgramSetupView- Mappings:
Namespace Name Mixin selector named getVertexShaderLnet/minecraft/client/gl/ShaderProgramSetupView;getVertexShader()Lnet/minecraft/client/gl/ShaderStage;intermediary method_1274Lnet/minecraft/class_3679;method_1274()Lnet/minecraft/class_281;official cLfay;c()Lfaw;
-
getFragmentShader
- Specified by:
getFragmentShaderin interfaceShaderProgramSetupView- Mappings:
Namespace Name Mixin selector named getFragmentShaderLnet/minecraft/client/gl/ShaderProgramSetupView;getFragmentShader()Lnet/minecraft/client/gl/ShaderStage;intermediary method_1278Lnet/minecraft/class_3679;method_1278()Lnet/minecraft/class_281;official dLfay;d()Lfaw;
-
attachReferencedShaders
public void attachReferencedShaders()- Specified by:
attachReferencedShadersin interfaceShaderProgramSetupView- Mappings:
Namespace Name Mixin selector named attachReferencedShadersLnet/minecraft/client/gl/ShaderProgramSetupView;attachReferencedShaders()Vintermediary method_34418Lnet/minecraft/class_3679;method_34418()Vofficial eLfay;e()V
-
getFormat
- Mappings:
Namespace Name Mixin selector named getFormatLnet/minecraft/client/gl/ShaderProgram;getFormat()Lnet/minecraft/client/render/VertexFormat;intermediary method_35786Lnet/minecraft/class_5944;method_35786()Lnet/minecraft/class_293;official hLgfn;h()Lfbn;
-
getName
- Mappings:
Namespace Name Mixin selector named getNameLnet/minecraft/client/gl/ShaderProgram;getName()Ljava/lang/String;intermediary method_35787Lnet/minecraft/class_5944;method_35787()Ljava/lang/String;official iLgfn;i()Ljava/lang/String;
-
getGlRef
public int getGlRef()- Specified by:
getGlRefin interfaceShaderProgramSetupView- Mappings:
Namespace Name Mixin selector named getGlRefLnet/minecraft/client/gl/ShaderProgramSetupView;getGlRef()Iintermediary method_1270Lnet/minecraft/class_3679;method_1270()Iofficial aLfay;a()I
-
initializeUniforms
public void initializeUniforms(VertexFormat.DrawMode drawMode, Matrix4f viewMatrix, Matrix4f projectionMatrix, Window window) - Mappings:
Namespace Name Mixin selector named initializeUniformsLnet/minecraft/client/gl/ShaderProgram;initializeUniforms(Lnet/minecraft/client/render/VertexFormat$DrawMode;Lorg/joml/Matrix4f;Lorg/joml/Matrix4f;Lnet/minecraft/client/util/Window;)Vintermediary method_60897Lnet/minecraft/class_5944;method_60897(Lnet/minecraft/class_293$class_5596;Lorg/joml/Matrix4f;Lorg/joml/Matrix4f;Lnet/minecraft/class_1041;)Vofficial aLgfn;a(Lfbn$c;Lorg/joml/Matrix4f;Lorg/joml/Matrix4f;Lfam;)V
-