形を組み合わせる
To design complex shapes with SDF, you need to combine multiple different shapes. We have already seen how taking the minimum of two SDFs can merge shapes. In this section, we will explore other useful functions. These functions are all from Inigo Quilez's article.
複雑な形状をSDFで作るには、複数の異なる形を組み合わせる必要があります。すでに2つのSDFの最小値を取ることで形状を結合する方法について触れました。このセクションでは、その他の便利な関数について説明します。これらの関数はすべて、Inigo Quilezの記事が出典です。
ブール演算
Boolean operations are a common concept used in various design tools. With SDF, boolean operations such as union, intersection, and difference can be expressed as simple comparisons of distances, allowing you to sculpt various shapes.
ブール演算は、さまざまなデザインツールで使われています。SDFでは簡単な距離の比較を用いて、和(union)、共通部分(intersection)、差(subtraction)などのブール演算を表現することができます。これを使うとさまざまな形状を造ることができます。
float opUnion( float d1, float d2 ) { return min(d1,d2); }
https://codepen.io/kynd/pen/MWLyxqg?editors=0010
float opSubtraction( float d1, float d2 ) { return max(-d1,d2); }
https://codepen.io/kynd/pen/LYqLRYX?editors=0010
float opIntersection( float d1, float d2 ) { return max(d1,d2); }