Class DynamicShaderBlockImpl<T>
java.lang.Object
foundry.veil.impl.client.render.shader.definition.ShaderBlockImpl<T>
foundry.veil.impl.client.render.shader.definition.DynamicShaderBlockImpl<T>
- Type Parameters:
T
- The type of object to serialize
- All Implemented Interfaces:
DynamicShaderBlock<T>
,ShaderBlock<T>
,AutoCloseable
,org.lwjgl.system.NativeResource
@Internal
public class DynamicShaderBlockImpl<T>
extends ShaderBlockImpl<T>
implements DynamicShaderBlock<T>
Dynamic-size implementation of
ShaderBlock
.-
Field Summary
Fields inherited from class foundry.veil.impl.client.render.shader.definition.ShaderBlockImpl
binding, buffer, dirty, value
-
Constructor Summary
ConstructorDescriptionDynamicShaderBlockImpl
(int binding, long size, @NotNull BiConsumer<T, ByteBuffer> serializer) Creates a new shader block of specified initial size. -
Method Summary
Methods inherited from class foundry.veil.impl.client.render.shader.definition.ShaderBlockImpl
free, getBinding, getValue, set
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, free
Methods inherited from interface foundry.veil.api.client.render.shader.definition.ShaderBlock
getValue, set, update
-
Field Details
-
serializer
-
-
Constructor Details
-
DynamicShaderBlockImpl
public DynamicShaderBlockImpl(int binding, long size, @NotNull @NotNull BiConsumer<T, ByteBuffer> serializer) Creates a new shader block of specified initial size.- Parameters:
size
- The initial size of the shader bufferserializer
- The serializer of values
-
-
Method Details
-
setSize
public void setSize(long size) Description copied from interface:DynamicShaderBlock
Resizes this shader block to match the new size.- Specified by:
setSize
in interfaceDynamicShaderBlock<T>
- Parameters:
size
- The size in bytes
-
bind
public void bind(int index) Description copied from class:ShaderBlockImpl
Binds this block to the specified index.- Specified by:
bind
in classShaderBlockImpl<T>
- Parameters:
index
- The index to bind this block to
-
unbind
public void unbind(int index) Description copied from class:ShaderBlockImpl
Unbinds this block from the specified index.- Specified by:
unbind
in classShaderBlockImpl<T>
- Parameters:
index
- The index to unbind this block from
-