Class ShaderBindingProcessor

java.lang.Object
foundry.veil.api.client.render.shader.processor.ShaderBindingProcessor
All Implemented Interfaces:
ShaderPreProcessor

public class ShaderBindingProcessor extends Object implements ShaderPreProcessor
Adds support for layout(binding = #) in the shader source without needing shader version 420.
  • Constructor Details

    • ShaderBindingProcessor

      public ShaderBindingProcessor()
  • Method Details

    • modify

      public void modify(ShaderPreProcessor.Context ctx, io.github.ocelot.glslprocessor.api.node.GlslTree tree) throws IOException, io.github.ocelot.glslprocessor.api.GlslSyntaxException, io.github.ocelot.glslprocessor.lib.anarres.cpp.LexerException
      Description copied from interface: ShaderPreProcessor
      Modifies the specified shader source input.
      Specified by:
      modify in interface ShaderPreProcessor
      Parameters:
      ctx - Context for modifying shaders
      tree - The GLSL source code tree to modify
      Throws:
      IOException - If any error occurs while editing the source
      io.github.ocelot.glslprocessor.api.GlslSyntaxException - If there was an error in the syntax of the source code
      io.github.ocelot.glslprocessor.lib.anarres.cpp.LexerException - If an error occurs during shader C preprocessing