「Scale2x」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
4行目: | 4行目: | ||
画像の拡大縮小の[[アルゴリズム]]としては[[ニアレストネイバー]]や[[バイリニア]]、[[バイキュービック]]、[[Lanczos]]、[[NoHalo]]、[[LoHalo]]などが有名だ。 | 画像の拡大縮小の[[アルゴリズム]]としては[[ニアレストネイバー]]や[[バイリニア]]、[[バイキュービック]]、[[Lanczos]]、[[NoHalo]]、[[LoHalo]]などが有名だ。 | ||
− | + | 一方、Scale2xは「2の倍数」の大きさに拡大するときに非常に高画質を得られる。[[ペイントソフト]]に搭載されているようなパーセンテージで拡大率を指定する用途にはまったく向いていないが、「2の倍数」に拡大するのであれば非常に高速かつ高画質を得られるというものである。 | |
− | この特性から低解像度な[[ディスプレイ]]の時代の古い[[ゲーム]]を、最近の高解像度なディスプレイが前提の[[ゲーム機]]に移植する際などに広く採用されている。 | + | この特性から低解像度な[[ディスプレイ]]の時代の古い[[ゲーム]]を、最近の高解像度なディスプレイが前提の[[ゲーム機]]に移植する際などに広く採用されている。 |
33行目: | 33行目: | ||
|I | |I | ||
|} | |} | ||
− | + | 中央のピクセルEを4分割する。 | |
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
57行目: | 57行目: | ||
E2 = D == H && D!= B && H!= F?D:E; | E2 = D == H && D!= B && H!= F?D:E; | ||
E3 = H == F && D!= H && B!= F?F:E; | E3 = H == F && D!= H && B!= F?F:E; | ||
− | </syntaxhighlight> | + | </syntaxhighlight>これは次のように書き換えることができる。この僅かながら最適化されたコードは2001年ごろに各種ゲーム機のエミュレーターとして有名な「MAME」に搭載されたものであり、 「AdvMAME2x」と呼ばれる。<syntaxhighlight lang="c++"> |
E0 = D == B && B!= H && D!= F?D:E; | E0 = D == B && B!= H && D!= F?D:E; | ||
E1 = B == F && B!= H && D!= F?F:E; | E1 = B == F && B!= H && D!= F?F:E; |