Commit Graph
100 Commits
Author SHA1 Message Date
Erwin Coumans ab4299f517 expose the local inertial frame for each link in the shared memory API
struct b3LinkState
{
    double m_worldPosition[3];//this is the inertial frame
    double m_worldOrientation[4];

    double m_localInertialPosition[3];//this is the local frame from inertial to link frame
    double m_localInertialOrientation[4];
};

  const btTransform link_frame_world =
               inertial_frame_world * m_local_inertial_frame->inverse();
2016-04-29 14:46:25 -07:00
Erwin Coumans aa9a276a71 fix typo in texels flip
add support to create a cube in TinyRenderer (quick test)
2016-04-28 23:01:49 -07:00
Erwin Coumans 615effa4d9 fix typo in texels flip
add support to create a cube in TinyRenderer (quick test)
2016-04-28 12:28:04 -07:00
Erwin Coumans a3767193ce add example to use BasicDemo with an OpenGL Window, without example browser 2016-04-27 09:55:42 -07:00
erwin coumans 40841e9078 revert floor.obj test file, load it by default in TinyRenderer/main.cpp 2016-04-26 21:01:46 -07:00
erwin coumans 03bdcc8737 patch TinyRenderer so it software-renders in an OpenGL texture, for testing
fix texture support: flip texture to make OpenGL happy (lower-left is origin)
add path prefix to .obj loader, so materials/textures are loaded ok.
2016-04-26 20:52:52 -07:00
erwin coumans 2cb39e358a add unmodified version of TinyRenderer, a 500 line software renderer with vertex and pixel shaders, texture mapping and Wavefront .obj support. 2016-04-26 20:47:10 -07:00
Erwin Coumans edba85bab3 fix issue in X11OpenGLWindow (uninitialized variable causing issue at exit) 2016-04-25 19:19:19 -07:00
Erwin Coumans 64cfbacf0a Merge remote-tracking branch 'bp/master' 2016-04-25 13:24:18 -07:00
Erwin Coumans 778ce5296d add example of rendering a cube in SimpleOpenGL3 2016-04-25 13:21:56 -07:00
Erwin Coumans f99d1c45aa expose multibody link world transform in the shared memory API 2016-04-23 17:29:46 -07:00
Erwin Coumans (Google) 67426ecee9 add missing stubs for the obsolete SimpleOpenGL2Renderer 2016-04-21 14:10:45 -07:00
Erwin Coumans 4e61f0cab9 add function to CommonRenderInterface to update/activate a texture
add example how to render a texture 2d quad in SimpleOpenGL3
2016-04-20 12:55:21 -07:00
Erwin Coumans da948a0729 fix text rendering (uninitialized uniforms) 2016-04-19 18:21:53 -07:00
Erwin Coumans 0f5ee7a0a9 rename m_jointForce -> m_jointMotorForce to separate the name from m_jointForceTorque (which should have been called m_jointReactionForce) 2016-04-19 12:22:38 -07:00
Erwin Coumans bebe9a728b handle window closing in InProcessPhysicsClientSharedMemoryMainThread 2016-04-19 08:29:20 -07:00
Erwin Coumans (Google) 3a8ffebc28 fix possible division-by-zero if the profiler gui is called before stepSimulation is proceeding. 2016-04-18 21:43:42 -07:00
Erwin Coumans 476eb342ab fix scaling in URDF importer 2016-04-18 17:41:54 -07:00
Erwin Coumans 59e0bef988 remove compile errors and some debug code in ExampleBrowser. 2016-04-14 12:19:55 -07:00
Erwin Coumans 2cbfeb9590 run GUI on main thread for Mac OSX/__APPLE__, due to OS limitation
add b3CreateInProcessPhysicsServerAndConnectMainThread to test.c
2016-04-14 08:51:20 -07:00
Erwin Coumans 0ca56e756f add joint damping in PhysicsServerCommandProcessor 2016-04-13 17:21:43 -07:00
Erwin Coumans 4df7257250 more comments in SharedMemory C API 2016-04-13 17:09:48 -07:00
Erwin Coumans 34e6eb4a18 add a few lines of documentation and some error checks in SharedMemory API 2016-04-13 13:06:15 -07:00
Erwin Coumans f3c7f30684 fix some memory leaks in ImportURDF / PhysicsServerCommandProcessor 2016-04-11 16:42:02 -07:00
Erwin Coumans 59b32b7af1 re-enable command log and playback in physics server
report applied motor torque in physics server
2016-04-08 18:17:17 -07:00
Erwin Coumans d2793ec5c0 fix char -> int, to allow check with -1, some build systems fail
to make char a signed char
fix unused variable
removed duplicate header files in Gwen/Controls/Layout
2016-03-31 12:52:04 -07:00
Erwin Coumans 6c0ef7e597 fix resize issue on Linux, using i3 window manager on Linux
fix uninitialize modified key (ALT etc) on Linux/X11
2016-03-30 21:45:20 -07:00
Erwin Coumans 5c1eb2ec07 support 'world' tag for fixed objects in URDF 2016-03-30 14:43:59 -07:00
Erwin Coumans 84a136534a add preliminary Android build files for Bullet
add SimpleOpenGL3 example and show how to override
keyboard, mouse, wheel, resize callbacks
2016-03-27 10:21:05 -07:00
Erwin Coumans 7d72f23711 premake: disable linking system OpenGL and X11 by default,
use dlopen to dynamically load GL/X11
2016-03-24 21:15:49 -07:00
Erwin Coumans 643cf5ab1d Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-03-17 16:12:48 -07:00
Erwin Coumans 7e4dfb7207 remove SimpleOpenGL3 demo, it breaks some builds
reset callback to 0 after exiting a demo to avoid issues
2016-03-17 16:11:53 -07:00
erwincoumans fe92de3e50 add infrastructure float btMultiBodyLink m_jointDamping, m_jointFriction (actual damping/friction is in a separate commit)
add door.urdf for testing damping/friction
2016-03-17 14:54:46 -07:00
Erwin Coumans aa3daaa8c6 turn test/SharedMemory/test.c into a gtest for CI unit testing in github
remove overly verbose printfs in importers
fix axis in r2d2.urdf
2016-03-15 22:47:53 -07:00
Erwin Coumans 005ef9d2f1 fixes in SharedMemory unit test, premake build issue on Linux 2016-03-15 18:29:32 -07:00
Erwin Coumans 87e5128ba8 fix some typos (need to merge into a single implementation later!) 2016-03-11 17:47:00 -08:00
Erwin Coumans 625ea96a3e accidently moved line in wrong place 2016-03-10 23:28:02 -08:00
Erwin Coumans ea6ecd3579 Use higher precision GJK/EPA collision tolerances in BT_USE_DOUBLE_PRECISION
See https://raw.githubusercontent.com/billhoffman/bullet-pod/ac6aae3e3ee8137de484471094a65bfe166898b4/bullet_gjk_accuracy_patch.diff
2016-03-10 23:12:22 -08:00
Erwin Coumans c69524be9e fix Lua example 2016-03-10 21:15:23 -08:00
erwincoumans efbb1edecc Allow InProcessExampleBrowser to use a malloc allocated memory block, instead of system shared memory.
Make shared memory client/server a bit more robust, in case the server is terminated early.
2016-03-10 14:36:46 -08:00
erwincoumans 40a9b8cea0 fix relative include path 2016-03-07 15:12:33 -08:00
erwincoumans 9be978337f quick draft implementation for SharedMemoryInProcessPhysicsC_API 2016-03-07 14:56:16 -08:00
Erwin Coumans b130be46f7 add InProcessExampleBrowser to make it easy to instantiate the ExampleBrowser in its own thread
example usage:

