01 · 公開済みCANVAS 2D
ワイヤーフレーム
立方体の8頂点・12辺を、回転行列と透視投影で画面に描く。見えない辺も描いてしまう問題から、次の章へ。
立体を線で描くには、何を計算すればよいのか。面の表裏はどう決め、隠れた面はどう消すのか。
歴史上の課題をひとつずつ解きながら、Three.jsとWebGPUの内部へ進む教科書です。
どの章も「当時の課題 → 数式 → 最小コード → 実験 → 限界」の順で進みます。
立方体の8頂点・12辺を、回転行列と透視投影で画面に描く。見えない辺も描いてしまう問題から、次の章へ。
6枚の面を追加し、外積・内積で表裏を判定。2個の立方体で背面カリングとPainter法の違いを実験する。
画素ごとに深度を記憶して隠面を解決する。ラスタライズと深度テストの基礎へ。
固定機能からシェーダーへ。OpenGL / ES / WebGLの違いを読み、WebGL 2のZ-buffer・背面カリングを2つの立方体で実験する。第3章より先に読める特別編。
画素からレイを飛ばし、球との解析的な交差判定とSDFによるsphere tracingを比較する。最大ステップ数・誤差・カメラ角度を操作して探索過程を読む。
CPU版の球・床の交差判定をWGSLのCompute Shaderへ移植。GPUで一次レイ、影用レイ、最大3回の鏡面反射を計算し、画素を並列に描画する。
シーン管理、パストレーシング、BVH、計算シェーダーの発展へ。
「レンダリング技術の進化史 ― Z-bufferからThree.js、WebGPUへ」。技術の転換点を図と年表でまとめたA4・11ページの参考資料です。