Enum gfx::texture::FilterMethod[][src]

pub enum FilterMethod {
    Scale,
    Mipmap,
    Bilinear,
    Trilinear,
    Anisotropic(u8),
}

How to filter the texture when sampling. They correspond to increasing levels of quality, but also cost. Mipmap, trilinear and anisotropic filtering require mipmapping, but the other filtering methods do not.

These names are somewhat poor, in that “bilinear” is really just doing linear filtering on each axis, and it is only bilinear in the case of 2D textures. Similarly for trilinear, it is really Quadralinear(?) for 3D textures. Alas, these names are simple, and match certain intuitions ingrained by many years of public use of inaccurate terminology.

Variants

Scale

The dumbest filtering possible, nearest-neighbor interpolation.

Mipmap

Add simple mipmapping.

Bilinear

Sample multiple texels within a single mipmap level to increase quality.

Trilinear

Sample multiple texels across two mipmap levels to increase quality.

Anisotropic(u8)

Anisotropic filtering with a given “max”, must be between 1 and 16, inclusive.

Trait Implementations

impl Clone for FilterMethod[src]

impl Copy for FilterMethod[src]

impl Debug for FilterMethod[src]

impl Eq for FilterMethod[src]

impl Hash for FilterMethod[src]

impl Ord for FilterMethod[src]

impl PartialEq<FilterMethod> for FilterMethod[src]

impl PartialOrd<FilterMethod> for FilterMethod[src]

impl StructuralEq for FilterMethod[src]

impl StructuralPartialEq for FilterMethod[src]

Auto Trait Implementations

impl RefUnwindSafe for FilterMethod

impl Send for FilterMethod

impl Sync for FilterMethod

impl Unpin for FilterMethod

impl UnwindSafe for FilterMethod

Blanket Implementations

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

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

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

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

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

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

type Owned = T

The resulting type after obtaining ownership.

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.