pub struct TransferFunctionLut { /* private fields */ }Expand description
A baked 1D RGBA lookup table suitable for GPU upload.
Produced by TransferFunctionLut::bake from a ColorTransferFunction
and an OpacityTransferFunction.
The table maps a normalised scalar t ∈ [0, 1] (where 0 = scalar_min,
1 = scalar_max) to an RGBA value in [0, 1].
§GPU Upload
Call TransferFunctionLut::as_rgba_f32 to obtain the raw data, then
upload as a 1D R32G32B32A32Float texture.
Implementations§
Source§impl TransferFunctionLut
impl TransferFunctionLut
Sourcepub fn bake(
ctf: &ColorTransferFunction,
otf: &OpacityTransferFunction,
scalar_min: f64,
scalar_max: f64,
lut_size: u32,
) -> Self
pub fn bake( ctf: &ColorTransferFunction, otf: &OpacityTransferFunction, scalar_min: f64, scalar_max: f64, lut_size: u32, ) -> Self
Bake a LUT from a colour and opacity transfer function.
scalar_min/scalar_max define the mapping range; lut_size is the
number of texture texels (256 is typical).
§Panics (debug only)
Panics if lut_size == 0 or scalar_min >= scalar_max.
Sourcepub fn as_rgba_f32(&self) -> &[f32]
pub fn as_rgba_f32(&self) -> &[f32]
Raw RGBA f32 slice, suitable for GPU texture upload.
Length = lut_size * 4.
Sourcepub fn scalar_min(&self) -> f64
pub fn scalar_min(&self) -> f64
Scalar value at t = 0.
Sourcepub fn scalar_max(&self) -> f64
pub fn scalar_max(&self) -> f64
Scalar value at t = 1.
Trait Implementations§
Source§impl Clone for TransferFunctionLut
impl Clone for TransferFunctionLut
Source§fn clone(&self) -> TransferFunctionLut
fn clone(&self) -> TransferFunctionLut
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 moreAuto Trait Implementations§
impl Freeze for TransferFunctionLut
impl RefUnwindSafe for TransferFunctionLut
impl Send for TransferFunctionLut
impl Sync for TransferFunctionLut
impl Unpin for TransferFunctionLut
impl UnsafeUnpin for TransferFunctionLut
impl UnwindSafe for TransferFunctionLut
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