Class DynamicShaderProgramImpl
java.lang.Object
foundry.veil.impl.client.render.shader.program.ShaderProgramImpl
foundry.veil.impl.client.render.shader.program.DynamicShaderProgramImpl
- All Implemented Interfaces:
MutableUniformAccess
,ShaderProgram
,TextureUniformAccess
,UniformAccess
,AutoCloseable
,org.lwjgl.system.NativeResource
-
Nested Class Summary
Nested classes/interfaces inherited from class foundry.veil.impl.client.render.shader.program.ShaderProgramImpl
ShaderProgramImpl.CompiledProgram, ShaderProgramImpl.ShaderTexture, ShaderProgramImpl.ShaderWrapper, ShaderProgramImpl.UniformWrapper, ShaderProgramImpl.Wrapper
Nested classes/interfaces inherited from interface foundry.veil.api.client.render.shader.program.TextureUniformAccess
TextureUniformAccess.SamplerListener
-
Field Summary
Fields inherited from class foundry.veil.impl.client.render.shader.program.ShaderProgramImpl
DUMMY_FRAGMENT_SHADER
Fields inherited from interface foundry.veil.api.client.render.shader.program.MutableUniformAccess
DIRECTIONS
-
Constructor Summary
ConstructorDescriptionDynamicShaderProgramImpl
(net.minecraft.resources.ResourceLocation id, Runnable onFree) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
attachShaders
(ShaderProgramImpl.CompiledProgram compiledProgram, ShaderSourceSet sourceSet, ShaderCompiler compiler) void
free()
@Nullable ShaderProgramImpl
void
processShaderSources
(ShaderProcessorList processorList, ShaderPreDefinitions definitions, int activeBuffers) void
setOldShader
(@Nullable ShaderProgramImpl program) void
setShaderSources
(it.unimi.dsi.fastutil.ints.Int2ObjectMap<String> shaderSources) Methods inherited from class foundry.veil.impl.client.render.shader.program.ShaderProgramImpl
addSampler, addSamplerListener, addShaderBlock, applyProgram, bind, bindSamplers, clearSamplers, clearShaderBlocks, compile, getDefinition, getDefinitionDependencies, getFormat, getName, getProgram, getShaders, getStorageBlock, getUniform, getUniformBlock, hasStorageBlock, hasUniform, hasUniformBlock, recompile, removeSampler, removeSamplerListener, setActiveBuffers, toShaderInstance
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface foundry.veil.api.client.render.shader.program.MutableUniformAccess
setMatrix, setMatrix, setMatrix, setMatrix, setMatrix, setVector, setVector, setVector, setVector, setVectorI, setVectorI, setVectorI
Methods inherited from interface org.lwjgl.system.NativeResource
close
Methods inherited from interface foundry.veil.api.client.render.shader.program.ShaderProgram
getFloat, getFloats, getInt, getInts, getMatrix, getMatrix, getMatrix, getMatrix, getMatrix, getVector, getVector, getVector, getVector, getVector, getVector, hasGeometry, hasTesselation, isCompute, setFloat, setFloats, setInt, setInts, setMatrix, setMatrix, setMatrix, setMatrix, setMatrix, setStorageBlock, setUniformBlock, setVector, setVector, setVector, setVectorI, setVectorI, setVectorI, setVectors, setVectors, setVectors, setVectors, setVectors, setVectors
Methods inherited from interface foundry.veil.api.client.render.shader.program.TextureUniformAccess
addSampler, bindSamplers, setFramebufferSamplers
-
Constructor Details
-
DynamicShaderProgramImpl
-
-
Method Details
-
attachShaders
protected void attachShaders(ShaderProgramImpl.CompiledProgram compiledProgram, ShaderSourceSet sourceSet, ShaderCompiler compiler) throws ShaderException - Overrides:
attachShaders
in classShaderProgramImpl
- Throws:
ShaderException
-
setShaderSources
-
processShaderSources
public void processShaderSources(ShaderProcessorList processorList, ShaderPreDefinitions definitions, int activeBuffers) -
free
public void free()- Specified by:
free
in interfaceorg.lwjgl.system.NativeResource
- Overrides:
free
in classShaderProgramImpl
-
getOldShader
-
setOldShader
-