Struct rin::scene::renderer::memory::Allocator[][src]

pub struct Allocator<T, B> { /* fields omitted */ }

Implementations

impl<T, B> Allocator<T, B>[src]

pub fn new(bytes: usize, indices: Rc<RefCell<Allocator<B>>>) -> Allocator<T, B>[src]

impl<T, B> Allocator<T, B> where
    B: 'static + Clone + BufferExt<u8> + Cast<u32>,
    T: 'static + Clone + VertexFormat,
    Allocator<B>: InternalCreation<B>,
    Allocator<B>: Creation<B>,
    Allocator<B>: Updater,
    <B as Cast<u32>>::CastTo: 'static,
    <B as Cast<u32>>::CastTo: BufferRange<u32>,
    <B as Cast<u32>>::CastTo: BufferRangeMut<u32>,
    <B as Cast<u32>>::CastTo: Clone,
    Allocator<T, B>: AllocatorFlags
[src]

pub fn vertices_static<C>(
    &mut self,
    gl: &C,
    data: &[T]
) -> Result<BufferRef, Error> where
    C: CreationContext
[src]

pub fn vertices_dynamic<C>(
    &mut self,
    gl: &C,
    data: &[T]
) -> Result<BufferRef, Error> where
    C: CreationContext
[src]

pub fn indices_static<C>(
    &mut self,
    gl: &C,
    data: &[u32]
) -> Result<BufferRef, Error> where
    C: CreationContext
[src]

pub fn vao<C>(
    &mut self,
    gl: &C,
    vao_id: VaoId,
    model_normal_buffer: &SharedBuffer<(Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>, Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>)>,
    material_offsets_buffer: Option<&SharedBuffer<u32>>
) -> Result<&mut Vao, Error> where
    C: CreationContext,
    B: Cast<T>,
    <B as Cast<T>>::CastTo: BufferRange<T>,
    <B as Cast<T>>::CastTo: Clone
[src]

pub fn shadow_vao<C>(
    &mut self,
    gl: &C,
    vao_id: VaoId,
    model_buffer: &SharedBuffer<Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>>,
    material_offsets_buffer: Option<&SharedBuffer<u32>>
) -> Result<&mut Vao, Error> where
    C: CreationContext,
    B: Cast<T>,
    <B as Cast<T>>::CastTo: BufferRange<T>,
    <B as Cast<T>>::CastTo: Clone
[src]

pub fn submesh_vaos(
    &mut self,
    gl: &Renderer<'_, Screen>,
    geometry: &Geometry<T>,
    submeshes: Option<SliceView<'_, Submesh>>,
    dynamic: bool
) -> (Vec<VaoRange, Global>, VaoRange, BufferRef, Option<BufferRef>)
[src]

pub fn vao_range(&self, range: &VaoRange) -> VaoRangeInfo[src]

pub fn command(
    &self,
    range: &VaoRange,
    base_instance: u32,
    instance_count: u32
) -> DrawElementsIndirectCommand
[src]

pub fn dynamic_vertex_buffer_range(
    &self,
    range: &BufferRef
) -> Range<T, <B as Cast<T>>::CastTo, <B as Cast<T>>::CastTo> where
    B: Cast<T>, 
[src]

pub fn update_vertex_buffer_range<C>(
    &mut self,
    gl: &C,
    range: &BufferRef,
    data: &[T]
) -> Result<(), Error> where
    C: CreationContext
[src]

pub fn update_index_buffer_range<C>(
    &mut self,
    gl: &C,
    range: &BufferRef,
    data: &[u32]
) -> Result<(), Error> where
    C: CreationContext
[src]

pub fn debug_draw(
    &self,
    gl: &Renderer<'_, Screen>,
    pos: &Point<f32, U2>,
    w: f32,
    h: f32
)
[src]

pub fn vertex_buffer_range_len(&self, range: &BufferRef) -> usize[src]

pub fn index_buffer_range_len(&self, range: &BufferRef) -> usize[src]

Trait Implementations

impl<T> AllocatorFlags for Allocator<T, SharedBufferStorage<u8>>[src]

impl<T> AllocatorFlags for Allocator<T, SharedBuffer<u8>>[src]

Auto Trait Implementations

impl<T, B> !RefUnwindSafe for Allocator<T, B>

impl<T, B> !Send for Allocator<T, B>

impl<T, B> !Sync for Allocator<T, B>

impl<T, B> Unpin for Allocator<T, B> where
    B: Unpin,
    T: Unpin

impl<T, B> !UnwindSafe for Allocator<T, B>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<V> IntoPnt<V> for V[src]

impl<V> IntoVec<V> for V[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]