OSG学习:移动/缩放/旋转模型

这篇博客介绍了如何使用OSG库进行模型的移动、缩放和旋转操作。通过矩阵相乘实现操作的叠加,并提供了一个示例,创建了四个不同状态的bignathan模型:原始位置、向上移动2单位、向下移动2单位并缩放0.5、向右移动4单位并缩放0.5及旋转45度。
摘要由CSDN通过智能技术生成

 移动和缩放以及旋转都是对矩阵进行操作,这些操作如果要叠加直接矩阵相乘就可以了。

下面的示例代码中,加入了四个bignathan,一个是默认加入在最中间,一个向上移2单位,一个是向下移2单位且缩放0.5倍,另一个是向右4单位,缩放0.5且平躺45度。

#include<osgDB\ReadFile>
#include<osgViewer\Viewer>
#include<osg\Node>
#include<osg\MatrixTransform>

void main()
{
        osgViewer::Viewer viewer;
        osg::ref_ptr<osg::Group> root = new osg::Group();

        osg::ref_ptr<osg::Node> bignathan = osgDB::readNodeFile("bignathan.osg");

        osg::ref_ptr<osg::MatrixTransform> trans = new osg::MatrixTransform;
        trans->setMatrix(osg::Matrix::translate(0, 0, 2));
        trans->addChild(bignathan.get());

        osg::ref_ptr<osg::MatrixTransform> scale = new osg::MatrixTransform;
        scale->setMatrix(osg::Matrix::scale(0.5, 0.5, 0.5)*osg::M
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值