3

XNAとアンチエイリアスに問題があります。を使用してアクティブ化できます

        graphics.PreferMultiSampling = true;
        graphics.ApplyChanges();

ただし、アンチエイリアスは2倍にすぎません。設定しても

graphics.GraphicsDevice.PresentationParameters.MultiSampleType = MultiSampleType.SixteenSamples;

アンチエイリアシングは2倍にとどまります。グラフィックスドライバーの設定(NVIDIA GeForce 9800 GT)に移動し、アプリケーションのアンチエイリアスタイプを16倍に設定すると、きれいできれいなアンチエイリアスが得られます。しかし、それが「アプリケーションが決定する」に設定されている場合、私は2倍を超えることはありません

なぜだれか考えますか?ありがとう!

4

1 に答える 1

4

私はMSDNでこれらの指示に従ってみようと思います。XNAフォーラムのこのスレッドで、Shawn Hargreavesは、これがマルチサンプリングを設定する方法ではないことを別の人(あなたと同様のコードを使用している)に伝えます。彼は、デバイスを作成するときにパラメーターで指定することになっていることを示しています。MSDNの記事には、適切なタイミングでアンチエイリアスを設定するために処理するイベントが示されています。 このスレッドも基本的に同じことを示しています。つまり、イベントハンドラーでこのタイプのセットアップを実行する必要があります。

また、MSDNの例では4XAAと2XAAをチェックしていると思います。そのため、16XAAをサポートするようにコードを変更する必要があるかもしれません。しかしこれを調べている間、私はリンクした最初のXNAスレッドでこの引用を見ました:

また、マルチサンプリング用に16個のサブサンプルをサポートするGPUがないことも知っています。たとえば、Nvidiaの8000および9000シリーズに表示されるモード名「16x」は、実際には「2」IIRCの品質レベルで4つのサンプルを使用します。これらのGPUのサポートのほとんどは、「8xQ」および「16xQ」設定に対応する8つのサブサンプルです。

したがって、16XAAを取得するために使用する必要がある設定は正確にはわかりません。あなたはそれを少しいじる必要があるかもしれません。

于 2009-11-23T18:48:03.013 に答える