The OpenSceneGraph is an open source high performance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modelling. Written entirely in Standard C++ and OpenGL it runs on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris, HP-Ux, AIX and FreeBSD operating systems.
Features
With the OpenSceneGraph our goal is to make the benefits of scene graph technology freely available to all, both commercial and non commercial users. Written entirely in Standard C++ and OpenGL, it makes full use of the STL and DesignPatterns, and leverages the open source development model to provide a development library that is legacy free and focused on the needs of end users. The key strengths of OpenSceneGraph are its performance, scalability, portability and the productivity gains associated with using a fully featured scene graph, in more detail:
* Performance
Supports view frustum culling, occlusion culling, small feature culling, Level Of Detail (LOD) nodes, state sorting, vertex arrays, vertex buffer objects, OpenGL Shader Language and display lists as part of the core scene graph. These together make the OpenSceneGraph one of the highest performance graphics toolkit available. The OpenSceneGraph also supports easy customization of the drawing process, such as implementation of Continuous Level of Detail (CLOD) meshes on top of the scene graph (see Virtual Terrain Project and Delta3D).
* Productivity
The core scene graph encapsulates the majority of OpenGL functionality including the latest extensions, provides rendering optimizations such as culling and sorting, and a whole set of add on libraries which make it possible to develop high performance graphics applications very rapidly. The application developer is freed to concentrate on content and how that content is controlled rather than low level coding.
Combining lessons learned from established scene graphs like Performer and Open Inventor, with modern software engineering methods like Design Patterns, along with a great deal of feedback early on in the development cycle, it has been possible to design a library that is clean and extensible. This has made it easy for users to adopt to the OpenSceneGraph and to integrate it with their own applications.
* Database loaders
For reading and writing databases the database library (osgDB) adds support for a wide variety of database formats via a extensible dynamic plugin mechanism - the distribution now includes 55 separate plugins for loading various 3D database and image formats. 3D database loaders include COLLADA, LightWave (.lwo), Alias Wavefront (.obj), OpenFlight (.flt), TerraPage (.txp) including multi-threaded paging support, Carbon Graphics GEO (.geo), 3D Studio MAX (.3ds), Peformer (.pfb), AutoCAd? (.dxf), Quake Character Models (.md2). Direct X (.x), and Inventor Ascii 2.0 (.iv)/ VRML 1.0 (.wrl), Designer Workshop (.dw) and AC3D (.ac) and the native .osg ASCII format. Image loaders include .rgb, .gif, .jpg, .png, .tiff, .pic, .bmp, .dds (include compressed mip mapped imagery), .tga and quicktime (under OSX). A full range of high quality, anti-aliased fonts can also be loaded via the freetype plugin, and image based fonts can be loaded via the .txf plugin.
Users can also generate large scale geospatial (multi GB) terrain databases via the companion project (VirtualPlanetBuilder), and use the OpenSceneGraph's native database paging support to view these database.
* Node Kits
The scene graph also has a set of Node Kits which are separate libraries that can be compiled in with your applications or loaded in at runtime, which add support for particle systems (osgParticle), high quality anti-aliased text (osgText), special effects framework (osgFX), shadow framework (osgShadow), shadow framework (osgManipulator) and visual simulation centric effects (osgSim).
* Portability
The core scene graph has been designed to have minimal dependency on any specific platform, requiring little more than Standard C++ and OpenGL. This has allowed the scene graph to be rapidly ported to a wide range of platforms - originally developed on IRIX, then ported to Linux, then to Windows, then FreeBSD, Mac OSX, Solaris, HP-UX, AIX and even PlayStation2!
The core scene graph library being completely windowing system independent makes it easy for users to add their own window-specific libraries and applications on top. In the distribution the osgViewer library provides native windowing support under Windows (Win32), Unices (X11) and OSX (Carbon). The osgViewer library can also be easily integrated with your other windowing toolkits, to illustrate how there are Qt, GLUT, FLTK, SDL, WxWidget?, Cocoa and MFC examples as part of the OpenSceneGraph-2.0 distribution. Scalability The scene graph will not only run on portables all the way up to high end multi-core, multi-gpu systems and cluster. This is possible because the core scene graph supports multiple graphics contexts for both OpenGL Display Lists and texture objects, and the cull and draw traversals have been designed to cache rendering data locally and use the scene graph almost entirely as a read-only operation. This allows multiple cull-draw pairs to run on multiple CPU's which are bound to multiple graphics subsystems. Support for multiple graphic context and multi-threading is all available out of the box via osgViewer - all the examples in the distribution can run multi-threaded and multi-gpu. Multi-language support Java, Lua and Python bindings for the OpenSceneGraph are also available as Community projects.
OpenSceneGraph Public License
The OpenSceneGraph is protected by Copyright, and is licensed as OpenSource, so the source code is freely available, modifyable and redistributed under terms of the OpenSceneGraph Public License (OSGPL). The OpenSceneGraph is based on the Lesser Gnu Public License (LGPL) and include the WxWidgets additions to LGPL which provide a clear statement that distribution with propriatary applications is accepted.
OpenSceneGraph Public License
The principles behind the OpenSceneGraph license entities you to freely modify and copy the source code and libraries built from the source code under the terms of the license. You may not distributed the source code or libraries under any other license, unless authorised to do so by the Copyright holders. If you do not accept all the terms of the license then you do not have the right to copy the source or libraries, such copying is illegal under the terms of international Copyright law.
Like most software, be it close source or open source, the OpenSceneGraph is provided as is, without any warranty or any kind, or fitness for use, no indentification is provided. By accepting the license, you accept these disclaimers.
The OpenSceneGraph license is designed to be compatible with use of propritary applications, such applications can statically and dynamically link to the OpenSceneGraph and redistribute those applications with the libraries free of charge. Your applications can be distributed under any license, be it open source or propritary.
Modifications to the source code of the OpenSceneGraph must remain under the OSGPL and under the Copyright of the original code, this covers bug fixes or feature enhancements to the source code.
User written extensions to the OpenSceneGraph such as Subclassing from OpenSceneGraph classes are not covered by the OSGPL, and you are free to license these extensions as you wish, under propriatary or open source license.
OpenSceneGraph (open source)
Moderators: Moderator, Global Moderator
Jump to
- General Category
- ↳ KillaNet Country
- ↳ 2D Graphics
- ↳ KillaNet News
- ↳ 3D & Animation
- ↳ Chatroom
- ↳ Flash
- ↳ Help & Suggestions
- ↳ Game Dev
- ↳ Audio & Video
- ↳ Introductions
- ↳ Journalism
- ↳ Phoenix Lounge
- ↳ Application Dev
- ↳ Toga Toga Toga!!!
- ↳ Photography
- ↳ Main Street Archives
- ↳ Web Design
- ↳ Fonts Icons Cursors & Screensavers
- ↳ Book Reviews
- ↳ General
- ↳ Tech Industry News
- ↳ Legal Resources
- ↳ Industry Contests
- ↳ Graphix Battle Arena
- ↳ KillaNet Contests
- ↳ Competition Archives
- ↳ Education Information
- ↳ Careers
- ↳ Game Studies
- ↳ Motivation
- ↳ Conferences & Seminars
- ↳ KillaDesign
- ↳ Animation & Film
- ↳ The Studio
- ↳ Game Development
- ↳ 2D Graphics
- ↳ Audio & Video
- ↳ 3D Graphics
- ↳ Flash
- ↳ Fonts, Icons & Emoticons
- ↳ Design Requests
- ↳ PhotoShop
- ↳ Cinema 4D
- ↳ Bryce
- ↳ Flash
- ↳ Paint Shop Pro
- ↳ Blender
- ↳ Poser
- ↳ The Darkroom
- ↳ Photo & Camera Discussion
- ↳ Photo Journalism
- ↳ Web Design Principles
- ↳ PHP & MySQL
- ↳ Designing For Print
- ↳ Writer\'s Desk
- ↳ Fiction Writing
- ↳ News Journalism
- ↳ Poetry
- ↳ Technical Writing
- ↳ Biographical Writing
- ↳ General Writing Resources
- ↳ Promotional Writing
- ↳ Film & Television
- ↳ VideoGames
- ↳ Computer Department
- ↳ General Discussion
- ↳ Windows Help
- ↳ Linux Help
- ↳ Builds & Mods
- ↳ Geek Gadgets
- ↳ Security
- ↳ Dev Discussion
- ↳ C++
- ↳ Visual Basic
- ↳ Java
- ↳ Application Skinning
- ↳ IRC Scripting
- ↳ Gaming Centre
- ↳ Guild Wars
- ↳ Aion
- ↳ Computer
- ↳ World of Warcraft
- ↳ Nintendo
- ↳ General RPG & MMORPG
- ↳ PlayStation
- ↳ XBox
- ↳ Other Consoles
- ↳ All Action
- ↳ Racers
- ↳ Sports
- ↳ FPS
- ↳ RTS
- ↳ Sim
- ↳ Casual Games
- ↳ Kids' Games
- ↳ Mobile Games
- ↳ Retro Games
- ↳ Challenges, Friendly Taunts & Discussion
- ↳ Game Requests & Bug Reports
- ↳ Open Source Games
- ↳ Puzzle Games
- ↳ HeadQuarters
- ↳ Uber Coffee Room
- ↳ KillaNet
- ↳ Coffee Room
- ↳ KillaNet
- ↳ KillaGraphix
- ↳ KillaHosting
- ↳ Marketing etc.
- ↳ Staff Issues
- ↳ Reference & Software
- ↳ Archives
- ↳ KillaBlogs
- ↳ Journalism
- ↳ Trash Can

