Cg profile 出错?
我的显卡是Geforce MX/MX 400 非常老的一款,
然后用可以再正常机器上跑的Cg程序,
到上面提示Profile找不到,怎么办?
pContext = cgCreateContext();
//这句后pContext = 0x0000001
cgSetParameterSettingMode(pContext, CG_DEFERRED_PARAMETER_SETTING);
vBankProfile = cgGLGetLatestProfile(CG_GL_VERTEX);
cgGLSetOptimalOptions(vBankProfile);
vBankProgram = cgCreateProgramFromFile( pContext,
CG_SOURCE, vShader, vBankProfile, vMain, NULL );
//vBankProgram = NULL
if( NULL == vBankProgram )
{
CGerror Error = cgGetError();
std::string strError = cgGetErrorString( Error );
if( Error == CG_COMPILER_ERROR )
{
strError += " : ";
strError += cgGetLastListing(g_pContext);
}
::MessageBoxA( NULL, strError.c_str() , "Compile error in compile vertex shader", 0 );
::PostQuitMessage(0);
return FALSE;
}
[解决办法]
你可以用最简单的shader程序试一试
在shader里面什么都不要做,就是传参数,看你的电脑能不能运行
看你的显卡,应该是不支持有些shader