sdf2mesh 0.1.0

A tool to convert SDFs to triangle meshes using wgpu and dual contouring
Documentation
// Copyright © Michael Winkelmann <michael@winkelmann.site>
// SPDX-License-Identifier: AGPL-3.0-or-later

// SDF smooth operations.
// translated from https://iquilezles.org/articles/distfunctions/ 

fn sdf_op_smooth_union(d1: f32, d2: f32, k: f32) -> f32
{
    let h = clamp(0.5 + 0.5*(d2-d1)/k, 0.0, 1.0);
    return mix(d2, d1, h) - k*h*(1.0-h);
}

fn sdf_op_smooth_intersection(d1: f32, d2: f32, k: f32) -> f32
{
    let h = clamp(0.5 - 0.5*(d2-d1)/k, 0.0, 1.0);
    return mix(d2, d1, h) + k*h*(1.0-h);
}

fn sdf_op_smooth_subtraction(d1: f32, d2: f32, k: f32) -> f32
{
    let h = clamp(0.5 - 0.5*(d2+d1)/k, 0.0, 1.0);
    return mix(d2, -d1, h) + k*h*(1.0-h);
}