motionloom 0.1.0

MotionLoom DSL parser and renderer for video effects, scene graphs, motion graphics, and world graphs.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
fn ml_transform_camera_affine(
    uv: vec2<f32>,
    center: vec2<f32>,
    scale: vec2<f32>,
    rotation_rad: f32,
    translate: vec2<f32>,
) -> vec2<f32> {
    let safe_scale = max(scale, vec2<f32>(1e-6, 1e-6));
    let local = (uv - center) / safe_scale;
    let c = cos(rotation_rad);
    let s = sin(rotation_rad);
    let rotated = vec2<f32>(local.x * c - local.y * s, local.x * s + local.y * c);
    return rotated + center + translate;
}