Coder Social home page Coder Social logo

osgbullet's Introduction

osgbullet

osgBullet

osgBullet is a set of software tools for applications that use both OpenSceneGraph (OSG) and Bullet. The osgBullet library is the result of collaborative work between Paul Martz (Skew Matrix Software), Ames Lab, and ARDEC. It's used as part of the VE-Suite project. osgBullet is open source and available under the GNU LGPL v2.1 software license.

Documentation

Online Doxygen documentation can be found here.

Features

Applications

osgbpp: The osgBullet physics previewer. Loads a model file, creates a Bullet rigid body to match the geometry, and drops it on a surface. View a graphical representation of the collision shape with the --debug option. Use the --help option for more info.

Libraries

The osgbCollision library Includes the following features:

  • Supports using Bullet for collision detection, with no dependency on libBulletDynamics. Utility functions for converting between Bullet collision shapes and OSG scene graphs (create a scene graph to render a collision shape, for example, or create a collision shape from a scene graph).

  • A NodeVisitor to compute collision shapes per Geode and assemble them into a single btCompoundShape.

  • Utility functions for converting between Bullet and OSG matrix and vector data types.

  • A template class to incorporate Bullet objects as OSG Objects to support reference counting and association as UserData. Allows you to reference count a btRigidBody, for example, or store a btCollisionShape as UserData.

The osgbDynamics library Includes the following features:

  • Supports interleaved/serial physics step and render, and a separate physics simulation thread. Threaded physics simulation features an efficient triple buffering mechanism for shared transform data.

  • A MotionState class to keep your OSG subgraph visual representation in sync with the Bullet rigid body / collision shape. Bullet effectively owns the OSG transformation matrix, and the MotionState transparently accounts for center of mass and scaling.

  • Convenience routines to create rigid bodies from scene graphs, which handles all of the details of creating a MotionState, setting the initial transformation, handling center of mass offset, and creating scaled collision shapes.

  • A GLDebugDrawer debugging aid class that renders information regarding Bullet collision shapes and intersection points, both within the OSG scene and graphically as a HUD.

Examples

The project contains a small collection of example programs to demonstrate use of many of osgBullet's features.

Tests

The project contains several test programs to ensure correct functionality.

Building, Running, and More

Lots of additional information is available on the wiki.

Support

Skew Matrix Software provides full osgBullet development and consulting services. For support requests beyond issuing issues through GitHub, please contact Skew Matrix Software LLC.

Contribute

All contributions are welcome and will be considered for inclusion in the project. Until otherwise specified, please use pull requests or issues to introduce changes.

osgbullet's People

Contributors

alilja avatar mccdo avatar karlsvec avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.