Git Product home page Git Product logo

Comments (4)

jrouwe avatar jrouwe commented on July 28, 2024 4

In general:

  • Broadphase layer: each broad phase layer will result in it's own quad tree so you should not have too many of them. A static layer, dynamic layer, query shapes layer, triggers layer is roughly how we have things set up.
  • Object layer: An object layer maps to one or more broadphase layers to test against, this allows you to very quickly discard large amounts of bodies.
  • Group filter: Most expensive filtering (bounding boxes already overlap), used only during simulation. Allows you fine tune collision e.g. by discarding collisions between bodies connected by a constraint (see GroupFilterTable).
  • Body filter: This filter is used instead of the group filter if you do collision queries like CastRay.

And you're right that the ObjectVsBroadPhaseLayerFilter and ObjectLayerPairFilter should have been interfaces. The interfaces in NarrowPhaseQuery used to be function pointers too at some point. I just didn't change these yet. I'll see if I can change this.

from joltphysics.

Pierre-Terdiman avatar Pierre-Terdiman commented on July 28, 2024 1

I guess the GroupFilter is the most flexible, but also the slowest one. Not sure exactly when this is really needed, maybe for very special cases like the player object ?

I found it necessary to provide my own group filter class to disable collisions between jointed objects, as it is not supported out-of-the-box by Jolt.

from joltphysics.

KTRosenberg avatar KTRosenberg commented on July 28, 2024

Was this change integrated? It looks like it wasn't, but maybe I wasn't looking in the right spot.

from joltphysics.

jrouwe avatar jrouwe commented on July 28, 2024

No the broadphase and object layer filters still don't have a context, I never got around to implementing it. It should only be a problem though if you have multiple PhysicsSystems in your application that use different layer configurations.

from joltphysics.

Related Issues (20)

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.