关于 OGRE 与 OSG 的简单比较 (转)】的更多相关文章

关于OGRE与OSG的简单比较 林乃养 lnychina{at}gmail.com 浙江大学CAD&CG实验室 2010年3月27日 1 前言 我曾经细致阅读过OGRE和OSG官方提供的文档,有<Pro OGRE 3D Programming>.OGRE自带手册(manual).王锐老师等翻译的<OpenSceneGraph Quick Guide>,同时在网络上查阅了大量的OGRE架构源码分析的文章.简单使用过OSG,对OSG的场景管理器设计和编程风格有所了解,而在近期的…
关于 OGRE 与 OSG 的简单比较 1   前言 我曾经细致阅读过 OGRE 和 OSG 官方提供的文档,有<Pro OGRE 3D Programming>.OGRE自带手册(manual).王锐老师等翻译的<OpenSceneGraph  Quick  Guide>,同时在网络上查阅了大量的 OGRE 架构源码分析的文章.简单使用过 OSG,对 OSG 的场景管理器设计和编程风格有所了解,而在近期的项目中大量使用 OGRE,相对于 OSG,对 OGRE 的认识比较深刻一些.…
1   前言 我曾经细致阅读过 OGRE 和 OSG 官方提供的文档,有<Pro OGRE 3D Programming>.OGRE自带手册(manual).王锐老师等翻译的<OpenSceneGraph  Quick  Guide>,同时在网络上查阅了大量的 OGRE 架构源码分析的文章.简单使用过 OSG,对 OSG 的场景管理器设计和编程风格有所了解,而在近期的项目中大量使用 OGRE,相对于 OSG,对 OGRE 的认识比较深刻一些.目前 OGRE 的最新版本是 1.7,O…
1 .引言随着计算机可视化.虚拟现实技术的飞速发展,人们对实时真实感渲染以及场景复杂度提出了更高的要求.传统的直接使用底层图形接口如OpenGL.DirectX开发图形应用的模式越来越暴露出开发复杂性大.周期性长.维护困难的缺陷.为此国外出现了许多优秀的三维渲染引擎,比如Delta3D,OGRE,OSG,Unity3d,VTK等.渲染引擎的作用是要优化遍历和显示三维模型.本文主要对OGRE与OSG这两个三维图形渲染引擎做个简单的比较,介绍他们在运行效率.场景管理.功能支持.可扩展性等方面的异同.…
OSG模型简单控制 转自:http://milkcu.sintune.net/blog/archives/1392673560.html 结点基本操作 添加结点 OSG中使用osg::Node和osg::Group装载模型,Node是Group的父类. 可以通过下面代码再场景中显示多个模型: #include <osgDB/ReadFile> #include <osgViewer/Viewer> #include <osg/Node> int main(void) {…
ReadResult result; osg::ref_ptr<osgDB::ReaderWriter> reader = osgDB::Registry::instance()->getReaderWriterForExtension("tif"); std::string name("D:\\gd.tif"); osgDB::ReaderWriter::Options* opt= NULL; osgDB::ReaderWriter::ReadR…
本文内容主要参考于页面 http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Ogre+Wiki+Tutorial+Framework Ogre是一个非常好的开源面向对象的3D引擎,架构合理清晰,源代码总体来说(相对于这么大的项目而言)相当工整,逻辑几乎可算一目了然.很值得学习 3D图形学的同学研究. 作为初入手,应该抓住主要矛盾,对Ogre的框架有一个把握.因此,抛却旁枝,这里只讨论Ogre运行所需要的最小最精炼的步骤.这里将我的学习心得记录如下…
总结一下最小ogre程序的流程: 1 创建Ogre::Root 2 用Ogre::Root加载插件,必须载入的是场景管理器和渲染器 3 调用Ogre::ResourceGroupManager::getSingleton().addResourceLocation来设置资源搜索路径(Ogre的资源管理很智能,不需要自己指定路径,只需要给它一个搜索路径,然后所有material等脚本和资源文件按名字会被载入到ResourceManager中(但只对资源来说只是存了一个引用,并没有实际的载入),就可…
关于物理引擎旋转的一些整理 参考文档 http://blog.wolfire.com/2010/03/Comparing-ODE-and-Bullet 介绍ODE和bullet的利弊 http://stackoverflow.com/questions/6408198/bullet-vs-newton-game-dynamics-vs-ode-physics-engines 讨论作者想要哪款物理引擎 https://www.ibm.com/developerworks/cn/opensource…
在自己电脑上用CMAKE已经编译好了,上传到百度云里面了. 环境是WIN10+VS2013. 链接:http://pan.baidu.com/s/1hrO7GFE 密码:fwkw 解压之后放在C盘或者D盘,然后把配置一下环境变量即可.例如:放在C盘根目录,那么环境变量配置如下: OSG_FILE_PATH: C:\OSG\data PATH:C:\OSG\bin; 简单记录一下.…
一.插件架构初步介绍 想到写本博客,也没想到更好的名字,目前就先命这个名吧.说到插件架构,或许大部分IT从业者都听过或者某些牛人也自己实现过稳定高效的插件框架.目前有很多软件以及库都是基于插件架构,例如PS.我所在行业的GIS软件如Arcgis.QGIS.还比如开源图形引擎OGRE以及OSG,这些都是插件架构,通过插件架构来进行功能的扩展.那到底什么是插件架构呢?我的理解是系统运行时在需要某个功能的时候动态加载的模块,插件通常用动态链接库实现,当然也可以用静态库,例如一些嵌入式系统中,比如IOS…
三维可视化系统的建立依赖于三维图形平台, 如 OpenGL.VTK.OGRE.OSG等, 传统的方法多采用OpenGL进行底层编程,即对其特有的函数进行定量操作, 需要开发人员熟悉相关函数, 从而造成了开发难度大. 周期长等问题.VTK. ORGE.OSG等平台使用封装更好的函数简化了开发过程.下面将使用Python与VTK进行机器人上位机监控界面的快速原型开发. 完整的上位机程序需要有三维显示模块.机器人信息监测模块(位置/角度/速度/电量/温度/错误信息...).通信模块(串口/USB/WI…
osg使用过一年,阅读过一部分源代码,vtk也断续使用过三四年了,ogre研究的比较深入,基本上比较熟悉它的整体结构,说说个人的看法 vtk是一个算法库,里面包括了很多挺不错的算法,如果做有限元云图,等值线,特别是医疗方面的算法,有很大的参加价值,我曾经把它的等值线算法提取出来 一个类就可以实现,主要函数就三四个,而且同时实现了云图,等值线,比网上的追踪算法要简单许多,它是一种栅格算法,国外的的维基百科有介绍,但是维基百科上的介绍和vtk的也不完全一样,虽然思路是一致的.vtk的渲染效率应该不是…
利用SimpleRenderable实现DirectX 9 3D 游戏设计入门中 第十三章 地形渲染基础的简单地形,只是简单的实现了地形的基本框架,顶点,索引,纹理等,为简单起见高度都为1,适合新手做入门的学习,高手可以飘过了,效果图: Terrain.h: #ifndef _TERRAIN_H_ #define _TERRAIN_H_ #include <Ogre.h> #include "Common.h" using namespace Ogre; #define V…
1. 首先需要一个OSG for android的环境. (1).NDK 现在Eclipse 对NDK已经相当友好了,已经不需要另外cygwin的参与,具体可以参考 Android NDK开发篇(一):新版NDK环境搭建(免Cygwin,超级快) (2).osg for android的编译,参考 osg for android学习之一:windows下编译(亲测通过) 建议编译OpenGL ES2版本. 2.然后加载OSG自带的Example:osgAndroidExampleGLES2 (1…
目录 1.解决方案 1) 使用TIF格式的DEM 2) 描述HeightField 2.存在问题 3.参考文档 1.解决方案 在网上参考了一些资料,使用OSG创建地形最简单的办法就是使用OSG::HeightField类,它是描述类似于DEM网格的四角面片.首先给出具体实现代码: #include <iostream> #include <Windows.h> #include <osgViewer/Viewer> #include <osgDB/ReadFile…
//main.cpp #include "VREObliqueEditorQTWindow.h" #include <QtWidgets/QApplication> #include <QTextCodec> #include <QFileInfo> int main(int argc, char *argv[]) { QTextCodec *xcodec = QTextCodec::codecForLocale(); QString exeDir…
osg::Geode (geometry node) osg::Geode类表示场景中的渲染几何叶节点,它包含了渲染用的几何信息,没有子节点. 要绘制的几何数据保存在osg::Geode管理的一组osg::Drawable对象中.osg::Drawable是一个接口,它有很多实现类渲染模型,图像,文本到OpenGL管线.这些可渲染统称为drawables. osg::Geode提供了几个方法来绑定和解绑drawables: addDrawable() removeDrawable(), remo…
//QT += core gui opengl //LIBS += -losgViewer -losgDB -losgUtil -losg -lOpenThreads -losgGA -losgQt #include <QtGui/QApplication> #include <osg/ArgumentParser> #include <osgViewer/Viewer> #include <osgViewer/CompositeViewer> #inclu…
#include <osgDB/ReadFile> #include <osgDB/FileUtils> #include <osg/ArgumentParser> #include <osgViewer/Viewer> #include <osgViewer/ViewerEventHandlers> #include <osgGA/StateSetManipulator> #ifdef _DEBUG #pragma comment(…
OSG的节点访问 转自:http://www.cnblogs.com/kanego/archive/2011/09/27/2193484.html SG中节点的访问使用的是一种访问器模式. 一个典型的访问器涉及抽象访问者角色(Visitor), 具体访问者(Concrete Visitor), 节点角色(Node). OSG中访问者角色为NodeVisitor类,其基本结构如下: NodeVisitor(TraversalMode tm)    //构造函数,TraversalMode为节点树的…
1.osgearth_graticule:生成经纬线. 2.osgearth_annotation:各类标注(点.线.面.模型.文本等). 3.osgearth_city:加载一个城市三维模型,可以浏览. 4.osgearth_clamp:在一个区域加载生成5000个树木的三维模型展示. 5.osgearth_colorfilter:运行不起来-- 6.osgeatth_controls:有一个osg的图标,可以控制透明度与方向.还有一些文本矩形框之类的. 7.osgearth_demo:qt的…
1.地球背面的一个点,计算它在屏幕上的坐标,能得到吗? 不是被挡住了吗? 答:计算一个空间点的屏幕坐标,使用osgAPEx::GetScreenPosition函数.当空间点处于相机视空间内(不管它是否被别的物体遮挡)时,都是可以得到它对应的屏幕坐标的. 如何判断一个点是否在地球背面?可以通过计算该点处垂直地面的方向UP,与相机方向的夹角,如果夹角为锐角,则可认为该点在地球背面.计算地球上任意点的UP方向使用osgAPEx::ComputeLocalUpVector. 2.OSG中可以播放视频吗…
1.example_osganimate一)演示了路径动画的使用(AnimationPath.AnimationPathCallback),路径动画回调可以作用在Camera.CameraView.MatrixTransform.PositionAttitudeTransform等四种类型的节点上.二)演示了osgSim::OverlayNode的使用 2.example_osganimationeasemotion一)演示了osgAnimation::EaseMotion的使用,EaseMot…
本文介绍 OGRE 3D 1.9 程序的启动过程,即从程序启动到3D图形呈现,背后有哪些OGRE相关的代码被执行.会涉及的OGRE类包括: Root RenderSystem RenderWindow ResourceGroupManager LogManager Viewport SceneManager Camera SceneNode Entity Light 建议在阅读本文时参考OGRE API Reference,OGRE官方给的API Reference没有类的协作图,可以自己用Do…
本文介绍从哪儿开始学习OGRE(Object-Oriented Graphics Rendering Engine的简称,又叫做OGRE 3D),如何在网上找寻OGRE的学习资源. 首先是wikipedia的介绍: http://en.wikipedia.org/wiki/OGRE 官方网站: http://www.ogre3d.org/ 官网介绍:http://www.ogre3d.org/about 特性列表:http://www.ogre3d.org/about/features 开发者对…
Ogre 1.9 Android移植 分类: 图形渲染2013-02-04 16:47 3860人阅读 评论(14) 收藏 举报 Android Ogre C++linuxLinuxLINUX 上一篇博客,将1.8.1这个版本移植到了Android平台,无奈着不是官方版本,不太完美.这次尝试为Android平台构建1.9版本(注意这是个不稳定版本,1.9官方没有正式Release). 依赖库官方已经移植好了,直接下载下来就可以了. 地址 http://sourceforge.net/projec…
OSG使用更新回调来更改模型 转自:http://blog.sina.com.cn/s/blog_668aae7801017gl7.html 使用回调类实现对场景图形节点的更新.本节将讲解如何使用回调来实现在每帧的更新遍历(update traversal)中进行节点的更新. 回调概览用户可以使用回调来实现与场景图形的交互.回调可以被理解成是一种用户自定义的函数,根据遍历方式的不同(更新update,拣选cull,绘制draw),回调函数将自动地执行.回调可以与个别的节点或者选定类型(及子类型)…
osg实例介绍 转自:http://blog.csdn.net/yungis/article/list/1 [原]osgmotionblur例子 该例子演示了运动模糊的效果.一下内容是转自网上的:原理:引用内容对于运动画面,将当前帧画面与上一帧画面进行alpha融合,以产生出残影——运动模糊效果.通过使用累积缓存来完成这项工作.OpenGL提供一个累积缓存,可以用来存储当前指定的颜色缓存里面的内容,并进行一定的运算操作.通过函数glAccum可以对累积缓存进行操作. glAccum介绍如下:引用…
OSG动画学习 转自:http://bbs.osgchina.org/forum.php?mod=viewthread&tid=3899&_dsign=2587a6a9 学习动画,看了osganimationskinning这个例子,感觉OSG的动画实现的太灵活了.一个简单的模型节点变换动画过程如下: 1.定义一些变换位置2.定义动画关键帧,包含了时间,位置,旋转等数据这里可以设置受变化作用的节点3.给节点设置一个动画管理器,这个动画管理器是继承自Osg::NodeCallback,所以其…