Yanesdk 改造中(3)

結局、多く描画すると速度の低下とメモリの消費が大きくなってしまうのは防ぐことが出来そうにないので、仮想イメージはその中身が描画情報リストしかもっていないということを意識しないといけなくなりそうです。
なので、これを通常のイメージの代替として使うのは厳しそうです。


で、どうしようかなぁという話になるんですが……どうしよう(;´Д`)

  1. wgl〜の関数を使って DIB に貼り付けた画像データを SDL_gfx に食わせて描画。
  2. 描画リストにある程度の数が溜まったら、wgl〜の関数を使って DIB に貼り付けた画像データをテクスチャに変換。出来る限り glTexSubImage2D() を使う。

1つ目の方法は一応、拡大縮小・回転・アルファの転送が出来るようになるみたいですが、OpenGL のテクスチャの機能と比べたらショボショボだし、ソフトウェアで変換してるみたいなので結構遅そう。
2つ目の方法はテクスチャをそのまま利用出来ますが、テクスチャに貼り付ける画像は連続したメモリ領域が必要なので、どっかでその領域を確保するコストと、メモリからビデオメモリに転送するコストがかなり大きそうな悪寒。


どうするかなぁ……とりあえず、glTexImage2D() や glTexSubImage2D() のコストを調べて、あんまり大きくないようだったら2つ目の方法でやってみようかな……。