开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 11 天
1 什么是 OpenSceneGraph
OSG是OpenScreneGraph的缩写,是一个开源的场景图形管理开发库,主要为图形图像应用程序的开发提供场景管理和图形渲染优化功能。
它使用可移植的ANSIC+编写,并使用已成为工业标准的OpenGL底层渲染API。因此,OSG具备跨平台性,可以运行在Windows、Mac OSX和大多数类型的UNIX和Linux操作系统上。
在OSG中,大部分的操作可以独立于本地GUI,但是OSG也包含了针对某些视窗系统特有功能的支持代码,这主要是源于OpenGL本身的特性。
OSG是公开源代码的,它的用户许可方式为修改过的GNU宽通用公共许可证(GNU Lesser GeneralPublic License,LGPL)。
2 OpenSceneGraph的历史和发展
早在1997年,Don Bums便作为软件设计顾问受雇于Silicon Graphics(SGI),他在业余时间还喜 欢滑翔运动。正因为对计算机图形和滑翔机同样的热衷及对尖端渲染设备的了解,他使用Performer场景图形(SGI专有)系统设计了一套基于SGIOnyx的滑翔仿真软件。
由于受到其他滑翔爱好者的鼓励,Don开始尝试使用Linux上的Mesa3D和3dfx的Voodoo设备,以开发基于更多硬件平台的仿真软件。当这套软件开始支持OpenGL 时,场景图形的概念还未能应用于Linux。为了填补这一空缺,Don开始编写一套简单的、类似于Performer的场景图形系统,名为SG。SG的开发强调朴素且易用,它满足了当时人们对于场景图形系统的需求,也使Don的滑翔仿真软件能够运行于低成本的Linux系统。
到了1998年,Don在滑翔爱好者的邮件组中遇到了 Robert Osfield。那时 Robert在Midland Valley Exploration 工作,那是一个来自苏格兰格拉斯哥的油气公司。Robert 同样对计算机图形学和可视化技术有着浓厚的兴趣。两人开始合作,对仿真软件进行改善。Robert 倡导开源,并提议将SG 作为独立的开源场景图形项目继续开发,并由自己担任项目主导。项目的名称改为OpenSceneGraph,当时共有9人加入了OSG的用户邮件列表。
2000年底,Brede Johansen为OpenSceneGraph 作出了第一份贡献,即添加了OSG的OpenFlight 模块。当时他在挪威孔斯贝格的Kongsberg Maritime 船舶仿真公司工作,该公司后来设计了基于OSG的SeaView R5视觉系统。
同样在2000年,Robert离开了原来的工作单位,作为OpenSceneGraph的专业服务商开始全职进行OSG的开发工作。在这段时间,他设计并实现了今天的OSG所使用的许多核心功能,并且是在完全没有客户和薪酬的情况下完成的。Don到了Keyhole数字地图公司(现在是Google的Google Earth 部门),于2001年辞职,他也组建了自己的公司—Andes ComputerEngineering,位于加利福尼亚州的圣何塞,公司成立后继续进行OSG的开发工作。
第一届OpenSceneGraph“同好”会在SIGGRAPH 2001举行,只有12个人参加,听众包括了来自Magic Earth的代表,其目的是寻求一个开源的场景图形库来支持油气相关软件的开发。他们与Don和Robert讨论了开发的事宜,并成为了OSG的第一个收费用户。
随着这几年开源的不断发展,OSG的模块和第三方附加库不断完善,OSG已具备对高性能渲染、海量地形数据库、地理信息及多通道等的支持。
3 OSG中国
于2008年初成立的osgChina-OSG中国官方网,作为国内目前最 大的专注于 OpenSceneGraph(OSG)发展和研究的网站和论坛,以及OSG英文官方站点的唯一中文镜像站,一直致力于为国内OSG爱好者和开发者们提供一个交流和相互学习的无障碍平台,并且不断地收集、整理、归纳、创新,形成了愈加完备的OSG学习者资源集散中心,有数以千计的注册会员作为坚实后盾。
OsgChina 日常工作人员由国内资深开发者FreeSouth、FlySky、array 和Hesicong等组成,他们为 OSG在中国发展提供强大的技术支持。同时,OsgChina将举办定期或不定期的OSG相关会议和研讨活动,邀请国内外的开发者和企业代表参加,与会者可以在会上展出自己的作品,宣传自己的品牌和理念。OsgChina还向与会者提供工作和进修机会,并开展各种专题讲座和学习会活动。
如果读者在学习的过程中有很多疑问,欢迎注册OSG中国官方讨论社区发帖提问,共同提高。