いろきゅうの(元)はてなダイアリー

はてなダイアリーから移行中…

拡大縮小フィルタの設定

IDirect3DDvice9::SetSamplerState で、テクスチャの拡大・縮小のフィルタの設定が出来ますが、私 「別に拡大縮小時の画質はキニシナイから、フィルターは無し(MSペイントで拡大縮小した程度の質)で良いや〜」と思い
// 拡大フィルタはいらない
pDevice->SetSamplerState(0,
   D3DSAMP_MAGFILTER, D3DTEXF_NONE);
// 縮小フィルタはいらない
pDevice->SetSamplerState(0,
   D3DSAMP_MINFILTER, D3DTEXF_NONE);
なんて設定したんです。
そしたら、「Unsupported mag filter.」と報告されてしまう…。な、なんでやねん!?フィルタって切れないん??
…しかしよく考えてみれば、フィルタ切ってしまった場合どうやって拡大縮小すれば良いのかってのが謎になるんですよね。^^;
ついでに、「単純な拡大縮小」ってのは、Dx9リファレンスの説明読む限り "D3DTEXF_POINT" っぽいような感じ。
つまりは、最低のフィルタは D3DTEXF_POINT って事ですか(多分)。
う〜ん… D3DTEXF_NONE という値にだまされてしまったぜ……。(とはいえ、実はNoneが指定できる環境があったりするのだろうか…)