- 积分
- 38
- 帖子
- 41
- 主题
- 4
- 精华
- 0
- 最后登录
- 2008-9-8
- 在线时间
- 15 小时
- 私信
|
发表时间 : 2008-7-18 01:05:45
|
浏览 : 1707 评论 : 5
我的想法是这样:
用如下线程函数来渲染
static UINT runVegaApps(LPVOID pParam)
{
CIRSceneView * pOwner=(CIRSceneView *)pParam;
vgInitWinSys(AfxGetInstanceHandle(),pOwner->GetSafeHwnd());
/* 初始化 SensorVision */
vgInitSV();
/* 初始化 SensorWorks */
vgInitSW();
pOwner->setVegaInitted(true);
pOwner->postInit();
vgDefineSys(pOwner->getAdfName());
pOwner->setVegaDefined(true);
pOwner->postDefine();
vgConfigSys();
pOwner->setVegaConfiged(true);
pOwner->postConfig();
while (pOwner->getContinueRunning())
{
vgSyncFrame();
pOwner->postSync();
vgFrame();
pOwner->postFrame();
}
pOwner->setVegaInitted(false);
vgSyncFrame();
return 0;
}
在View类中通过控制getContinueRunning()的返回值ContinueRunning来控制线程运行,从场景A切换到场景B时,将ContinueRunning设为false,于是线程函数返回,重新定义ADF文件的路径,然后再重开线程运行该线程函数进行场景渲染。但是一重开线程就出错,十分着急,望各位大侠指教…… |
|