2026:02:22
文書の過去の版を表示しています。
2/22日記
プログラム
- ラスタライザ開発中。
- まず3Dレンダラーを組み込みしてみた。
- ソースコード眺めてみると、視野角の関係で歪んで見えてくるのか、なるほどと思った。
- これだと3Dのアプリも作れそうな気がしてくるな。
- 次にaobenchを移植というかラスタライザに組み込みしてみた。
- 一時期色んなところにaobench移植するの流行っていたよね、とおじさん風味になる。
- 実際自分が制作に参加したデモもaobenchを最初に組み込んでみたよね。qさん(ry
- さすがにマルチスレッド想定ではないせいか、アプリ側のタイマでは描画タイミングを制御できないため、タイマーが規定秒数以下だったらaobenchのレンダリング起動して、以降は描画しないという形にしてみた。
- これで4kbGraphicsも作れるな!w
- 画像切り出し表示機能を実装済み。
- 最初に描画画像のサイズを定義する方式で実装してある。画像を作るときに仕様を決められるので楽ではある。
- 画像の開始位置は自分で定義する必要があるが、ここを見えない形で管理すると面倒であると思ったので、このままで行こうと思う。(当初は内部で勝手に分割しておこうかなとも思った名残がある)
- まぁどっちもできたほうがいいので実装予定だけど端っこが足りないときとかで考慮が必要。
- 描画するときになってここだけ欲しい、みたいなのもあるので、画像サイズを別途指定して描画できるようにもしておいた。
- 整理すると以下関数を作成予定。とりやめるかもだけど。
- 未作成:画像サイズを規定のサイズで、規定のサイズ分の範囲を自動で割り当てて切り取る関数(縦のサイズが揃ってるときに利用しやすくする、ただその挙動を理解しないとダメなので、データ作る段階から考慮してないと利用は難しい)
- 作成済み:画像サイズを規定のサイズで、任意のグラフィック座標から切り取る関数(汎用性が高い)
- 作成済み:画像サイズを任意のサイズで、任意のグラフィック座標の範囲を切り取る関数
- あとは裏側にもう1枚同じテクスチャのバッファを取得できるようにした。
- 用途は色々あるけど、転送で負荷が発生しないかが気になった。
- ただ、memcpyでコピーを行えば毎フレーム確保しても速度的には問題ない模様。
- なので前フレームの情報も取得できるようになった。仮想ダブルバッファリングという位置づけ。
- まだ何に使うかは秘密ではあるものの、出来ることが広がるのは楽しい。
- 参考
- で、上のaobenchを組み込んでみたときにちょうどいいので描画機能を実装してみた。
- 雑なコラ画像みたいになったw
- 元々aobenchは白黒の画像でambient occlusionを投影するプログラムなんだけど、レイが反射しないところには黒を配置するのね。
- で、自分が作ってるラスタライザは黒をカラーキーとしている。
- 結果、このような抜き色が思いっきり反映された形になった。
- これはこれで面白いな。
2026/02/22.1771759485.txt.gz · 最終更新: 2026/02/22 20:24 by machiaworx