2026:02:21
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| 2026:02:21 [2026/02/21 12:50] – machiaworx | 2026:02:21 [2026/02/21 17:38] (現在) – machiaworx | ||
|---|---|---|---|
| 行 2: | 行 2: | ||
| ===== プログラム ===== | ===== プログラム ===== | ||
| + | * レイトレーサーを実装してみた。 | ||
| + | * https:// | ||
| + | * Copilotに依頼したら出力してくれたので、これをベースに処理するクラスを作成してみた。 | ||
| + | * 自分が実装したことあるのはシェーダベースのレイマーチングによるものなので、それもなかなか偏ってるので、まずレイトレとはどうやって実装するものぞというのを調べてみたもの。 | ||
| + | * 現在作っているのが2Dのラスタライザなので、あくまでラスタライザ上で描画する対象としてレイトレーシングを動かす。 | ||
| + | * 実装としてはアプリケーション側から描画命令を呼び出す。 | ||
| + | * レイトレーサー内の更新はゲームスレッドで動かして、レイトレーシングを描画命令で起動することにした。 | ||
| + | * 更新と描画は別スレッドでの動作してるせいか、割とさくさく動いてビビる。 | ||
| + | |||
| + | ---- | ||
| + | * やってることは当然ながらレイマーチングと似ている。 | ||
| + | * 画面のピクセルごとに「どの地点から光が飛んでいて、どう反射しているの」をシミュレートしている。 | ||
| + | * カメラの仰角とかの絡みがいまいちわかってない気がする。 | ||
| + | |||
| + | ---- | ||
| * ここ1週間でテンションが上がりすぎてソースコード書き散らしてた。 | * ここ1週間でテンションが上がりすぎてソースコード書き散らしてた。 | ||
| * 結果、内部がなかなかやべえ変数名だったりコメントがなかったりしてた。 | * 結果、内部がなかなかやべえ変数名だったりコメントがなかったりしてた。 | ||
| 行 25: | 行 40: | ||
| * 結果、負荷かけた描画がFPS80前後だったのが、FPS115-120くらい出るようになった。 | * 結果、負荷かけた描画がFPS80前後だったのが、FPS115-120くらい出るようになった。 | ||
| + | ---- | ||
| + | * これよさそう | ||
| + | * https:// | ||
| + | * | ||
2026/02/21.1771645804.txt.gz · 最終更新: 2026/02/21 12:50 by machiaworx