[][src]Struct luminance::tess::Tess

pub struct Tess { /* fields omitted */ }

GPU tessellation.

GPU tessellations gather several pieces of information:

  • Vertices, which define points in space associated with vertex attributes, giving them meaningful data. Those data are then processed by a vertex shader to produce more interesting data down the graphics pipeline.
  • Indices, which are used to change the order the vertices are fetched to form primitives (lines, triangles, etc.).
  • Primitive mode, the way vertices should be linked together. See Mode for further details.
  • And other information used to determine how to render such tessellations.

A Tess doesn’t directly state how to render an object, it just describes its topology and inner construction (i.e. mesh).

Constructing a Tess is not doable directly: you need to use a TessBuilder first.

Methods

impl Tess[src]

pub fn as_slice<V>(&mut self) -> Result<BufferSlice<V>, TessMapError> where
    V: Vertex
[src]

Obtain a slice over the vertex buffer.

This function fails if you try to obtain a buffer from an attriteless Tess or deinterleaved memory.

pub fn as_slice_mut<V>(&mut self) -> Result<BufferSliceMut<V>, TessMapError> where
    V: Vertex
[src]

Obtain a mutable slice over the vertex buffer.

This function fails if you try to obtain a buffer from an attriteless Tess or deinterleaved memory.

pub fn as_index_slice<I>(&mut self) -> Result<BufferSlice<I>, TessMapError> where
    I: TessIndex
[src]

Obtain a slice over the index buffer.

This function fails if you try to obtain a buffer from an attriteless Tess or if no index buffer is available.

pub fn as_index_slice_mut<I>(
    &mut self
) -> Result<BufferSliceMut<I>, TessMapError> where
    I: TessIndex
[src]

Obtain a mutable slice over the index buffer.

This function fails if you try to obtain a buffer from an attriteless Tess or if no index buffer is available.

pub fn as_inst_slice<V>(&mut self) -> Result<BufferSlice<V>, TessMapError> where
    V: Vertex
[src]

Obtain a slice over the instance buffer.

This function fails if you try to obtain a buffer from an attriteless Tess or deinterleaved memory.

pub fn as_inst_slice_mut<V>(
    &mut self
) -> Result<BufferSliceMut<V>, TessMapError> where
    V: Vertex
[src]

Obtain a mutable slice over the instance buffer.

This function fails if you try to obtain a buffer from an attriteless Tess or deinterleaved memory.

Trait Implementations

impl TessSliceIndex<RangeFull> for Tess[src]

impl TessSliceIndex<RangeTo<usize>> for Tess[src]

impl TessSliceIndex<RangeFrom<usize>> for Tess[src]

impl TessSliceIndex<Range<usize>> for Tess[src]

impl TessSliceIndex<RangeInclusive<usize>> for Tess[src]

impl TessSliceIndex<RangeToInclusive<usize>> for Tess[src]

impl<'a> From<&'a Tess> for TessSlice<'a>[src]

impl Drop for Tess[src]

Auto Trait Implementations

impl !Send for Tess

impl Unpin for Tess

impl !Sync for Tess

impl !UnwindSafe for Tess

impl !RefUnwindSafe for Tess

Blanket Implementations

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[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<T> Borrow<T> for T where
    T: ?Sized
[src]

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

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