Class DirectShaderCompiler
java.lang.Object
foundry.veil.impl.client.render.shader.DirectShaderCompiler
- All Implemented Interfaces:
ShaderCompiler
,AutoCloseable
,org.lwjgl.system.NativeResource
- Direct Known Subclasses:
CachedShaderCompiler
Creates a new shader and compiles each time
compile(Context, int, ProgramDefinition.SourceType, VeilShaderSource)
is called.
This should only be used for compiling single shaders.-
Nested Class Summary
Nested classes/interfaces inherited from interface foundry.veil.api.client.render.shader.ShaderCompiler
ShaderCompiler.Context, ShaderCompiler.ShaderProvider
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncompile
(ShaderCompiler.Context context, int type, ProgramDefinition.SourceType sourceType, VeilShaderSource source) Creates a new shader and attempts to attach the specified sources to it.compile
(ShaderCompiler.Context context, int type, ProgramDefinition.SourceType sourceType, net.minecraft.resources.ResourceLocation path) Creates a new shader and attempts to attach sources read from file to it.void
free()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.lwjgl.system.NativeResource
close
-
Constructor Details
-
DirectShaderCompiler
-
-
Method Details
-
compile
public CompiledShader compile(ShaderCompiler.Context context, int type, ProgramDefinition.SourceType sourceType, net.minecraft.resources.ResourceLocation path) throws IOException, ShaderException Description copied from interface:ShaderCompiler
Creates a new shader and attempts to attach sources read from file to it. The sources are read from The shader will automatically be deleted at some point in the future.- Specified by:
compile
in interfaceShaderCompiler
- Parameters:
context
- The context for compiling the shadertype
- The type of shader to createpath
- The location of the shader to attach- Returns:
- A new shader that can be attached to programs
- Throws:
IOException
- If the file could not be foundShaderException
- If an error occurs while compiling the shader
-
compile
public CompiledShader compile(ShaderCompiler.Context context, int type, ProgramDefinition.SourceType sourceType, VeilShaderSource source) throws ShaderException Description copied from interface:ShaderCompiler
Creates a new shader and attempts to attach the specified sources to it. The shader will automatically be deleted at some point in the future.- Specified by:
compile
in interfaceShaderCompiler
- Parameters:
context
- The context for compiling the shadertype
- The type of shader to createsource
- The source of the shader to attach- Returns:
- A new shader that can be attached to programs
- Throws:
ShaderException
- If an error occurs while compiling the shader
-
free
public void free()- Specified by:
free
in interfaceorg.lwjgl.system.NativeResource
-