查看: 631|回复: 0

osg中的坐标问题?为什么牛一直不动?

[复制链接]

该用户从未签到

发表于 2016-11-17 11:40:36 | 显示全部楼层 |阅读模式
#include <osgViewer/Viewer>

#include <osg/Node>
#include <osg/Geode>
#include <osg/Group>
#include <osg/PositionAttitudeTransform>
#include "osg/Camera"
#include "osg/Viewport"

#include <osgDB/ReadFile>
#include <osgDB/WriteFile>
#include "osg/Vec3"
#include <osgUtil/Optimizer>

int main()
{
        //创建Viewer对象,场景浏览器
        osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer();

        //创建场景组节点
        osg::ref_ptr<osg::Group> root = new osg::Group();

        //创建一个节点,读取牛的模型
        osg::ref_ptr<osg::Node> node = osgDB::readNodeFile("cow.osg");

        //创建位置变换节点pat1
        //osg::ref_ptr<osg:ositionAttitudeTransform> pat1 = new osg::PositionAttitudeTransform() ;
        //设置位置为osg::Vec3(-10.0f,0.0f,0.0f)
        //pat1->setPosition(osg::Vec3(0.0f,500.0f,0.0f));
        //设置缩放,在X,Y,Z方向都缩小一倍
        //pat1->setScale(osg::Vec3(0.5f,0.5f,0.5f));
        //添加子节点
        //pat1->addChild(node.get());

//         //创建位置变换节点pat2
        osg::ref_ptr<osg::PositionAttitudeTransform> pat2 = new osg::PositionAttitudeTransform();
//         //设置位置为osg::Vec3(10.0f,0.0f,0.0f)
        pat2->setPosition(osg::Vec3(40.0f,0.0f,0.0f));
//         //添加子节点
       
        pat2->addChild(node.get());

        //添加到场景
        //root->addChild(pat1.get());
        root->addChild(pat2.get());

        //优化场景数据
        osgUtil::Optimizer optimizer ;
        optimizer.optimize(root.get());
       
        //设置场景数据
        //viewer->setSceneData(root.get());
        viewer->getCamera()->setViewMatrixAsLookAt(osg::Vec3(0.0f,0.0f,0.0f),osg::Vec3d(0.0f,1.0f,0.0f),osg::Vec3d(0.0f,0.0f,1.0f));
        //viewer->getCamera()->setViewport(new osg::Viewport(0,0,500,400));
        viewer->setSceneData(root.get());
        //初始化并创建窗口
        viewer->realize();
        //开始渲染
        viewer->run();

        return 0 ;
}


我想着自己y轴正方向,牛在我的右面,为什么牛还是在中心?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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