osg自学笔记1——《OpenSceneGraph 快速入门指导》

《OpenSceneGraph Quick Start Guide》学习笔记

《OpenSceneGraph Quick Start Guide》(《OpenSceneGraph 快速入门指导》)
中文论坛有下载

1、 1.3 运行 osgviewer

快速显示一个模型,并了解模型的应用。

2、1.5 场景图形初步

了解节点什么的。类似ogre,有个概念就可以了。

3、 1.6 OpenSceneGraph 概览

概况各个库和类。有一定了解后再看。

4、2.1 内存管理

讲解智能指针的机制和使用。

5、2.2 叶节点(Geode)和几何信息

用几何的顶点和颜色制作了一个图形,然后保存成osg文件。用osgviever程序打开显示。

后面都是对代码的解释,和扩展说明。

1、osg::Vec2,osg::Vec2Array,osg::Vec3Array

所有的数组类型均继承自 std::vector,
除了简单的向量存储以外,这些类还提供了完整的有关长度计算、点乘和叉乘、向量加法、向量矩阵乘法的运算函数

2、Drawables 类

osg::Drawable 类是个虚类,子类如下:
osg::DrawPixels类,封装了 glDrawPixels()的相关功能;
osg::ShapeDrawable类,提供了一些已经定义好的几何体的使用接口,如圆柱体和球;
osg::Geometry类,自定义几何体,使用最为灵活,也最为广泛的一个子类。

3、叶节点(Geode)

作为叶节点,osg::Geode 不会再有子节点,但是它可以包含几何体信息。
Geode 这个名字是“geometry node”的简拼,意即包含几何信息的节点。
Geode 提供了 addDrawable()方法来关联应用程序中的几何信息。Geode::addDrawable()将一个 Drawable 指针作为传入的参数。

6、2.3 组节点(Group)

在对它们进行介绍之后,本节还会对三个常用的继承自 Group 的类作
逐一讲解,它们分别是 Transform(变换),LOD(细节层次)和 Switch(开关)
节点。

1、子接口(管理子节点的接口)略

2、2.3.2 父接口

注意,osg::Node::ParentList 是一个保存标准 C&

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenSceneGraph是一个开源的高性能3D图形工具包,用于开发虚拟现实、增强现实、模拟和游戏等应用程序。以下是OpenSceneGraph快速入门指导: 1. 下载和安装:首先,从OpenSceneGraph的官方网站下载适用于您的操作系统的最新版本。然后,按照官方文档提供的步骤进行安装。 2. 设置环境:在使用OpenSceneGraph之前,您需要设置环境变量。这涉及到将OpenSceneGraph的安装路径添加到系统的PATH变量中。这样,您就可以在命令行或脚本中调用OpenSceneGraph的命令和库文件。 3. 创建场景:在OpenSceneGraph中,使用场景图来描述3D场景。一个场景图由多个节点组成,每个节点代表一个对象、光源或相机。可以使用OpenSceneGraph提供的代码来创建和组织这些节点。例如,使用osg::Group创建一个节点,并使用osg::Geometry创建一个表示几何形状的节点。 4. 加载模型:OpenSceneGraph支持加载各种3D模型文件格式,如OBJ、3DS和COLLADA等。使用OpenSceneGraph提供的加载器类,可以轻松加载这些模型文件并将其添加到场景图中。 5. 设置相机和视图:在OpenSceneGraph中,相机用于定义视图和投影矩阵。您可以通过创建osg::Camera对象,并设置其位置、方向和投影等属性来定义相机。然后,将相机节点添加到场景图中,并将其与视口相关联以确保正确的渲染效果。 6. 渲染场景:使用OpenSceneGraph的渲染器类来执行场景的实时渲染。您可以创建osgViewer::Viewer对象,并将场景图传递给其场景根节点。然后,调用viewer.run()方法来启动渲染循环并显示场景。 7. 处理用户输入:OpenSceneGraph提供了处理用户输入的功能。您可以使用osgGA::TrackballManipulator类来实现相机的交互式控制,如旋转、平移和缩放等。您还可以自定义处理键盘和鼠标事件的代码。 通过按照上述步骤和参考官方文档,您可以快速入门使用OpenSceneGraph开发高性能的3D图形应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值