私は私が書いているアプリケーションでこの例のプロジェクトのXNA 4.0フォームコントロールを使用しています: http://creators.xna.com/en-US/sample/winforms_series1エッジのギザギザのあるウィンドウでXNA 4.0問題が発生する...高品質の出力方法を知っていますか?
をそれは素晴らしい働いていると私はビジュアルとアニメーションでかなりやりました。私が頭を悩ましている主な問題は3Dモデルであり、レンダリングするプリミティブな3Dシェイプ(テッセレーションが30の円柱)は、低解像度であるかのように非常にギザギザのエッジがあります。
マルチサンプルを有効にする方法を理解しようとしましたが、私がオンラインで見つけることのできるすべての例は、カスタムフォームコントロールでXNAを使用するこの新しい方法には当てはまりません。
GraphicsDeviceService()コンストラクタ内にPresentationParametersオブジェクトが作成されていますが、使用できるプロパティはinteger型のparameters.MultiSampleCountだけです。私は何の効果もなく設定してみました。
は私も二回、コントロールのサイズ(GraphicsDeviceService.cs)と同じ大きさのバックバッファを作成しようとしました:
GraphicsDeviceService(IntPtr windowHandle, int width, int height) { parameters.BackBufferWidth = width * 2; parameters.BackBufferHeight = height * 2; ... }
それから私は、この関数(GraphicsDeviceControl.cs)に変更:
void EndDraw() { Rectangle sourceRectangle = new Rectangle(0, 0, ClientSize.Width * 2, ClientSize.Height * 2); Rectangle destinationRectangle = new Rectangle(0, 0, ClientSize.Width, ClientSize.Height); GraphicsDevice.Present(sourceRectangle, destinationRectangle, this.Handle); }
しかし、これは正しく機能しませんでした。画面にレンダリングされたオブジェクトは、ウィンドウの1/4に降格され、クリップされました。しかし、少しぎざぎざのように見えました...
この時点で、私はこの方法(ウィンドウ内のXNAコントロール)を使用して高品質のグラフィックスを得るために何ができるか分かりません。私は一般的にはXNAの新機能ですから、どんな提案も最も役立ちます。
おかげ
変更を無視します、あなたはすでにMultiSampleCountを試みたようです。また、多くの異なる値を試したことがないようです。より高い値で試してください。私にとっては、1-2のギザギザのエッジを確実に見ることができます.10にするとエッジが非常にスムーズになります。私はシリンダー、SpaceShipなどのコードサンプルに付属のデフォルトモデルでこれをテストしました –
また、私は質問を意味しました!神様、私は疲れました、申し訳ありません。 –
私はあなたの助けに感謝します。私の場合は効果がないようです。多分私が使用しているラップトップは不可能なのでしょうか? (インテルの統合グラフィックスを搭載)。完全にハードウェアに依存する場合は、別の方法を探す必要があります。 – Scott