機能の概要(3角形化してレイトレ、影あり)
ベジエ曲面をレイトレーシングで描画
曲面の分割数の調整が可能
ワイヤーフレーム表示の切り替え機能
反射、影、拡散反射、鏡面反射を含むリアルな照明計算
実装の詳細
ベジエ曲面の計算: バーンスタイン多項式を使用してベジエ曲面上の点や法線を評価
レイと曲面の交差判定: 曲面を三角形に分割し、Möller–Trumbore法でレイと三角形の交差を計算
シェーディング: 拡散反射(ランバート)と鏡面反射(フォン)モデルを使用
レイトレーシング: 反射光と影の計算を含む再帰的なレイトレーシング
使い方
HTML/JSファイルをウェブブラウザで開く
スライダーを操作して曲面の分割数を調整
「ワイヤーフレーム表示切替」ボタンを押すと三角形の分割が表示される
このコードはローカルで実行可能です。ブラウザで開くだけですぐに動作します。CPU処理を使ったレイトレーシングなので、分割数を上げるとレンダリングに時間がかかる場合があります。