Package com.mojang.blaze3d.opengl
Class GlProgram
java.lang.Object
com.mojang.blaze3d.opengl.GlProgram
- All Implemented Interfaces:
AutoCloseable
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final String
private static final AbstractUniform
static GlProgram
private static final org.slf4j.Logger
private final int
private final it.unimi.dsi.fastutil.ints.IntList
private final it.unimi.dsi.fastutil.objects.Object2ObjectMap
<String, GpuTexture> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
bindSampler
(String pName, GpuTexture pTexture) void
clear()
void
close()
private Uniform
createUniform
(RenderPipeline.UniformDescription pDescription) int
it.unimi.dsi.fastutil.ints.IntList
private static UniformType
getTypeFromGl
(int pType) getUniform
(String pName) static GlProgram
link
(GlShaderModule pVertexShader, GlShaderModule pFragmentShader, VertexFormat pVertexFormat, String pDebugLabel) safeGetUniform
(String pName) void
setDefaultUniforms
(VertexFormat.Mode pMode, org.joml.Matrix4f pModelViewMatrix, org.joml.Matrix4f pProjectionMatrix, float pScreenWidth, float pScreenHeight) void
setupUniforms
(List<RenderPipeline.UniformDescription> pUniforms, List<String> pSamplers) toString()
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
BUILT_IN_UNIFORMS
-
INVALID_PROGRAM
-
DUMMY_UNIFORM
-
samplers
-
samplerTextures
-
samplerLocations
private final it.unimi.dsi.fastutil.ints.IntList samplerLocations -
uniforms
-
uniformsByName
-
programId
private final int programId -
debugLabel
-
MODEL_VIEW_MATRIX
-
PROJECTION_MATRIX
-
TEXTURE_MATRIX
-
SCREEN_SIZE
-
COLOR_MODULATOR
-
LIGHT0_DIRECTION
-
LIGHT1_DIRECTION
-
GLINT_ALPHA
-
FOG_START
-
FOG_END
-
FOG_COLOR
-
FOG_SHAPE
-
LINE_WIDTH
-
GAME_TIME
-
MODEL_OFFSET
-
-
Constructor Details
-
GlProgram
-
-
Method Details
-
link
public static GlProgram link(GlShaderModule pVertexShader, GlShaderModule pFragmentShader, VertexFormat pVertexFormat, String pDebugLabel) throws ShaderManager.CompilationException -
setupUniforms
public void setupUniforms(List<RenderPipeline.UniformDescription> pUniforms, List<String> pSamplers) -
createUniform
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
-
clear
public void clear() -
getUniform
-
safeGetUniform
-
bindSampler
-
setDefaultUniforms
public void setDefaultUniforms(VertexFormat.Mode pMode, org.joml.Matrix4f pModelViewMatrix, org.joml.Matrix4f pProjectionMatrix, float pScreenWidth, float pScreenHeight) -
getProgramId
@VisibleForTesting public int getProgramId() -
toString
-
getDebugLabel
-
getSamplerLocations
public it.unimi.dsi.fastutil.ints.IntList getSamplerLocations() -
getSamplers
-
getUniforms
-
getTypeFromGl
-