14.2 组合 3D SDF 操作
现在我们已经了解了我提供的光线行进模板,让我们了解 3D SDF 操作
!我在本系列教程的第 5 部分中介绍了 2D SDF操作
。3D SDF操作
有点相似。我们将使用实用函数将形状组合在一起或将形状彼此相减。这些功能可以在 Inigo Quilez
的 3D SDF 页面上找到。
在代码顶部附近定义实用程序函数,然后在 scene
函数中使用它。
并集 Union:将两个形状组合在一起或在屏幕上显示多个形状。我们现在应该已经熟悉了工会作。我们一直在使用 min
函数来绘制多个形状。
float opUnion(float d1, float d2) {
return min(d1, d2);
}
float scene(vec3 p) {
float d1 = sdSphere(p, 1., vec3(0, -1, 0));
float d2 = sdSphere(p, 0.75, vec3(0, 0.5, 0));
return opUnion(d1, d2);
}
平滑联合 Smooth Union