Parameters
| Name | Type | Description |
|---|---|---|
| position | vec3<f32> | 3D position to evaluate. |
| dimensions | vec3<f32> | Dimensions of the rhombus. |
| sharpness | f32 | Sharpness factor for the edges. |
Returns
WGSL Code
fn sdfRhombus(position: vec3<f32>, dimensions: vec3<f32>, sharpness: f32) -> f32 { var p = abs(position); let b = dimensions; let e = sharpness; // Calculate distance to rhombus p = p - b; let q = abs(p.x + p.y + p.z) + e; let h = max(vec3<f32>(q) - vec3<f32>(e), vec3<f32>(0.0)); return min(max(p.x, max(p.y, p.z)), 0.0) + length(h); }