not-fl3 / bulletrs Goto Github PK
View Code? Open in Web Editor NEWBullet Physics wrapper for the Rust language.
License: MIT License
Bullet Physics wrapper for the Rust language.
License: MIT License
Need to figure out the correct way to produce library from Bullet3 and the best way to distribute it with that crate.
Add entire bullet source to crate dependencies? Put only binaries somewhere? Make a link to the libs in readme?
With bullet's visualizer, it's possible to build a lot of fun examples.
Feel free to post example idea :)
Here is current idea list:
Unfortunately, visualizer is available only on linux.
The project compiles fine, but when trying to run tests or the sphere example, I've got those messages :
= note: sphere-e1f2b5e66f36c57a.sphere11.rcgu.o : error LNK2019: unresolved external symbol _ZN23btDiscreteDynamicsWorld10setGravityERK9btVector3 referenced in function _ZN8bulletrs8dynamics14dynamics_wor
ld13DynamicsWorld11set_gravity17h6dfe9011ff49dbd9E
sphere-e1f2b5e66f36c57a.sphere7.rcgu.o : error LNK2019: unresolved external symbol _ZN11btRigidBodyC1ERKNS_27btRigidBodyConstructionInfoE referenced in function _ZN12bulletrs_sys25bt_bullet_dynami
cs_common11btRigidBody3new17h73dc4f8ea432745eE
sphere-e1f2b5e66f36c57a.sphere7.rcgu.o : error LNK2019: unresolved external symbol _ZN11btTransform11getIdentityEv referenced in function _ZN12bulletrs_sys25bt_bullet_dynamics_common11btTransform1
1getIdentity17h19dcbfb13d508ed8E
sphere-e1f2b5e66f36c57a.sphere7.rcgu.o : error LNK2019: unresolved external symbol _ZN11btTransformC1ERK12btQuaternionRK9btVector3 referenced in function _ZN12bulletrs_sys25bt_bullet_dynamics_comm
on11btTransform4new117h3750f03df7fecd87E
sphere-e1f2b5e66f36c57a.sphere7.rcgu.o : error LNK2019: unresolved external symbol _ZN18btStaticPlaneShapeC1ERK9btVector3d referenced in function _ZN12bulletrs_sys25bt_bullet_dynamics_common18btSt
aticPlaneShape3new17had7d48954551de4aE
sphere-e1f2b5e66f36c57a.sphere7.rcgu.o : error LNK2019: unresolved external symbol _ZN20btDefaultMotionStateC1ERK11btTransformS2_ referenced in function _ZN12bulletrs_sys25bt_bullet_dynamics_commo
n20btDefaultMotionState3new17hada6c57be2ab72c8E
sphere-e1f2b5e66f36c57a.sphere7.rcgu.o : error LNK2019: unresolved external symbol _ZN11btRigidBody27btRigidBodyConstructionInfoC1EdP13btMotionStateP16btCollisionShapeRK9btVector3 referenced in fu
nction _ZN12bulletrs_sys25bt_bullet_dynamics_common39btRigidBody_btRigidBodyConstructionInfo3new17hfe8288feb2624be6E
Might this be an issue with the version of Visual Studio I'm using ? I'm using nightly-x86_64-pc-windows-msvc rust toolchain.
Now, bulletrs is building with giantest build.rs ever, and as for me, it works pretty well.
Here are details about that build.rs idea: #1 (comment)
But there is a problem - Windows opengl bindings requires additional system dependencies, so its not possible to go that way for the visualizer.
On MacOs I think things should be much easier and maybe copy build_linux.rs to build_macos.rs and fix compilation error will do the job. Cant test it without a mac.
I can provide a PR but wanted to know if there was a particular reason. It confused me and I had to check the source code to understand it was actually the timeStep that was modified.
For now, bullet is compiling with #define BT_USE_DOUBLE_PRECISION
, resulting f64
as floating point format everywhere. It will be useful to make that define as a build option.
Here is two problems needed to fix first:
I'm creating this issue to discuss this subject and see how / if we can do something else.
I'm looking at the btCharacterControllerInterface which is exactly what I've been trying to do for weeks in my current project. Looking at the implementation, it requires much more low-level API than what pybullet provides.
pybullet is ok as long as you only need to apply impulse/torque to your game entities. It's perfect for car/tank games but not sufficient for fps/platformers where some entities does not behave in a physical realistic way.
On another hand, most of bullet3 API is object oriented C++. I'm not sure whether it's possible to wrap it...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.