文法チェックは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);