Struct luminance_glow::Glow [−][src]
pub struct Glow { /* fields omitted */ }
The Luminance Glow backend
Implementations
impl Glow
[src]
impl Glow
[src]pub fn from_context(ctx: Context) -> Result<Self, StateQueryError>
[src]
Create a glow backend instance from a glow
Context
Trait Implementations
impl<T> Buffer<T> for Glow where
T: Copy,
[src]
impl<T> Buffer<T> for Glow where
T: Copy,
[src]type BufferRepr = Buffer<T>
The inner representation of the buffer for this backend.
unsafe fn new_buffer(
&mut self,
len: usize
) -> Result<Self::BufferRepr, BufferError> where
T: Default,
[src]
&mut self,
len: usize
) -> Result<Self::BufferRepr, BufferError> where
T: Default,
unsafe fn len(buffer: &Self::BufferRepr) -> usize
[src]
unsafe fn from_vec(
&mut self,
vec: Vec<T>
) -> Result<Self::BufferRepr, BufferError>
[src]
&mut self,
vec: Vec<T>
) -> Result<Self::BufferRepr, BufferError>
unsafe fn repeat(
&mut self,
len: usize,
value: T
) -> Result<Self::BufferRepr, BufferError>
[src]
&mut self,
len: usize,
value: T
) -> Result<Self::BufferRepr, BufferError>
unsafe fn at(buffer: &Self::BufferRepr, i: usize) -> Option<T>
[src]
unsafe fn whole(buffer: &Self::BufferRepr) -> Vec<T>
[src]
unsafe fn set(
buffer: &mut Self::BufferRepr,
i: usize,
x: T
) -> Result<(), BufferError>
[src]
buffer: &mut Self::BufferRepr,
i: usize,
x: T
) -> Result<(), BufferError>
unsafe fn write_whole(
buffer: &mut Self::BufferRepr,
values: &[T]
) -> Result<(), BufferError>
[src]
buffer: &mut Self::BufferRepr,
values: &[T]
) -> Result<(), BufferError>
unsafe fn clear(buffer: &mut Self::BufferRepr, x: T) -> Result<(), BufferError>
[src]
impl<T> BufferSlice<T> for Glow where
T: Copy,
[src]
impl<T> BufferSlice<T> for Glow where
T: Copy,
[src]type SliceRepr = BufferSlice<T>
type SliceMutRepr = BufferSliceMut<T>
unsafe fn slice_buffer(
buffer: &Self::BufferRepr
) -> Result<Self::SliceRepr, BufferError>
[src]
buffer: &Self::BufferRepr
) -> Result<Self::SliceRepr, BufferError>
unsafe fn slice_buffer_mut(
buffer: &mut Self::BufferRepr
) -> Result<Self::SliceMutRepr, BufferError>
[src]
buffer: &mut Self::BufferRepr
) -> Result<Self::SliceMutRepr, BufferError>
impl<D> Framebuffer<D> for Glow where
D: Dimensionable,
[src]
impl<D> Framebuffer<D> for Glow where
D: Dimensionable,
[src]type FramebufferRepr = Framebuffer<D>
unsafe fn new_framebuffer<CS, DS>(
&mut self,
size: D::Size,
_: usize,
_: &Sampler
) -> Result<Self::FramebufferRepr, FramebufferError> where
CS: ColorSlot<Self, D>,
DS: DepthSlot<Self, D>,
[src]
&mut self,
size: D::Size,
_: usize,
_: &Sampler
) -> Result<Self::FramebufferRepr, FramebufferError> where
CS: ColorSlot<Self, D>,
DS: DepthSlot<Self, D>,
unsafe fn attach_color_texture(
framebuffer: &mut Self::FramebufferRepr,
texture: &Self::TextureRepr,
attachment_index: usize
) -> Result<(), FramebufferError>
[src]
framebuffer: &mut Self::FramebufferRepr,
texture: &Self::TextureRepr,
attachment_index: usize
) -> Result<(), FramebufferError>
unsafe fn attach_depth_texture(
framebuffer: &mut Self::FramebufferRepr,
texture: &Self::TextureRepr
) -> Result<(), FramebufferError>
[src]
framebuffer: &mut Self::FramebufferRepr,
texture: &Self::TextureRepr
) -> Result<(), FramebufferError>
unsafe fn validate_framebuffer(
framebuffer: Self::FramebufferRepr
) -> Result<Self::FramebufferRepr, FramebufferError>
[src]
framebuffer: Self::FramebufferRepr
) -> Result<Self::FramebufferRepr, FramebufferError>
unsafe fn framebuffer_size(framebuffer: &Self::FramebufferRepr) -> D::Size
[src]
impl FramebufferBackBuffer for Glow
[src]
impl FramebufferBackBuffer for Glow
[src]unsafe fn back_buffer(
&mut self,
size: <Dim2 as Dimensionable>::Size
) -> Result<Self::FramebufferRepr, FramebufferError>
[src]
&mut self,
size: <Dim2 as Dimensionable>::Size
) -> Result<Self::FramebufferRepr, FramebufferError>
impl<V, I, W> IndexSlice<V, I, W, Deinterleaved> for Glow where
V: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>>,
I: TessIndex,
W: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>>,
[src]
impl<V, I, W> IndexSlice<V, I, W, Deinterleaved> for Glow where
V: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>>,
I: TessIndex,
W: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>>,
[src]type IndexSliceRepr = BufferSlice<I>
type IndexSliceMutRepr = BufferSliceMut<I>
unsafe fn indices(
tess: &mut Self::TessRepr
) -> Result<Self::IndexSliceRepr, TessMapError>
[src]
tess: &mut Self::TessRepr
) -> Result<Self::IndexSliceRepr, TessMapError>
unsafe fn indices_mut(
tess: &mut Self::TessRepr
) -> Result<Self::IndexSliceMutRepr, TessMapError>
[src]
tess: &mut Self::TessRepr
) -> Result<Self::IndexSliceMutRepr, TessMapError>
impl<V, I, W> IndexSlice<V, I, W, Interleaved> for Glow where
V: TessVertexData<Interleaved, Data = Vec<V>>,
I: TessIndex,
W: TessVertexData<Interleaved, Data = Vec<W>>,
[src]
impl<V, I, W> IndexSlice<V, I, W, Interleaved> for Glow where
V: TessVertexData<Interleaved, Data = Vec<V>>,
I: TessIndex,
W: TessVertexData<Interleaved, Data = Vec<W>>,
[src]type IndexSliceRepr = BufferSlice<I>
type IndexSliceMutRepr = BufferSliceMut<I>
unsafe fn indices(
tess: &mut Self::TessRepr
) -> Result<Self::IndexSliceRepr, TessMapError>
[src]
tess: &mut Self::TessRepr
) -> Result<Self::IndexSliceRepr, TessMapError>
unsafe fn indices_mut(
tess: &mut Self::TessRepr
) -> Result<Self::IndexSliceMutRepr, TessMapError>
[src]
tess: &mut Self::TessRepr
) -> Result<Self::IndexSliceMutRepr, TessMapError>
impl<V, I, W, T> InstanceSlice<V, I, W, Deinterleaved, T> for Glow where
V: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>>,
I: TessIndex,
W: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>> + Deinterleave<T>,
[src]
impl<V, I, W, T> InstanceSlice<V, I, W, Deinterleaved, T> for Glow where
V: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>>,
I: TessIndex,
W: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>> + Deinterleave<T>,
[src]type InstanceSliceRepr = BufferSlice<T>
type InstanceSliceMutRepr = BufferSliceMut<T>
unsafe fn instances(
tess: &mut Self::TessRepr
) -> Result<Self::InstanceSliceRepr, TessMapError>
[src]
tess: &mut Self::TessRepr
) -> Result<Self::InstanceSliceRepr, TessMapError>
unsafe fn instances_mut(
tess: &mut Self::TessRepr
) -> Result<Self::InstanceSliceMutRepr, TessMapError>
[src]
tess: &mut Self::TessRepr
) -> Result<Self::InstanceSliceMutRepr, TessMapError>
impl<V, I, W> InstanceSlice<V, I, W, Interleaved, W> for Glow where
V: TessVertexData<Interleaved, Data = Vec<V>>,
I: TessIndex,
W: TessVertexData<Interleaved, Data = Vec<W>>,
[src]
impl<V, I, W> InstanceSlice<V, I, W, Interleaved, W> for Glow where
V: TessVertexData<Interleaved, Data = Vec<V>>,
I: TessIndex,
W: TessVertexData<Interleaved, Data = Vec<W>>,
[src]type InstanceSliceRepr = BufferSlice<W>
type InstanceSliceMutRepr = BufferSliceMut<W>
unsafe fn instances(
tess: &mut Self::TessRepr
) -> Result<Self::InstanceSliceRepr, TessMapError>
[src]
tess: &mut Self::TessRepr
) -> Result<Self::InstanceSliceRepr, TessMapError>
unsafe fn instances_mut(
tess: &mut Self::TessRepr
) -> Result<Self::InstanceSliceMutRepr, TessMapError>
[src]
tess: &mut Self::TessRepr
) -> Result<Self::InstanceSliceMutRepr, TessMapError>
impl<D> Pipeline<D> for Glow where
D: Dimensionable,
[src]
impl<D> Pipeline<D> for Glow where
D: Dimensionable,
[src]unsafe fn start_pipeline(
&mut self,
framebuffer: &Self::FramebufferRepr,
pipeline_state: &PipelineState
)
[src]
&mut self,
framebuffer: &Self::FramebufferRepr,
pipeline_state: &PipelineState
)
impl PipelineBase for Glow
[src]
impl PipelineBase for Glow
[src]type PipelineRepr = Pipeline
unsafe fn new_pipeline(&mut self) -> Result<Self::PipelineRepr, PipelineError>
[src]
impl<T> PipelineBuffer<T> for Glow where
T: Copy,
[src]
impl<T> PipelineBuffer<T> for Glow where
T: Copy,
[src]type BoundBufferRepr = BoundBuffer
unsafe fn bind_buffer(
pipeline: &Self::PipelineRepr,
buffer: &Self::BufferRepr
) -> Result<Self::BoundBufferRepr, PipelineError>
[src]
pipeline: &Self::PipelineRepr,
buffer: &Self::BufferRepr
) -> Result<Self::BoundBufferRepr, PipelineError>
unsafe fn buffer_binding(bound: &Self::BoundBufferRepr) -> u32
[src]
impl<D, P> PipelineTexture<D, P> for Glow where
D: Dimensionable,
P: Pixel,
[src]
impl<D, P> PipelineTexture<D, P> for Glow where
D: Dimensionable,
P: Pixel,
[src]type BoundTextureRepr = BoundTexture<D, P>
unsafe fn bind_texture(
pipeline: &Self::PipelineRepr,
texture: &Self::TextureRepr
) -> Result<Self::BoundTextureRepr, PipelineError> where
D: Dimensionable,
P: Pixel,
[src]
pipeline: &Self::PipelineRepr,
texture: &Self::TextureRepr
) -> Result<Self::BoundTextureRepr, PipelineError> where
D: Dimensionable,
P: Pixel,
unsafe fn texture_binding(bound: &Self::BoundTextureRepr) -> u32
[src]
impl RenderGate for Glow
[src]
impl RenderGate for Glow
[src]unsafe fn enter_render_state(&mut self, rdr_st: &RenderState)
[src]
impl Shader for Glow
[src]
impl Shader for Glow
[src]type StageRepr = Stage
type ProgramRepr = Program
type UniformBuilderRepr = UniformBuilder
unsafe fn new_stage(
&mut self,
ty: StageType,
src: &str
) -> Result<Self::StageRepr, StageError>
[src]
&mut self,
ty: StageType,
src: &str
) -> Result<Self::StageRepr, StageError>
unsafe fn new_program(
&mut self,
vertex: &Self::StageRepr,
tess: Option<TessellationStages<'_, Self::StageRepr>>,
geometry: Option<&Self::StageRepr>,
fragment: &Self::StageRepr
) -> Result<Self::ProgramRepr, ProgramError>
[src]
&mut self,
vertex: &Self::StageRepr,
tess: Option<TessellationStages<'_, Self::StageRepr>>,
geometry: Option<&Self::StageRepr>,
fragment: &Self::StageRepr
) -> Result<Self::ProgramRepr, ProgramError>
unsafe fn apply_semantics<Sem>(
program: &mut Self::ProgramRepr
) -> Result<Vec<VertexAttribWarning>, ProgramError> where
Sem: Semantics,
[src]
program: &mut Self::ProgramRepr
) -> Result<Vec<VertexAttribWarning>, ProgramError> where
Sem: Semantics,
unsafe fn new_uniform_builder(
program: &mut Self::ProgramRepr
) -> Result<Self::UniformBuilderRepr, ProgramError>
[src]
program: &mut Self::ProgramRepr
) -> Result<Self::UniformBuilderRepr, ProgramError>
unsafe fn ask_uniform<T>(
uniform_builder: &mut Self::UniformBuilderRepr,
name: &str
) -> Result<Uniform<T>, UniformWarning> where
T: Uniformable<Self>,
[src]
uniform_builder: &mut Self::UniformBuilderRepr,
name: &str
) -> Result<Uniform<T>, UniformWarning> where
T: Uniformable<Self>,
unsafe fn unbound<T>(_: &mut Self::UniformBuilderRepr) -> Uniform<T> where
T: Uniformable<Self>,
[src]
T: Uniformable<Self>,
impl ShadingGate for Glow
[src]
impl ShadingGate for Glow
[src]unsafe fn apply_shader_program(&mut self, shader_program: &Self::ProgramRepr)
[src]
impl<V, I, W> Tess<V, I, W, Deinterleaved> for Glow where
V: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>>,
I: TessIndex,
W: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>>,
[src]
impl<V, I, W> Tess<V, I, W, Deinterleaved> for Glow where
V: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>>,
I: TessIndex,
W: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>>,
[src]type TessRepr = DeinterleavedTess<V, I, W>
unsafe fn build(
&mut self,
vertex_data: Option<V::Data>,
index_data: Vec<I>,
instance_data: Option<W::Data>,
mode: Mode,
vert_nb: usize,
inst_nb: usize,
_: Option<I>
) -> Result<Self::TessRepr, TessError>
[src]
&mut self,
vertex_data: Option<V::Data>,
index_data: Vec<I>,
instance_data: Option<W::Data>,
mode: Mode,
vert_nb: usize,
inst_nb: usize,
_: Option<I>
) -> Result<Self::TessRepr, TessError>
unsafe fn tess_vertices_nb(tess: &Self::TessRepr) -> usize
[src]
unsafe fn tess_instances_nb(tess: &Self::TessRepr) -> usize
[src]
unsafe fn render(
tess: &Self::TessRepr,
start_index: usize,
vert_nb: usize,
inst_nb: usize
) -> Result<(), TessError>
[src]
tess: &Self::TessRepr,
start_index: usize,
vert_nb: usize,
inst_nb: usize
) -> Result<(), TessError>
impl<V, I, W> Tess<V, I, W, Interleaved> for Glow where
V: TessVertexData<Interleaved, Data = Vec<V>>,
I: TessIndex,
W: TessVertexData<Interleaved, Data = Vec<W>>,
[src]
impl<V, I, W> Tess<V, I, W, Interleaved> for Glow where
V: TessVertexData<Interleaved, Data = Vec<V>>,
I: TessIndex,
W: TessVertexData<Interleaved, Data = Vec<W>>,
[src]type TessRepr = InterleavedTess<V, I, W>
unsafe fn build(
&mut self,
vertex_data: Option<V::Data>,
index_data: Vec<I>,
instance_data: Option<W::Data>,
mode: Mode,
vert_nb: usize,
inst_nb: usize,
_: Option<I>
) -> Result<Self::TessRepr, TessError>
[src]
&mut self,
vertex_data: Option<V::Data>,
index_data: Vec<I>,
instance_data: Option<W::Data>,
mode: Mode,
vert_nb: usize,
inst_nb: usize,
_: Option<I>
) -> Result<Self::TessRepr, TessError>
unsafe fn tess_vertices_nb(tess: &Self::TessRepr) -> usize
[src]
unsafe fn tess_instances_nb(tess: &Self::TessRepr) -> usize
[src]
unsafe fn render(
tess: &Self::TessRepr,
start_index: usize,
vert_nb: usize,
inst_nb: usize
) -> Result<(), TessError>
[src]
tess: &Self::TessRepr,
start_index: usize,
vert_nb: usize,
inst_nb: usize
) -> Result<(), TessError>
impl<V, I, W> TessGate<V, I, W, Deinterleaved> for Glow where
V: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>>,
I: TessIndex,
W: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>>,
[src]
impl<V, I, W> TessGate<V, I, W, Deinterleaved> for Glow where
V: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>>,
I: TessIndex,
W: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>>,
[src]impl<V, I, W> TessGate<V, I, W, Interleaved> for Glow where
V: TessVertexData<Interleaved, Data = Vec<V>>,
I: TessIndex,
W: TessVertexData<Interleaved, Data = Vec<W>>,
[src]
impl<V, I, W> TessGate<V, I, W, Interleaved> for Glow where
V: TessVertexData<Interleaved, Data = Vec<V>>,
I: TessIndex,
W: TessVertexData<Interleaved, Data = Vec<W>>,
[src]impl<D, P> Texture<D, P> for Glow where
D: Dimensionable,
P: Pixel,
[src]
impl<D, P> Texture<D, P> for Glow where
D: Dimensionable,
P: Pixel,
[src]unsafe fn new_texture(
&mut self,
size: D::Size,
mipmaps: usize,
sampler: Sampler
) -> Result<Self::TextureRepr, TextureError>
[src]
&mut self,
size: D::Size,
mipmaps: usize,
sampler: Sampler
) -> Result<Self::TextureRepr, TextureError>
unsafe fn mipmaps(texture: &Self::TextureRepr) -> usize
[src]
unsafe fn clear_part(
texture: &mut Self::TextureRepr,
gen_mipmaps: GenMipmaps,
offset: D::Offset,
size: D::Size,
pixel: P::Encoding
) -> Result<(), TextureError>
[src]
texture: &mut Self::TextureRepr,
gen_mipmaps: GenMipmaps,
offset: D::Offset,
size: D::Size,
pixel: P::Encoding
) -> Result<(), TextureError>
unsafe fn clear(
texture: &mut Self::TextureRepr,
gen_mipmaps: GenMipmaps,
size: D::Size,
pixel: P::Encoding
) -> Result<(), TextureError>
[src]
texture: &mut Self::TextureRepr,
gen_mipmaps: GenMipmaps,
size: D::Size,
pixel: P::Encoding
) -> Result<(), TextureError>
unsafe fn upload_part(
texture: &mut Self::TextureRepr,
gen_mipmaps: GenMipmaps,
offset: D::Offset,
size: D::Size,
texels: &[P::Encoding]
) -> Result<(), TextureError>
[src]
texture: &mut Self::TextureRepr,
gen_mipmaps: GenMipmaps,
offset: D::Offset,
size: D::Size,
texels: &[P::Encoding]
) -> Result<(), TextureError>
unsafe fn upload(
texture: &mut Self::TextureRepr,
gen_mipmaps: GenMipmaps,
size: D::Size,
texels: &[P::Encoding]
) -> Result<(), TextureError>
[src]
texture: &mut Self::TextureRepr,
gen_mipmaps: GenMipmaps,
size: D::Size,
texels: &[P::Encoding]
) -> Result<(), TextureError>
unsafe fn upload_part_raw(
texture: &mut Self::TextureRepr,
gen_mipmaps: GenMipmaps,
offset: D::Offset,
size: D::Size,
texels: &[P::RawEncoding]
) -> Result<(), TextureError>
[src]
texture: &mut Self::TextureRepr,
gen_mipmaps: GenMipmaps,
offset: D::Offset,
size: D::Size,
texels: &[P::RawEncoding]
) -> Result<(), TextureError>
unsafe fn upload_raw(
texture: &mut Self::TextureRepr,
gen_mipmaps: GenMipmaps,
size: D::Size,
texels: &[P::RawEncoding]
) -> Result<(), TextureError>
[src]
texture: &mut Self::TextureRepr,
gen_mipmaps: GenMipmaps,
size: D::Size,
texels: &[P::RawEncoding]
) -> Result<(), TextureError>
unsafe fn get_raw_texels(
texture: &Self::TextureRepr,
size: D::Size
) -> Result<Vec<P::RawEncoding>, TextureError> where
P::RawEncoding: Copy + Default,
[src]
texture: &Self::TextureRepr,
size: D::Size
) -> Result<Vec<P::RawEncoding>, TextureError> where
P::RawEncoding: Copy + Default,
impl TextureBase for Glow
[src]
impl TextureBase for Glow
[src]type TextureRepr = Texture
impl<V, I, W, T> VertexSlice<V, I, W, Deinterleaved, T> for Glow where
V: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>> + Deinterleave<T>,
I: TessIndex,
W: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>>,
[src]
impl<V, I, W, T> VertexSlice<V, I, W, Deinterleaved, T> for Glow where
V: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>> + Deinterleave<T>,
I: TessIndex,
W: TessVertexData<Deinterleaved, Data = Vec<DeinterleavedData>>,
[src]type VertexSliceRepr = BufferSlice<T>
type VertexSliceMutRepr = BufferSliceMut<T>
unsafe fn vertices(
tess: &mut Self::TessRepr
) -> Result<Self::VertexSliceRepr, TessMapError>
[src]
tess: &mut Self::TessRepr
) -> Result<Self::VertexSliceRepr, TessMapError>
unsafe fn vertices_mut(
tess: &mut Self::TessRepr
) -> Result<Self::VertexSliceMutRepr, TessMapError>
[src]
tess: &mut Self::TessRepr
) -> Result<Self::VertexSliceMutRepr, TessMapError>
impl<V, I, W> VertexSlice<V, I, W, Interleaved, V> for Glow where
V: TessVertexData<Interleaved, Data = Vec<V>>,
I: TessIndex,
W: TessVertexData<Interleaved, Data = Vec<W>>,
[src]
impl<V, I, W> VertexSlice<V, I, W, Interleaved, V> for Glow where
V: TessVertexData<Interleaved, Data = Vec<V>>,
I: TessIndex,
W: TessVertexData<Interleaved, Data = Vec<W>>,
[src]type VertexSliceRepr = BufferSlice<V>
type VertexSliceMutRepr = BufferSliceMut<V>
unsafe fn vertices(
tess: &mut Self::TessRepr
) -> Result<Self::VertexSliceRepr, TessMapError>
[src]
tess: &mut Self::TessRepr
) -> Result<Self::VertexSliceRepr, TessMapError>
unsafe fn vertices_mut(
tess: &mut Self::TessRepr
) -> Result<Self::VertexSliceMutRepr, TessMapError>
[src]
tess: &mut Self::TessRepr
) -> Result<Self::VertexSliceMutRepr, TessMapError>
Auto Trait Implementations
impl !RefUnwindSafe for Glow
impl !RefUnwindSafe for Glow
impl !UnwindSafe for Glow
impl !UnwindSafe for Glow