Попытка конвертировать DirectX 9.0c в DirectX 11
Ошибка появляется при использовании -> BeginPass при использовании старого -> Pass в этом нет ничего плохого.
Ошибка: cPasses
m_pMask-> Begin (& cPasses, 0);
это возвращаемое значение показанного
HRESULT CShader::Pass(UINT nPass)
{
HRESULT ret = m_pMask->BeginPass(nPass);
if (ret == D3D_OK)
ret = m_pMask->CommitChanges();
m_pMask->EndPass();
return ret;
}
{
m_pMask->SetTechnique(m_pMask->GetTechniqueByName("RenderMapName"));
UINT cPasses;
m_pMask->Begin(&cPasses, 0);
for (UINT iPass = 0; iPass < cPasses; iPass++)
{
Pass(iPass);
m_pd3dDevice->DrawPrimitiveUP( D3DPT_TRIANGLESTRIP, 2, vertex, sizeof( TEXTUREVERTEX ) );
}
m_pMask->End();
}