pub enum ToneMappingMode {
Linear,
Neutral,
Reinhard,
Cineon,
ACESFilmic,
AgX(AgxLook),
}Expand description
Tone mapping algorithm selection.
Different algorithms provide different looks and performance characteristics:
Linear: No tone mapping (for debugging or LDR workflows)Neutral: Balanced, film-like response (recommended default)Reinhard: Classic operator, soft highlight rolloffCineon: Film emulation with extended rangeACESFilmic: Industry standard filmic curveAgX: Modern filmic tonemapper with excellent color handling
Variants§
Linear
No tone mapping (linear passthrough)
Neutral
Neutral tone mapping (balanced, film-like)
Reinhard
Reinhard operator (classic, soft highlights)
Cineon
Cineon film emulation
ACESFilmic
ACES Filmic (industry standard)
AgX(AgxLook)
AgX tonemapper (modern, excellent color handling)
Implementations§
Source§impl ToneMappingMode
impl ToneMappingMode
Sourcepub fn apply_to_defines(&self, defines: &mut ShaderDefines)
pub fn apply_to_defines(&self, defines: &mut ShaderDefines)
Applies the tone mapping mode to shader defines.
This sets the TONE_MAPPING_MODE macro to the appropriate value
for shader compilation.
Sourcepub fn all() -> &'static [ToneMappingMode]
pub fn all() -> &'static [ToneMappingMode]
Returns all available tone mapping modes.
Trait Implementations§
Source§impl Clone for ToneMappingMode
impl Clone for ToneMappingMode
Source§fn clone(&self) -> ToneMappingMode
fn clone(&self) -> ToneMappingMode
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ToneMappingMode
impl Debug for ToneMappingMode
Source§impl Default for ToneMappingMode
impl Default for ToneMappingMode
Source§fn default() -> ToneMappingMode
fn default() -> ToneMappingMode
Returns the “default value” for a type. Read more
Source§impl Hash for ToneMappingMode
impl Hash for ToneMappingMode
Source§impl PartialEq for ToneMappingMode
impl PartialEq for ToneMappingMode
impl Copy for ToneMappingMode
impl Eq for ToneMappingMode
impl StructuralPartialEq for ToneMappingMode
Auto Trait Implementations§
impl Freeze for ToneMappingMode
impl RefUnwindSafe for ToneMappingMode
impl Send for ToneMappingMode
impl Sync for ToneMappingMode
impl Unpin for ToneMappingMode
impl UnsafeUnpin for ToneMappingMode
impl UnwindSafe for ToneMappingMode
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().