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 JsonGlProgram
activeProgram
private static int
activeProgramRef
private List<Integer>
attribLocs
private List<String>
attribNames
private GlBlendState
blendState
private static Uniform
dummyUniform
private GlShader
fragmentShader
private static Logger
LOGGER
private String
name
private int
programRef
private Map<String,IntSupplier>
samplerBinds
private List<String>
samplerNames
private List<Integer>
samplerShaderLocs
private Map<String,GlUniform>
uniformByName
private List<GlUniform>
uniformData
private List<Integer>
uniformLocs
private boolean
uniformStateDirty
private GlShader
vertexShader
-
Constructor Summary
Constructors Constructor Description JsonGlProgram(ResourceManager resource, String name)
-
Method Summary
Modifier and Type Method Description private void
addSampler(JsonElement jsonElement)
private void
addUniform(JsonElement jsonElement)
void
bindSampler(String samplerName, IntSupplier intSupplier)
void
close()
static GlBlendState
deserializeBlendState(JsonObject json)
void
disable()
void
enable()
private void
finalizeUniformsAndSamplers()
GlShader
getFragmentShader()
int
getProgramRef()
static GlShader
getShader(ResourceManager resourceManager, GlShader.Type type, String name)
GlUniform
getUniformByName(String name)
Uniform
getUniformByNameOrDummy(String name)
GlShader
getVertexShader()
void
markUniformsDirty()
-
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:
close
in interfaceAutoCloseable
-
disable
public void disable() -
enable
public void enable() -
markUniformsDirty
public void markUniformsDirty()- Specified by:
markUniformsDirty
in interfaceGlProgram
-
getUniformByName
-
getUniformByNameOrDummy
-
finalizeUniformsAndSamplers
private void finalizeUniformsAndSamplers() -
addSampler
-
bindSampler
-
addUniform
- Throws:
ShaderParseException
-
getVertexShader
- Specified by:
getVertexShader
in interfaceGlProgram
-
getFragmentShader
- Specified by:
getFragmentShader
in interfaceGlProgram
-
getProgramRef
public int getProgramRef()- Specified by:
getProgramRef
in interfaceGlProgram
-