Package codechicken.lib.render.shader
Class CCShaderInstance
java.lang.Object
net.minecraft.client.renderer.ShaderInstance
codechicken.lib.render.shader.CCShaderInstance
- All Implemented Interfaces:
com.mojang.blaze3d.shaders.Shader,AutoCloseable
public class CCShaderInstance
extends net.minecraft.client.renderer.ShaderInstance
A Slightly extended ShaderInstance supporting:
- Better Uniform caching.
- All OpenGL Uniform types.
- Global Uniform callbacks.
- Better import/includes in shaders.
Created by covers1624 on 8/4/22.
-
Field Summary
Fields inherited from class net.minecraft.client.renderer.ShaderInstance
CHUNK_OFFSET, COLOR_MODULATOR, FOG_COLOR, FOG_END, FOG_SHAPE, FOG_START, GAME_TIME, GLINT_ALPHA, LIGHT0_DIRECTION, LIGHT1_DIRECTION, LINE_WIDTH, MODEL_VIEW_MATRIX, PROJECTION_MATRIX, SCREEN_SIZE, SHADER_PATH, TEXTURE_MATRIX, uniforms -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCCShaderInstance(net.minecraft.server.packs.resources.ResourceProvider resourceProvider, net.minecraft.resources.ResourceLocation loc, com.mojang.blaze3d.vertex.VertexFormat format) -
Method Summary
Modifier and TypeMethodDescriptionvoidapply()com.mojang.blaze3d.shaders.ProgramcompileProgram(net.minecraft.server.packs.resources.ResourceProvider resourceProvider, com.mojang.blaze3d.shaders.Program.Type programType, net.minecraft.resources.ResourceLocation loc) static CCShaderInstancecreate(net.minecraft.server.packs.resources.ResourceProvider resourceProvider, net.minecraft.resources.ResourceLocation loc, com.mojang.blaze3d.vertex.VertexFormat format) @Nullable CCUniformgetUniform(String name) voidAdd a callback for when thisCCShaderInstanceis applied.protected voidparseUniformNode(com.google.gson.JsonElement json) Methods inherited from class net.minecraft.client.renderer.ShaderInstance
attachToProgram, clear, close, getFragmentProgram, getId, getName, getVertexFormat, getVertexProgram, markDirty, safeGetUniform, setDefaultUniforms, setSampler
-
Constructor Details
-
CCShaderInstance
protected CCShaderInstance(net.minecraft.server.packs.resources.ResourceProvider resourceProvider, net.minecraft.resources.ResourceLocation loc, com.mojang.blaze3d.vertex.VertexFormat format) throws IOException - Throws:
IOException
-
-
Method Details
-
create
public static CCShaderInstance create(net.minecraft.server.packs.resources.ResourceProvider resourceProvider, net.minecraft.resources.ResourceLocation loc, com.mojang.blaze3d.vertex.VertexFormat format) -
onApply
Add a callback for when thisCCShaderInstanceis applied.Use this for global uniforms, or whatever else.
- Parameters:
callback- The callback.
-
apply
public void apply()- Overrides:
applyin classnet.minecraft.client.renderer.ShaderInstance
-
getUniform
- Overrides:
getUniformin classnet.minecraft.client.renderer.ShaderInstance
-
parseUniformNode
protected void parseUniformNode(com.google.gson.JsonElement json) throws net.minecraft.server.ChainedJsonException - Overrides:
parseUniformNodein classnet.minecraft.client.renderer.ShaderInstance- Throws:
net.minecraft.server.ChainedJsonException
-
compileProgram
public com.mojang.blaze3d.shaders.Program compileProgram(net.minecraft.server.packs.resources.ResourceProvider resourceProvider, com.mojang.blaze3d.shaders.Program.Type programType, net.minecraft.resources.ResourceLocation loc) throws IOException - Throws:
IOException
-