- 博客(8)
- 收藏
- 关注
转载 OpenSceneGraph几个重要功能节点练习
一. 空间变换节点 空间变换中最重要的是坐标系和矩阵运算了。OSG坐标系中使用右手系,Z轴垂直向上,X轴水平向右,Y轴垂直屏幕向里,与OpenGL和DirectX都不同。相关缩放、旋转和平移主要由osg::Matrix, osg::Vec3, osg::Quat几个类来完成。局部坐标系向世界坐标系转换规则是:设在局部坐标系下顶点 V 转换成世界坐标系坐标 V': V...
2010-12-26 02:11:00
189
转载 Visual Studio 2008中添加OSG标准C++头文件支持
OpenSceneGraph的源码是使用标准C++格式编码的,故而OSG的头文件都没有.h后缀。而在VS2008中,除了标准库中的标准C++头文件能够很好的支持外,其他不带.h的标准头文件,VS2008的支持显然不够,只能以文本形式打开,其中关键字,语法等都不能自动识别,无法高亮显示,对于读源码来说是非常的不方便。 既然标准库中的C++头文件能识别,对于其他标准头文件也应该能支持。解决...
2010-12-21 17:00:00
220
转载 OpenSceneGraph概述
一. OSG组件 OSG 运行时文件由一系列动态链接库(或共享对象)和可执行文件组成。这些链接库可分为以下五大类:1. OSG 核心库。 2. NodeKits。3. OSG 插件。 4. 互操作库。5. 不断扩展中的程序和示例集。二. OSG核心库 OSG 核心库提供了用于场景图形操作的核心场景图形功能、类和方法;主要包含一下四个...
2010-12-21 01:36:00
383
转载 OSG节点更新与事件回调
OSG中的节点主要使用回调(CallBack)来完成用户临时、需要每帧执行的工作。根据回调功能被调用的时机划分为更新回调(UpdateCallBack)和人机交互时间回调(Event CallBack)。前者在每一帧中系统遍历到当前节点时调用,后者则由交互事件触发,如操作键盘、鼠标、关闭窗口、改变窗口大小等动作。回调类基类是osg::NodeCallBack(),主要函数如下: ...
2010-12-19 01:47:00
623
转载 OSG节点访问和遍历
节点访问: OSG中节点的访问使用的是一种访问器模式。一个典型的访问器涉及抽象访问者角色(Visitor), 具体访问者(Concrete Visitor), 节点角色(Node)。 OSG中访问者角色为NodeVisitor类,其基本结构如下: NodeVisitor(TraversalMode tm) //构造函数,TraversalMode为节点树的遍历方式 ...
2010-12-17 02:54:00
276
转载 OSG场景结构相关概念
1. BVH树OpenSceneGraph中采用包围体层次(Bounding Volume Hierarchy, BVH)来实现场景图形的管理,“包围体”是指将一组物体完全封闭在一个简单空间形体中。OSG中使用的包围体有包围球(Bounding Sphere)和包围盒(Bounding Box)。 2. 节点OSG的场景结构树是一棵有向无环图 (Directed Acyclic Gra...
2010-12-17 00:33:00
311
转载 OpenSceneGraph内存管理--ref_ptr<T>(续)
之前转过一篇关于OSG中ref_ptr管理内存的文章,现再自己补充一些。 1. 从只能指针中获取原始指针的方法有: osg::ref_ptr<osg::Geode> geodePtr = new osg::Geode(); osg::Geode* obj1 = *geodePtr; //获取Geode指针 osg::Geode* obj2 = ...
2010-12-16 23:58:00
225
转载 <转>Open Scene Graph 内存管理-ref_ptr
原文:http://www.lxzhu.com/blog/archives/251 在Osg中有一个类被使用的最多,那就是ref_ptr,OSG中提供了一种自动管理内存的机制,这种机制涉及到两个类:第一个就是ref_ptr,另外一个就是osg::Referenced. osg::Reference支持通过引用计数的方式来控制自己的生命周期,它期望,每次被一个新客户引用的时候...
2010-12-16 17:14:00
131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人