int main(int argc, char* argv[])
{

btInProcessExampleBrowserInternalData* data = btCreateInProcessExampleBrowser(argc,argv);

while (!(btIsExampleBrowserTerminated(data)))
{
}

btShutDownExampleBrowser(data);

        return 0;
}
2016-03-02 18:01:33 -08:00
Erwin Coumans d70132a901 only enable Wavefront obj support for URDF when ENABLE_URDF_OBJ is defined.
add destructor for SampleJob1
2016-03-01 09:15:55 -08:00
Erwin Coumans f90ba2eff9 fix issue, CrossSplitter.cpp cannot be disabled using #ifdef _WIN32 2016-03-01 09:10:16 -08:00
Erwin Coumans 4a70df2dfb fix some warnings 2016-02-29 15:37:03 -08:00
Erwin Coumans 25409f93c7 re-quantize for before using the data in quantize method
this fixes issue 558
2016-02-23 08:46:09 -08:00
erwin coumans 6c9bfce975 Support btMultiBody soft contact using ERP and CFM. Also support custom relaxation parameter to allow successive over relaxation.
Added demos for rigid and multi body soft (compliant) contact.
Will also add simplified Hertz compliant contact, by dynamically modifying the ERP/CFM to mimic a non-linear spring.
Note that btManifoldPoint is growing too big, we need to implement proper contact constraints derived from btTypedConstraint.
2016-02-22 18:40:00 -08:00
Erwin Coumans a3154f7a56 use b3ConnectSharedMemory in PhysicsClient example, instead of b3ConnectPhysicsLoopback 2016-01-27 13:36:33 -08:00
Erwin Coumans dabccd184d fixes in test/SharedMemory 2015-12-15 13:45:34 -08:00
Erwin Coumans 52f074bcb2 Merge remote-tracking branch 'bp/master'
Conflicts:
	examples/ExampleBrowser/CMakeLists.txt
	examples/OpenGLWindow/CMakeLists.txt
