OpenSceneGraph(OSG) — 概述
来源:互联网 发布:梦龙网络计划流水 编辑:程序博客网 时间:2024/05/16 17:42
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的架构,比如类组织,内存管理,事件处理模型,线程管理…
- OpenSceneGraph(OSG) — 概述
- OSG( OpenSceneGraph)
- OSG入门_场景图形与OpenSceneGraph概述01
- OSG入门_场景图形与OpenSceneGraph概述02
- 研究osg --OpenSceneGraph
- OpenSceneGraph(OSG)配置指南
- 开始研究OpenSceneGraph(OSG)
- Mac下编译 OSG ( OpenSceneGraph )
- OSG概述
- OpenSceneGraph源码分析——OSG状态机如何处理传入的渲染状态(StateSet)数据
- OSG (OpenSceneGraph-3.2.1)编译程序下载
- 基于 OSG OpenSceneGraph HTC Vive 的实现
- 傻瓜式vs2005 sp1 编译(OSG)OpenSceneGraph-2.3.7
- OpenSceneGraph(OSG) 学习之 核心结构(基础篇)
- OSG学习 osg概述以及学习方法等
- OpenSceneGraph
- OpenSceneGraph
- OpenSceneGraph
- Linux软连接和硬链接
- C++异常处理的三个境界
- VPS技术原理
- 字符编码笔记:ASCII,Unicode和UTF-8
- PLSQL语言基础
- OpenSceneGraph(OSG) — 概述
- 关于remoting
- OSG — 内存管理策略
- 配置数据源(DataSource)
- OSG — 事件处理模型
- VB实现GPS卫星定位及地图显示 Google Earth
- 职场邮件的十大忌讳,你犯了吗?
- Resolving Recurrence
- jquery语法