Package net.minecraft.client.gl
Class JsonGlProgram
java.lang.Object
net.minecraft.client.gl.JsonGlProgram
- All Implemented Interfaces:
AutoCloseable,GlProgram
@Environment(CLIENT) public class JsonGlProgram extends Object implements GlProgram, AutoCloseable
-
Field Summary
Fields Modifier and Type Field Description private static JsonGlProgramactiveProgramprivate static intactiveProgramRefprivate List<Integer>attribLocsprivate List<String>attribNamesprivate GlBlendStateblendStateprivate static UniformdummyUniformprivate GlShaderfragmentShaderprivate static LoggerLOGGERprivate Stringnameprivate intprogramRefprivate Map<String,IntSupplier>samplerBindsprivate List<String>samplerNamesprivate List<Integer>samplerShaderLocsprivate Map<String,GlUniform>uniformByNameprivate List<GlUniform>uniformDataprivate List<Integer>uniformLocsprivate booleanuniformStateDirtyprivate GlShadervertexShader -
Constructor Summary
Constructors Constructor Description JsonGlProgram(ResourceManager resource, String name) -
Method Summary
Modifier and Type Method Description private voidaddSampler(JsonElement jsonElement)private voidaddUniform(JsonElement jsonElement)voidbindSampler(String samplerName, IntSupplier intSupplier)voidclose()static GlBlendStatedeserializeBlendState(JsonObject json)voiddisable()voidenable()private voidfinalizeUniformsAndSamplers()GlShadergetFragmentShader()intgetProgramRef()static GlShadergetShader(ResourceManager resourceManager, GlShader.Type type, String name)GlUniformgetUniformByName(String name)UniformgetUniformByNameOrDummy(String name)GlShadergetVertexShader()voidmarkUniformsDirty()
-
Field Details
-
LOGGER
-
dummyUniform
-
activeProgram
-
activeProgramRef
private static int activeProgramRef -
samplerBinds
-
samplerNames
-
samplerShaderLocs
-
uniformData
-
uniformLocs
-
uniformByName
-
programRef
private final int programRef -
name
-
uniformStateDirty
private boolean uniformStateDirty -
blendState
-
attribLocs
-
attribNames
-
vertexShader
-
fragmentShader
-
-
Constructor Details
-
JsonGlProgram
- Throws:
IOException
-
-
Method Details
-
getShader
public static GlShader getShader(ResourceManager resourceManager, GlShader.Type type, String name) throws IOException- Throws:
IOException
-
deserializeBlendState
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
disable
public void disable() -
enable
public void enable() -
markUniformsDirty
public void markUniformsDirty()- Specified by:
markUniformsDirtyin interfaceGlProgram
-
getUniformByName
-
getUniformByNameOrDummy
-
finalizeUniformsAndSamplers
private void finalizeUniformsAndSamplers() -
addSampler
-
bindSampler
-
addUniform
- Throws:
ShaderParseException
-
getVertexShader
- Specified by:
getVertexShaderin interfaceGlProgram
-
getFragmentShader
- Specified by:
getFragmentShaderin interfaceGlProgram
-
getProgramRef
public int getProgramRef()- Specified by:
getProgramRefin interfaceGlProgram
-