文法チェックはfxc.exeで調べるしかないと思っていたが、
下のように書くとvisual studioでF5実行して
.fxがコンパイルされた時にエラーがあると内容込みで教えてくれる。便利。
// ★シェーダの読み込み HRESULT hr; LPD3DXBUFFER pErr=NULL; if( FAILED( hr = D3DXCreateEffectFromFile( pD3DDevice, "shader/hlsl.fx", NULL, NULL, 0 , NULL, &m_pEffect, &pErr ))){ // シェーダの読み込みの失敗 MessageBox( NULL, (LPCTSTR)pErr->GetBufferPointer() , "ERROR", MB_OK); }else{ m_hTechnique = m_pEffect->GetTechniqueByName( "TShader" ); // .fxのテクニック名 m_hmWVP = m_pEffect->GetParameterByName( NULL, "mWVP" ); // .fxの行列名 } SAFE_RELEASE(pErr);