仿照OSG与MFC,编写一个IE_OSG类,并使用这个类来实现对模型的加载和渲染,同在MFC中使用OSG一样:
int CosgMFCAxCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
m_Filename = new char[255];
m_OSG=new cOSG(m_hWnd);
m_OSG->InitOSG();
m_ThreadHandle=(HANDLE)_beginthread(&cOSG::Render,0,m_OSG);
m_Viewer=m_OSG->getViewer();
m_Root=m_OSG->mRoot;
m_Traits=m_OSG->traits;
return 0;
}
并将cOSG中的void cOSG::InitOSG(/*std::string modelname*/)中的参数去掉,将这个类中的模型节点也同样去掉
这样能够初步实现目的,但是会出现网页osg窗口中的模型的位置不正确,在网页中实现切换模型的时候,模型的初始位置始终不在原点位置,解决方法:不使用切换漫游器keyswitchManipulator。