|
楼主 |
发表于 2012-11-7 09:38:39
|
显示全部楼层
#include <osgDB/ReadFile>
#include <osgViewer/Viewer>
#include <osg/Node>
#include <osg/MatrixTransform>
#include <osgParticle/PrecipitationEffect>
void main()
{
osgViewer::Viewer viewer;
osg::ref_ptr<osg::Group>root = new osg::Group();
osg::ref_ptr<osg::Node>osgcool = osgDB::readNodeFile("osgcool.osgt");////第一个物体
osg::ref_ptr<osg::MatrixTransform>trans = new osg::MatrixTransform ;
trans->setMatrix(osg::Matrix::translate(0,0,2));//第二个物体,沿着Z轴向上移动2个单位
trans->addChild(osgcool.get());
root->addChild(osgcool.get());
//root->addChild(trans.get());//我发现把这行注释掉以后,第一个物体向下移动了,但是不确定是几个单位,为什么会影响到第一个物体呢,难道MatrixTransform 会影响到它???那么第二个物体是从第一个物体的基础上,向上移动的吗??我不知道理解的对吗??
viewer.setSceneData(root.get());
viewer.realize();
viewer.run();
}
这是整个程序 |
|