2015-12-07 16:42:45 -08:00
Erwin Coumans 13f314f401 allow CMake to build on Linux without X11/OpenGL system headers (use local one) 2015-12-07 16:38:43 -08:00
Erwin Coumans 433a7aa9b6 fix C++11 issue 2015-12-07 11:44:43 -08:00
Erwin Coumans acbf60ddfd typo fixes in InverseDynamicsExample 2015-12-05 09:02:02 -08:00
Erwin Coumans b22e968cdd re-enable inverse dynamics/computed torque, instead of PD control in InverseDynamicsExample 2015-12-02 23:16:41 -08:00
Erwin Coumans 332017ff23 remove dependency on gflags, C++11 from test_invdyn_bullet.cpp
add support for premake for test_invdyn_bullet
2015-12-02 17:49:25 -08:00
Erwin Coumans 3dfebe0c45 show inverse dynamics demo to use floating base 2015-12-02 09:33:12 -08:00
Erwin Coumans 4205e976f6 another fix for dynamic libs of BulletInverseDynamicsUtils 2015-11-24 12:20:59 -08:00
Erwin Coumans 03cc4f0554 add InverseDynamics example for example browser
add CMake support for BulletInverseDynamics and BulletInverseDynamicsUtils
2015-11-24 11:12:02 -08:00
Erwin Coumans b4701613c8 consistent *API.* in examples/SharedMemory 2015-11-23 08:00:42 -08:00
Erwin Coumans 069936218a [InverseDynamics] Add custom namespaces per configuration
BulletInverseDynamics can be configured to compile using Eigen
instead of Bullet's LinearMath.

