2 つのプリミティブを表示したいと思います。
- アンチエイリアシングを使用してテクスチャを最初に表示する
- アンチエイリアシングなしでテクスチャを表示する 2 つ目
各プリミティブ レンダリングの前にテクスチャを設定するコードは次のとおりです。
device.SetTexture(0, texture);
if(antialiasing)
{
device.SetSamplerState(0, SamplerState.MinFilter, TextureFilter.Linear);
device.SetSamplerState(0, SamplerState.MagFilter, TextureFilter.Linear);
}
else
{
device.SetSamplerState(0, SamplerState.MinFilter, TextureFilter.None);
device.SetSamplerState(0, SamplerState.MagFilter, TextureFilter.None);
}
動作しますが、DirectX デバッグ モードを使用すると、*D3DERR_UNSUPPORTEDTEXTUREFILTER: Unsupported texture filter* で例外が発生します。
私はSlimDXを使用していますが、このコードは C++ API でとにかくクラッシュすると思います。