ダイレクトX 11で小さなゲームエンジンを作成していますが、これは素晴らしいですが、レンダリング時に3Dオブジェクトと2Dオブジェクトがエッジの周りに非常に荒く見えます。以前はDirect X 9から来ていましたが、この問題はそこにはありませんでした。どのようにしてアンチエイリアシングや何らかのマルチサンプリングを有効にして、テクスチャがギザギザにならないようにするにはどうすればいいのでしょうか?Direct X 11ギザギザのエッジ
swapChainDesc.SampleDesc.Count = 2;
swapChainDesc.SampleDesc.Quality = 0;
depthBufferDesc.SampleDesc.Count = 2;
depthBufferDesc.SampleDesc.Quality = 0;
これらは数と品質の組み合わせですが、ここでの設定に関係なく、視覚的な違いはなくDirect3Dはデバイスの作成に失敗します。設定はアプリケーションが決定したものを使用するように設計されているため、私のGPUは何も上書きしません。
これはエッジでは機能しているように見えましたが、テクスチャはやや歪んでいます。たとえば、単純なリングのテクスチャは少し歪んでおり、その内部にボックスが表示されます。ソースイメージと実際にゲームでレンダリングされるイメージを比較するスクリーンショットがあります。 https://www.dropbox.com/s/epkipy37o0b3yq7/comparison.png?dl=0 その他の問題がありますか?これはDirect3D 9や他の場所では起こりません。 – user5901143
パイプラインには多くの状態が存在するため、いくつかの理由が考えられます。 2つの画像に異なる背景があるので、ブレンドの相違にも寄与します。シェーダで[テクセルのシフト](https://msdn.microsoft.com/en-us/library/windows/desktop/bb205073.aspx#Mapping_Texels_to_Pixels_DX10)を行っていますか? –
ソースイメージでは、gimpを使って黒い背景を追加しました。しかし、それはどのように見えるはずです。私はシフトをしません、私のシェーダは、基本的なテクスチャは効果や修正が適用されません。 – user5901143