Adds a preprocessor defined specific namespace for each
configuration to produce linker errors if incompatible
libraries are linked (eg, builtin core library and
utilities for bullet types).
2015-11-18 08:01:32 -08:00
Erwin Coumans aa4d119f98 add real-time safe Inverse Dynamics library+test+utils
an example for the example browser will follow.
thanks to Thomas Buschmann
2015-11-17 08:27:38 -08:00
Erwin Coumans 7d9365319c add InverseDynamics test/lib to premake 2015-11-17 08:26:27 -08:00
Erwin Coumans 7d6c2b77f7 Merge remote-tracking branch 'bp/master' 2015-11-11 12:44:36 -08:00
Erwin Coumans f6a8079353 sync repo 2015-11-11 12:44:26 -08:00
Erwin Coumans 7ef06d532e remove debug test 2015-11-05 17:35:05 -08:00
Erwin Coumans 2317307a22 Add b3GetStatusActualState() to C_API.
Change pick-and-move C_API to use handlers
2015-11-04 16:08:28 -08:00
Erwin Coumans 6e042b1901 re-enable wireframe in PhysicsClient
inintialize variables in constructor of PhysicsClient
2015-10-30 13:24:02 -07:00
erwin coumans c68c215ead add rudimentary command logging for shared memory physics server 2015-10-30 10:30:48 -07:00
erwin coumans 819c4f1951 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2015-10-29 11:26:01 -07:00
erwin coumans f7bbbd88e6 preparation for CommandLogging for PhysicsServer. 2015-10-29 11:25:50 -07:00
erwin coumans 9442791cf1 Fix PhysicsServer connection issue, in cases where shared memory was not properly shut down. 2015-10-29 11:18:26 -07:00
Erwin Coumans 8a956318e5 fix case sensitive issue 2015-10-28 16:02:55 -07:00
Erwin Coumans 6a6c0297fe Merge branch 'master' of https://github.com/erwincoumans/bullet3 2015-10-28 13:44:30 -07:00
erwin coumans dc81e31e74 upload work-in-progress Collision example using C-API. 2015-10-28 11:48:36 -07:00
erwin coumans 2d5d89d999 Allow to request the state of a rigid body (position, orientation, lin/ang velocity) through shared memory API
PhysicsClientC_API: b3RequestActualStateCommandInit requires a body unique Id as second argument
2015-10-27 15:46:13 -07:00
erwin coumans 9cc2b1ec12 Physics SharedMemory:
Add flags BOX_SHAPE_HAS_MASS and  BOX_SHAPE_HAS_COLLISION_SHAPE_TYPE to CMD_CREATE_RIGID_BODY
(which maps to CMD_CREATE_BOX_COLLISION_SHAPE for backward compatibility for now)
Need to add way to receive world transform
2015-10-27 14:55:46 -07:00
Erwin Coumans ec1947bbbd add SIM_PARAM_UPDATE_DELTA_TIME flag to fix setting the time step
in shared memory API
2015-10-24 13:50:11 -07:00
Erwin Coumans 818037c011 Fix issue related to CMD_RESET_SIMULATION 2015-10-24 13:49:25 -07:00
Erwin Coumans f28150c368 catch setting of invalid joint angles in PhysicsClientC_Api
use the proper m_bodyUniqueIndex (todo: fix this field, move to shared command data)
2015-10-24 13:48:53 -07:00
Erwin Coumans 25fb92c4c9 fix for Mac OSX El Captain 10.11, OpenGL Window was blue, until first resize.
fixes Issue 498
2015-10-21 21:30:44 -07:00
erwin coumans 3d9218e07d Add plane shape and profile timing support in examples/Collide
Use View/Profiler in example browser, in optimized build/Release mode
and look for plCollideWorld
2015-10-20 18:30:43 -07:00
Erwin Coumans abcaa19bc8 make the compiler happy with Collision example 2015-10-19 18:21:45 -07:00
Erwin Coumans abb7e22027 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2015-10-17 22:03:36 -07:00
Erwin Coumans 21b7a47129 although still not implemented, IMU enum had wrong value, thanks JF 2015-10-17 20:12:50 -07:00
Erwin Coumans e5175cde9a although still not implemented, IMU enum had wrong value, thanks JF 2015-10-17 18:52:48 -07:00
erwin coumans 2909b5fae3 add picking to shared memory physics server 2015-09-04 11:28:08 -07:00
erwin coumans 40d07139a9 fix build 2015-09-04 10:28:32 -07:00
erwin coumans f75df90d82 Allow batches of debug lines. The PhysicsClientExample rendering is still slow (one line at a time, instead of batches)
Prepare for IMU sensor in Shared Memory Server
2015-09-03 14:18:22 -07:00
Erwin Coumans (Google) 98c93a7330 fix inline, __inline for _WIN32 2015-08-27 18:13:54 -07:00
Erwin Coumans (Google) 3d130d9d66 reset simulation in test/SharedMemory/test for proper cleanup,
and it can restart without shutting down/restarting physics server
w
2015-08-27 17:51:31 -07:00
Erwin Coumans 2e7949bb3e fix some warnings 2015-08-26 15:26:53 -07:00
Erwin Coumans 77f78358d2 Merge remote-tracking branch 'bp/master' 2015-08-26 14:24:35 -07:00
erwin coumans faab737738 add a robot joint sensor example, reading joint reaction forces/torques using the shared memory API 2015-08-24 15:26:29 -07:00
erwin coumans 46f161ec02 fix WIN32 build for b3Win32ThreadSupport 2015-08-24 10:12:13 -07:00
Erwin Coumans 74fda9ff85 simple multi threading test 2015-08-21 15:18:18 -07:00
Erwin Coumans 362887987c add example/MultiThreading functions 2015-08-21 11:09:53 -07:00
erwin coumans 6d8ad72d68 add Tutorial.cpp files
load textured sphere8.obj by default as a test
tiny_obj_loader don't crash when mtl is not found
fix camera perspectives for some examples
2015-08-05 19:22:48 -07:00
erwin coumans a5669d2ffd add a textured sphere8.obj test with obj loader
fix shaders, so that shadowed and non-shadowed are matching
fix registerGraphicsUnitSphereShape API (level of detail), support textured sphere too
add support for textured cube
add start for a Tutorial.cpp
2015-08-05 19:03:27 -07:00
Erwin Coumans 26531f3fbc fix some warnings, disable gimpact by default in world importer,
use DIRECTLY_UPDATE_VELOCITY_DURING_SOLVER_ITERATIONS by default for now,
until we find the issue with some failing test cases in btMultiBody
fix a crashing issue in MyMultiBodyCreator.cpp (uninitialized variable)
disable excessive debug printf in URDF2Bullet
2015-07-27 13:28:47 -07:00