アンチエイリアス処理を行います。MSAAによるAAを試しましたがうまくいかなかったため、ポストプロセス処理のAAであるSMAA(Enhanced Subpixel Morphological Antialiasing)を実装してみました。かなりいい感じです。ただ、輪郭線処理との相性が悪いため輪郭線描画は無効にしています。
ライトプリパスレンダリングのプログラム作成は、ここで一旦終了します。

STLのvectorやmapを使用する機会が増えてきたので、自作のアロケータを作りメモリ使用量などを監視できるようにします。また将来、独自のメモリ管理に置き換えられるようにしておく。
DirectX11のデバッグ機能を有効(D3D11_CREATE_DEVICE_DEBUG)にすると、問題発生時にエラーメッセージが出力されます。しかし、場合によっては大量にメッセージが出力されて、必要なメッセージが埋もれてしまうことがあります。これを解決するためにID3D11InfoQueueを使って、特定のメッセージ(重要度が低い、大量に出力)を無効化します。
それほど多くはありませんが、最近スパムコメントが増えてきたのでスパム対策をします。Botなどによるコメント書き込みを防止するため、WordPressプラグインCaptcha(BestWebSoft)を導入します。
GPUが描画したポリゴン数や処理した頂点数などをID3D11Queryを使用して測定してみます。並列動作しているGPUの処理結果を取得するため、結果取得にちょっとした工夫が必要になります。単純な取得ではCPUとGPUの並列動作を止めてしまい、プログラムのパフォーマンスが悪化します。