DirectX11 テクスチャ3Dポリゴン描画

テクスチャ使用の準備ができたので、テクスチャを貼ったポリゴンを表示してみる。
さらに、シェーダに行列パラメータを渡して3次元に。

テクスチャ3Dポリゴン描画
テクスチャ3Dポリゴン描画
2Dポリゴン描画にテクスチャ画像読み込みとシェーダへのパラメータ(行列、テクスチャなど)を渡す処理を追加。テクスチャ処理にはDirectXTexを利用。シェーダのパラメータ取得方法が少し変わっていたが、サンプルやドキュメントなどを参考にしてシェーダプログラムを作成。
定数レジスタが定数バッファに変わっただけかと思ってましたが、更新頻度などでグループ化(最大16)できるので、効率の良いプログラムが作れそう。

続きを読む DirectX11 テクスチャ3Dポリゴン描画

VS2012 ライブラリ(lib)のリンク _ITERATOR_DEBUG_LEVELとRuntimeLibrary

DirectX11 DirectXTexでテクスチャ対応でReleaseビルドしたlibファイルをDebugビルドで使用するとライブラリ実装の不一致エラーが出てしまう問題を回避してみる。(libファイルだけ公開されているライブラリを組み込むときに同じ問題が発生するかもしれないので)

続きを読む VS2012 ライブラリ(lib)のリンク _ITERATOR_DEBUG_LEVELとRuntimeLibrary

DirectX11 DirectXTexでテクスチャ対応

テクスチャを貼ったポリゴンを表示してみようとしてサンプルプログラムを見てみるとなんか以前作成したものと様子が違う。D3DX11CreateTextuteFromFileで簡単にテクスチャ画像が読み込めるはずだったのに。
調べてみるとD3DX11系の便利関数は、SDKから削除されていました。使用する場合は個別に公開されているライブラリ
DirectXTex http://directxtex.codeplex.com/
DirectXTK http://directxtk.codeplex.com/
を利用します。
今回は、テクスチャ関連の機能を使うため、DirectXTexをダウンロードして、作成したプログラムに組み込みました。
続きを読む DirectX11 DirectXTexでテクスチャ対応

security development lifecycle(SDL)チェック VisualStudio2012

VS2012で新規プロジェクト作成時に見慣れないチェックボックス
□security development lifecycle(SDL)チェック
というものを発見。
security development lifecycleでぐぐると
http://msdn.microsoft.com/ja-jp/library/ms995349.aspx
というページを見つけたけどなんか違う。
さらに調べてみるとSDLチェックについて書かれたブログを見つけました。
VisualStudio2012で古い関数を使う(SDLチェック)

strcpy_sなどのセキュリティ強化版の関数の使用を強制するかどうかの設定でした。
ためしにstrcpyを使用するとコンパイラエラー、無効にすると警告が出るけどコンパイル成功(?)。
strcpyなどの関数は、範囲外のメモリアクセスが発生して厄介なバグを引き起こすので、SDLチェックは有効にしておく。

SDLチェックの有無は
プロジェクトのプロパティ>構成プロパティ>C/C++>全般>SDLチェック