Comments (5)
Has bindgen been looked at? It can generate C++ bindings with the major restrictions being around templates.
from physx-rs.
Ping @h3r2tic, who wrote the current impl. Did you investigate that?
from physx-rs.
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.
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.
#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)
- Port PxCooking
- Emit default values in FFI bindings
- Reevaluate structgen HOT 1
- Cleanup C++ source files
- Flow support? HOT 2
- Generate `physx-safe` on top of `physx-sys`
- run error in msvs target HOT 4
- Build error after updating ubuntu HOT 7
- Spring/damper has no effect in driving articulation joint HOT 10
- ActorMap is missing read-only API HOT 2
- How to create a TriangleMeshGeometry in Rust? HOT 6
- Unable to get collision callbacks in bouncing ball example. HOT 6
- Misaligned pointer dereference HOT 24
- How can i remove a Rigid Dynamic actor from scene when it collide with a specific object ? HOT 2
- `pxbind` needs update HOT 1
- iOS support HOT 1
- How to create completion task for passing in scene.step function ?
- Add support for `eDEFAULT` for bitflags (and maybe enums)
- Change MacOS CI to aarch64
- Round out `Controller` trait functions HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from physx-rs.