ユーザ用ツール

サイト用ツール


2026:02:21

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
2026:02:21 [2026/02/21 16:02] machiaworx2026:02:21 [2026/02/21 17:38] (現在) machiaworx
行 4: 行 4:
   * レイトレーサーを実装してみた。   * レイトレーサーを実装してみた。
   * https://x.com/__machia__/status/2025073094340346166?s=20   * https://x.com/__machia__/status/2025073094340346166?s=20
-  * Copilotに依頼したら出力してくれたので、これをベースに処理するクラスを作成していた。+  * Copilotに依頼したら出力してくれたので、これをベースに処理するクラスを作成してみた。 
 +  * 自分が実装したことあるのはシェーダベースのレイマーチングによるものなので、それもなかなか偏ってるので、まずレイトレとはどうやって実装するものぞとうのを調べてみもの
   * 現在作っているのが2Dのラスタライザなので、あくまでラスタライザ上で描画する対象としてレイトレーシングを動かす。   * 現在作っているのが2Dのラスタライザなので、あくまでラスタライザ上で描画する対象としてレイトレーシングを動かす。
   * 実装としてはアプリケーション側から描画命令を呼び出す。   * 実装としてはアプリケーション側から描画命令を呼び出す。
   * レイトレーサー内の更新はゲームスレッドで動かして、レイトレーシングを描画命令で起動することにした。   * レイトレーサー内の更新はゲームスレッドで動かして、レイトレーシングを描画命令で起動することにした。
-  * 割とさくさく動いてビビる。+  * 更新と描画は別スレッドでの動作してるせいか、割とさくさく動いてビビる。 
 + 
 +---- 
 +  * やってることは当然ながらレイマーチングと似ている。 
 +  * 画面のピクセルごとに「どの地点から光が飛んでいて、どう反射しているの」をシミュレートしている。 
 +  * カメラの仰角とかの絡みがいまいちわかってない気がする。
  
 ---- ----
行 34: 行 40:
   * 結果、負荷かけた描画がFPS80前後だったのが、FPS115-120くらい出るようになった。   * 結果、負荷かけた描画がFPS80前後だったのが、FPS115-120くらい出るようになった。
  
 +----
 +  * これよさそう
 +  * https://github.com/sejja/2D-Software-Rasterizer
 +  * 
2026/02/21.1771657367.txt.gz · 最終更新: 2026/02/21 16:02 by machiaworx