1.0.0 • Published 11 years ago
glsl-combine-chamfer v1.0.0
glsl-combine-chamfer
Combine two signed distance fields with a chamfer-like join.
This technique was derived from a great talk at NVScene by Johann Korndörfer.
Usage
float combine(float d1, float d2, float radius)
Given two distances d1 and d2, merge them together
within the supplied radius.
uniform float iGlobalTime;
#pragma glslify: combine = require('glsl-combine-chamfer')
#pragma glslify: box = require('glsl-sdf-box')
vec2 doModel(vec3 p) {
vec3 off = sin(0, iGlobalTime, 0);
float dist1 = box(p, vec3(2.0));
float dist2 = box(p + off, vec3(1.0));
float radius = 0.5;
float dist = combine(dist1, dist2, radius);
return vec2(dist, 1.0);
}Contributing
See stackgl/contributing for details.
License
MIT. See LICENSE.md for details.
1.0.0
11 years ago
