我要发帖 回复

正式会员

7

主题

46

积分

0

专家分

:

私信
发表时间 : 2009-11-12 14:49:33 | 浏览 : 2660    评论 : 11
为什么我在osg中用到png贴图,程序编译能通过,就是不能运行,开始就出错!!

最近VR访客

FlySky 评论于2009-11-12 18:30:53
抱歉,你提供的信息太少~~~~~读取png贴图需要你编译PNG插件,,,你可以跟踪下,看PNG贴图是否读入~~~~~

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709
aries1982 评论于2009-11-13 09:29:09
就是我的osg程序在开始读入png贴图的时候就出错了,而换成jpg、tga等格式就不会有问题,请问是什么问题?版主所说的插件在程序里怎么用?请详细说明,多谢!
FlySky 评论于2009-11-14 00:15:09
你看一下你的插件目录是是否有osgdb_png.dll这个文件,如果没有这个文件的话,估计你是没法读取的~~~~~~~~

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709
aries1982 评论于2009-11-14 09:30:51
bin目录里有osgdb_png.dll,osgdb_pngd.dll这个文件,我直接拷到工程目录下也不好用,郁闷!!!
FlySky 评论于2009-11-14 12:01:52
这个似乎没什么问题,,,,问题应该出在其他的地方~~~你跟踪一下IMAGE的对象,看看具体问题~~~

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709
FlySky 评论于2009-11-14 12:03:02
你可以使用osgviewer --image a.png,试试能否看到贴图~~~~

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709
aries1982 评论于2009-11-14 20:04:34
用osgviewer看了,看不到贴图,提示出错了。但是可以看jpg等其他格式的图片,我把osg重新安装了,也不好用,我的osg是2.8.1版本的,不知道为什么??
FlySky 评论于2009-11-15 00:17:54
2.81版本的安装包我就不太清楚了~~~这个应该是安装包的问题~~~~~你可以自己编译一下OSG源码试试~~~或者从论坛下载我制作的OSG2.8的安装包,,这个是经过测试的~~

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709
aries1982 评论于2009-11-15 09:52:00
试过了,是安装包的问题,谢谢版主
cemelee 评论于2010-1-6 21:58:53
我也写了一个程序,想显示一张二维的JPG文件,可是什么都没有显示,代码如下,希望高手能够指点.
我的邮箱是liwei_macro@163.com

int main( int, char ** )
{

osgViewer::Viewer viewer;

osg::Texture2D* aa = new osg::Texture2D;
osg::Image* image=osgDB::readImageFile("good11.jpg");
if (!image)
       return -1;

aa->setImage(image);

aa->setDataVariance(osg::Object::DYNAMIC);

osg::StateSet* stateOne = new osg::StateSet();

stateOne->setTextureAttributeAndModes(0,aa,osg::StateAttribute::ON);
osg::Geode* pyramidGeode = new osg::Geode();

pyramidGeode->setStateSet(stateOne);
osg::Group* root = new osg::Group();



    root->addChild(pyramidGeode);
    viewer.setSceneData(root);
    viewer.realize();
    return viewer.run();

}
FlySky 评论于2010-1-7 00:33:37
???请你看看osgTexture2D这个例子吧~~~~~~~

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709

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

GMT+8, 2021-2-25 06:44 PM

返回顶部