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 official fonintermediary net/minecraft/class_5944named net/minecraft/client/gl/ShaderProgram
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static ShaderProgramprivate static intprivate final GlBlendStatefinal @Nullable GlUniformfinal @Nullable GlUniformprivate static final Stringprivate static final Uniformprivate booleanprivate static final booleanfinal @Nullable GlUniformfinal @Nullable GlUniformfinal @Nullable GlUniformfinal @Nullable GlUniformprivate final VertexFormatprivate final ShaderStagefinal @Nullable GlUniformfinal @Nullable GlUniformprivate final intprivate static final Stringfinal @Nullable GlUniformfinal @Nullable GlUniformfinal @Nullable GlUniform(package private) static final Loggerfinal @Nullable GlUniformprivate final Stringfinal @Nullable GlUniformfinal @Nullable GlUniformstatic final Stringfinal @Nullable GlUniformprivate final ShaderStagefinal @Nullable GlUniform -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSampler(String name, Object sampler) private voidaddUniform(com.google.gson.JsonElement json) voidvoidbind()voidclose()intgetGlRef()getName()@Nullable GlUniformgetUniform(String name) getUniformOrDefault(String name) private voidprivate static ShaderStageloadShader(ResourceFactory factory, ShaderStage.Type type, String name) voidstatic GlBlendStatereadBlendState(com.google.gson.JsonObject json) private voidreadSampler(com.google.gson.JsonElement json) voidunbind()
-
Field Details
-
SHADERS_DIRECTORY
- See Also:
- Mappings:
Namespace Name Mixin selector official aLfon;a:Ljava/lang/String;intermediary field_32778Lnet/minecraft/class_5944;field_32778:Ljava/lang/String;named SHADERS_DIRECTORYLnet/minecraft/client/gl/ShaderProgram;SHADERS_DIRECTORY:Ljava/lang/String;
-
CORE_DIRECTORY
- See Also:
- Mappings:
Namespace Name Mixin selector official rLfon;r:Ljava/lang/String;intermediary field_40512Lnet/minecraft/class_5944;field_40512:Ljava/lang/String;named CORE_DIRECTORYLnet/minecraft/client/gl/ShaderProgram;CORE_DIRECTORY:Ljava/lang/String;
-
INCLUDE_DIRECTORY
- See Also:
- Mappings:
Namespace Name Mixin selector official sLfon;s:Ljava/lang/String;intermediary field_32779Lnet/minecraft/class_5944;field_32779:Ljava/lang/String;named INCLUDE_DIRECTORYLnet/minecraft/client/gl/ShaderProgram;INCLUDE_DIRECTORY:Ljava/lang/String;
-
LOGGER
- Mappings:
Namespace Name Mixin selector official tLfon;t:Lorg/slf4j/Logger;intermediary field_29483Lnet/minecraft/class_5944;field_29483:Lorg/slf4j/Logger;named LOGGERLnet/minecraft/client/gl/ShaderProgram;LOGGER:Lorg/slf4j/Logger;
-
DEFAULT_UNIFORM
- Mappings:
Namespace Name Mixin selector official uLfon;u:Leks;intermediary field_29484Lnet/minecraft/class_5944;field_29484:Lnet/minecraft/class_278;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 official vLfon;v:Zintermediary field_32780Lnet/minecraft/class_5944;field_32780:Znamed field_32780Lnet/minecraft/client/gl/ShaderProgram;field_32780:Z
-
activeProgram
- Mappings:
Namespace Name Mixin selector official wLfon;w:Lfon;intermediary field_29485Lnet/minecraft/class_5944;field_29485:Lnet/minecraft/class_5944;named activeProgramLnet/minecraft/client/gl/ShaderProgram;activeProgram:Lnet/minecraft/client/gl/ShaderProgram;
-
activeProgramGlRef
private static int activeProgramGlRef- Mappings:
Namespace Name Mixin selector official xLfon;x:Iintermediary field_29486Lnet/minecraft/class_5944;field_29486:Inamed activeProgramGlRefLnet/minecraft/client/gl/ShaderProgram;activeProgramGlRef:I
-
samplers
- Mappings:
Namespace Name Mixin selector official yLfon;y:Ljava/util/Map;intermediary field_29487Lnet/minecraft/class_5944;field_29487:Ljava/util/Map;named samplersLnet/minecraft/client/gl/ShaderProgram;samplers:Ljava/util/Map;
-
samplerNames
- Mappings:
Namespace Name Mixin selector official zLfon;z:Ljava/util/List;intermediary field_29488Lnet/minecraft/class_5944;field_29488:Ljava/util/List;named samplerNamesLnet/minecraft/client/gl/ShaderProgram;samplerNames:Ljava/util/List;
-
loadedSamplerIds
- Mappings:
Namespace Name Mixin selector official ALfon;A:Ljava/util/List;intermediary field_29489Lnet/minecraft/class_5944;field_29489:Ljava/util/List;named loadedSamplerIdsLnet/minecraft/client/gl/ShaderProgram;loadedSamplerIds:Ljava/util/List;
-
uniforms
- Mappings:
Namespace Name Mixin selector official BLfon;B:Ljava/util/List;intermediary field_29490Lnet/minecraft/class_5944;field_29490:Ljava/util/List;named uniformsLnet/minecraft/client/gl/ShaderProgram;uniforms:Ljava/util/List;
-
loadedUniformIds
- Mappings:
Namespace Name Mixin selector official CLfon;C:Ljava/util/List;intermediary field_29491Lnet/minecraft/class_5944;field_29491:Ljava/util/List;named loadedUniformIdsLnet/minecraft/client/gl/ShaderProgram;loadedUniformIds:Ljava/util/List;
-
loadedUniforms
- Mappings:
Namespace Name Mixin selector official DLfon;D:Ljava/util/Map;intermediary field_29492Lnet/minecraft/class_5944;field_29492:Ljava/util/Map;named loadedUniformsLnet/minecraft/client/gl/ShaderProgram;loadedUniforms:Ljava/util/Map;
-
glRef
private final int glRef- Mappings:
Namespace Name Mixin selector official ELfon;E:Iintermediary field_29493Lnet/minecraft/class_5944;field_29493:Inamed glRefLnet/minecraft/client/gl/ShaderProgram;glRef:I
-
name
- Mappings:
Namespace Name Mixin selector official FLfon;F:Ljava/lang/String;intermediary field_29494Lnet/minecraft/class_5944;field_29494:Ljava/lang/String;named nameLnet/minecraft/client/gl/ShaderProgram;name:Ljava/lang/String;
-
dirty
private boolean dirty- Mappings:
Namespace Name Mixin selector official GLfon;G:Zintermediary field_29495Lnet/minecraft/class_5944;field_29495:Znamed dirtyLnet/minecraft/client/gl/ShaderProgram;dirty:Z
-
blendState
- Mappings:
Namespace Name Mixin selector official HLfon;H:Lekt;intermediary field_29464Lnet/minecraft/class_5944;field_29464:Lnet/minecraft/class_277;named blendStateLnet/minecraft/client/gl/ShaderProgram;blendState:Lnet/minecraft/client/gl/GlBlendState;
-
loadedAttributeIds
- Mappings:
Namespace Name Mixin selector official ILfon;I:Ljava/util/List;intermediary field_29465Lnet/minecraft/class_5944;field_29465:Ljava/util/List;named loadedAttributeIdsLnet/minecraft/client/gl/ShaderProgram;loadedAttributeIds:Ljava/util/List;
-
attributeNames
- Mappings:
Namespace Name Mixin selector official JLfon;J:Ljava/util/List;intermediary field_29466Lnet/minecraft/class_5944;field_29466:Ljava/util/List;named attributeNamesLnet/minecraft/client/gl/ShaderProgram;attributeNames:Ljava/util/List;
-
vertexShader
- Mappings:
Namespace Name Mixin selector official KLfon;K:Lekx;intermediary field_29467Lnet/minecraft/class_5944;field_29467:Lnet/minecraft/class_281;named vertexShaderLnet/minecraft/client/gl/ShaderProgram;vertexShader:Lnet/minecraft/client/gl/ShaderStage;
-
fragmentShader
- Mappings:
Namespace Name Mixin selector official LLfon;L:Lekx;intermediary field_29468Lnet/minecraft/class_5944;field_29468:Lnet/minecraft/class_281;named fragmentShaderLnet/minecraft/client/gl/ShaderProgram;fragmentShader:Lnet/minecraft/client/gl/ShaderStage;
-
format
- Mappings:
Namespace Name Mixin selector official MLfon;M:Lelo;intermediary field_29469Lnet/minecraft/class_5944;field_29469:Lnet/minecraft/class_293;named formatLnet/minecraft/client/gl/ShaderProgram;format:Lnet/minecraft/client/render/VertexFormat;
-
modelViewMat
- Mappings:
Namespace Name Mixin selector official bLfon;b:Lela;intermediary field_29470Lnet/minecraft/class_5944;field_29470:Lnet/minecraft/class_284;named modelViewMatLnet/minecraft/client/gl/ShaderProgram;modelViewMat:Lnet/minecraft/client/gl/GlUniform;
-
projectionMat
- Mappings:
Namespace Name Mixin selector official cLfon;c:Lela;intermediary field_29471Lnet/minecraft/class_5944;field_29471:Lnet/minecraft/class_284;named projectionMatLnet/minecraft/client/gl/ShaderProgram;projectionMat:Lnet/minecraft/client/gl/GlUniform;
-
viewRotationMat
- Mappings:
Namespace Name Mixin selector official dLfon;d:Lela;intermediary field_36323Lnet/minecraft/class_5944;field_36323:Lnet/minecraft/class_284;named viewRotationMatLnet/minecraft/client/gl/ShaderProgram;viewRotationMat:Lnet/minecraft/client/gl/GlUniform;
-
textureMat
- Mappings:
Namespace Name Mixin selector official eLfon;e:Lela;intermediary field_29472Lnet/minecraft/class_5944;field_29472:Lnet/minecraft/class_284;named textureMatLnet/minecraft/client/gl/ShaderProgram;textureMat:Lnet/minecraft/client/gl/GlUniform;
-
screenSize
- Mappings:
Namespace Name Mixin selector official fLfon;f:Lela;intermediary field_29473Lnet/minecraft/class_5944;field_29473:Lnet/minecraft/class_284;named screenSizeLnet/minecraft/client/gl/ShaderProgram;screenSize:Lnet/minecraft/client/gl/GlUniform;
-
colorModulator
- Mappings:
Namespace Name Mixin selector official gLfon;g:Lela;intermediary field_29474Lnet/minecraft/class_5944;field_29474:Lnet/minecraft/class_284;named colorModulatorLnet/minecraft/client/gl/ShaderProgram;colorModulator:Lnet/minecraft/client/gl/GlUniform;
-
light0Direction
- Mappings:
Namespace Name Mixin selector official hLfon;h:Lela;intermediary field_29475Lnet/minecraft/class_5944;field_29475:Lnet/minecraft/class_284;named light0DirectionLnet/minecraft/client/gl/ShaderProgram;light0Direction:Lnet/minecraft/client/gl/GlUniform;
-
light1Direction
- Mappings:
Namespace Name Mixin selector official iLfon;i:Lela;intermediary field_29476Lnet/minecraft/class_5944;field_29476:Lnet/minecraft/class_284;named light1DirectionLnet/minecraft/client/gl/ShaderProgram;light1Direction:Lnet/minecraft/client/gl/GlUniform;
-
glintAlpha
- Mappings:
Namespace Name Mixin selector official jLfon;j:Lela;intermediary field_42231Lnet/minecraft/class_5944;field_42231:Lnet/minecraft/class_284;named glintAlphaLnet/minecraft/client/gl/ShaderProgram;glintAlpha:Lnet/minecraft/client/gl/GlUniform;
-
fogStart
- Mappings:
Namespace Name Mixin selector official kLfon;k:Lela;intermediary field_29477Lnet/minecraft/class_5944;field_29477:Lnet/minecraft/class_284;named fogStartLnet/minecraft/client/gl/ShaderProgram;fogStart:Lnet/minecraft/client/gl/GlUniform;
-
fogEnd
- Mappings:
Namespace Name Mixin selector official lLfon;l:Lela;intermediary field_29478Lnet/minecraft/class_5944;field_29478:Lnet/minecraft/class_284;named fogEndLnet/minecraft/client/gl/ShaderProgram;fogEnd:Lnet/minecraft/client/gl/GlUniform;
-
fogColor
- Mappings:
Namespace Name Mixin selector official mLfon;m:Lela;intermediary field_29479Lnet/minecraft/class_5944;field_29479:Lnet/minecraft/class_284;named fogColorLnet/minecraft/client/gl/ShaderProgram;fogColor:Lnet/minecraft/client/gl/GlUniform;
-
fogShape
- Mappings:
Namespace Name Mixin selector official nLfon;n:Lela;intermediary field_36373Lnet/minecraft/class_5944;field_36373:Lnet/minecraft/class_284;named fogShapeLnet/minecraft/client/gl/ShaderProgram;fogShape:Lnet/minecraft/client/gl/GlUniform;
-
lineWidth
- Mappings:
Namespace Name Mixin selector official oLfon;o:Lela;intermediary field_29480Lnet/minecraft/class_5944;field_29480:Lnet/minecraft/class_284;named lineWidthLnet/minecraft/client/gl/ShaderProgram;lineWidth:Lnet/minecraft/client/gl/GlUniform;
-
gameTime
- Mappings:
Namespace Name Mixin selector official pLfon;p:Lela;intermediary field_29481Lnet/minecraft/class_5944;field_29481:Lnet/minecraft/class_284;named gameTimeLnet/minecraft/client/gl/ShaderProgram;gameTime:Lnet/minecraft/client/gl/GlUniform;
-
chunkOffset
- Mappings:
Namespace Name Mixin selector official qLfon;q:Lela;intermediary field_29482Lnet/minecraft/class_5944;field_29482:Lnet/minecraft/class_284;named chunkOffsetLnet/minecraft/client/gl/ShaderProgram;chunkOffset:Lnet/minecraft/client/gl/GlUniform;
-
-
Constructor Details
-
ShaderProgram
- Throws:
IOException- Mappings:
Namespace Name Mixin selector official <init>Lfon;<init>(Lanz;Ljava/lang/String;Lelo;)Vintermediary <init>Lnet/minecraft/class_5944;<init>(Lnet/minecraft/class_5912;Ljava/lang/String;Lnet/minecraft/class_293;)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 official aLfon;a(Lanz;Lekx$a;Ljava/lang/String;)Lekx;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;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 official aLfon;a(Lcom/google/gson/JsonObject;)Lekt;intermediary method_34581Lnet/minecraft/class_5944;method_34581(Lcom/google/gson/JsonObject;)Lnet/minecraft/class_277;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 official fLfon;f()Vintermediary method_34585Lnet/minecraft/class_5944;method_34585()Vnamed unbindLnet/minecraft/client/gl/ShaderProgram;unbind()V
-
bind
public void bind()- Mappings:
Namespace Name Mixin selector official gLfon;g()Vintermediary method_34586Lnet/minecraft/class_5944;method_34586()Vnamed bindLnet/minecraft/client/gl/ShaderProgram;bind()V
-
markUniformsDirty
public void markUniformsDirty()- Specified by:
markUniformsDirtyin interfaceShaderProgramSetupView- Mappings:
Namespace Name Mixin selector official bLekz;b()Vintermediary method_1279Lnet/minecraft/class_3679;method_1279()Vnamed markUniformsDirtyLnet/minecraft/client/gl/ShaderProgramSetupView;markUniformsDirty()V
-
getUniform
- Mappings:
Namespace Name Mixin selector official aLfon;a(Ljava/lang/String;)Lela;intermediary method_34582Lnet/minecraft/class_5944;method_34582(Ljava/lang/String;)Lnet/minecraft/class_284;named getUniformLnet/minecraft/client/gl/ShaderProgram;getUniform(Ljava/lang/String;)Lnet/minecraft/client/gl/GlUniform;
-
getUniformOrDefault
- Mappings:
Namespace Name Mixin selector official bLfon;b(Ljava/lang/String;)Leks;intermediary method_35785Lnet/minecraft/class_5944;method_35785(Ljava/lang/String;)Lnet/minecraft/class_278;named getUniformOrDefaultLnet/minecraft/client/gl/ShaderProgram;getUniformOrDefault(Ljava/lang/String;)Lnet/minecraft/client/gl/Uniform;
-
loadReferences
private void loadReferences()- Mappings:
Namespace Name Mixin selector official jLfon;j()Vintermediary method_34588Lnet/minecraft/class_5944;method_34588()Vnamed loadReferencesLnet/minecraft/client/gl/ShaderProgram;loadReferences()V
-
readSampler
private void readSampler(com.google.gson.JsonElement json) - Mappings:
Namespace Name Mixin selector official aLfon;a(Lcom/google/gson/JsonElement;)Vintermediary method_34580Lnet/minecraft/class_5944;method_34580(Lcom/google/gson/JsonElement;)Vnamed readSamplerLnet/minecraft/client/gl/ShaderProgram;readSampler(Lcom/google/gson/JsonElement;)V
-
addSampler
- Mappings:
Namespace Name Mixin selector official aLfon;a(Ljava/lang/String;Ljava/lang/Object;)Vintermediary method_34583Lnet/minecraft/class_5944;method_34583(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 official bLfon;b(Lcom/google/gson/JsonElement;)Vintermediary method_34584Lnet/minecraft/class_5944;method_34584(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 official cLekz;c()Lekx;intermediary method_1274Lnet/minecraft/class_3679;method_1274()Lnet/minecraft/class_281;named getVertexShaderLnet/minecraft/client/gl/ShaderProgramSetupView;getVertexShader()Lnet/minecraft/client/gl/ShaderStage;
-
getFragmentShader
- Specified by:
getFragmentShaderin interfaceShaderProgramSetupView- Mappings:
Namespace Name Mixin selector official dLekz;d()Lekx;intermediary method_1278Lnet/minecraft/class_3679;method_1278()Lnet/minecraft/class_281;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 official eLekz;e()Vintermediary method_34418Lnet/minecraft/class_3679;method_34418()Vnamed attachReferencedShadersLnet/minecraft/client/gl/ShaderProgramSetupView;attachReferencedShaders()V
-
getFormat
- Mappings:
Namespace Name Mixin selector official hLfon;h()Lelo;intermediary method_35786Lnet/minecraft/class_5944;method_35786()Lnet/minecraft/class_293;named getFormatLnet/minecraft/client/gl/ShaderProgram;getFormat()Lnet/minecraft/client/render/VertexFormat;
-
getName
- Mappings:
Namespace Name Mixin selector official iLfon;i()Ljava/lang/String;intermediary method_35787Lnet/minecraft/class_5944;method_35787()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 official aLekz;a()Iintermediary method_1270Lnet/minecraft/class_3679;method_1270()Inamed getGlRefLnet/minecraft/client/gl/ShaderProgramSetupView;getGlRef()I
-