bate's blog

調べたこと実装したことなどを取りとめもなく書きます。

Win7x64でVC++EEのWin32ビルド

カメラクラスを作ろうとした時に嵌ったポイント。

XMMATRIXやXMVECTORをメンバに持つクラスや構造体は、
絶対に16バイトアライメントじゃないと駄目らしい。
スタックでXMMATRIXを確保・使用しても大丈夫だが、
ヒープで確保・使用する場合は、Win32ビルドだと8バイトアライメントになってしまうらしい。

newとdeleteを置き換え。
newとdeleteの場合も置き換え。
こいつらを、マクロにしてクラスの頭に記述する方式にした。
アロケーターとかも作らないとね。


参考:
XNA MATH ライブラリ
http://msdn.microsoft.com/ja-jp/library/ee418725%28v=vs.85%29.aspx