なって従来のコードが動かなくなってしまったので、その対応第2弾です。部分は実装途中となっています。正式版では大きく変更される可能性があります。現在の限定された環境でのみ動作するという点をご理解ください。アプリケーションを作成します。部分だけ抜粋していきます。ついても前回までの内容については省略させていただきます。今回説明する内容で出来るのは上図で示したようなサンプルになります。デプスバッファの作成3Dを描画する際に、前後関係を正しくするためにデプスバッファが必要です。この作り方は以下のようなコードになります。以前ではこれらのディスクリプタの設定を楽にしてくれるヘルパークラスがありましたが、今回は含まれていないようだったので個別に設定しました。将来的には再びヘルパーが提供されるとかいう噂になってます。);このデプスバッファの情報を管理するためのディスクリプタヒープも作成する必要があり、その部分は以下のようになります。IID_PPV_ARGS(descriptorHeapDSB.GetAddressOf()));そしてこのディスクリプタヒープに対して、作成したデプスバッファの情報を生成する部分が以下のようになります。名前を適当につけています。定数バッファもデプスバッファ同様に作成します。コードは以下のようになりますが、ほとんどの部分で似ています。頂点バッファも同様に作成します。インデックスバッファもさらに同様なのでここでは省略させていただきます。);作成した頂点バッファへのアクセスであるビューを以下のようにして作成しておきます。個人的に一番大変だと思っている部分がこのパイプラインステートの作成および設定になります。先にコードを示しますが、今回は以下のようにして作成しました。IID_PPV_ARGS(pipelineState.GetAddressOf()));パイプラインステートオブジェクトは描画に必要な設定の大部分を記述したものとなっています。そのため、頂点入力の情報や頂点&ピクセルシェーダーの内容や、ブレンディングの設定といったものまでを保持しています。違うものとなっています。初出だけに自分もまだ理解しきれていないです。今回のサンプルではルートシグネチャは以下のようにしています。rootParameters;ルートシグネチャはそのパイプラインでどのようなデータをどのようにセットするかを記述したものとなっています。柔軟なメモリ構成をとれるようにするためのようです。今回では定数バッファを1つのみ使用するため、それを実現できるルートシグネチャを作成、パイプラインステートの作成としました。描画コード描画の設定フローについては従来のコードとほとんど変更がありません。若干引数の順序が変わった程度です。今回のようなものでは以下のようなコードになりました。ときに見慣れた接頭辞が復活しました。まとめようやく立方体を描画させるサンプルまでの復活ができました。以前から中途半端になっていたテクスチャについてを次回説明できたらと思います。今回、コード量も多いので全部を貼り付けるわけにもいきませんでした。ほうを参照していただければと思います。いうものが今回の内容となります)。DirectXを正しく使わないと描画が不正になる模様。XINPUTの対応パッドが並んでいることに気付きました。これはXINPUT無視できないなーと感じました。以前ディファードレンダリングを試していたときの続きネタになります。その3透明なウィンドウということで、このシリーズも第3回。今回が最後となりそうです。Windows7,Windows8両方ともで動かせるやり方が発見できました。試してみたいと思います。前回からチャレンジしていて、助言を元に色々と試行錯誤してました。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。ん日記.タイトルとURLをコピーしました。