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

    Constructors
    Modifier
    Constructor
    Description
    protected
    CCShaderInstance(net.minecraft.server.packs.resources.ResourceProvider resourceProvider, net.minecraft.resources.ResourceLocation loc, com.mojang.blaze3d.vertex.VertexFormat format)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    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)
     
    create(net.minecraft.server.packs.resources.ResourceProvider resourceProvider, net.minecraft.resources.ResourceLocation loc, com.mojang.blaze3d.vertex.VertexFormat format)
     
    @Nullable CCUniform
     
    void
    onApply(Runnable callback)
    Add a callback for when this CCShaderInstance is applied.
    protected void
    parseUniformNode(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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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

      public void onApply(Runnable callback)
      Add a callback for when this CCShaderInstance is applied.

      Use this for global uniforms, or whatever else.

      Parameters:
      callback - The callback.
    • apply

      public void apply()
      Overrides:
      apply in class net.minecraft.client.renderer.ShaderInstance
    • getUniform

      @Nullable public @Nullable CCUniform getUniform(String name)
      Overrides:
      getUniform in class net.minecraft.client.renderer.ShaderInstance
    • parseUniformNode

      protected void parseUniformNode(com.google.gson.JsonElement json) throws net.minecraft.server.ChainedJsonException
      Overrides:
      parseUniformNode in class net.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