ユーザ用ツール

サイト用ツール


2026:02:21

差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
2026:02:21 [2026/02/21 17:38] machiaworx2026:02:21 [2026/02/22 06:10] (現在) machiaworx
行 2: 行 2:
  
 ===== プログラム ===== ===== プログラム =====
-  * レイトレーサーを実装してみた。+  * レイトレーサーを実装してみた。(レイトレーシングを実行するプログラムな)
   * https://x.com/__machia__/status/2025073094340346166?s=20   * https://x.com/__machia__/status/2025073094340346166?s=20
-  * Copilotに依頼したら出力してくれたので、これをベースに処理するクラスを作成してみた。+  * Copilotに依頼したら短いプログラムを出力してくれたので、これをベースに処理するクラスを作成してみた。
   * 自分が実装したことあるのはシェーダベースのレイマーチングによるものなので、それもなかなか偏ってるので、まずレイトレとはどうやって実装するものぞというのを調べてみたもの。   * 自分が実装したことあるのはシェーダベースのレイマーチングによるものなので、それもなかなか偏ってるので、まずレイトレとはどうやって実装するものぞというのを調べてみたもの。
   * 現在作っているのが2Dのラスタライザなので、あくまでラスタライザ上で描画する対象としてレイトレーシングを動かす。   * 現在作っているのが2Dのラスタライザなので、あくまでラスタライザ上で描画する対象としてレイトレーシングを動かす。
行 13: 行 13:
 ---- ----
   * やってることは当然ながらレイマーチングと似ている。   * やってることは当然ながらレイマーチングと似ている。
-  * 画面のピクセルごとに「どの地点から光が飛んでいて、どう反射しているの」をシミュレートしている。 +  * 画面のピクセルごとに「どの地点から光が飛んでいて、どう反射しているの」をシミュレートしている。 
-  * カメラの仰角とかの絡みがいまいちわかってない気がする。+  * ただ、カメラの仰角とかの絡みがいまいちわかってない気がする。 
 +  * ここは色々見たり計算しながら確認するしかなさそう
  
 ---- ----
行 39: 行 40:
   * 殴り書きなせいで処理自体が重複していた部分や無駄に比較している処理があったので、少し修正済み。   * 殴り書きなせいで処理自体が重複していた部分や無駄に比較している処理があったので、少し修正済み。
   * 結果、負荷かけた描画がFPS80前後だったのが、FPS115-120くらい出るようになった。   * 結果、負荷かけた描画がFPS80前後だったのが、FPS115-120くらい出るようになった。
 +
 +----
 +  * 高速なスクリプト言語としてumkaを組み込んでみたが、どうも特定クラスへ処理系を組み込む形ができないらしく、クラスから別途定義したC言語スタイルの関数へ登録して呼び出し、みたいなことをやらなければいけないらしい。
 +  * 自分はC言語での作り方も書けるんだけど、ラスタライズシステムのほうでClassを使ってしまっている。
 +  * ゲームへの組み込みも少し工夫しないとダメそう。
  
 ---- ----
   * これよさそう   * これよさそう
   * https://github.com/sejja/2D-Software-Rasterizer   * https://github.com/sejja/2D-Software-Rasterizer
-  + 
 +---- 
 +  人様のプログラムを確認してた。
2026/02/21.1771663125.txt.gz · 最終更新: 2026/02/21 17:38 by machiaworx