望ましくないためd3dcompiler*.dll、アプリから依存関係を除外しようとしています。また、新しい Compiled Shader Object (.cso) ファイルの読み込みコードに問題があります。
ifstream fstream;
fstream.open (vsfile);
if(fstream.fail())
return false;
fstream.seekg( 0, ios::end );
size_t size = size_t(fstream.tellg());
char* data = new char[size];
fstream.seekg(0, ios::beg);
fstream.read( data, size);
fstream.close();
XTRACE2(pDevice->CreateVertexShader(&data, size, 0, &m_pVertexShader))
問題:エラーをCreateVertexShader()返しE_INVALIDARGます。
古いコードは正常にD3DReadFileToBlob()動作します。Blob は、mychar*またはファイル サイズstd::vector<char>と同じサイズのバッファーを返します。.csoMSDN に新しい Windows 8 の例がありますが、それらはいくつかの新しい Metro を使用しています。プレーンなC++でやりたいです。
XTRACE2DirectX エラー チェック マクロです。
前もって感謝します!