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
FieldsFields inherited from class foundry.veil.impl.client.render.shader.definition.ShaderBlockImpl
binding, buffer, dirty, value -
Constructor Summary
ConstructorsConstructorDescriptionDynamicShaderBlockImpl(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, setMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.lwjgl.system.NativeResource
close, freeMethods 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:DynamicShaderBlockResizes this shader block to match the new size.- Specified by:
setSizein interfaceDynamicShaderBlock<T>- Parameters:
size- The size in bytes
-
bind
public void bind(int index) Description copied from class:ShaderBlockImplBinds this block to the specified index.- Specified by:
bindin classShaderBlockImpl<T>- Parameters:
index- The index to bind this block to
-
unbind
public void unbind(int index) Description copied from class:ShaderBlockImplUnbinds this block from the specified index.- Specified by:
unbindin classShaderBlockImpl<T>- Parameters:
index- The index to unbind this block from
-