查看: 2028|回复: 2

请教凹凸贴图的问题,谢谢!

[复制链接]

该用户从未签到

发表于 2008-12-30 16:01:47 | 显示全部楼层 |阅读模式
请教大家一个凹凸贴图的问题:
. . . . . .

osgFX::BumpMapping* bm = new osgFX::BumpMapping();
bm->addChikd(geode);   //geode是一个Box

osg::TexTure2D* texd = new osg::Texture2D(osgDB::readImageFile("Images\\whitemetal_diffuse.jpg"));
osg::TexTure2D* texn = new osg::Texture2D(osgDB::readImageFile("Images\\whitemetal_normal.jpg"));

bm->setOverrideDiffuseTexture(texd);
bm->setOverrideNormalMapTexture(texn);

bm->setDiffuseTextureUnit(0);
bm->setNormalMapTextureUnit(1);

bm->prepareChildren();

osgViewer::Viewer viewer;
viewer.setSceneData(bm);
viewer.run();

这段代码有问题,Box上的纹理还是很光滑。
请教大家,我应该怎么做,才能得到正确的结果,谢谢!!!

该用户从未签到

发表于 2008-12-30 16:31:27 | 显示全部楼层
要注意您的那个Box物体有没有设置纹理坐标(osg::Box对象本身是不会自动设置纹理坐标的),如果它没有纹理坐标的话,任何特效都是没有意义的

您可以参看src/osgFX/BumpMapping.cpp中,BumpMapping::setUpDemo函数的内容。osgFX库的每一个特效都有一个setUpDemo函数,执行它就可以直接演示这个特效的用法,可以对照了解您的代码是否缺失了某些部分

该用户从未签到

 楼主| 发表于 2008-12-30 16:44:39 | 显示全部楼层
嗯,谢谢您的回答,我看一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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