Class ShaderBindingProcessor
java.lang.Object
foundry.veil.render.shader.processor.ShaderLineProcessor
foundry.veil.render.shader.processor.ShaderBindingProcessor
- All Implemented Interfaces:
ShaderPreProcessor
Adds support for
layout(binding = #) in the shader source without needing shader version 420.-
Nested Class Summary
Nested classes/interfaces inherited from interface foundry.veil.render.shader.processor.ShaderPreProcessor
ShaderPreProcessor.Context -
Field Summary
Fields inherited from interface foundry.veil.render.shader.processor.ShaderPreProcessor
UNIFORM_PATTERN -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidmodify(@NotNull ShaderPreProcessor.Context context, @NotNull String original, @NotNull List<String> line) Modifies a single line in a shader source.Methods inherited from class foundry.veil.render.shader.processor.ShaderLineProcessor
modifyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface foundry.veil.render.shader.processor.ShaderPreProcessor
prepare
-
Constructor Details
-
ShaderBindingProcessor
public ShaderBindingProcessor()
-
-
Method Details
-
modify
public void modify(@NotNull @NotNull ShaderPreProcessor.Context context, @NotNull @NotNull String original, @NotNull @NotNull List<String> line) throws IOException Description copied from class:ShaderLineProcessorModifies a single line in a shader source.- Specified by:
modifyin classShaderLineProcessor- Parameters:
context- Context for modifying shadersoriginal- A copy of the original sourceline- The data to use as the current line. The original source is the first element and can be modified as necessary. The source can be replaced by clearing the list and adding new source.- Throws:
IOException- If any error occurs while editing the source
-