OSG学习笔记4—使用空间变换节点

这篇博客介绍了OpenSceneGraph(OSG)中的世界坐标系和OpenGL坐标系的区别。在OSG中,X轴正向向右,Y轴正向向内,Z轴正向向上,而OpenGL的Y轴正向向上,Z轴则正向向外。文章通过代码示例说明了这两个坐标系在实际应用中的差异。

世界坐标系是系统的绝对坐标系,在没有建立用户坐标系之前,所有的坐标都是以该坐标的原点来确定各自的位置的。

OSG中的坐标系是X正向向右,Y轴正向向里,Z轴正向向上

OpenGL的坐标系是X正向向右,Y轴正向向上,Z轴正向向外


// osgStudy4_21(1).cpp : 定义控制台应用程序的入口点。

//使用空间变换节点
//1、根据用户视点自动进行变换的AutoTransform节点
//2、直接使用变换矩阵进行变换的MatrixTransform节点
//3、使用位移、旋转和缩放值进行变换的PositionAttitudeTransform节点。

#include "stdafx.h"
#include<osg/AutoTransform>
#include<osg/MatrixTransform>
#include<osg/PositionAttitudeTransform>
#include<osgDB/ReadFile>
#include<osgViewer/Viewer>


//创建自动变换节点对象,使其始终面对屏幕,用户视点。
//第一个参数是沿X轴方向的平移距离,第二个参数是要变换的模型
//Transform公有继承Group类,AutoTransform公有继承Transform
osg::Transform* createAutoTransform(double posX, osg::Node* model){
<span style="white-space:pre">	</span>osg::ref_ptr<osg::AutoTransform> at = new osg::AutoTransform;//定义一个自动变换节点对象的智能指针
<span style="white-space:pre">	</span>at->setAutoRotateMode(osg::AutoTr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值