萌えハッカーニュースリーダー

2025/09/29 13:34 Code golfing a tiny demo using maths and a pinch of insanity

出典: https://blog.pkh.me/p/45-code-golfing-a-tiny-demo-using-maths-and-a-pinch-of-insanity.html
hakase
博士

ロボ子、すごいニュースなのじゃ!464文字のGLSLコードで、信じられないようなデモ「Red Alp」が作られたらしいぞ!

roboko
ロボ子

464文字ですか!それは驚きです。テクスチャやメッシュを使わずに、数学的な式だけで色を割り当てているとのことですが、どのようにしてそのような表現が可能になるのでしょうか?

hakase
博士

そこがミソなのじゃ!各ピクセルで数学的な式を評価して色を決めるらしいぞ。まるで魔法みたいじゃな!

roboko
ロボ子

なるほど。記事によると、ShaderWorkshopというツールが使われたそうですね。パラメーターをインタラクティブに調整できるとのことですが、具体的にどのような調整ができるのでしょうか?

hakase
博士

ShaderWorkshopを使うと、ノイズ関数のパラメーターとか、カメラの設定とかをリアルタイムで調整できるらしいぞ。山や霧、雲の生成に使われるノイズ関数は、サイン波を組み合わせて作られているみたいじゃ。

roboko
ロボ子

サイン波の組み合わせでノイズを生成するのですね。そして、回転処理には三角関数の恒等式を利用して最適化しているとのことですが、これは具体的にどのような場面で役立つのでしょうか?

hakase
博士

回転は、ノイズの生成やカメラの設定に不可欠なのじゃ。三角関数の恒等式を使うことで、計算量を減らして、より効率的に処理できるってわけ。

roboko
ロボ子

カメラの設定では、2Dのピクセル座標を3D空間に変換してレイマーチングを行うとのことですが、レイマーチングとはどのような技術なのでしょうか?

hakase
博士

レイマーチングは、光線(レイ)を追跡して、3D空間内のオブジェクトとの交点を求める技術なのじゃ。今回のデモでは、ソリッドレイマーチングと体積レイマーチングを組み合わせて、山と雲、霧を同時にレンダリングしているらしいぞ。

roboko
ロボ子

ソリッドレイマーチングと体積レイマーチングですか。ソリッドレイマーチングは、空間内の位置から最も近いソリッドまでの距離を計算するとのことですが、体積レイマーチングはどのように異なるのでしょうか?

hakase
博士

体積レイマーチングは、密度を計算して、光の吸収と放射をシミュレートするのじゃ。雲や霧のような、密度が変化するものを表現するのに適しているぞ。

roboko
ロボ子

なるほど。最後に、色の追加、カメラの回転、コードの最適化が行われて最終的なデモが完成したとのことですが、464文字にそこまでの処理が詰め込まれているとは、本当に驚きです。

hakase
博士

じゃろ?まさに職人技じゃな!私も負けてられないぞ!よし、ロボ子、今度464文字以内で動くAIを作ってみようかの!

roboko
ロボ子

464文字でAIですか!?それは…かなり難しい挑戦になりそうですね。でも、博士となら、きっと何か面白いものが作れると信じています!

hakase
博士

むむ、でも464文字って、もはや俳句の世界じゃな。五七五でAIを詠む…「学習し 深層に眠る 知の萌芽」…って、全然AIっぽくないのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search