タグ

距離関数に関するedo_m18のブックマーク (2)

  • 距離関数のfold(折りたたみ)による形状設計 | gam0022.net

    レイマーチング(別名 Sphere Tracing)とは、距離関数と呼ばれる数式で定義したシーンに対して、レイの衝突判定を行って絵を出す手法です。 この距離関数に対し、fold(折りたたみ)の操作を行うと、万華鏡のような美しい形状や、フラクタルのような複雑な形状の設計が可能です。 先日のTokyoDemoFest2017でも、このfoldを用いた作品を投稿しました。 #TokyoDemoFest 2017 の GLSL Graphics Compo で3位入賞! | gam0022.net Fusioned Bismuth | gam0022.net Fusioned Bismuth | Shadertoy この記事では、距離関数のfoldについて、解説していきます。 2Dのfold 分かりやすさのために、まずは2Dの例から説明します。 2Dのfoldの分かりやすい例は「鏡文字」です。 ア

    距離関数のfold(折りたたみ)による形状設計 | gam0022.net
  • [SphereTracing:距離関数]角丸め六角柱 - Qiita

    はじめに 「Shadertoy はじめました - Qiita」の子記事です。My First Shader Sound (※音が出ます)を作った際にいろいろ気づいたトピックスを小さめの記事にしていきたいと思います。 この記事では、SphereTracingで形状を表現する距離関数(distance function)について考察します (残念ながら「解説」できるほど理解が深くないです)。iq氏によるリファレンスサンプルから一歩進んで、オリジナル形状の距離関数を定義したい人にとって理解の一助につながれば幸いです。 予め断っておくと、途中経過はそこそこ真面目に書きましたが、最後は不条理です。 六角柱の距離関数 iq氏によるリファレンスには「Hexagonal Prism」という六角柱の距離関数が示されています。 float sdHexPrism(vec3 p, vec2 h) { vec3 q

    [SphereTracing:距離関数]角丸め六角柱 - Qiita
  • 1