Giter VIP home page Giter VIP logo

Comments (5)

Hentropy avatar Hentropy commented on May 26, 2024

Has bindgen been looked at? It can generate C++ bindings with the major restrictions being around templates.

from physx-rs.

tgolsson avatar tgolsson commented on May 26, 2024

Ping @h3r2tic, who wrote the current impl. Did you investigate that?

from physx-rs.

h3r2tic avatar h3r2tic commented on May 26, 2024

Yup! It was the first thing I tried, and at least back then bindgen gave up on most of PhysX. I don't think it had any way of handling ABI differences between platforms either.

from physx-rs.

Hentropy avatar Hentropy commented on May 26, 2024

Digging into bindgen for C++ a bit more, this issue pops out because physx-sys had an issue like that, as well as an issue similar to what @tgolsson encountered with fields. This PR proposes changing bindgen from libclang to libtooling to resolve those issues because the latter exposes the information necessary to generate bindings appropriately, but it appears to have stalled. One of the issues raised on that PR was build difficulties, like the ones raised in this issue. The issues @h3r2tic mentioned are fixable via a pretty hefty bindings.h but that may be preferable to duplicating translation code.

Another option is generating a cxx::bridge, perhaps using bindgen since cxx has at least some support for that. However, cxx is still somewhat immature so I'm not sure how viable it is for something as beefy as PhysX.

from physx-rs.

Jake-Shadle avatar Jake-Shadle commented on May 26, 2024

#183 transitioned pxbind to a Rust project that just clang's AST JSON output, much easier and no requirements on big clunky libraries.

from physx-rs.

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.