▲TOP
X432R
Direct3D のシェーダーを使用したときの効果一覧



3Dグラフィックスを綺麗に表示する機能がすばらしい、DeSmuMEの派生版 DeSmuME X432R の表示テストです。この機能を実現したyolky-nine氏(作者)すごい!

(私は作者ではありません。X432Rの機能に感激した、いちユーザーです)

◆DeSmuME X432R 公式サイト
http://shikaver01.webcrow.jp/



◆ Post-Processing Shader ◆

DeSmuME X432R 2015-02-08 以降


DeSmuME X432R 2015-02-08 より加わった、Direct3D 9.0cの画像効果を使ったぼかし機能です。
※わかりやすく表現するため「ぼかし」としていますが、厳密には各ピクセルごとの極端な差を修正して 滑らかに表示できるよう加工する機能です。このため2Dのゲームで使用しても ピントがボケた感覚にはなるものの、全体の調和がとれた やわらかい雰囲気になり 「絵」として見やすくなります。…キリッとした絵が好きな方は 標準解像度で使用できるフィルターをいろいろお試しください。

なおDeSmuME X432R 2015-03-15-0以前のバージョンを使っている場合、 高解像度3Dレンダリング機能を使用しているときしか設定できません。ご注意。


シェーダーには 種類(手法)、Level、Modeがあります。
・Levelはぼかし効果の強さ。数値が高いほど、ぼかしが強くなります。
・Modeはぼかし効果を入れる対象。対象は、 3Dグラフィックス(&テクスチャ)、一般2Dグラフィックス、 特殊2Dグラフィックス (主にフォントや大型イラスト系) の3種類に分類できると思われます。
 ただしどのModeも対象外となったものにはまったくぼかしがかからないわけではなく、控えめに効果がかかります。詳細は後述。

シェーダーの種類とModeは後述。


 1.まずは高解像度(2X〜4X)に設定します。レンダラーはOpenGL、SoftRasterizerのどちらも有効です。
  Config -> 3D Setteings ->Direct3D
    または
  Config -> High-Resolution 3D Renderer -> 2X or 3X or 4X


 2.高解像度(2X〜4X)にしたあと、画面表示手法で Direct3D を設定します。
  Config -> Display Method -> Direct3D

 3.Direct3Dを選択したら。以下の項目でシェーダーを使用できます。 
  Config -> Post-Processing Shader





OpenGL 4X + Anti-Aliasing
 

以下は、OpenGL 4X + Anti-Aliasing に加え、Direct3Dの各シェーダーを加えた画像一覧。

1〜2段目はシェーダーの効果対象を比較しやすくするため、 Gaussian/Trimmed-Meanの全モードでエフェクトレベルを4(ぼかし最大)にしています。
3段目はシャープネス効果を比較するため、モードは1に固定してエフェクトレベルを変化させています。

1. Gaussian + Mode 1 2. Gaussian + Mode 2 3. Gaussian + Mode 3 4. Gaussian + Mode 4
 
1. Trimmed-Mean + Mode 1 2. Trimmed-Mean + Mode 2 3. Trimmed-Mean + Mode 3 4. Trimmed-Mean + Mode 4
 
 Gaussian & Sharpness + Mode 1 + Level 1  Gaussian & Sharpness + Mode 1 + Level 4  Trimmed-Mean & Sharpness + Mode 1 + Level 1  Trimmed-Mean & Sharpness + Mode 1 + Level 4

左上の文字(フォント)中央〜左側のちびキャラ(3D&テクスチャ)右側のキャライラスト(2D)
あたりが比較しやすいでしょうか。背景の床や机などは2Dと3Dの融合かもしれません (3D箱庭座標に2Dグラフィックスを採用している?)



Post-Processing Shader

※今回の例は 幻想水滸伝ティアクライス の場合です。 基本的な傾向こそ同じとはいえ、ゲームによりシェーダーのかかり方にはどうも差があるようです。
※なおフォント(文字)ですが、DS標準のような細くてエッジがクッキリとしたもの以外、 つまり装飾された各ゲームごとの独自文字は、 通常2Dグラフィックス扱いだったり3Dグラフィックス扱いだったり するものもあるようです。



●ぼかし手法

Gaussian
ガウシアンブラー。ガウス曲線を利用してぼかし効果を与える、というものらしい。 なめらかで自然な感じのぼかしを入れることができるようです。
ゲームによりけりではあるのものの、特定の線に強いTrimmed-Meanと比べ全体に対して効果が利きやすく、自然なぼかされ方になりやすい傾向。

