Trait luminance::backend::shader::ShaderData [−][src]
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.
Associated Types
type ShaderDataRepr
type ShaderDataRepr
Representation of the data by the backend.
Required methods
unsafe fn new_shader_data(
&mut self,
values: impl Iterator<Item = T>
) -> Result<Self::ShaderDataRepr, ShaderDataError>
unsafe fn new_shader_data(
&mut self,
values: impl Iterator<Item = T>
) -> Result<Self::ShaderDataRepr, ShaderDataError>
Build a new shader data from some values represented via an iterator.
unsafe fn get_shader_data_at(
shader_data: &Self::ShaderDataRepr,
i: usize
) -> Result<T, ShaderDataError>
unsafe fn get_shader_data_at(
shader_data: &Self::ShaderDataRepr,
i: usize
) -> Result<T, ShaderDataError>
Access an item at index i
.
unsafe fn set_shader_data_at(
shader_data: &mut Self::ShaderDataRepr,
i: usize,
x: T
) -> Result<T, ShaderDataError>
unsafe fn set_shader_data_at(
shader_data: &mut Self::ShaderDataRepr,
i: usize,
x: T
) -> Result<T, ShaderDataError>
Set an item at index i
.
Return the previous value.
unsafe fn set_shader_data_values(
shader_data: &mut Self::ShaderDataRepr,
values: impl Iterator<Item = T>
) -> Result<(), ShaderDataError>
unsafe fn set_shader_data_values(
shader_data: &mut Self::ShaderDataRepr,
values: impl Iterator<Item = T>
) -> Result<(), ShaderDataError>
Set values by providing an iterator.