scena 1.3.0

A Rust-native scene-graph renderer with typed scene state, glTF assets, and explicit prepare/render lifecycles.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use crate::Transform;

pub(super) fn smoothstep(value: f32) -> f32 {
    let value = value.clamp(0.0, 1.0);
    value * value * (3.0 - 2.0 * value)
}

pub(super) fn lerp_transform(start: Transform, end: Transform, amount: f32) -> Transform {
    Transform {
        translation: start.translation.lerp(end.translation, amount),
        rotation: start.rotation.slerp(end.rotation, amount),
        scale: start.scale.lerp(end.scale, amount),
    }
}