pub struct HdrImage { /* private fields */ }Expand description
Tightly packed scene-linear RGBA16F pixels owned by the caller.
rgba16f contains row-major RGBA components as little-endian IEEE 754
binary16 words. Keeping the native eight-byte texel avoids expanding a 4K
readback to twice its size on the CPU. Exposure, bloom, tone mapping,
display-gamut conversion, transfer encoding and screen overlays are not
baked into these scene-linear values.
Implementations§
Source§impl HdrImage
impl HdrImage
Sourcepub fn write_exr(&self, writer: impl Write) -> Result<(), RenderError>
pub fn write_exr(&self, writer: impl Write) -> Result<(), RenderError>
Streams deterministic, uncompressed OpenEXR to a caller-owned sink.
Only one planar scanline is allocated and reused, so a 4K export does not duplicate the complete RGBA16F frame in host memory.
§Errors
Returns RenderError::ImageEncoding for malformed pixels, layout
overflow, or a sink write failure.
Trait Implementations§
impl Eq for HdrImage
impl StructuralPartialEq for HdrImage
Auto Trait Implementations§
impl Freeze for HdrImage
impl RefUnwindSafe for HdrImage
impl Send for HdrImage
impl Sync for HdrImage
impl Unpin for HdrImage
impl UnsafeUnpin for HdrImage
impl UnwindSafe for HdrImage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more