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 intermediary net/minecraft/class_5944official fjxnamed net/minecraft/client/gl/ShaderProgram
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static ShaderProgramprivate static intprivate final GlBlendStateprivate 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) private voidprivate static ShaderStageloadShader(ResourceFactory factory, ShaderStage.Type type, String name) voidstatic GlBlendStatereadBlendState(JsonObject json) private voidreadSampler(JsonElement json) voidunbind()
-
Field Details
-
SHADERS_DIRECTORY
- See Also:
- Mappings:
Namespace Name Mixin selector intermediary field_32778Lnet/minecraft/class_5944;field_32778:Ljava/lang/String;official aLfjx;a:Ljava/lang/String;named SHADERS_DIRECTORYLnet/minecraft/client/gl/ShaderProgram;SHADERS_DIRECTORY:Ljava/lang/String;
-
CORE_DIRECTORY
- See Also:
- Mappings:
Namespace Name Mixin selector intermediary field_40512Lnet/minecraft/class_5944;field_40512:Ljava/lang/String;official rLfjx;r:Ljava/lang/String;named CORE_DIRECTORYLnet/minecraft/client/gl/ShaderProgram;CORE_DIRECTORY:Ljava/lang/String;
-
INCLUDE_DIRECTORY
- See Also:
- Mappings:
Namespace Name Mixin selector intermediary field_32779Lnet/minecraft/class_5944;field_32779:Ljava/lang/String;official sLfjx;s:Ljava/lang/String;named INCLUDE_DIRECTORYLnet/minecraft/client/gl/ShaderProgram;INCLUDE_DIRECTORY:Ljava/lang/String;
-
LOGGER
- Mappings:
Namespace Name Mixin selector intermediary field_29483Lnet/minecraft/class_5944;field_29483:Lorg/slf4j/Logger;official tLfjx;t:Lorg/slf4j/Logger;named LOGGERLnet/minecraft/client/gl/ShaderProgram;LOGGER:Lorg/slf4j/Logger;
-
DEFAULT_UNIFORM
- Mappings:
Namespace Name Mixin selector intermediary field_29484Lnet/minecraft/class_5944;field_29484:Lnet/minecraft/class_278;official uLfjx;u:Lehk;named DEFAULT_UNIFORMLnet/minecraft/client/gl/ShaderProgram;DEFAULT_UNIFORM:Lnet/minecraft/client/gl/Uniform;
-
field_32780
private static final boolean field_32780- See Also:
- Mappings:
Namespace Name Mixin selector intermediary field_32780Lnet/minecraft/class_5944;field_32780:Zofficial vLfjx;v:Znamed field_32780Lnet/minecraft/client/gl/ShaderProgram;field_32780:Z
-
activeProgram
- Mappings:
Namespace Name Mixin selector intermediary field_29485Lnet/minecraft/class_5944;field_29485:Lnet/minecraft/class_5944;official wLfjx;w:Lfjx;named activeProgramLnet/minecraft/client/gl/ShaderProgram;activeProgram:Lnet/minecraft/client/gl/ShaderProgram;
-
activeProgramGlRef
private static int activeProgramGlRef- Mappings:
Namespace Name Mixin selector intermediary field_29486Lnet/minecraft/class_5944;field_29486:Iofficial xLfjx;x:Inamed activeProgramGlRefLnet/minecraft/client/gl/ShaderProgram;activeProgramGlRef:I
-
samplers
- Mappings:
Namespace Name Mixin selector intermediary field_29487Lnet/minecraft/class_5944;field_29487:Ljava/util/Map;official yLfjx;y:Ljava/util/Map;named samplersLnet/minecraft/client/gl/ShaderProgram;samplers:Ljava/util/Map;
-
samplerNames
- Mappings:
Namespace Name Mixin selector intermediary field_29488Lnet/minecraft/class_5944;field_29488:Ljava/util/List;official zLfjx;z:Ljava/util/List;named samplerNamesLnet/minecraft/client/gl/ShaderProgram;samplerNames:Ljava/util/List;
-
loadedSamplerIds
- Mappings:
Namespace Name Mixin selector intermediary field_29489Lnet/minecraft/class_5944;field_29489:Ljava/util/List;official ALfjx;A:Ljava/util/List;named loadedSamplerIdsLnet/minecraft/client/gl/ShaderProgram;loadedSamplerIds:Ljava/util/List;
-
uniforms
- Mappings:
Namespace Name Mixin selector intermediary field_29490Lnet/minecraft/class_5944;field_29490:Ljava/util/List;official BLfjx;B:Ljava/util/List;named uniformsLnet/minecraft/client/gl/ShaderProgram;uniforms:Ljava/util/List;
-
loadedUniformIds
- Mappings:
Namespace Name Mixin selector intermediary field_29491Lnet/minecraft/class_5944;field_29491:Ljava/util/List;official CLfjx;C:Ljava/util/List;named loadedUniformIdsLnet/minecraft/client/gl/ShaderProgram;loadedUniformIds:Ljava/util/List;
-
loadedUniforms
- Mappings:
Namespace Name Mixin selector intermediary field_29492Lnet/minecraft/class_5944;field_29492:Ljava/util/Map;official DLfjx;D:Ljava/util/Map;named loadedUniformsLnet/minecraft/client/gl/ShaderProgram;loadedUniforms:Ljava/util/Map;
-
glRef
private final int glRef- Mappings:
Namespace Name Mixin selector intermediary field_29493Lnet/minecraft/class_5944;field_29493:Iofficial ELfjx;E:Inamed glRefLnet/minecraft/client/gl/ShaderProgram;glRef:I
-
name
- Mappings:
Namespace Name Mixin selector intermediary field_29494Lnet/minecraft/class_5944;field_29494:Ljava/lang/String;official FLfjx;F:Ljava/lang/String;named nameLnet/minecraft/client/gl/ShaderProgram;name:Ljava/lang/String;
-
dirty
private boolean dirty- Mappings:
Namespace Name Mixin selector intermediary field_29495Lnet/minecraft/class_5944;field_29495:Zofficial GLfjx;G:Znamed dirtyLnet/minecraft/client/gl/ShaderProgram;dirty:Z
-
blendState
- Mappings:
Namespace Name Mixin selector intermediary field_29464Lnet/minecraft/class_5944;field_29464:Lnet/minecraft/class_277;official HLfjx;H:Lehl;named blendStateLnet/minecraft/client/gl/ShaderProgram;blendState:Lnet/minecraft/client/gl/GlBlendState;
-
loadedAttributeIds
- Mappings:
Namespace Name Mixin selector intermediary field_29465Lnet/minecraft/class_5944;field_29465:Ljava/util/List;official ILfjx;I:Ljava/util/List;named loadedAttributeIdsLnet/minecraft/client/gl/ShaderProgram;loadedAttributeIds:Ljava/util/List;
-
attributeNames
- Mappings:
Namespace Name Mixin selector intermediary field_29466Lnet/minecraft/class_5944;field_29466:Ljava/util/List;official JLfjx;J:Ljava/util/List;named attributeNamesLnet/minecraft/client/gl/ShaderProgram;attributeNames:Ljava/util/List;
-
vertexShader
- Mappings:
Namespace Name Mixin selector intermediary field_29467Lnet/minecraft/class_5944;field_29467:Lnet/minecraft/class_281;official KLfjx;K:Lehp;named vertexShaderLnet/minecraft/client/gl/ShaderProgram;vertexShader:Lnet/minecraft/client/gl/ShaderStage;
-
fragmentShader
- Mappings:
Namespace Name Mixin selector intermediary field_29468Lnet/minecraft/class_5944;field_29468:Lnet/minecraft/class_281;official LLfjx;L:Lehp;named fragmentShaderLnet/minecraft/client/gl/ShaderProgram;fragmentShader:Lnet/minecraft/client/gl/ShaderStage;
-
format
- Mappings:
Namespace Name Mixin selector intermediary field_29469Lnet/minecraft/class_5944;field_29469:Lnet/minecraft/class_293;official MLfjx;M:Leig;named formatLnet/minecraft/client/gl/ShaderProgram;format:Lnet/minecraft/client/render/VertexFormat;
-
modelViewMat
- Mappings:
Namespace Name Mixin selector intermediary field_29470Lnet/minecraft/class_5944;field_29470:Lnet/minecraft/class_284;official bLfjx;b:Lehs;named modelViewMatLnet/minecraft/client/gl/ShaderProgram;modelViewMat:Lnet/minecraft/client/gl/GlUniform;
-
projectionMat
- Mappings:
Namespace Name Mixin selector intermediary field_29471Lnet/minecraft/class_5944;field_29471:Lnet/minecraft/class_284;official cLfjx;c:Lehs;named projectionMatLnet/minecraft/client/gl/ShaderProgram;projectionMat:Lnet/minecraft/client/gl/GlUniform;
-
viewRotationMat
- Mappings:
Namespace Name Mixin selector intermediary field_36323Lnet/minecraft/class_5944;field_36323:Lnet/minecraft/class_284;official dLfjx;d:Lehs;named viewRotationMatLnet/minecraft/client/gl/ShaderProgram;viewRotationMat:Lnet/minecraft/client/gl/GlUniform;
-
textureMat
- Mappings:
Namespace Name Mixin selector intermediary field_29472Lnet/minecraft/class_5944;field_29472:Lnet/minecraft/class_284;official eLfjx;e:Lehs;named textureMatLnet/minecraft/client/gl/ShaderProgram;textureMat:Lnet/minecraft/client/gl/GlUniform;
-
screenSize
- Mappings:
Namespace Name Mixin selector intermediary field_29473Lnet/minecraft/class_5944;field_29473:Lnet/minecraft/class_284;official fLfjx;f:Lehs;named screenSizeLnet/minecraft/client/gl/ShaderProgram;screenSize:Lnet/minecraft/client/gl/GlUniform;
-
colorModulator
- Mappings:
Namespace Name Mixin selector intermediary field_29474Lnet/minecraft/class_5944;field_29474:Lnet/minecraft/class_284;official gLfjx;g:Lehs;named colorModulatorLnet/minecraft/client/gl/ShaderProgram;colorModulator:Lnet/minecraft/client/gl/GlUniform;
-
light0Direction
- Mappings:
Namespace Name Mixin selector intermediary field_29475Lnet/minecraft/class_5944;field_29475:Lnet/minecraft/class_284;official hLfjx;h:Lehs;named light0DirectionLnet/minecraft/client/gl/ShaderProgram;light0Direction:Lnet/minecraft/client/gl/GlUniform;
-
light1Direction
- Mappings:
Namespace Name Mixin selector intermediary field_29476Lnet/minecraft/class_5944;field_29476:Lnet/minecraft/class_284;official iLfjx;i:Lehs;named light1DirectionLnet/minecraft/client/gl/ShaderProgram;light1Direction:Lnet/minecraft/client/gl/GlUniform;
-
glintAlpha
- Mappings:
Namespace Name Mixin selector intermediary field_42231Lnet/minecraft/class_5944;field_42231:Lnet/minecraft/class_284;official jLfjx;j:Lehs;named glintAlphaLnet/minecraft/client/gl/ShaderProgram;glintAlpha:Lnet/minecraft/client/gl/GlUniform;
-
fogStart
- Mappings:
Namespace Name Mixin selector intermediary field_29477Lnet/minecraft/class_5944;field_29477:Lnet/minecraft/class_284;official kLfjx;k:Lehs;named fogStartLnet/minecraft/client/gl/ShaderProgram;fogStart:Lnet/minecraft/client/gl/GlUniform;
-
fogEnd
- Mappings:
Namespace Name Mixin selector intermediary field_29478Lnet/minecraft/class_5944;field_29478:Lnet/minecraft/class_284;official lLfjx;l:Lehs;named fogEndLnet/minecraft/client/gl/ShaderProgram;fogEnd:Lnet/minecraft/client/gl/GlUniform;
-
fogColor
- Mappings:
Namespace Name Mixin selector intermediary field_29479Lnet/minecraft/class_5944;field_29479:Lnet/minecraft/class_284;official mLfjx;m:Lehs;named fogColorLnet/minecraft/client/gl/ShaderProgram;fogColor:Lnet/minecraft/client/gl/GlUniform;
-
fogShape
- Mappings:
Namespace Name Mixin selector intermediary field_36373Lnet/minecraft/class_5944;field_36373:Lnet/minecraft/class_284;official nLfjx;n:Lehs;named fogShapeLnet/minecraft/client/gl/ShaderProgram;fogShape:Lnet/minecraft/client/gl/GlUniform;
-
lineWidth
- Mappings:
Namespace Name Mixin selector intermediary field_29480Lnet/minecraft/class_5944;field_29480:Lnet/minecraft/class_284;official oLfjx;o:Lehs;named lineWidthLnet/minecraft/client/gl/ShaderProgram;lineWidth:Lnet/minecraft/client/gl/GlUniform;
-
gameTime
- Mappings:
Namespace Name Mixin selector intermediary field_29481Lnet/minecraft/class_5944;field_29481:Lnet/minecraft/class_284;official pLfjx;p:Lehs;named gameTimeLnet/minecraft/client/gl/ShaderProgram;gameTime:Lnet/minecraft/client/gl/GlUniform;
-
chunkOffset
- Mappings:
Namespace Name Mixin selector intermediary field_29482Lnet/minecraft/class_5944;field_29482:Lnet/minecraft/class_284;official qLfjx;q:Lehs;named chunkOffsetLnet/minecraft/client/gl/ShaderProgram;chunkOffset:Lnet/minecraft/client/gl/GlUniform;
-
-
Constructor Details
-
ShaderProgram
- Throws:
IOException- Mappings:
Namespace Name Mixin selector intermediary <init>Lnet/minecraft/class_5944;<init>(Lnet/minecraft/class_5912;Ljava/lang/String;Lnet/minecraft/class_293;)Vofficial <init>Lfjx;<init>(Lala;Ljava/lang/String;Leig;)Vnamed <init>Lnet/minecraft/client/gl/ShaderProgram;<init>(Lnet/minecraft/resource/ResourceFactory;Ljava/lang/String;Lnet/minecraft/client/render/VertexFormat;)V
-
-
Method Details
-
loadShader
private static ShaderStage loadShader(ResourceFactory factory, ShaderStage.Type type, String name) throws IOException - Throws:
IOException- Mappings:
Namespace Name Mixin selector 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 aLfjx;a(Lala;Lehp$a;Ljava/lang/String;)Lehp;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;
-
readBlendState
- Mappings:
Namespace Name Mixin selector intermediary method_34581Lnet/minecraft/class_5944;method_34581(Lcom/google/gson/JsonObject;)Lnet/minecraft/class_277;official aLfjx;a(Lcom/google/gson/JsonObject;)Lehl;named readBlendStateLnet/minecraft/client/gl/ShaderProgram;readBlendState(Lcom/google/gson/JsonObject;)Lnet/minecraft/client/gl/GlBlendState;
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
unbind
public void unbind()- Mappings:
Namespace Name Mixin selector intermediary method_34585Lnet/minecraft/class_5944;method_34585()Vofficial fLfjx;f()Vnamed unbindLnet/minecraft/client/gl/ShaderProgram;unbind()V
-
bind
public void bind()- Mappings:
Namespace Name Mixin selector intermediary method_34586Lnet/minecraft/class_5944;method_34586()Vofficial gLfjx;g()Vnamed bindLnet/minecraft/client/gl/ShaderProgram;bind()V
-
markUniformsDirty
public void markUniformsDirty()- Specified by:
markUniformsDirtyin interfaceShaderProgramSetupView- Mappings:
Namespace Name Mixin selector intermediary method_1279Lnet/minecraft/class_3679;method_1279()Vofficial bLehr;b()Vnamed markUniformsDirtyLnet/minecraft/client/gl/ShaderProgramSetupView;markUniformsDirty()V
-
getUniform
- Mappings:
Namespace Name Mixin selector intermediary method_34582Lnet/minecraft/class_5944;method_34582(Ljava/lang/String;)Lnet/minecraft/class_284;official aLfjx;a(Ljava/lang/String;)Lehs;named getUniformLnet/minecraft/client/gl/ShaderProgram;getUniform(Ljava/lang/String;)Lnet/minecraft/client/gl/GlUniform;
-
getUniformOrDefault
- Mappings:
Namespace Name Mixin selector intermediary method_35785Lnet/minecraft/class_5944;method_35785(Ljava/lang/String;)Lnet/minecraft/class_278;official bLfjx;b(Ljava/lang/String;)Lehk;named getUniformOrDefaultLnet/minecraft/client/gl/ShaderProgram;getUniformOrDefault(Ljava/lang/String;)Lnet/minecraft/client/gl/Uniform;
-
loadReferences
private void loadReferences()- Mappings:
Namespace Name Mixin selector intermediary method_34588Lnet/minecraft/class_5944;method_34588()Vofficial jLfjx;j()Vnamed loadReferencesLnet/minecraft/client/gl/ShaderProgram;loadReferences()V
-
readSampler
- Mappings:
Namespace Name Mixin selector intermediary method_34580Lnet/minecraft/class_5944;method_34580(Lcom/google/gson/JsonElement;)Vofficial aLfjx;a(Lcom/google/gson/JsonElement;)Vnamed readSamplerLnet/minecraft/client/gl/ShaderProgram;readSampler(Lcom/google/gson/JsonElement;)V
-
addSampler
- Mappings:
Namespace Name Mixin selector intermediary method_34583Lnet/minecraft/class_5944;method_34583(Ljava/lang/String;Ljava/lang/Object;)Vofficial aLfjx;a(Ljava/lang/String;Ljava/lang/Object;)Vnamed addSamplerLnet/minecraft/client/gl/ShaderProgram;addSampler(Ljava/lang/String;Ljava/lang/Object;)V
-
addUniform
- Throws:
InvalidHierarchicalFileException- Mappings:
Namespace Name Mixin selector intermediary method_34584Lnet/minecraft/class_5944;method_34584(Lcom/google/gson/JsonElement;)Vofficial bLfjx;b(Lcom/google/gson/JsonElement;)Vnamed addUniformLnet/minecraft/client/gl/ShaderProgram;addUniform(Lcom/google/gson/JsonElement;)V
-
getVertexShader
- Specified by:
getVertexShaderin interfaceShaderProgramSetupView- Mappings:
Namespace Name Mixin selector intermediary method_1274Lnet/minecraft/class_3679;method_1274()Lnet/minecraft/class_281;official cLehr;c()Lehp;named getVertexShaderLnet/minecraft/client/gl/ShaderProgramSetupView;getVertexShader()Lnet/minecraft/client/gl/ShaderStage;
-
getFragmentShader
- Specified by:
getFragmentShaderin interfaceShaderProgramSetupView- Mappings:
Namespace Name Mixin selector intermediary method_1278Lnet/minecraft/class_3679;method_1278()Lnet/minecraft/class_281;official dLehr;d()Lehp;named getFragmentShaderLnet/minecraft/client/gl/ShaderProgramSetupView;getFragmentShader()Lnet/minecraft/client/gl/ShaderStage;
-
attachReferencedShaders
public void attachReferencedShaders()- Specified by:
attachReferencedShadersin interfaceShaderProgramSetupView- Mappings:
Namespace Name Mixin selector intermediary method_34418Lnet/minecraft/class_3679;method_34418()Vofficial eLehr;e()Vnamed attachReferencedShadersLnet/minecraft/client/gl/ShaderProgramSetupView;attachReferencedShaders()V
-
getFormat
- Mappings:
Namespace Name Mixin selector intermediary method_35786Lnet/minecraft/class_5944;method_35786()Lnet/minecraft/class_293;official hLfjx;h()Leig;named getFormatLnet/minecraft/client/gl/ShaderProgram;getFormat()Lnet/minecraft/client/render/VertexFormat;
-
getName
- Mappings:
Namespace Name Mixin selector intermediary method_35787Lnet/minecraft/class_5944;method_35787()Ljava/lang/String;official iLfjx;i()Ljava/lang/String;named getNameLnet/minecraft/client/gl/ShaderProgram;getName()Ljava/lang/String;
-
getGlRef
public int getGlRef()- Specified by:
getGlRefin interfaceShaderProgramSetupView- Mappings:
Namespace Name Mixin selector intermediary method_1270Lnet/minecraft/class_3679;method_1270()Iofficial aLehr;a()Inamed getGlRefLnet/minecraft/client/gl/ShaderProgramSetupView;getGlRef()I
-