Class ShaderProgram

java.lang.Object
net.minecraft.client.gl.ShaderProgram
All Implemented Interfaces:
AutoCloseable

@Environment(CLIENT) public class ShaderProgram extends Object implements AutoCloseable
Represents a shader program. Also known as a program object that can be created with glCreateProgram.

Warning: This class is referred to as a shader in strings. However, this does NOT represent a shader object that can be created with glCreateShader. CompiledShader is what represents a shader object.

See Also:
Mappings:
Namespace Name
named net/minecraft/client/gl/ShaderProgram
intermediary net/minecraft/class_5944
official fmf
  • Field Details

    • LOGGER

      private static final Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      named LOGGER Lnet/minecraft/client/gl/ShaderProgram;LOGGER:Lorg/slf4j/Logger;
      intermediary field_58041 Lnet/minecraft/class_5944;field_58041:Lorg/slf4j/Logger;
      official c Lfmf;c:Lorg/slf4j/Logger;
    • PREDEFINED_UNIFORMS

      public static Set<String> PREDEFINED_UNIFORMS
      Mappings:
      Namespace Name Mixin selector
      named PREDEFINED_UNIFORMS Lnet/minecraft/client/gl/ShaderProgram;PREDEFINED_UNIFORMS:Ljava/util/Set;
      intermediary field_57863 Lnet/minecraft/class_5944;field_57863:Ljava/util/Set;
      official a Lfmf;a:Ljava/util/Set;
    • INVALID

      public static ShaderProgram INVALID
      Mappings:
      Namespace Name Mixin selector
      named INVALID Lnet/minecraft/client/gl/ShaderProgram;INVALID:Lnet/minecraft/client/gl/ShaderProgram;
      intermediary field_57864 Lnet/minecraft/class_5944;field_57864:Lnet/minecraft/class_5944;
      official b Lfmf;b:Lfmf;
    • uniformsByName

      private final Map<String,GlUniform> uniformsByName
      Mappings:
      Namespace Name Mixin selector
      named uniformsByName Lnet/minecraft/client/gl/ShaderProgram;uniformsByName:Ljava/util/Map;
      intermediary field_53841 Lnet/minecraft/class_5944;field_53841:Ljava/util/Map;
      official d Lfmf;d:Ljava/util/Map;
    • glRef

      private final int glRef
      Mappings:
      Namespace Name Mixin selector
      named glRef Lnet/minecraft/client/gl/ShaderProgram;glRef:I
      intermediary field_29493 Lnet/minecraft/class_5944;field_29493:I
      official e Lfmf;e:I
    • debugLabel

      private final String debugLabel
      Mappings:
      Namespace Name Mixin selector
      named debugLabel Lnet/minecraft/client/gl/ShaderProgram;debugLabel:Ljava/lang/String;
      intermediary field_57865 Lnet/minecraft/class_5944;field_57865:Ljava/lang/String;
      official f Lfmf;f:Ljava/lang/String;
  • Constructor Details

    • ShaderProgram

      private ShaderProgram(int glRef, String debugLabel)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/client/gl/ShaderProgram;<init>(ILjava/lang/String;)V
      intermediary <init> Lnet/minecraft/class_5944;<init>(ILjava/lang/String;)V
      official <init> Lfmf;<init>(ILjava/lang/String;)V
  • Method Details

    • create

      public static ShaderProgram create(CompiledShader vertexShader, CompiledShader fragmentShader, VertexFormat format, String name) throws ShaderLoader.LoadException
      Throws:
      ShaderLoader.LoadException
      Mappings:
      Namespace Name Mixin selector
      named create Lnet/minecraft/client/gl/ShaderProgram;create(Lnet/minecraft/client/gl/CompiledShader;Lnet/minecraft/client/gl/CompiledShader;Lcom/mojang/blaze3d/vertex/VertexFormat;Ljava/lang/String;)Lnet/minecraft/client/gl/ShaderProgram;
      intermediary method_62896 Lnet/minecraft/class_5944;method_62896(Lnet/minecraft/class_10141;Lnet/minecraft/class_10141;Lcom/mojang/blaze3d/vertex/VertexFormat;Ljava/lang/String;)Lnet/minecraft/class_5944;
      official a Lfmf;a(Lfmi;Lfmi;Lcom/mojang/blaze3d/vertex/VertexFormat;Ljava/lang/String;)Lfmf;
    • set

      public void set(List<RenderPipeline.UniformDescription> uniforms, List<String> samplers)
      Mappings:
      Namespace Name Mixin selector
      named set Lnet/minecraft/client/gl/ShaderProgram;set(Ljava/util/List;Ljava/util/List;)V
      intermediary method_62900 Lnet/minecraft/class_5944;method_62900(Ljava/util/List;Ljava/util/List;)V
      official a Lfmf;a(Ljava/util/List;Ljava/util/List;)V
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
    • getUniform

      @Nullable public @Nullable GlUniform getUniform(String name)
      Mappings:
      Namespace Name Mixin selector
      named getUniform Lnet/minecraft/client/gl/ShaderProgram;getUniform(Ljava/lang/String;)Lnet/minecraft/client/gl/GlUniform;
      intermediary method_34582 Lnet/minecraft/class_5944;method_34582(Ljava/lang/String;)Lnet/minecraft/class_284;
      official a Lfmf;a(Ljava/lang/String;)Lfml;
    • getGlRef

      @VisibleForTesting public int getGlRef()
      Mappings:
      Namespace Name Mixin selector
      named getGlRef Lnet/minecraft/client/gl/ShaderProgram;getGlRef()I
      intermediary method_1270 Lnet/minecraft/class_5944;method_1270()I
      official a Lfmf;a()I
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getDebugLabel

      public String getDebugLabel()
      Mappings:
      Namespace Name Mixin selector
      named getDebugLabel Lnet/minecraft/client/gl/ShaderProgram;getDebugLabel()Ljava/lang/String;
      intermediary method_68404 Lnet/minecraft/class_5944;method_68404()Ljava/lang/String;
      official b Lfmf;b()Ljava/lang/String;
    • getUniforms

      public Map<String,GlUniform> getUniforms()
      Mappings:
      Namespace Name Mixin selector
      named getUniforms Lnet/minecraft/client/gl/ShaderProgram;getUniforms()Ljava/util/Map;
      intermediary method_68406 Lnet/minecraft/class_5944;method_68406()Ljava/util/Map;
      official c Lfmf;c()Ljava/util/Map;