|
编译平台:VS2008
OSG版本:2.9.4(下载地址:http://blog.openscenegraph.org/?p=134
Demeter版本:4.0(下载地址:http://www.tbgsoftware.com/documentation/index.html)
Glew版本:1.5.1
注意:在编译Demeter时会出现问题,这是由于OSG从2.X版以后使用了RenderInfo替换了State,解决该问题
需要修改DemeterDrawable.h以及DemeterDrawable.cpp文件
在DemeterDrawable.h中
//virtual void drawImplementation(osg::State&) const;
virtual void drawImplementation(osg::RenderInfo& renderInfo) const ;
在DemeterDrawable.cpp中
//void DemeterDrawable::drawImplementation(State & state) const
void DemeterDrawable::drawImplementation(osg::RenderInfo& renderInfo) const
{
//添加下面语句,其余保持不变
//osg::ref_ptr<osg::State> pState = renderInfo.getState();
osg::State &state = *renderInfo.getState();
}
由于Demeter中与OSg结合的例子使用的是osgUtil::SceneView,界面采用的是SDL,此时编译没有问题。
现在遇到的问题是:
若改为OsgViewer::viewer,使用OSG中带的osgviewerSDL,不设置Camera,就没有错误,viewer设置了Camera就会报错。
跟踪程序,发现在Demeter的地形Render()函数中glActiveTextureARB报错,继续跟踪glew,发现在glGetString(GL_VERSION)处报错,屏蔽掉还是有问题,不知为何?
怀疑是否与界面环境的上下文设置有关,由于急用,哪位高人帮分析一下,附带程序奉上。
Demeter.rar
(416.62 KB, 下载次数: 143)
|
|