2/22日記
プログラム
ラスタライザ開発中。
画像切り出し表示機能を実装済み。
https://x.com/__machia__/status/2025320873797050573?s=20
最初に描画画像のサイズを定義する方式で実装してある。画像を作るときに仕様を決められるので楽ではある。
画像の開始位置は自分で定義する必要があるが、ここを見えない形で管理すると面倒であると思ったので、このままで行こうと思う。(当初は内部で勝手に分割しておこうかなとも思った名残がある)
まぁどっちもできたほうがいいので実装予定だけど端っこが足りないときとかで考慮が必要。
上記はともかくとして、描画するときになってここだけ欲しい、みたいなのもあるので、画像サイズを別途指定して描画できるようにもしておいた。
https://x.com/__machia__/status/2025358645056471514?s=20
整理すると以下関数を作成予定。とりやめるかもだけど。
未作成:画像サイズを規定のサイズで、規定のサイズ分の範囲を自動で割り当てて切り取る関数(縦のサイズが揃ってるときに利用しやすくする、ただその挙動を理解しないとダメなので、データ作る段階から考慮してないと利用は難しい)
作成済み:画像サイズを規定のサイズで、任意のグラフィック座標から切り取る関数(汎用性が高い)
作成済み:画像サイズを任意のサイズで、任意のグラフィック座標の範囲を切り取る関数
あとは裏側にもう1枚同じテクスチャのバッファを取得できるようにした。
用途は色々あるけど、転送で負荷が発生しないかが気になった。
ただ、memcpyでコピーを行えば毎フレーム確保しても速度的には問題ない模様。
なので前フレームの情報も取得できるようになった。仮想ダブルバッファリングという位置づけ。
まだ何に使うかは秘密ではあるものの、出来ることが広がるのは楽しい。
参考
https://www.apollo-g.co.jp/blog/column/a127