OpenSceneGraph(OSG) — 概述
2011-01-07 17:44
218 查看
3D引擎,相信大家都不会陌生,OpenGL,DirectX,可是我们常常听到各个游戏公司还有自己写自己的3D引擎,因为OpenGL太底层了,用OpenGL的好处是利用图形卡的硬件加速功能(当然没有硬件支持,OpenGL也可以软件模拟),但是每个应用都有他的特殊性,把常用的一些渲染模块用面向对象的语言来封装OpenGL指令,能大大加快开发速度,在开发Insight的时候有机会看了NI
Germany开发的针对测试测量数据渲染的3D 引擎,想到设计这样的引擎有什么共性呢。Neil跟我提到了一个Open Source的3D库,叫Open
Scene Graph( OSG),初步看了一下,觉得很值得学习,这里向大家推荐一下。
OSG的官方网站是: http://www.openscenegraph.com/index.php
OSG是在OpenGL之上的一个跨平台的渲染库,提供针对3D应用的更高层次的渲染,I/O和场景空间组织功能。OSG的源代码是用C++写的,结构清晰,而且其代码风格非常的"面向对象",我这里说面向对象是因为自己有这样的感触,其实向我一样,很多人都会使用C++,甚至在读过C++
Effective系列以后认为自己对C++语言的细节也很了解,但是写出来的东西往往是“披着狼皮的羊”–一个带着C++面具的C代码.我个人觉得OSG是个很好的教材,源代码开放,让我们有机会去看OSG的设计者如何使用面向对象的C++来解决实际问题(一个高层次的3D渲染引擎)。
我们来看看OSG是怎么来的吧:
1997年,Silicon
Graphics公司(SGI)雇佣了一个人叫Don Burns,这是一个计算机图形学的fans,同时又是一个滑翔(Hang
Gliding)爱好者,Don利用他的空闲时间开发了一个滑翔模拟器并且在Linux系统上做实验,这个模拟器就是OSG的原型啦。2001年OSG上个SIGGRAPH(计算机图形学最权威的会议),在那里,Don有了他第一个客户-Magic
Earth。Magic
Earth正在寻找一个开源的渲染库来做他们的石油汽应用。接着每年,OSG的成员都在增加,功能也日益强大:
2003年,为了满足Magic
Earth的multipipe rendering要求,Producer开发成功。
2004年,Large database paging,
terrain
support和Shader加入到OSG。
2006年,osgViewer,一个用于管理和渲染场景的库开发完成。用户使用OSG更加方便了。
我不想介绍如何编译,安装,使用OSG,我更想学习OSG的架构,比如类组织,内存管理,事件处理模型,线程管理…
Germany开发的针对测试测量数据渲染的3D 引擎,想到设计这样的引擎有什么共性呢。Neil跟我提到了一个Open Source的3D库,叫Open
Scene Graph( OSG),初步看了一下,觉得很值得学习,这里向大家推荐一下。
OSG的官方网站是: http://www.openscenegraph.com/index.php
OSG是在OpenGL之上的一个跨平台的渲染库,提供针对3D应用的更高层次的渲染,I/O和场景空间组织功能。OSG的源代码是用C++写的,结构清晰,而且其代码风格非常的"面向对象",我这里说面向对象是因为自己有这样的感触,其实向我一样,很多人都会使用C++,甚至在读过C++
Effective系列以后认为自己对C++语言的细节也很了解,但是写出来的东西往往是“披着狼皮的羊”–一个带着C++面具的C代码.我个人觉得OSG是个很好的教材,源代码开放,让我们有机会去看OSG的设计者如何使用面向对象的C++来解决实际问题(一个高层次的3D渲染引擎)。
我们来看看OSG是怎么来的吧:
1997年,Silicon
Graphics公司(SGI)雇佣了一个人叫Don Burns,这是一个计算机图形学的fans,同时又是一个滑翔(Hang
Gliding)爱好者,Don利用他的空闲时间开发了一个滑翔模拟器并且在Linux系统上做实验,这个模拟器就是OSG的原型啦。2001年OSG上个SIGGRAPH(计算机图形学最权威的会议),在那里,Don有了他第一个客户-Magic
Earth。Magic
Earth正在寻找一个开源的渲染库来做他们的石油汽应用。接着每年,OSG的成员都在增加,功能也日益强大:
2003年,为了满足Magic
Earth的multipipe rendering要求,Producer开发成功。
2004年,Large database paging,
terrain
support和Shader加入到OSG。
2006年,osgViewer,一个用于管理和渲染场景的库开发完成。用户使用OSG更加方便了。
我不想介绍如何编译,安装,使用OSG,我更想学习OSG的架构,比如类组织,内存管理,事件处理模型,线程管理…
相关文章推荐
- OSG(OpenSceneGraphcow.osg)配置笔记
- OSG+CEGUI程序框架OpenSceneGraph-2.8.2+CEGUI-SDK-0.7.1-vc9
- OpenSceneGraph(OSG)配置指南
- OSG+CEGUI+lua 程序框架OpenSceneGraph-2.8.2+CEGUI-0.6.2-vc9
- Mac下编译 OSG ( OpenSceneGraph )
- 开始研究OpenSceneGraph(OSG)
- OSG (OpenSceneGraph-3.2.1)编译程序下载
- OpenSceneGraph(OSG)+VS2010的环境搭建
- OSG(OpenSceneGraphcow.osg)配置笔记
- OSG( OpenSceneGraph)
- [转]vs2005 sp1 编译(OSG)OpenSceneGraph-2.3.7基本过程
- OSG(OpenSceneGraphcow.osg)配置笔记
- 傻瓜式vs2005 sp1 编译(OSG)OpenSceneGraph-2.3.7
- OpenSceneGraph(OSG)配置指南
- Archie OSG Step By Step( 0) -OpenSceneGraph环境设置及第一个程序
- 研究osg --OpenSceneGraph
- OpenSceneGraph概述
- OpenSceneGraph(OSG) 学习之 核心结构(基础篇)
- OSG+CEGUI程序框架OpenSceneGraph-2.8.2+CEGUI-0.6.2-vc9
- window下使用Qt _mingw32编译openscenegraph( osg) 和osgearth