見出し画像

🎡GLSLでプリミティブを描くための3ステップ

ただし、条件がある

このページの各プリミティブ、モディファイア、演算子の関数には、下のインデックスに「厳密」または「結合」の注記があります。「厳密」なSDFは、より多くのアルゴリズムやテクニックとの相性が良く、より高品質な結果を得ることができるため、一般的には「結合」SDFよりも望ましいとされています。

https://iquilezles.org/articles/distfunctions/

ここでのプリミティブはすべて原点を中心としています。任意に回転、平行移動、拡大縮小されたオブジェクトを得るためには、ポイントを変換する必要があります(下記参照)。以下のプリミティブの多くは dot2() や ndot() を使用していますが、ここではプリミティブの前に素早くリストアップしています。

https://iquilezles.org/articles/distfunctions/

ステップ1.Shadertoyのサンプルからプリミティブとる

こんな感じになっている

ステップ2.glsl sandboxにコードをはっつけて、少し追記する

https://glslsandbox.com/e#82060.0

ステップ3.内容を見る

glslsandboxとshadertoy

伸長 - 正確

伸長は、新しいシェイプを構成するのに便利な方法です。基本的にはプリミティブを2つ(4つまたは8つ)に分割し、そのピースを移動してつなげます。

https://amzn.to/3q26Es7


お願い致します