【ゲーム制作】No.15 PNTriangles11サンプル(Direct3D11)

今回は DirectXSDK(June 2010)のサンプルのひとつであるPNTriangles11サンプルの移植になります。
Direct3Dテッセレーション機能を使う最もシンプルなデモみたいです。
PNTriangles11自体は以前から実装されていたみたいなんですが、
私の中で存在を忘れてまして、「なんだこれ?」と内容確認から始まる羽目になってしまいました。

 

四面体(GIFアニメーション

 

PNTriangles11サンプルはDirectXSDKの持つサンプルのひとつで
directx_sdk.chmDirectX ソフトウェア開発キット)としっかりとした
日本語ドキュメントも用意されていたのですが、今は無くなったみたいでダウンロード出来ないみたいです。
過去のファイルを消すなんて、最もやってはいけない行為だと私は思うんですが
認識間違ってますかねえ・・

今回も大きな問題は無かったのですが、ID3DX11EffectPass::Apply()を実行すると
以下の例外が発生することがありました。

D3D11 CORRUPTION: ID3D11DeviceContext::VSSetShader: Second parameter (ppClassInstances), array index 0 corrupt or unexpectedly NULL. [ MISCELLANEOUS CORRUPTION #14: CORRUPTED_PARAMETER2]

原因は、そのシェーダでは動的シェーダー リンクを使用していたのですが、
ID3DX11EffectInterfaceVariable::SetClassInstance()による初期化をしていなかった為でした。

 

20面体