logo
pub unsafe trait ShaderData<T> {
    type ShaderDataRepr;

    unsafe fn new_shader_data(
        &mut self,
        values: impl Iterator<Item = T>
    ) -> Result<Self::ShaderDataRepr, ShaderDataError>; unsafe fn get_shader_data_at(
        shader_data: &Self::ShaderDataRepr,
        i: usize
    ) -> Result<T, ShaderDataError>; unsafe fn set_shader_data_at(
        shader_data: &mut Self::ShaderDataRepr,
        i: usize,
        x: T
    ) -> Result<T, ShaderDataError>; unsafe fn set_shader_data_values(
        shader_data: &mut Self::ShaderDataRepr,
        values: impl Iterator<Item = T>
    ) -> Result<(), ShaderDataError>; }
Expand description

Shader data backend.

Required Associated Types

Representation of the data by the backend.

Required Methods

Build a new shader data from some values represented via an iterator.

Access an item at index i.

Set an item at index i.

Return the previous value.

Set values by providing an iterator.

Implementors