Erwin Coumans
c0c4c8ba3f
fix many warnings
...
remove btMultiSapBroadphase.*
make collisionFilterGroup/collisionFilterMark int (instead of short int)
2017-01-15 22:26:11 -08:00
Erwin Coumans
3d6584962a
remove some memory leaks in example code.
2017-01-10 14:57:16 -08:00
Erwin Coumans
5e6cfd70b5
iOS platform and Android don't have __thread local storage, so avoid multi-threaded profiler on those (only on _WIN32, __linux__ and __APPLE__ and not TARGET_OS_IPHONE
...
Add a Sleep(0) for Windows to yield threads (and not Sleep(1))
2017-01-08 12:49:04 -08:00
Erwin Coumans
10c7ddcb15
fix issue of duplicate classes with same name
...
causing issues with some linkers
2017-01-06 18:15:04 -08:00
Erwin Coumans
4fc697f646
fix _WIN32 lacking #include <inttypes.h>
...
allow creation of multiple shared memory segments on win32.
fix pybullet compilation on Visual Studio 2010 (old compiler)
2017-01-06 10:19:19 -08:00
Lunkhound
ea0df70c77
example browser: fix for GUI button toggle state
2017-01-02 23:01:22 -08:00
Erwin Coumans
fdd517e00f
First step towards a MuJoCo MJCF importer for Bullet. It can load the humanoid.xml, ant.xml and some other OpenAI GYM asset files. Not all fields are converted, so it is work-in-progress. This is useful for Reinforcement Learning experiments, and would also help integration with DeepMind Lab.
2016-12-30 18:32:57 -08:00
Erwin Coumans
82995a8343
pybullet, more robust multi-server connections
...
Windows shared memory: allow to use custom key.
Improve GUI performance on Windows, submit letters in text as a batch (fewer draw-calls)
quadruped.py: first try to connect to SHARED_MEMORY, if it fails (<0) use GUI
increase Chrome about://tracing json export capacity (press 'p' in Example Browser)
UDP physics server: add --port and --sharedMemoryKey command-line arguments
PhysicsServerExample: add --sharedMemoryKey command-line option (for VR example too)
ExampleBrowser: sleep a few milliseconds if rendering is too fast, use --minUpdateTimeMicroSecs=0 to disable
2016-12-28 21:51:54 -08:00
Erwin Coumans
018aa08bf8
suppress Linux error related to PRIu64/__STDC_FORMAT_MACROS
2016-12-26 22:55:28 -08:00
Erwin Coumans
e592290f4c
tweaks/fixes in about://tracing performance data generator (press and hold 'p' in example browser, release 'p' will save the file 'timingsX.json')
2016-12-23 21:56:31 -08:00
Erwin Coumans
0917310521
add nanosecond resolution for Mac OSX clock / about://tracing timings
2016-12-23 18:18:35 -08:00
Erwin Coumans
4c06fd27b3
Example Browser: add option (keypress 'p') to dump json timing profile trace, that you can open using Chrome about://tracing
...
Make btQuickprof thread safe
Add option in btQuickprof to override custom timing profile (btSetCustomEnterProfileZoneFunc, btSetCustomLeaveProfileZoneFunc)
remove b3Printf in a user/physics thread (those added added, while drawing the GUI running in the main thread)
2016-12-23 15:20:04 -08:00
erwincoumans
a5eda81e47
Merge pull request #867 from lunkhound/pr-slider-widget
...
example browser: slider widget improvements
2016-11-29 21:08:48 -08:00
Lunkhound
49b27f30bd
example browser: slider widget improvements
2016-11-20 16:38:11 -08:00
erwincoumans
9ee1c4ec24
regular OR wireframe rendering, not both
...
add option to perform filtering of 'getClosestPoints' using linkA/linkB.
don't use 'realtimesimulation' as default
add/remove debug items within same thread
pybullet, report contact points and normal as [x,y,z] triplet/vector, not 3 scalars
separate 'getClosestPointsAlgorithm': box-box doesn't report closest points with positive distance, and the query shouldn't impact regular 'closesst points'
2016-11-19 17:13:56 -08:00
Erwin Coumans
c521d816c6
add user debug line/text features in pybullet + shared memory API:
...
addUserDebugLine,
addUserDebugText
removeUserDebugItem
removeAllUserDebugItems
2016-11-14 07:39:34 -08:00
erwincoumans
9bad64fed9
allow obsolete OpenGL2 drawer to render with z-up axis.
2016-11-12 11:59:40 -08:00
erwincoumans
4235c61fcf
move CommonRigidBodyMTBase out of interfaces, into MultiThreadedDemo.
2016-11-07 12:08:02 -08:00
erwincoumans
ff2738db26
Merge remote-tracking branch 'bp/master'
2016-11-04 13:16:55 -07:00
erwincoumans
e35129ceaf
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2016-11-04 13:16:30 -07:00
erwincoumans
9708392322
work-in-progress
...
add UDP network connection for physics client <-> server.
also set spinning friction in rolling friction demo (otherwise objects may keep on spinning forever)
2016-11-04 13:15:10 -07:00
yunfeibai
e8635932cf
Merge remote-tracking branch 'upstream/master'
2016-11-03 10:26:52 -07:00
yunfeibai
3c37db0804
Add API to set bunny properties. Add example to show coupling between softbody and multibody.
2016-11-01 16:45:10 -07:00
Lunkhound
1c3686ca51
MultiThreaded Demo:
...
- fixing various race conditions throughout (usage of static vars, etc)
- addition of a few lightweight mutexes (which are compiled out by default)
- slight code rearrangement in discreteDynamicsWorld to facilitate multithreading
- PoolAllocator::allocate() can now be called when pool is full without
crashing (null pointer returned)
- PoolAllocator allocate and freeMemory, are OPTIONALLY threadsafe
(default is un-threadsafe)
- CollisionDispatcher no longer checks if the pool allocator is full
before calling allocate(), instead it just calls allocate() and
checks if the return is null -- this avoids a race condition
- SequentialImpulseConstraintSolver OPTIONALLY uses different logic in
getOrInitSolverBody() to avoid a race condition with kinematic bodies
- addition of 2 classes which together allow simulation islands to be run
in parallel:
- btSimulationIslandManagerMt
- btDiscreteDynamicsWorldMt
- MultiThreadedDemo example in the example browser demonstrating use of
OpenMP, Microsoft PPL, and Intel TBB
- use multithreading for other demos
- benchmark demo: add parallel raycasting
2016-10-30 12:47:27 -07:00
erwincoumans
2c6237abda
process todo in CMakeLists.txt
2016-10-22 13:53:44 -07:00
erwincoumans
c481662938
Merge pull request #723 from benelot/3D-NN-walkers-example
...
Simple Neural Network 3D Walkers example
2016-10-21 08:47:35 -07:00
erwin coumans
eda400d14c
Merge remote-tracking branch 'bp/master'
2016-10-19 07:43:46 -07:00
erwin coumans
f97cb7002d
first version of 'getVisualShapeData' to get visual shape information to allow external renderer with pybullet and shared memory robotics API
...
b3InitRequestVisualShapeInformation/b3GetVisualShapeInformation in shared memory API
2016-10-18 22:05:28 -07:00
yunfeibai
3ffd95fbab
Merge remote-tracking branch 'origin/master'
2016-10-17 13:20:31 -07:00
yunfeibai
b07df4d504
Load bunny through shared memory API and RobotSimAPI. Create grasp bunny example.
2016-10-17 13:01:04 -07:00
erwin coumans
29f3afe2a4
don't use GL_LINEAR_MIPMAP_LINEAR for shadow maps
...
optimize gpu upload (use glBufferSubData instead of glMapBuffer
Avoid checking char array against zero.
2016-10-14 15:06:09 -07:00
yunfeibai
27fab2adb5
Create a demo for one motor gripper grasp.
2016-09-21 12:08:03 -07:00
erwin coumans
db3122233f
remove that odd triangle in the origin of samurai castle (VR)
...
add rolling/spinning friction to cube, remove it from plane/samurai.urdf
URDF2Bullet: support joint limits for revolute and prismatic, only if defined (if upper < lower, disable limit)
add some profiling markers to improve performance
2016-09-19 07:02:43 -07:00
Benelot
f0f694145d
Implement TimeWarpBase.
...
-------------------------------------
This commit implements speeding up and slowing down examples. The
example can be influenced by the parameters. A separate example will be
added to show off the capabilities of the TimeWarpBase for other
examples.
The walkers work quite well, a successful evolution was run over night
and reached a walker distance of 7.2m.
2016-09-16 09:49:18 +02:00
erwin coumans
32eccdff61
Create project file for BussIK inverse kinematics library (premake, cmake)
...
URDF/SDF: add a flag to force concave mesh collisiofor static objects. <collision concave="yes" name="pod_collision">
VR: support teleporting using buttong, allow multiple controllers to be used, fast wireframe rendering,
Turn off warnings about deprecated C routine in btScalar.h/b3Scalar.h
Add a dummy return to stop a warning
Expose defaultContactERP in shared memory api/pybullet.
First start to expose IK in shared memory api/pybullet (not working yet)
2016-09-08 15:15:58 -07:00
Erwin Coumans
fe54f146ad
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2016-09-01 21:26:38 -07:00
erwincoumans
a370c3bbac
Merge pull request #765 from YunfeiBai/master
...
Torsional and rolling friction for btMultiBody
2016-09-01 14:57:46 -07:00
yunfeibai
9c124b5896
Rolling friction demo for sphere and torsional friction demo for two point contact.
2016-08-30 17:50:37 -07:00
Erwin Coumans
a30ff20e6b
preparation for KUKA IK tracking example
2016-08-30 14:44:11 -07:00
yunfeibai
d784c61b61
Add rolling friction, set rolling friction coefficient from urdf, and set up two point contact experiment.
2016-08-30 11:19:23 -07:00
Erwin Coumans
e47c74ce0b
prevent crash when using --opengl2 option in ExampleBrowser.
2016-08-29 11:48:31 -07:00
YunfeiBai
6751648bce
add some micro-sleep to prevent 100% CPU/memory bus hogging, preventing the graphics thread from making progress.
...
debug draw color black for contact normal
move debug draw option for constraint frames into 'k' key.
2016-08-19 13:58:53 -07:00
erwin coumans
62d5b7c5c0
add single step simulation, using 'o' key. use 'i' key to suspend simulation first
...
default background color a bit darker, to show debug lines
tweaked contact point rendering a bit
2016-08-19 10:30:02 -07:00
erwin coumans
a68c9ca845
avoid MT crash in VR/physics server due to printf from separate thread.
...
add fps display in VR
use 1./240. internal substep for real-time physics sim in VR/physics server for more accurate robotics sim.
2016-08-18 21:43:43 -07:00
Erwin Coumans
463f3e59c8
minor tweak in F1/screenshot handling. Note you can use --png_skip_frames=x command-line argument
2016-08-17 10:18:33 -07:00
erwin coumans
3bdcf23a05
Add sleep to avoid 100% busy CPU loop in PhysicsServerExample
...
Added btClock::usleep
Fix broken TinyRenderer example code.
2016-08-13 12:21:18 -07:00
Erwin Coumans
4bb488f65e
reset canvas location
2016-08-11 15:02:00 -07:00
Erwin Coumans
3c30e2f821
add segmentation mask rendering to TinyRenderer and shared memory API
...
similar to the zbuffer, but storing the object index (int) instead of float depth
2016-08-11 14:55:30 -07:00
Erwin Coumans
b880ddf76b
add pybullet render API with yaw/pitch/roll option
...
add testrender.py file
allow option to enable OpenGL hardware renderer in multithreaded sim
b3RequestCameraImageSelectRenderer(commandHandle,ER_BULLET_HARDWARE_OPENGL);
2016-08-08 14:23:44 -07:00
Benjamin Ellenberger
4622ab4299
Merge commit.
2016-07-31 16:22:50 +02:00
Erwin Coumans (Google)
98c6181ba8
fix screen width/height issue on Intel/Linux
...
add command-line option to set png_skip_frames when taking screenshot series
2016-07-26 15:36:21 -07:00
Erwin Coumans
8270096fad
add GripperGraspExample, separate from R2D2GraspExample
2016-07-25 12:30:47 -07:00
Erwin Coumans
6b0ceace7f
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2016-07-25 11:49:56 -07:00
Erwin Coumans
a6216f4f24
add robotics learning grasp contact example
...
add wsg50 gripper with modified r2d2 gripper tip
expose a fudge factor to scale inertia, to make grasping more stable
(until we have better grasping contact model/implementation)
2016-07-25 11:48:44 -07:00
Erwin Coumans
53fa57bdc4
make IK compile on Mac OSX
2016-07-24 23:50:18 -07:00
erwin coumans
75e86051c2
Add inverse kinematics example with implementations by Sam Buss.
...
Uses Kuka IIWA model description and 4 methods:
Selectively Damped Least Squares,Damped Least Squares,
Jacobi Transpose, Jacobi Pseudo Inverse
Tweak some PD values in Inverse Dynamics example and Robot example.
2016-07-24 22:22:42 -07:00
erwin coumans
25a1714754
disable CProfileManager, might reduce some multi-threading conflicts
2016-07-19 15:55:52 -07:00
Erwin Coumans
fcc9d4ebcb
fix SIMD/16-byte alignment issue causing issue in one of the old benchmarks
2016-07-16 22:33:15 -07:00
Erwin Coumans
8c69bfb042
fix: accidently enable memory-leak debug test
2016-07-16 21:36:40 -07:00
Erwin Coumans
c54a61b97a
More example code is memory-leak free now, in particular PhysicsServerExample.
...
/PhysicsServerCommandProcessor
also fixed some memory issue in InverseDynamicsExample (the base class is supposed to delete collision shape memory)
2016-07-16 21:29:31 -07:00
erwin coumans
a12d25e6ce
remove #include of visual leak detector (used to find memory leaks in ExampleBrowser/main.cpp)
2016-07-16 00:58:09 -07:00
erwin coumans
f9762d63ab
Removed many memoryleaks in Example Browser, reducing some technical debt.
...
When running the Example Browser with Basic Example, 'visual leak detector' show no leak.
Many other individual examples still leak, so it is work-in-progress.
Disabled the profiler window (too many leaks)
2016-07-16 00:55:56 -07:00
Erwin Coumans
34187fba1c
fix camera update issue in previous commit
...
fix Mac OSX build issue
2016-07-14 09:49:49 -07:00
erwin coumans
4a705d1e03
Add kiva_shelf to prepare for picking/grasping task
...
Fix uninitialized variable jointDamping/jointFriction in SDF importer
Add SDF <pose> parsing in visual, inertial, collision elements.
Slight improvement in TinyRender loading performance of largish meshes (30k vertices)
Reduce #define MAX_SDF_BODIES to 500, due to some issue in client code, todo: figure out what the issue is.
b3RobotSimAPI support SDF file loading
Tiny improvement in OpenGL hardware renderer lighting, to distinguish faces without textures
2016-07-14 00:05:57 -07:00
Erwin Coumans
10cc6f14cb
add option to use hardware OpenGL renderer for synthetic camera
2016-07-12 18:16:13 -07:00
Benjamin Ellenberger
b73bcead4b
Merge remote-tracking branch 'upstream/master
2016-07-11 23:31:49 +02:00
Benjamin Ellenberger
ed13cc6c26
Add a slider to displace pendula via GUI.
...
------------------------------------------------
The slider applies the selected displacement force according to the chosen scalar and falls back to zero when moved below an absolute value of 0.2.
2016-07-11 23:07:48 +02:00
Benjamin Ellenberger
5112de3e3f
Fix premake.lua missing includes.
...
---------------------------------------------------------------------
Due to using Cmake for the creation of the example, the premake.lua file was not correctly updated. This commit adds the missing includes by including all files using a wildcard.
2016-07-11 21:50:32 +02:00
erwincoumans
e2e750efb2
Merge pull request #689 from erwincoumans/master
...
prepare robotics learning examples, see examples/RoboticsLearning/b3R…
2016-07-11 10:38:38 -07:00
erwin coumans
7633cfb800
prepare robotics learning examples, see examples/RoboticsLearning/b3RobotSimAPI.h
...
prepare compliant contact work, urdf loading of parameters (see data/cube.urdf)
2016-07-11 00:26:40 -07:00
hujiajie
8c573177eb
[Working In Progress] Suppress compiler warnings.
...
Suppress several warnings about unused variables.
2016-07-10 23:18:03 +08:00
erwin coumans
02582e3a78
shrink down cube size of BasicDemo 10 times (it looked ginormous in VR) from 2x2x2 meter to 0.2
...
add test for VR HUD/sub-titles
fix issue in previous commit, partial string use %.8s not %8.s
use long long int in b3Clock
fix warning/error in pointer alignment in serialization
Fix pybullet Windows compilation.
(thanks to bkeys/https://github.com/bulletphysics/bullet3/pull/687 )
2016-07-09 15:09:09 -07:00
erwin coumans
60d2b99151
Physics runs in a separate thread from rendering in PhysicsServerExample (preliminary)
...
Improve rendering performance. OpenVR experience is smooth now.
commit needs a bit more testing before pushing in main repo.
2016-07-07 19:24:44 -07:00
Benjamin Ellenberger
34ae030c72
Fix CMake references.
2016-07-04 19:27:18 +02:00
Benjamin Ellenberger
74aba8b8fd
Correct the build files and fix the name of the create method in header
...
file.
2016-07-04 19:17:50 +02:00
Benjamin Ellenberger
2bf17a7a81
Initial commit.
...
------------
Simplifying the walker generation code and making it more understandable
SQUASH THIS LATER.
2016-07-01 19:35:27 +02:00
Benjamin Ellenberger
50b6003470
Merge remote-tracking branch 'upstream/master'
2016-06-27 15:14:47 +02:00
Benjamin Ellenberger
e16082a7cd
Refactor Newton's Cradle. Implement Newton's Cradle with Softbody ropes.
2016-06-27 15:14:36 +02:00
erwincoumans
b06e1cb873
Update CollisionShape2TriangleMesh.cpp
...
fix memory leak, thanks Ilya Kostrikov for the report.
2016-06-14 07:53:15 -07:00
Erwin Coumans
bd668d11b0
add .stl file support in 'File/Open' of example browser.
2016-06-07 12:57:46 -07:00
Benjamin Ellenberger
9872d2b20f
Create InclinedPlane,Newton's Cradle and Multi-Pendulum examples for the Bullet Example Browser.
2016-06-04 12:09:37 +02:00
Benjamin Ellenberger
dfb2c51dc7
Merge remote-tracking branch 'upstream/master'
2016-06-04 11:36:43 +02:00
erwin coumans
4b2c0f6d89
make one of the cubes in two_cubes.sdf static (immovable) using the <static> tag in SDF
...
add an example using 'direct'
fix the send-desired-state commands, to add flags for arguments set, using default values.
Start exposing SDF loading in shared memory api, not fully implemented yet.
2016-06-03 19:03:56 -07:00
Erwin Coumans
aa4d2ae01d
initial hookup of TinyRenderer to shared memory interface
2016-06-01 17:47:41 -07:00
erwin coumans
9a5394c4bc
fix cmake build
2016-06-01 11:07:39 -07:00
erwin coumans
f469a2cb49
update to tinyrenderer synthetic camera
2016-05-31 22:55:13 -07:00
erwin coumans
14aa666c6f
preparation to receive camera image data from physics server
...
increase shadowmap world size default to 50 units (meter), 10 units (meter) was too small for most examples.
2016-05-31 10:23:04 -07:00
erwin coumans
2fc0358750
Expose a better API to allow any render engine to be used for the physics simulation when loading URDF/SDF files.
...
See bullet3/examples/Importers/ImportURDFDemo/DefaultVisualShapeConverter.h
Give the kuka_iiwa/model.urdf some blue color, not just orange, to mimick the original a bit better
Preparation for the CMD_CAMERA_IMAGE_COMPLETED command, to expose a virtual camera to the robotics API
2016-05-19 18:37:15 -07:00
Erwin Coumans
fb2134f15f
add combobox to select software/opengl rendering to compare
2016-05-18 17:57:13 -07:00
Erwin Coumans
7994a339ee
disable RTC update for Physics Server by default
2016-05-18 16:21:40 -07:00
erwin coumans
a395ddcb06
add option to embed a physics server in the physics client example, for easier debugging
2016-05-18 09:34:42 -07:00
Benjamin Ellenberger
79be214d08
Merge resolve.
2016-05-15 14:19:01 +02:00
Erwin Coumans
876c9e57fe
fixes
2016-05-13 22:57:41 -07:00
Erwin Coumans
578e4fc795
compile fixes
2016-05-13 22:10:18 -07:00
Erwin Coumans
f4a6b0cb9f
move InProcessExampleBrowser.cpp into App instead of Lib
2016-05-13 21:10:16 -07:00
Erwin Coumans
d186320f30
fixes in rendering
2016-05-13 18:45:56 -07:00
erwin coumans
6a9c54c4ef
Remove unused ROS urdf (was replaced by Bullet UrdfParser.
...
Small refactoring for ExampleBrowser: move examples cpp files in the app/executable
Move ExtendedTutorials in its own app/executable as a test.
2016-05-12 23:03:12 -07:00
erwincoumans
fa043429fe
Merge pull request #623 from erwincoumans/master
...
add initial SDF importer, work-in-progress (still too incomplete to b…
2016-05-09 21:37:36 -07:00
Erwin Coumans
e9c6abff47
add initial SDF importer, work-in-progress (still too incomplete to be useful)
2016-05-09 17:25:07 -07:00
erwincoumans
95541cad4f
Merge pull request #622 from erwincoumans/master
...
copy the data folder into the cmake build directory, for the ExampleB…
2016-05-09 14:21:11 -07:00
Erwin Coumans
2fee43b021
copy the data folder into the cmake build directory, for the ExampleBrowser
...
out-of-source builds of Example Browser don't find their resources...
2016-05-09 14:03:13 -07:00
erwincoumans
fe4fd4169c
Merge pull request #620 from erwincoumans/master
...
Added new tutorial sources, thanks to Mobeen
2016-05-08 12:34:11 -07:00
Benjamin Ellenberger
4f169b4d8f
Add missing m_callback call in SliderMove().
...
-------
The MySliderEventHandler is missing the m_callback whereas the SliderParams contains the m_callback field. Therefore, the m_callback is never called if the slider position is changed. This commit adds the missing m_callback field and call in SliderMove().
Fixes #613 .
2016-05-08 20:26:05 +02:00
erwincoumans
8a68e27bb7
move the RigidBodyFromObj to Importers section.
2016-05-07 16:36:14 -07:00
erwincoumans
db4fb750bc
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2016-05-07 16:19:43 -07:00
erwincoumans
5151519b94
https://github.com/bulletphysics/bullet3/pull/618 by Mobeen
...
Summary of changes:
1) Changed include paths to be relative to the current sources (affected
files: LoadMeshFromObj.cpp, Wavefront2GLInstanceGraphicsShape.h/cpp)
2) Added new tutorials in the ExtendedTutorials folder
3) Modified the main_opengl_single_example.cpp file to enable picking
support in standalone demos
2016-05-06 15:07:54 -07:00
erwin coumans
aae9e509a9
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2016-05-06 13:58:21 -07:00
erwin coumans
0a3efbe349
make standalone versions (console, tinyrender, opengl) of InverseDynamics/InverseDynamicsExample
2016-05-06 13:57:48 -07:00
Erwin Coumans
b0a4e126bf
use cmake FIND_PACKAGE(PythonLibs 2.7 REQUIRED) if pybullet is build
2016-05-04 13:24:06 -07:00
erwin coumans
8360e2e66d
windows fixes
2016-05-04 00:16:53 -07:00
Erwin Coumans
0d3440b388
fixes in Mac resizing example browser (if window size exceeds capability)
2016-05-03 23:46:29 -07:00
Erwin Coumans
938db633df
fixes in build system
2016-05-03 23:34:48 -07:00
Erwin Coumans
7a833a7ac2
fix target link libs in cmake
2016-05-03 22:05:30 -07:00
Erwin Coumans
709a55d5ab
add CMake support for pybullet (still preliminary)
...
requires shared library build:
cmake .. -DBUILD_SHARED_LIBS=on
then create a symbolic link from libpybullet.so to pybullet.so
2016-05-03 13:03:12 -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
d8da00aa35
re-enable Wavefront .obj loader
2016-04-23 11:06:34 -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
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
937b6d84e5
re-enable --enable_experimental_opencl flag for
...
premake build of App_BulletExampleBrowser
(not enabled when using cmake!)
(not enabled when using cmake!)
(not enabled when using cmake!)
(not enabled when using cmake!)
(not enabled when using cmake!)
(not enabled when using cmake!)
(not enabled when using cmake!)
(not enabled when using cmake!)
(not enabled when using cmake!)
2016-03-16 09:02:39 -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
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
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
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
6bc3f94f52
add a Pendulum example that is also used as unit test.
...
Gold data is created by numerically solving a second-order non-linear differential equation.
(see examples/MultiBody/pendulum_gold.h)
2016-01-06 18:08:49 -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
Andrew Meadows
c0c1691c25
fix whitespace formatting in cmake files
2015-12-07 14:08:04 -08:00
Erwin Coumans
4c88681479
joint trajectory curves use different colors for each DOF
...
use fewer notch counts in slider GUI
2015-11-26 10:45:51 -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
erwincoumans
5589fb03af
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2015-11-22 20:50:41 -08:00
erwincoumans
03bf78ef49
add physics server loopback (both client and server in the same process, using shared memory)
...
add physics server direct (client and server in the same process, directly processing commands without shared memory transport mechanism)
2015-11-22 20:50:32 -08:00
erwincoumans
ad29d27700
add initial inverse dynamics example skeleton, with urdf and programmatically created btMultiBody.
...
disabled in Bullet/examples/ExampleBrowser/ExampleEntries.cpp
2015-11-13 10:37:43 -08:00
erwin coumans
c68c215ead
add rudimentary command logging for shared memory physics server
2015-10-30 10:30:48 -07:00
erwin coumans
f7bbbd88e6
preparation for CommandLogging for PhysicsServer.
2015-10-29 11:25:50 -07:00
erwin coumans
dc81e31e74
upload work-in-progress Collision example using C-API.
2015-10-28 11:48:36 -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
3d3830962a
add a few collision examples to test a C API with various back-ends
2015-10-17 13:44:00 -07:00
erwin coumans
4a29986662
initial support for multiple robots in shared memory API
2015-10-13 11:32:25 -07:00
=
5e4badc099
make PhysicsClient an interface class, and move shared memory implementation
...
of physics client into PhysicsClientSharedMemory class/file.
This will allow implementation of UDP and other transport protocols to a physics server.
2015-09-24 22:50:34 -07:00
=
003a42478b
another step closer to useable shared memory C API
...
(force/torque sensor needs new API)
in a nutshell, users of shared memory physics API should not
directly poke into shared memory, not fill 'SharedMemorCommand'
nor read SharedMemoryStatus directly. The C-API declares 'handles' for those,
to avoid it from happening.
2015-09-16 23:09:10 -07:00
Erwin Coumans
2e7949bb3e
fix some warnings
2015-08-26 15:26:53 -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
74fda9ff85
simple multi threading test
2015-08-21 15:18:18 -07:00
erwincoumans
081a40d254
initial implementation to send debug lines from physics server to client,
...
need to add streaming because memory is too small to store all lines
initial test of PD control in physics server, need to switch to PD control for motor constraint, instead of using external forces.
2015-08-19 22:51:16 -07:00
Erwin Coumans
f89d587a02
update tutorial for SIGGRAPH course
...
allow multiple graphing windows at the same time
2015-08-10 14:30:00 -07:00
Erwin Coumans
edaa92c286
fix retina API
2015-08-07 16:21:33 -07:00
Erwin Coumans
3c0e67298a
add command-line option --disable_retina for Mac
...
improve TimeSeries and Dof6ConstaintTutorial
2015-08-07 16:05:03 -07:00
erwincoumans
de4dcdbb18
more tutorial work
...
add fixed_timestep command-line parameter, 0 means disabled (variable timestep)
2015-08-07 14:18:57 -07:00
erwincoumans
89c2a729ce
Improved simple TimeSeriesCanvas
...
Fixes in RobotControlExample
Disable gravity by default in PhysicsServer
2015-08-07 13:17:33 -07:00
Erwin Coumans
03d991c92b
add command-line argument for example browser and shared memory app, --shared_memory_key=<int>
...
fix some shared memory issues, client uses attach/detach, server uses create/remove shared memory
implement CMD_RESET_SIMULATION
2015-08-07 00:13:26 -07:00
=
46fae61c69
fixes in shared memory:
...
only allow server to create and initialize shared memory,
client will report failure
intercept signals to cleanup shared memory in standalone app, thanks to
Roland Philippsen.
2015-08-06 11:59:31 -07:00
Erwin Coumans
dcab0e2b1f
use multibody by default when using FILE/Open URDF (instead of maximal coordinate rigid body+typed constraints)
2015-08-06 00:35:03 -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
250068d5eb
re-enable enter key in example browser
2015-08-04 22:03:53 -07:00
erwincoumans
b316f30040
improve usability of ExampleBrowser
...
store command-line arguments in bulletDemo.txt
save/load of configuration, save demo name instead of index
add setBackgroundColor as example (background_color_red) and
mouse move/wheel speed config (mouse_wheel_multiplier and mouse_move_multiplier)
(saved after changing the demo)
default btIDebugDraw colors can be changed
b3CommandLineArgs::GetCmdLineArgument returns bool, and b3CommandLineArgs::addArgs added
fix copy/paste
2015-08-04 18:24:30 -07:00
=
eb6663ed4b
further work on shared memory API
...
fix dependency of BulletDynamics to Bullet3Common (b3Printf)
2015-08-02 14:00:43 -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
=
3fe9138e8c
minor refactoring
2015-07-23 11:51:25 -07:00
erwincoumans
68b53feb9c
add Inverted Pendulum example with PD control
2015-07-16 23:58:36 -07:00
erwin coumans
b563c7c8ce
add additional example using server and client for future simple robot control of simulated robot
...
(load urdf, get state, set desired state, step simulation)
Create SharedMemoryCommand and put that into the queue
move arrays for Q, Qdot etc into the command
2015-07-15 15:23:40 -07:00
erwin coumans
80f8f940b3
add Time Series example to cmake build file.
2015-07-15 13:02:20 -07:00
erwin coumans
259bcb1989
mix physics client/server into a single example for easier/faster development of shared memory experiment
...
add premake option to choose targetdir for binaries/libraries
add simple hinge.urdf file
2015-07-15 12:57:45 -07:00
Erwin Coumans
a6fa717dac
add very simple (rudimentary) time series graphing example
...
tweak camera near plane distance, less sensitive mouse wheel
2015-07-15 09:07:47 -07:00
erwin coumans
54a76f6e0c
Refactor of PhysicsClient/PhysicsServer, to separate from the example browser code.
...
(as usual, work-in-progress)
2015-07-14 15:30:17 -07:00
=
a7fc45410b
enable addition of examples at run-time
2015-07-12 14:58:31 -07:00
=
de9329ce0a
Add --demo-name=NAME option to start specific demo. (public github commit)
...
For example,
$ App_ExampleBrowser_gmake_x64_release --demo-name="Physics Server"
this command starts Physics Server demo regardless of bulletDemo.txt.
2015-07-12 14:51:08 -07:00
=
3431773800
expose btMultiBodyConstraint applied impulse (force) on its degree of freedom(s),
...
only tested for btMultiBodyJointMotor for now.
See also MultiBody/MultiBodyConstraintFeedback example
2015-07-06 23:00:46 -07:00
Erwin Coumans (Google)
8517e85b21
fix various warning
...
add b3ResourcePath utility, to locate resources relative to executable
2015-07-03 18:17:14 -07:00
erwincoumans
e7bafbc71c
make Bullet URDF parser more similar to the ROS URDF parser. There is still a difference in ordering of links,
...
due to the use of different hash-map implementations, with a difference in iterator order
(btHashMap versus std::hashmap)
2015-06-29 21:30:44 -07:00
Erwin Coumans
5d44d596ed
fix build system (case sensitive filename)
2015-06-28 22:00:03 -07:00
Erwin Coumans
f8add8bba0
fixes in build system for URDF parser
2015-06-28 21:21:57 -07:00
Erwin Coumans
4688540a98
minor update for shared memory interface
2015-06-21 13:24:36 -07:00
=
41aa58560b
add TestHingeTorque example using btRigidBody and btHingeConstraint, setup is similar to TestJointTorque using btMultiBody and a revolute joint.
2015-06-15 23:12:29 -07:00
erwin coumans
2c3db1c631
Add a "add button" option in the CommonParameterInterface and implement it for Gwen.
...
Add some buttons for shared memory requests in the PhysicsClient
2015-06-09 16:51:55 -07:00
erwin coumans
a94ac6300a
add Windows version of shared memory, very basic implementation (only allows one single allocation)
2015-06-04 15:37:18 -07:00
=
fcb5dac567
fix cmake build and travis/CI
2015-05-29 15:10:52 -07:00
=
bc806ab68c
exit gracefully and call destructor of the current active example
...
fflush after printf
implemented stepForward and Shutdown for the SharedMemory client/server
2015-05-29 15:04:05 -07:00
=
82576d0bee
added preliminary shared memory physics client/server
...
fix a bug in CommonMultiBodyBase: don't use data if it hasn't been allocated
2015-05-28 16:05:24 -07:00
Erwin Coumans
91252db59a
fix Lua example
2015-05-13 16:27:58 -07:00
Erwin Coumans
dbae21ae5a
prepare for some basic lua scripting example
2015-05-13 09:17:59 -07:00
Erwin Coumans
82f81e16f3
fix Yosemite build
2015-05-07 11:44:16 -07:00
Erwin Coumans
0da584a42d
allow to compile and run the ExampleBrowser on older Mac OSX versions (without OpenGL3)
...
using the 'NO_OPENGL3' preprocessor definition
both premake/cmake has support for this now
needs some testing
2015-05-06 10:35:14 -07:00
Erwin Coumans
3da8dbce1c
disable memmove in btDbvt
...
forgot to reset clock
2015-05-04 17:03:37 -07:00
Erwin Coumans
633ea613ab
tweak gui description window size
...
use system clock for delta time
fix urdf file name
2015-05-04 16:52:43 -07:00
Erwin Coumans
184a0013b4
add RollingFrictionDemo
...
tweak benchmark demo camera
2015-05-03 11:45:30 -07:00
Erwin Coumans
d90578ec98
fix premake
2015-05-03 10:59:35 -07:00
Erwin Coumans
8ee491abfa
converted DynamicControlDemo/MotorDemo
...
set default camera position for benchmarks, fracturedemo
2015-05-03 10:46:22 -07:00
Erwin Coumans
7288313970
converted FractureDemo
2015-05-03 10:01:30 -07:00
Erwin Coumans
7a0288bf56
fix issue with btDbvt::collideOCL, related to memmove (needs further testing)
...
only enable OpenCL demo if flag --enable_experimental_opencl is passed to ExampleBrowser
2015-05-02 22:33:33 -07:00
erwincoumans
1215d4b01c
fix build issue
2015-05-02 11:42:43 -07:00
erwincoumans
551709a74b
more example browser tweaks, mostly related to (debug) rendering
2015-05-02 11:40:06 -07:00
erwincoumans
01d14f538a
fix some out-of-bounds error in the OpenCL rigid body pipeline
...
re-enable an OpenCL/gpu rigid body example (box-box stack)
2015-05-01 21:34:27 -07:00
erwincoumans
d50242fc27
add starting point for btGeneric6DofSpring2ConstraintData import, not all parameters are deserialized though
...
restore activation state after picking
add .bullet file import (only tested/available on Windows)
2015-05-01 16:27:09 -07:00
erwincoumans
d7c7fdf517
fix build issue when OpenCL (B3_USE_CLEW) is not enabled
2015-05-01 14:32:39 -07:00
erwincoumans
218e9f9bf9
enable URDF loading throught the 'File/Open' menu
...
set a default camera targets for each demo. note that it is only reset when switching to a different demo, so you can restart at your chosen location.
no OpenCL pairbench drawing in OpenGL2 (there is no VBO available etc)
2015-05-01 11:42:14 -07:00
erwincoumans
aad9a5a396
add OpenCL PairBench (missing GUI, so not really useful)
2015-05-01 00:18:49 -07:00
Erwin Coumans
aec360f158
add Raycast demo
2015-04-30 15:31:44 -07:00
Erwin Coumans
c95fe654ad
add example to import and export a binary .bullet file
2015-04-30 14:03:50 -07:00
Erwin Coumans
9d3f8803b8
add Stan Melax' ImplicitCloth demo
2015-04-30 13:36:39 -07:00
Erwin Coumans
fcb841018a
remove 'Custom' multi body demo, it has no point on its own
2015-04-29 15:02:12 -07:00
erwin coumans
40375983d6
rename ExampleInterface -> CommonExampleInterface to be a little bit more consistent in 'CommonInterfaces' naming
2015-04-29 13:33:26 -07:00
erwin coumans
4ed666a72a
fix double-precision compile problem
...
fix profile window (See View/Profiler in ExampleBrowser)
2015-04-29 13:21:26 -07:00
erwin coumans
d1ff63dd49
add missing files to CMakeLists.txt
2015-04-29 10:54:40 -07:00
erwin coumans
f4b0cc85cd
add Vehicles/Hinge2Vehicle demo, based on the ForkLift demo, using btHinge2Constraint with rigid body wheels
...
change btHinge2Constraint to derive from new btGeneric6DofSpring2Constraint
2015-04-28 18:12:49 -07:00
Erwin Coumans
df86a69a71
fix Mac OSX build, minor addition in example descriptions
2015-04-27 20:58:01 -07:00
erwin coumans
27227e5e4a
add SoftDemo examples
...
add example description for all examples (with word-wrap)
add the VoronoiFractureDemo, note that the collision are disabled after breaking constraints.
add optional GwenOpenGLTest, to make it easier to see Gwen user interface features.
2015-04-27 18:35:07 -07:00
erwin coumans
05bf86d95f
added LICENSE.txt and AUTHORS.txt file
...
add MultiBody Custom Creation example, to show how to import data from a URDF file and fill up your own data structures.
add btMultiBody::setBaseWorldTransform method
todo: fix cmake build, this patch is premake only
2015-04-23 15:41:17 -07:00
erwin coumans
51938d642e
prepare for 'custom' multi body creation.
2015-04-22 18:09:00 -07:00
erwin coumans
f2aef6b73e
add additional demos/examples for MultiBody and Constraints
2015-04-22 13:02:27 -07:00
erwin coumans
13396d32bf
add basic legacy OpenGL2 rendering
2015-04-20 15:28:52 -07:00
erwincoumans
60593f41ed
make OpenGL2 version work (still very rudimentary, no filled rendering, only debug wireframe)
2015-04-16 23:46:01 -07:00
erwincoumans
ad8f705bcb
more cmake support for examples
2015-04-16 22:14:27 -07:00
Erwin Coumans
889cbdc0ef
fixes in Mac modifier keys, remove enet/lua tests
2015-04-16 17:35:34 -07:00
Erwin Coumans
b2ba615874
fixed for Mac in examples
2015-04-16 15:52:30 -07:00
erwincoumans
b33d17f91c
rename GL/glew to CustomGL/glew.h to avoid clashes with system glew
2015-04-16 15:29:39 -07:00
erwincoumans
57d8567ca3
more example refactoring
2015-04-16 15:16:13 -07:00
erwincoumans
a1bf9c5556
add initial examples, replacing the 'Demos/Demos3'. Will make it work cross-platform, OpenGL3/OpenGL2 and add more examples to it.
2015-04-16 09:55:32 -07:00