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 fqvintermediary net/minecraft/class_5944named 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 official aLfqv;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 rLfqv;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 sLfqv;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 tLfqv;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 uLfqv;u:Lemt;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 vLfqv;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 wLfqv;w:Lfqv;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 xLfqv;x:Iintermediary field_29486Lnet/minecraft/class_5944;field_29486:Inamed activeProgramGlRefLnet/minecraft/client/gl/ShaderProgram;activeProgramGlRef:I
-
samplers
- Mappings:
Namespace Name Mixin selector official yLfqv;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 zLfqv;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 ALfqv;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 BLfqv;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 CLfqv;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 DLfqv;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 ELfqv;E:Iintermediary field_29493Lnet/minecraft/class_5944;field_29493:Inamed glRefLnet/minecraft/client/gl/ShaderProgram;glRef:I
-
name
- Mappings:
Namespace Name Mixin selector official FLfqv;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 GLfqv;G:Zintermediary field_29495Lnet/minecraft/class_5944;field_29495:Znamed dirtyLnet/minecraft/client/gl/ShaderProgram;dirty:Z
-
blendState
- Mappings:
Namespace Name Mixin selector official HLfqv;H:Lemu;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 ILfqv;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 JLfqv;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 KLfqv;K:Lemy;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 LLfqv;L:Lemy;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 MLfqv;M:Lenp;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 bLfqv;b:Lenb;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 cLfqv;c:Lenb;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 dLfqv;d:Lenb;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 eLfqv;e:Lenb;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 fLfqv;f:Lenb;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 gLfqv;g:Lenb;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 hLfqv;h:Lenb;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 iLfqv;i:Lenb;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 jLfqv;j:Lenb;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 kLfqv;k:Lenb;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 lLfqv;l:Lenb;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 mLfqv;m:Lenb;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 nLfqv;n:Lenb;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 oLfqv;o:Lenb;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 pLfqv;p:Lenb;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 qLfqv;q:Lenb;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>Lfqv;<init>(Lapg;Ljava/lang/String;Lenp;)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 aLfqv;a(Lapg;Lemy$a;Ljava/lang/String;)Lemy;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 aLfqv;a(Lcom/google/gson/JsonObject;)Lemu;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 fLfqv;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 gLfqv;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 bLena;b()Vintermediary method_1279Lnet/minecraft/class_3679;method_1279()Vnamed markUniformsDirtyLnet/minecraft/client/gl/ShaderProgramSetupView;markUniformsDirty()V
-
getUniform
- Mappings:
Namespace Name Mixin selector official aLfqv;a(Ljava/lang/String;)Lenb;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 bLfqv;b(Ljava/lang/String;)Lemt;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 jLfqv;j()Vintermediary method_34588Lnet/minecraft/class_5944;method_34588()Vnamed loadReferencesLnet/minecraft/client/gl/ShaderProgram;loadReferences()V
-
readSampler
- Mappings:
Namespace Name Mixin selector official aLfqv;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 aLfqv;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 bLfqv;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 cLena;c()Lemy;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 dLena;d()Lemy;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 eLena;e()Vintermediary method_34418Lnet/minecraft/class_3679;method_34418()Vnamed attachReferencedShadersLnet/minecraft/client/gl/ShaderProgramSetupView;attachReferencedShaders()V
-
getFormat
- Mappings:
Namespace Name Mixin selector official hLfqv;h()Lenp;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 iLfqv;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 aLena;a()Iintermediary method_1270Lnet/minecraft/class_3679;method_1270()Inamed getGlRefLnet/minecraft/client/gl/ShaderProgramSetupView;getGlRef()I
-