我要发帖 回复

新手上路

3

主题

17

积分

0

专家分

:

私信
发表时间 : 2008-11-25 21:07:22 | 浏览 : 1552    评论 : 2
我想在程序中对acf场景进行动态添加一个新的通道,并在修改原通道的位置(修改成1/2窗口),并将新通道的位置设置为(0.5,1,0.0,1.0)。新通道中动态添加一物体,代码如下:

vpChannel * pMainChannel = *vpChannel::begin ();
vpWindow * pMainWindow = *vpWindow::begin ();
vpObserver* pVpObserver =  *vpObserver::begin ();   //默认为myObserver
vpScene * pMainScene = *vpScene::begin ();
CString strChannelName = pMainChannel->getName();
CString strSceneName = pMainScene->getName();
CString strObserverName = pVpObserver->getName();
vpObserver* pVpObserver =  new vpObserver();
vpChannel *pChannel = new vpChannel();
vpScene *pScene = new vpScene();

CString strNum = "1";
pMainChannel->setDrawArea(0.0,0.5,0.0,1.0);

pVpObserver->setName(strObserverName + strNum);
pChannel->setName(strChannelName + strNum);
pScene->setName(strSceneName + strNum);

pMainWindow->addChannel(pChannel);

pChannel->setDrawArea(0.5,1.0,0.0,1.0);
pVpObserver->setScene(pScene);
pVpObserver->addChannel(pChannel);

vpObject *pObj = new vpObject();
pObj ->ref();
pObj ->setFileName("D:\\qiu.flt");       
pScene->addChild(pObj);

  运行完此段代码后,在祯循环endframe()这里死掉。..\.\vspipeline.cpp, Expression: m_processcullJobs.size()== mgr->size_bin_async_cull()。 不知道是什么原因,把pMainWindow->addChannel(pChannel);这句去掉旧没有问题,是不是不能直接动态加载通道,或是加载的地方不对?

[ 本帖最后由 vr_gis 于 2008-11-25 09:25 PM 编辑 ]

最近VR访客

thyhky 评论于2009-2-28 11:03:48

~~~~

pMainChannel->setDrawArea(0.0,0.5,0.0,1.0);
pChannel->setDrawArea(0.5,1.0,0.0,1.0);
这两句是干什么的,好奇怪呀!
fliedbird 评论于2011-7-20 16:41:53
回复 vr_gis 的帖子

一模一样的问题。。。三年了。。这个问题还在这

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2021-4-19 05:32 AM

返回顶部