Antialias)を試してみました。検索でよく見つかるのが、プライマリのバッファをMSAA使用する例はよくみかけるのですが、テクスチャレンダリングする場合においてMSAA有効でレンダリングするというサンプルを見つけることはできませんでした。そんなに難しい話ではないのですが、サンプルプログラムが見つからなかったので今回作成してみました。テクスチャを描画先(レンダーターゲット)として三角形を描画しています。その結果をテクスチャとして取得して、四角形のポリゴンに貼り付けて表示しています。OFFの場合の結果を以下に表示します。これでもよくわからないかもしれません。そこで両者を比較して拡大したものを示してみます。これならば違いがわかるでしょうか?MSAAが有効なものについては、ポリゴン境界がなめらかに見えるように色が補間された結果が見えています。手順についてMSAAテクスチャの生成MSAAテクスチャとして使うResolve処理サンプルプログラムまとめ手順についてレンダーターゲットとしてテクスチャを使う方法についてはここでは説明しません。ここではMSAAテクスチャを作成する方法と、それをテクスチャとして使う方法の2つを説明したいと思います。描画先となるテクスチャを作成する際に、MSAA用のパラメーターを設定します。SampleDesc内のパラメータが該当するのですが、ここにパラメータを指定します。Quality値を指定しておけばよいようです。pRenderTargetにたいして描画行われた後でテクスチャとして使用するためにはResolve処理を行わなくてはなりません。このときに、Resolve結果格納先として別のテクスチャが必要になります。普通はこのResolveされたのテクスチャを他の描画で使用します(正確にはこのテクスチャのShaderResourceViewを、ですが)。そのResolveテクスチャの作成についてはこんな感じになります。簡単ですが、D3DDeviceContextについて以下のAPIを呼ぶだけです。);レンダーテクスチャを使う際の注意点といいますかお作法として、レンダーテクスチャ(RenderTargetViewとして)セットする前に、そのテクスチャがShaderResourceViewとしてセットされていないか確認し、すでにセットされているならば解除しておくことが望ましいようです。D3Dのデバッグレイヤー有効にするとわかるのですが、シェーダーリソースとして設定されているものをレンダーターゲットとして設定した際に、警告メッセージが表示されます。これはそのシェーダーリソースがシェーダーで使用されていなくても警告がでますので要注意です。サンプルプログラム今回のサンプルプログラム全体です。VisualStudio2012で作成しています。SampleMSAA11サンプルプログラム(Zip)まとめ意外と使われないのか、テクスチャに対するMSAAをやってみました。テクスチャ生成時の挙動がドライバ依存しているようで結構しんどい気がします。うまく動作しませんでした。中で不...プログラミングgccによるC/C++ランタイムのスタティックリンク前回興味を持った内容の続きです。CランタイムやC++ランタイムをgccを使える環境でスタティックリンクで実行バイナリにリンクしてしまう!という話になります。的なものを作成してみます。...DirectX低レベルなDirectX9ドライバーの内部エラーについて、ここに記載がちょっとありました。どのくらい可能なんだろうか。volatileについて、Microsoft独自拡張がなされてる記載を見つけました。サムネイルへの対応です。本ブログの中でも解析なネタをやっていましたが、ようやくちゃんとしたソフトの中に含めることができました。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。ん日記.タイトルとURLをコピーしました。