Giter Club home page Giter Club logo

bounce's Introduction

About

Bounce is a 3D physics engine for games.

To get started with Bounce see readme.txt.

Here is how to control the Testbed. The Testbed is a collection of non-unit tests and examples that helps the author debug features and is not part of the library.

Camera (as in Maya):

  • Rotate the scene holding LSHIFT + LMB
  • Translate the scene holding LSHIFT + RMB
  • Zoom in/out the scene using LSHIFT + Mouse Wheel

Bounce is released under the zlib license.

Features

Common

  • Efficient data structures with no use of STL
  • Stack and small block allocators
  • Built-in math library
  • Tunable settings used across the entire library

Collision

  • Dynamic tree broadphase
  • Static tree "midphase"
  • SAT
  • GJK
  • Spheres, capsules, hulls, triangle meshes
  • Optimized pair management

Dynamics

  • Contact, friction, restitution
  • Mouse, spring, sphere, cone, revolute joint types
  • Joint motors, limits
  • Constraint graphs
  • Simulation islands and sleep management
  • Linear time solver
  • Stable shape stacking
  • One-shot contact manifolds
  • Contact clustering, reduction, and persistence
  • Contact callbacks: begin, pre-solve, post-solve
  • Ray-casting and volume queries

Testbed

  • OpenGL with GLFW and GLAD
  • UI by imgui
  • Mouse picking
  • premake build system

Documentation

  • Doxygen API documentation

Screenshots

screenshot 1 screenshot 2 screenshot 3

bounce's People

Contributors

irlanrobson avatar hinrikg avatar kazade avatar

Watchers

James Cloos 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.