[OSG]OSG的相关扩展
参考:osg官网 http://www.osgchina.org/index.php?view=article&id=176
http://trac.openscenegraph.org/projects/osg//wiki/Community/NodeKits
https://github.com/xarray/osgRecipes/wiki
OSG的相关扩展,OSG针对每个特定应用,也有很多的开发者进行开发和完善,难能可贵的是然后还进行了开源。本文的目的是让大家能够站在巨人肩上,可以选择在能找到的成熟的开源库基础上开发。 ----FreeSouth注。
- osgBullet: OSG和 Bullet 物理引擎的结合。
- osgCairo: OSG 和 Cairo API 的结合,Cairo是一个2D图形库。
- osgEarth: 基于分页数据的功能强大的开源地球地形系统。.
- osgEphemeris: 模型星象数据的开源工程。
- osgOcean: 用来模拟海洋。
- osgRiver: 有爱好者基于osgOcean修改的模拟河流的库。
- osgPPU: 一个基于OSG的post-render的库。
- osgToy and osgVRPN: OSG实用库,包含OSG和VRPN的结合。
- osgWorks: 一个OSG的工具库,包含很多实用类。
- osgTransparencyToolkit: 一个实现了多重透明的OSG实用工具库。
- osg.JS: 使用JS实现的OSG。
- osgAndroid: 在Android上开发OSG程序的工具库。
- osgRecipes: array主导的,将OSG与AntTweakBar、AssImp、Awesomium、FreeImage、Kinect、PhysX、Spark、TUIO、VLC进行结合的集合库。
- osgExp: 用于在3DMAX中将模型导出成OSG/IVE。
- osgNV: 为OSG提供对CG语言的支持,提供一些示例。
- osgART: OSG的增强现实库。
- osgGLSL: OSG写的Shader的一些示例。
- osgToy: toys for OSG。
- osgVisual: 一个地形可视化库,里面包含了OSG和sliverning, triton相结合的功能。
- osgXI: array主导的,包含了很多GPU效果和游戏开发组件,也包含对CG以及maya导出的支持。
- delta3D: 美国海军研院所投入研发的基于OSG的军事仿真库。
- osghimmel: OSG另一个和天空星象模拟的库。
- osgEphemeris: 天体和星象模拟软件。
- flightgear: 基于OSG的极为专业的飞行模拟软件,有osgEarth的版本。
- osgcal: OSG和cal结合的库。CAL是做骨骼动画的。
- osgHaptics: OSG和Haptics结合的库。Haptics是一个触觉相关的系统。
- osgVirtualEnvironment: Configurable, device-independent virtual reality engine built on top of OpenSceneGraph.
- osgAudio: 3D声音库,将OSG与FMOD结合。
- osgAL: 3D声音库,将OSG与openAL结合。
- osgModeling: array主导的,使用OSG建贝塞尔曲面等各种偏数学模型的库。
- osgode: 将osg与ODE相结合的库,ODE是个物理引擎。
- osgsmallcity: 如其名所述,模型一个小城市。
- osgpango: osg和pango的结合,pango是个专业的文字渲染库,比如:可以渲染跳动的文字等。
This project is the source code repository of Rui Wang & Xuelei Qian's book OpenSceneGraph 3.0 Cookbook
, Packt Publishing, 2012. You may read more details or order this book at:http://www.packtpub.com/openscenegrap-3-for-advanced-3d-programming-using-api-cookbook/book
Integrations
This section will show you how to integrate OSG with different kinds of libraries and SDKs. These libraries can add extra functionalities like special effects, visual components and interaction methods to your OSG scene and greatly improve the performance of the applications. These libraries must be free for downloading and for non-commercial purpose of use. The license of the example code may vary according to the license of the third- party library if it does not fit the public domain.
GUI components
AGG
Use AGG (Anti-Grain Geometry) - the high fidelity 2D graphics library with OSG.
Setup & use: just run the program, copying font file to valid directory.
Future plan: none.
AntTweakBar
A light and intuitive GUI framework.
http://www.antisphere.com/Wiki/tools:anttweakbar
Setup & use: just operate on the embedded GUI window.
Future plan: none.
Awesomium
A web-browser framework for in-app browsing and HTML UIs.
Setup & use: load websites (including HTML5 and Flash) to OSG images.
Future plan: load native files, execute JavaScript programs, and improve the efficiency.
MyGUI
A fast, flexible and simple GUI.
Setup & use: copy MyGUI media files and default resource XMLs to correct locations and then run the demo.
Future plan: support IMEs.
VLC
A cross-platform multimedia player and framework.
Setup & use: put the executable into VLC path, then load movies to OSG images using the command:
./osgvlc movie_file_or_stream
Future plan: improve the efficiency.
Visual effects
Microsoft DirectWrite
A text-layout and glyph-rendering API. You may find it in the Windows SDK.
Setup & use: draw texts on a quad and render it in the scene.
Future plan: Finish the custom text renderer to support all kinds of layouts.
Spark
A crossplatform particle engine.
Setup & use: copy integrations/data to executable path, then run with any of the following argument:
./osgspark [--simple/--explosion/--fire/--rain/--smoke]
Future plan: add more effects, and add support for particle callbacks.
ngPlant
A plant modeling software suite.
The source code is already included in the source code. You may also visithttp://ngplant.sourceforge.net for updates.
Setup & use: copy integrations/data to executable path, then view the loaded tree model.
Future plan: use GLSL to improve the rendering, and consider some more effects on plants.
Interactions
libGizmo
Gizmo control library for 3D object manipulation.
https://github.com/CedricGuillemet/LibGizmo
Setup & use: direct drag the gizmo to manipulate, scroll mouse to change gizmo types, and use CTRL and mouse to navigate scene as usual.
Future plan: none.
Microsoft Kinect SDK
http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx
Setup & use: install the XBox Kinect device, and act in front of it.
Future plan: use Kinect to control real human skeletons.
OpenNI
A natural interaction devices middleware, including Kinect.
Setup & use: install the XBox Kinect device (with OpenNI/NITE driver), and act in front of it.
Future plan: use Kinect to control real human skeletons.
TUIO
A common API for tangible multitouch surfaces.
The source code is already included in the source code. You may also visit http://www.tuio.org/ for updates.
Setup & use: install a TUIO server on some other device (e.g., TUIOpad on iPad, and TUIOdroid on Android), setup the server to connect to correct IP and port (3333), and control the scene with multi-touch gestures.
Future plan: none.
Physics components
Box2D
A 2D physics engine for games.
Setup & use: Press Left/Right/Up/Down keys on the keyboard to fire disks to hit the boxes.
Future plan: add more physics features (joints, ropes and vehicles).
Bullet
A professional free 3D game multiphysics library.
http://bulletphysics.org/wordpress/
Setup & use: simulate the scene and fire sphere objects to the box wall with Enter key.
Future plan: add more physics features (joints, cloth, soft bodies and characters).
NVIDIA PhysX version 3.2
A well-rounded physics engine.
http://developer.nvidia.com/physx-downloads
Setup & use: --rigid: simulate the scene and fire sphere objects to the box wall with Enter key.
--cloth: see a sample cloth fall onto a set of sticks
Future plan: add more physics features (joints, soft bodies and characters).
Misc
MicroPather
A path finder and A* solver.
The source code is already included in the source code. You may also visithttp://www.grinninglizard.com/MicroPather/ for updates.
Setup & use: just see the result in any customized maze.
Future plan: none.
RVO2
Reciprocal collision avoidance for realtime multi-agent simulation. Thanks Christian Buchner for the original osgrvo2 example on osg-submissions.
Setup & use: double click to make spheres move from one place to another, automatically avoiding obstacles.
Future plan: add billboard person animation from Christian Buchner, add 3D support.
Reader/writers
AssImp
A library to import various well-known 3D model formats.
http://assimp.sourceforge.net/
Setup & use: load model files (3ds, obj, dae, etc.) with the .assimp extension:
./osgviewer your_model.dae.assimp
Future plan: import skeleton data, and add more material support.
FreeImage
A library supporting popular image formats.
http://freeimage.sourceforge.net/
Setup & use: load image files (dds, jpg, png, psd, etc.) with the .freeimage extension:
./osgviewer your_image.dds.freeimage
Future plan: add writing functions, and add more options.
OTL
Oracle, Odbc and DB2-CLI template library.
The source code is already included in the source code. You may also visit http://otl.sourceforge.net/for updates.
Setup & use: load/save data in ODBC databases with the .otl extension (tested with Sqlite3):
Create new table and save first node: ./osgotl --new-table --src cow.osg --output usr/pwd@DSN:table_name:cow.osg.otl
Save the second node: ./osgotl --src cessna.osg --output usr/pwd@DSN:table_name:cessna.osg.otl
Read one of the nodes: ./osgotl --input usr/pwd@DSN:table_name:cessna.osg.otl
Future plan: tests and fixes for more databases.
SilverLining SDK Triton SDK
The Weather/Cloud library and Ocean library from SunDog: http://www.sundog-soft.com/
The example here is easier to integrate and can render ocean on arbitrary meshes.
Setup & use: Start the program and see the source code
Future plan: add ocean and clouds on earth
Windowing, GUI and HUD
- osgProducer- Integrates OpenSceneGraph with Producer (License : OSGPL)
- Leandro Motta Barros's OSGUIsh. OSGUIsh allows a programer to register callbacks that are called when GUI-like events happen on scene graph nodes. So, you can have some code executed whenever the user clicks a certain node, or moves the mouse over it, or turns the mouse wheel, or... (License: OSGPL)
- osgGauge - A 2D gauge and instrument panel rendering library, courtesy Delta3D.
- osgWidget Nodekit that allows for the creation of UI elements natively (without having data reproduction in external projects like CEGUI) and provides helpers for event handling, scripting, etc.
- osgCairo Nodekit that allows for the creation of Cairo surfaces as instances of osg::Image. These images can be used as textures in OSG, and harnessed to create clean, anti-aliased interface elements.
- osgEgypt Nodekit that embeds the Python interpreter to allow the loading of Python scripts as images. This allows OSG to load any image that Python can convert into a buffer object, and facilitates fast prototyping of and testing of osgCairo (a Nodekit on which osgEgypt relies) images.
Additional OpenGL feature support
- osgOQ- Adds OpenGL occlusion query support to OSG (License : OSGPL)
- osgNV (discontinued) - Marco Jez's library which adds support the latest NVidia extensions and Cg high level shader language (License : GNU LGPL).
Animation
- osgCharacter- Neil South's character animation Plugin, includes a maya exporter, (License : OSGPL)
- VRlab's ReplicantBody character animation library based on Cal3D and the OSG (License : GNU LGPL).
- osgCal which integrates Cal3D and the OSG. There are two active branches now, the original LGPL one by Ruben Lopez, and another released under the GPL and derived from the 2003 LGPL code.
- Toshiyuki Takahei's osgField provides universal way to implement and serialize animations based on osgIntrospection (License : GNU LGPL).
- osgAnimation Nodekit that allows for skinning and rigid object animation in OpenSceneGraph. It was called osgATK before renaming osgAnimation. You can find info on it on a new page consacred to it.
Modeling
- Wang Rui's osgModeling is a open source modeling library. Its purpose is to help generate kinds of parametric curves and surfaces (extrusions, revolutions, lofts, Bezier, NURBS and so on) and convert them to osg::Geometry instances, build BSP tree for models and do boolean operations. (License : GNU LGPL)
Support for general graphical algorithms and effects
- Michael Gronager's [Attach:osgvtk.zip osgVTK] which integrates VTK and the OSG (License : unknown).
- Vladimir Vukicevic's osgChunkLOD implemention (License : OSGPL).
- Ulrich Hertlein's OSG page on stl and .x loaders, outline F/X, video texture, and particles systems (Licenses : OutlineFX is OSGPL, videotex-0.1.2 and particle-0.2.1 are GNU LGPL).
- osgchips, 3D representation of casino chips (License: GNU GPL)
- osgEphemeris - An Ephemeris Model for OSG.
- osgTDS - Terrain Deformation Software for OSG.
- osgPPU - post processing nodekit for HDR, DoF, SSAO, ...
Virtual Reality
- osgVR - Michael Gronager's OSG nodekit for viewer independent setup of VR systems and applications (License : OSGPL)
- OpenSceneGraph HapticLibrary, (osgHaptics), incorporates force/sence rendering into OpenSceneGraph . osgHaptics depends on OpenHaptics from Sensable Inc. Sensable.
- osgVRPN - Mike Weiblen's set of classes to integrate OpenSceneGraph with the Virtual Reality Peripheral Network (License : OSGPL).
- AR scene graph, Extension of OpenSceneGraph to support Augmented Reality.
GIS and Mapping
- osgEarth - Dynamic terrain rendering toolkit that reads imagery, elevation, and vector data and generates whole-earth terrain databases at run time. Supports OGC open standards, local files, and a wide variety of rendering options.
- osgGIS - Scalable toolkit for generating 3D geometry from geospatial vector data. Use osgGIS to build large numbers of 3D buildings, trees, or cartographic features that you can incorporate into anosgEarth or VPB terrain.
Audio
- OpenSceneGraph Audio Library, (osgAL), integrates OpenAL and OSG.
- OpenSceneGraph Audio, (osgAudio), the successor to osgAL, supporting openAL and FMOD and improved state handling.
Miscellaneous
- Mike Weiblen's osgToy, a random collection of fun and useful tools, such as fractal generators, normal visualizers, normal generators, and more. (License : OSGPL)
Obsolete
- [attachments:osgGL2.zip osgGL2] - Mike Weiblen's original KnowledgeBase?/OpenGL Shading Language node kit. Since support for KnowledgeBase?/OpenGL Shading Language has moved into the OSG core, osgGL2 is obsolete.
- Changzhi Li's [Attach:osgShadow.zip osgShadow] nodekit which adds stencil shadow volume rendering (License : proprietary although the intent was probably to publish it under the GNU GPL or GNU LGPL but the distribution does not contain any mention of the licensing terms which makes it proprietary).
- Parallel-Split Shadow Maps : I started with the OpenSceneGraph integration, i would be very pleased if the community would support me. more information about PSSM, have a look at GameDev, to get involed please contact Adrian Egli [3dhelp (@) gmail.com]
Attachments
- osgGL2.zip (124.9 kB) - added by martin 10 years ago.
[OSG]OSG的相关扩展的更多相关文章
- OSG相关扩展工程
https://blog.csdn.net/wang15061955806/article/details/51003803 OSG的相关扩展,OSG针对每个特定应用,也有很多的开发者进行开发和完善, ...
- php并发编程相关扩展
Stream:PHP内核提供的socket封装Sockets:对底层Socket API的封装Libevent:对libevent库的封装Event:基于Libevent更高级的封装,提供了面向对象接 ...
- aspx中的表单验证 jquery.validate.js 的使用 以及 jquery.validate相关扩展验证(Jquery表单提交验证插件)
这一期我们先讲在aspx中使用 jquery.validate插件进行表单的验证, 关于MVC中使用 validate我们在下一期中再讲 上面是效果,下面来说使用步骤 jQuery.Valid ...
- ES6关于Unicode的相关扩展
前面的话 字符串是编程中重要的数据类型,只有熟练掌握字符串操作才能更高效地开发程序.JS中的字符串String类型是由引号括起来的一组由16位Unicode字符组成的字符序列.在过去,16位足以包含任 ...
- [osg]osg窗口显示和单屏幕显示
osg::ref_ptr<osg::Node> loadedModel = osgDB::readNodeFile("cow.osg"); osg::ref_ptr&l ...
- ES6字符串相关扩展
变量的解构赋值 // 数组的解构赋值 let [a,b,c] = [1,2,3]; //1,2,3 let [a,b,c] = [,123,]; //undefined 123 undefined l ...
- [OSG]OSG例子程序简介
1.example_osganimate一)演示了路径动画的使用(AnimationPath.AnimationPathCallback),路径动画回调可以作用在Camera.CameraView.M ...
- [原][OSG]OSG例子程序简介
1.example_osganimate一)演示了路径动画的使用(AnimationPath.AnimationPathCallback),路径动画回调可以作用在Camera.CameraView.M ...
- [osg]OSG使用更新回调来更改模型
使用回调类实现对场景图形节点的更新.本节将讲解如何使用回调来实现在每帧的更新遍历(update traversal)中进行节点的更新. 回调概览 用户可以使用回调来实现与场景 ...
随机推荐
- 网络费用流-最小k路径覆盖
多校联赛第一场(hdu4862) Jump Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- Css-浅谈如何将多个inline或inline-block元素垂直居中
一直以来,前端开发过程中本人遇到最多,最烦的问题之一是元素如何垂直居中,发现开发过程中,元素的垂直居中一直是个很大的麻烦事,经常发现PC端和电脑模拟元素都垂直居中了,但是遇到移 ...
- poj3764 The XOR Longest Path【dfs】【Trie树】
The xor-longest Path Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10038 Accepted: ...
- python装饰器的应用案例
目录 一.过程编程 二.面向装饰器和函数的编程 三.二的加强版 一.过程编程 (一)需求:打印菱形 1.空格.*号组成的菱形 2.输入菱形上半部分的行数即可打印 3.支持循环输入 (二)代码 from ...
- Mirror--日志流压缩
在SQL SERVER 2008之后,主库和镜像库之间的日志流传送会默认使用压缩,压缩一方面降低了网络压力,另一方面增大了镜像两端的CPU压力. 可以打开 TF 1462 来关闭日志流压缩 SQL S ...
- SQL SERVER 2008 R2序列号
SQL SERVER 2008 R2序列号: 数据中心版:PTTFM-X467G-P7RH2-3Q6CG-4DMYB 开 发者 版:MC46H-JQR3C-2JRHY-XYRKY-QWPVM 企 ...
- [ABP项目实战]-后台管理系统-目录
学习ABP也有一段时间了,但是总是学习了后面的忘记了前面的,为了巩固所学到的知识以及记录所学到的东西,因此有了本系列的诞生. ABP ASP.NET Boilerplate Project(ABP.N ...
- VS Code 终端窗口无法输入命令的解决方案
问题 今天打开vs code,打开终端窗口,发现不能输入命令了 解决方法 邮件桌面 vscode的快捷键,打开“兼容性”标签,勾选"以管理员身份运行此程序" 结果 修改之后重启vs ...
- hdu1700 Points on Cycle
地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=1700 题目: Points on Cycle Time Limit: 1000/1000 MS ...
- jquery实现ajax跨域请求
1.跨域问题: 是因为浏览器的同源策略是对ajax请求进行阻拦了,但是不是所有的请求都给做跨域,像是一般的href属性,a标签什么的都不拦截. 如: 项目一:p1.html <body> ...