#[non_exhaustive]
#[repr(u32)]
pub enum PixelFormat {
Show 31 variants
Any,
A8,
Rgb565,
Rgba4444,
Rgba5551,
Yuv,
G8,
Rg88,
Rgb888,
Bgr888,
Rgba8888,
Bgra8888,
Argb8888,
Abgr8888,
Rgba1010102,
Bgra1010102,
Argb2101010,
Abgr2101010,
Rgba8888Pre,
Bgra8888Pre,
Argb8888Pre,
Abgr8888Pre,
Rgba4444Pre,
Rgba5551Pre,
Rgba1010102Pre,
Bgra1010102Pre,
Argb2101010Pre,
Abgr2101010Pre,
Depth16,
Depth32,
Depth24Stencil8,
}
Expand description
Pixel formats definitions.
For the formats with a byte per
component, the order of the components specify the order in
increasing memory addresses. So for example
PixelFormat::Rgb888
would have the red component in the
lowest address, green in the next address and blue after that
regardless of the endianness of the system.
For the formats with non byte aligned components the component
order specifies the order within a 16-bit or 32-bit number from
most significant bit to least significant. So for
PixelFormat::Rgb565
, the red component would be in bits
11-15, the green component would be in 6-11 and the blue component
would be in 1-5. Therefore the order in memory depends on the
endianness of the system.
When uploading a texture PixelFormat::Any
can be used as the
internal format. will try to pick the best format to use
internally and convert the texture data if necessary.
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Any
Any format
A8
8 bits alpha mask
Rgb565
RGB, 16 bits
Rgba4444
RGBA, 16 bits
Rgba5551
RGBA, 16 bits
Yuv
Not currently supported
G8
Single luminance component
Rg88
RG, 16 bits. Note that red-green textures
are only available if FeatureID::OglFeatureIdTextureRg
is advertised.
See Texture::set_components
for details.
Rgb888
RGB, 24 bits
Bgr888
BGR, 24 bits
Rgba8888
RGBA, 32 bits
Bgra8888
BGRA, 32 bits
Argb8888
ARGB, 32 bits
Abgr8888
ABGR, 32 bits
Rgba1010102
RGBA, 32 bits, 10 bpc
Bgra1010102
BGRA, 32 bits, 10 bpc
Argb2101010
ARGB, 32 bits, 10 bpc
Abgr2101010
ABGR, 32 bits, 10 bpc
Rgba8888Pre
Premultiplied RGBA, 32 bits
Bgra8888Pre
Premultiplied BGRA, 32 bits
Argb8888Pre
Premultiplied ARGB, 32 bits
Abgr8888Pre
Premultiplied ABGR, 32 bits
Rgba4444Pre
Premultiplied RGBA, 16 bits
Rgba5551Pre
Premultiplied RGBA, 16 bits
Rgba1010102Pre
Premultiplied RGBA, 32 bits, 10 bpc
Bgra1010102Pre
Premultiplied BGRA, 32 bits, 10 bpc
Argb2101010Pre
Premultiplied ARGB, 32 bits, 10 bpc
Abgr2101010Pre
Premultiplied ABGR, 32 bits, 10 bpc
Depth16
Depth32
Depth24Stencil8
Implementations
sourceimpl PixelFormat
impl PixelFormat
pub fn bytes_per_pixel(&self) -> u32
Trait Implementations
sourceimpl Clone for PixelFormat
impl Clone for PixelFormat
sourcefn clone(&self) -> PixelFormat
fn clone(&self) -> PixelFormat
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for PixelFormat
impl Debug for PixelFormat
sourceimpl Default for PixelFormat
impl Default for PixelFormat
sourceimpl Display for PixelFormat
impl Display for PixelFormat
sourceimpl Hash for PixelFormat
impl Hash for PixelFormat
sourceimpl Ord for PixelFormat
impl Ord for PixelFormat
sourceimpl PartialEq<PixelFormat> for PixelFormat
impl PartialEq<PixelFormat> for PixelFormat
sourceimpl PartialOrd<PixelFormat> for PixelFormat
impl PartialOrd<PixelFormat> for PixelFormat
sourcefn partial_cmp(&self, other: &PixelFormat) -> Option<Ordering>
fn partial_cmp(&self, other: &PixelFormat) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for PixelFormat
impl Eq for PixelFormat
impl StructuralEq for PixelFormat
impl StructuralPartialEq for PixelFormat
Auto Trait Implementations
impl RefUnwindSafe for PixelFormat
impl Send for PixelFormat
impl Sync for PixelFormat
impl Unpin for PixelFormat
impl UnwindSafe for PixelFormat
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Clamp<T> for T where
T: PartialOrd<T>,
impl<T> Clamp<T> for T where
T: PartialOrd<T>,
fn clamped(self, min: T, max: T) -> T
sourceimpl<Fr, To> IntoColor<To> for Fr where
To: FromColor<Fr>,
impl<Fr, To> IntoColor<To> for Fr where
To: FromColor<Fr>,
sourcefn into_color(self) -> To
fn into_color(self) -> To
Convert into color
impl<T> Pointable for T
impl<T> Pointable for T
impl<T> SetParameter for T
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
Sets value
as a parameter of self
.