Chiharu の日記

絵描き C/C++ プログラマーの日記です。

Parallel force - パラレル・フォース 〜デモ更新

イメージの拡大縮小処理の実装をとりあえず完了しました。線形補間の処理負荷が思っていたよりも高く、慌てて SSE2, SSSE3 に対応させました。むー。アフィン変換の線形補間は SSE2 には荷が重いですね。SSSE3 が使えないと、パック、アンパックの嵐であまり速度が上がりません。線形補間処理を _mm_maddubs_epi16 で高速化するために、画素の補間精度を 6bit にしました。座標計算自体は小数桁 16bit の固定小数で計算し、補間時に 6bit 精度に落とすようにしています。まぁ、イメージを 64 倍以上に大きくしないと限界精度が分からないくらいの精度です。ゲーム用なら問題ないでしょう。
ということで、当該処理をデモに反映しました。マウス操作に追従するスプライトを拡大縮小するようにしてあります。1 回の拡大縮小ごとに、線形補間と最近傍補間が切り替わるようになっています。詳細はこちら
あー。デモには直接関係ないですが、α値付きイメージの線形補間がまだでした。んー。その実、こっちのが大事かな。時間見つけてやっておこう。