「スプライト」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
2行目: | 2行目: | ||
主に[[ゲーム]]で使われる技術であり、キャラクターを表示する際に背景をくり抜いて表示することをいう。その他にも動画の字幕などにも使われている。大雑把にいえば[[Photoshop]]などの[[ペイントソフト]]によくある「[[レイヤー]]」とほぼ同じ概念である。 | 主に[[ゲーム]]で使われる技術であり、キャラクターを表示する際に背景をくり抜いて表示することをいう。その他にも動画の字幕などにも使われている。大雑把にいえば[[Photoshop]]などの[[ペイントソフト]]によくある「[[レイヤー]]」とほぼ同じ概念である。 | ||
− | |||
− | |||
− | |||
==専用ハードウェアでの実装== | ==専用ハードウェアでの実装== | ||
初期の[[コンピューター]]では[[ハードウェア]]の機能としてスプライトが用意されており非常に高速に処理することができた。拡大縮小や回転などをサポートするハードウェアも多く、それらも含めスプライトと呼ばれた。 | 初期の[[コンピューター]]では[[ハードウェア]]の機能としてスプライトが用意されており非常に高速に処理することができた。拡大縮小や回転などをサポートするハードウェアも多く、それらも含めスプライトと呼ばれた。 | ||
専用ハードウェアによるスプライトは[[ファミコン]]や[[スーパーファミコン]]、[[PCエンジン]]、[[メガドライブ]]などの世代までの[[家庭用ゲーム機]]でよく使われた。 | 専用ハードウェアによるスプライトは[[ファミコン]]や[[スーパーファミコン]]、[[PCエンジン]]、[[メガドライブ]]などの世代までの[[家庭用ゲーム機]]でよく使われた。 | ||
− | |||
==GPUでの実装== | ==GPUでの実装== | ||
− | 近年の[[コンピューター]]ではスプライトが[[ハードウェア]] | + | 近年の[[コンピューター]]ではスプライトが[[ハードウェア]]で実装されていることがほぼない。代替手段として[[GPU]]による高速化を期待して以下のような手法が使われる。 |
− | |||
− | |||
− | |||
− | |||
− | + | *[[平行投影]]かつ真上見下ろしの3Dのシーンを用意する | |
+ | *そこにスプライトに相当する[[テクスチャ]]を貼り付けた四角形の[[ポリゴン]]を表示する | ||
+ | この手法は初代[[プレイステーション]]でよく使われた。初期の[[プレイステーション]]の[[ゲーム]]はハードウェアスプライトがないため2Dゲームは[[セガサターン]]より劣化していることが多かったが、この手法が考案されてからはその差はなくなった。 | ||
==ソフトウェアでの実装== | ==ソフトウェアでの実装== | ||
専用ハードウェアも[[GPU]]もない[[コンピューター]]では以下のような手順で[[ソフトウェア]]的に合成する。[[PC-9801]]や[[PC/AT]]、[[DirectX]]登場以前の[[フレームワーク]]の弱かった時代の[[Windows]]などでよく使われた。 | 専用ハードウェアも[[GPU]]もない[[コンピューター]]では以下のような手順で[[ソフトウェア]]的に合成する。[[PC-9801]]や[[PC/AT]]、[[DirectX]]登場以前の[[フレームワーク]]の弱かった時代の[[Windows]]などでよく使われた。 | ||
;準備するもの | ;準備するもの | ||
+ | |||
*背景画像 | *背景画像 | ||
*表示画像 = 透明部分を「0」で埋めた画像 | *表示画像 = 透明部分を「0」で埋めた画像 | ||
28行目: | 23行目: | ||
;手順 | ;手順 | ||
+ | |||
#背景画像とマスク画像を[[ビット]]単位で[[AND演算]]する | #背景画像とマスク画像を[[ビット]]単位で[[AND演算]]する | ||
#:透明部分は背景がそのまま残り、画像を描画したい部分だけが0でクリアされる。 | #:透明部分は背景がそのまま残り、画像を描画したい部分だけが0でクリアされる。 | ||
34行目: | 30行目: | ||
最近の[[フレームワーク]]では表示画像の特定色を透明色として設定しておけば、マスク画像を用意しなくても自動的に合成してくれるものばかりなので、上記のような手順で合成することは少ないと思われる。 | 最近の[[フレームワーク]]では表示画像の特定色を透明色として設定しておけば、マスク画像を用意しなくても自動的に合成してくれるものばかりなので、上記のような手順で合成することは少ないと思われる。 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[カテゴリ:画像処理]] | [[カテゴリ:画像処理]] |