Trimmed-Mean
トリム平均。最少値・最大値からいくらかを除いた残りのデータから平均値を求める手法…らしい。 あるオリンピック競技の採点法と同じですな。
Gaussianと比べると、クッキリした細かいシャギーに対し効果が高い印象。 特に小さなグラフィックやフォントへの効果が目立つか。
尖ったところをかすれるようにぼかすため、斜めのギザギザ線や 文字の輪郭がなめらかになる印象。
代わりに全体にかすれたような感じになることも多いが。また 小さすぎるグラフィックの集まるような場面ではレベルが大きいと潰れてしまうことも。

○○ & Sharpness
X432R 2015-02-15 版より加わったシェーダー。 ○○の箇所にはGaussianかTrimmed-Meanが入ります。
線が細くなるシャープネスを融合したもの。レベル設定が通常のGaussian/Trimmed-Meanとは逆で、 レベル値が小さいとぼかし強く、値が小さいとスッキリした線になります。




●ぼかしの強度

Effect Level 1〜4
数字が大きいほど、ぼかし効果が強くなります。
特にフォントへの影響が大きいTrimmed-Meanは、あまり大きくしすぎると文字が読み辛くなることも。
ぼかし具合はゲームによりある程度 差があるようなので、遊ぶゲームに合わせて最適なものを探してみてください。




●ぼかし対象

シェーダーがかかる対象を、 ここでは 3Dグラフィックス(&テクスチャ)、 2Dグラフィックス[1]、 2Dグラフィックス[2] の3種類に分類していますが、 おそらく正確なものでないことにご留意ください。

私の場合、とりあえず便宜的に
 2Dグラフィックス[1] : 通常の2Dグラフィックス
 2Dグラフィックス[2] : フォント(文字) (と一部の2Dグラフィックス)
と分類しています。

なお、どのモードでも完全他排ではなく、対象外扱いのものにも少しぼかし効果がかかります。


Effect Mode 1
2D [1] 2D [2]
(主にFont)
3D
 全体をぼかす。他のモードにくらべ、2D・3Dともにぼかし具合が大きい印象。


Effect Mode 2
2D [1] 2D [2]
(主にFont)
3D
 主に2D&フォント部分のぼかし。(3Dグラ上のテクスチャは3D扱いなので対象外。)
 3Dグラフィックス部分にもわずかにぼかし効果がかかっている。


Effect Mode 3
2D [1] 2D [2]
(主にFont)
3D
 2Dグラフィックスの大半と3Dグラフィックスのぼかし。
 ただし恐らく正確には フォント系2Dグラフィックス部分にはシェーダーがかからないのではなく、 輪郭線にあたる部分にシャープネス効果を与えるものだと思われます。
 このためフォントが割とくっきり。2Dグラフィックの一部も輪郭がくっきりします。


Effect Mode 4
2D [1] 2D [2]
(主にFont)
3D
 2D&フォントに関しては mode 3 と同じもよう。
 2Dグラフィックスの大半をぼかし、フォントなど一部の2Dにはシャープネス効果。
 3Dは mode 2 同様にわずかなぼかし効果。


3Dのみのぼかしと、フォントのみのぼかし(=一部の2Dへのシャープネス効果)モードは 無いようです。




  ついでに、一部をピックアップ。
1. OpenGL X4 + Anti-Aliasing + Gaussian / Mode 1 / Level 3 2. OpenGL X4 + Anti-Aliasing + Trimmed-Mean / Mode 1 / Level 3 3. SoftRasterizer X4 + Trimmed-Mean / Mode 1 / Level 3

ドラキーの目

通常の高解像度3Dでは、カクカクしているドラキーの目。 シェーダーでTrimmed-Mean(1と2)のLevel3にすると より丸に近くなる印象。
なおLevel2以下ではGaussian も Trimmed-Mean もあまり変わらない印象でした。



SoftRasterizer

レンダラーのSoftRasterizerは、アンチエイリアスが効かないため粗くなりがちです。
しかしシェーダーを設定することで、このようにかなりなめらかに。




フォント(文字)の補足

フォント(文字)も基本的に2Dグラフィックスではありますが、 ただしDS本体側でシステム的に文字として扱われるものは 通常の2Dグラフィックスとは処理が異なるような印象です。
ただ各ゲーム側の独自フォントは、イラストなどと同じく通常の2Dグラフィックとして扱っていることがあります。 その場合、文字用のシェーダー( 2Dグラフィックス[2] )よりも、一般的な 2Dグラフィックス[1] のほうが効果的に利く形になります。
シェーダーなし Mode 2 Mode 4

 Mode2 はフォント&2Dグラフィックスをぼかし、Mode4は2Dグラフィックスだけをぼかす (※実際にはフォント系2Dグラにはシャープネス効果をかけると思われる) シェーダー。
 顔の上の平仮名の「なまえ」がもしフォント扱いであれば、 Mode4のときはもっとクッキリとするはずだが、実際にはイラストと同じくぼかされている。
 このことから、この平仮名は単なる2Dグラフィックであり、 フォント系2Dグラとして扱われていないことが伺える。










(C) Konami Digital Entertainment