查看: 1109|回复: 6

osg程序运行问题

[复制链接]

该用户从未签到

发表于 2012-5-24 16:00:44 | 显示全部楼层 |阅读模式
我原来的程序在xp+vs2005+osg2.8.2运行正常,现在我用window7+vs2008+osg2.8.2运行就出现下图所示的问题:

请问哪位碰到过这样的问题啊。我osg2.8.2是在window7+vs2008上重新编译过的,并且在vs2008环境下读取osg数据进行显示没有问题。

运行截图

运行截图

该用户从未签到

发表于 2012-5-24 16:24:20 | 显示全部楼层
给出环境,工程配置和依赖库设置

该用户从未签到

 楼主| 发表于 2012-5-24 16:34:08 | 显示全部楼层
array 发表于 2012-5-24 16:24
给出环境,工程配置和依赖库设置

vs2008,经过升级,版本为9.0.30729.1;
工程为release版,依赖库都是对应的release版本,设置为
OpenThreads.lib
osg.lib
osgDB.lib
osgUtil.lib
osgGA.lib
ws2_32.lib
osgViewer.lib
osgText.lib
osgParticle.lib
osgManipulator.lib
osgFX.lib
osgSim.lib
osgAnimation.lib
osgShadow.lib
osgTerrain.lib
osgVolume.lib
osgWidget.lib
在xp+vs2005上设置都一样啊

该用户从未签到

发表于 2012-5-24 16:48:18 | 显示全部楼层
Debug运行并给出堆栈信息

该用户从未签到

 楼主| 发表于 2012-5-24 18:45:13 | 显示全部楼层
array 发表于 2012-5-24 16:48
Debug运行并给出堆栈信息

我采用了debug运行,程序可以运行,但是场景文件读不了。
我写了个测试程序,代码如下:
#include <windows.h>
#include<osgViewer/Viewer>
#include<osgDB/ReadFile>

int main(int,char**)
{
        osgViewer::Viewer viewer;
        viewer.setSceneData(osgDB::readNodeFile("E:\\OSG\\PRD.osga"));
        //viewer.setSceneData(osgDB::readNodeFile("E:\\OSG\\fountain.osg"));  
        return viewer.run();
}
上面的数据文件PRD.osga为在xp系统上用osgdem生成的,当用debug版本时,场景没有任何东西,但是数据文件换成
fountain.osg时,程序运行正常。上面的程序换成release版本,数据文件为PRD.osga时,场景里面有东西,但是场景块状显示
非常明显,场景显示很不连续,并且块与块之间的位置也明显不正确?有谁能给解释一下这是什么原因呢?难道还要在window7上重新用osgdem再生成一遍!!!谢谢

该用户从未签到

发表于 2012-5-24 19:37:48 | 显示全部楼层
在您的原来文件中排除掉这个osga是否可以运行,一般不用重新生成但是不排除您制作的地形有问题,也不排除您的显卡需要换一块

该用户从未签到

 楼主| 发表于 2012-5-24 20:45:53 | 显示全部楼层
array 发表于 2012-5-24 19:37
在您的原来文件中排除掉这个osga是否可以运行,一般不用重新生成但是不排除您制作的地形有问题,也不排除您 ...

我这个文件在xp+2005和同样的显卡一直运行都没有问题啊,看来只有重新生成试一下了。谢谢哈,Array!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表