[][src]Struct amethyst_tiles::MortonEncoder2D

pub struct MortonEncoder2D { /* fields omitted */ }

2D Morton (Z-Order) Layered to 3D encoding implementation. This implementation uses the bmi2 CPU intrinsic if it is available via the bitintr crate. If this instruction set is not available, it falls back on simpler computation methods. Using these CPU instruction optimizations requires RUSTFLAGS=-C target-feature=+bmi2. If this target feature is not provided, a LUT (Look Up Table) implementation of Morton encoding is used, considered extremely fast but still slightly slower than BMI2 intrinsics.

This implementation only performs 2D morton encoding on any given Z-level, while providing Z-levels ia a standard flat-array multiplicative manner. This means that each Z-level is contiguous in memory, but its inner coordinates are still Z-order encoded for some spatial locality.

NOTE: This encoder requires allocation 2^n, equally in the X-Y axis.

Trait Implementations

impl Clone for MortonEncoder2D[src]

impl CoordinateEncoder for MortonEncoder2D[src]

impl Default for MortonEncoder2D[src]

Auto Trait Implementations

impl RefUnwindSafe for MortonEncoder2D

impl Send for MortonEncoder2D

impl Sync for MortonEncoder2D

impl Unpin for MortonEncoder2D

impl UnwindSafe for MortonEncoder2D

Blanket Implementations

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
    D: AdaptFrom<S, Swp, Dwp, T>,
    Dwp: WhitePoint,
    Swp: WhitePoint,
    T: Component + Float
[src]

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

impl<T> Any for T where
    T: Any

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

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

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

impl<T> Event for T where
    T: Send + Sync + 'static, 

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

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

impl<T> Resource for T where
    T: Any + Send + Sync

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SetParameter for T

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T> Supports<T> for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> TryDefault for T where
    T: Default

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>,