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<IndexAllocator<B>>>
) -> Allocator<T, B>
[src]

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

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

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

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

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

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

pub fn submesh_vaos(
    &mut self,
    gl: &Renderer<'_>,
    geometry: &Geometry<T>,
    submeshes: Option<SliceView<'_, Submesh>>,
    dynamic: bool
) -> (Vec<VaoRange>, 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<()> where
    C: CreationContext
[src]

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

pub fn debug_draw(&self, gl: &Renderer<'_>, pos: &Pnt2, 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]