Commit Graph
2614 Commits
Author SHA1 Message Date
erwincoumans 233a7083d1 Merge pull request #1790 from BlGene/egl-plugin
OpenGL render plugin
2018-09-09 09:27:15 -07:00
Joshua Aduol cc4c02edc7 Fixed bugs mistaking forearm_roll_joint for upper_arm_roll_joint 2018-09-09 00:17:06 +01:00
erwincoumans 63f4a63e15 since parent collision is always disabled by default for self-collision, we add a new flag
URDF_USE_SELF_COLLISION_INCLUDE_PARENT, to force self-collision between direct parent/child (not recommended in general)
2018-09-08 14:46:43 -07:00
Erwin Coumans 7376c26e4b remove gl libs from openvr 2018-09-07 16:06:42 -07:00
erwincoumans 5164f2f9a7 remove pre-build proto/grpc files (they differ for each platform and proto/grpc version) 2018-09-07 15:44:33 -07:00
erwincoumans 0efc67841d allow pybullet to connect to GRPC server. (need to use flag --enable_grpc in premake build system)
add grpcPlugin, it can work in GUI, SHARED_MEMORY_SERVER, DIRECT and other modes.
example script to start server from pybullet:
import pybullet as p
p.connect(p.GUI)
#if statically linked plugin
id = p.loadPlugin("grpcPlugin")
#dynamics loading the plugin
#id = p.loadPlugin("E:/develop/bullet3/bin/pybullet_grpcPlugin_vs2010_x64_debug.dll", postFix="_grpcPlugin")

#start the GRPC server at hostname, port
if (id>=0):
	p.executePluginCommand(id, "localhost:1234")

Only in DIRECT mode, since there is no 'ping' you need to call to handle RCPs:
numRPC = 10
while (1):
	p.executePluginCommand(id, intArgs=[numRPC])
2018-09-05 17:58:14 -07:00
Erwin Coumans 31b06f508a only add notifications if there is a plugin that needs them
call the 'reportNotifications' in GRPC server main
2018-09-04 19:24:31 -07:00
Erwin Coumans 18b782847d make GRPC work on Linux, 2018-09-04 16:56:34 -07:00
Erwin Coumans 51f9a6fd0d make grpc work on Mac OSX with premake 2018-09-04 14:49:12 -07:00
erwincoumans 710e660763 Merge pull request #1855 from erwincoumans/master
more work on grpc/proto/pybullet.proto
2018-09-04 12:11:03 -07:00
erwincoumans c4842220a8 Merge pull request #1852 from RanTig/remove-visual-shape
Removes visual shape data when a body gets removed.
2018-09-04 09:42:48 -07:00
erwincoumans 9b66074949 add some missing GRPC files 2018-09-04 09:10:57 -07:00
erwincoumans 9e2f6c7935 more GRPC work 2018-09-03 23:13:15 -07:00
Tigran Gasparian a670041793 Small fix in executePluginCommand, now you can pass int arguments while keeping floats null without errors. 2018-09-03 10:41:38 +02:00
Tigran Gasparian 93145f3979 Adding space to make compiler happy. 2018-09-03 10:37:22 +02:00
erwincoumans 23e84ca9b6 more work on proto/pybullet.proto 2018-09-01 13:49:56 -07:00
Tigran Gasparian 9799f356de . 2018-08-31 15:35:35 +02:00
Tigran Gasparian f132b4d16b Only make the change for Linux, since OSX doesn't have dlmopen() 2018-08-31 15:33:08 +02:00
Tigran Gasparian c062bfc2d5 Removes visual shape data when a body gets removed.
Problem description:
When you add a body, remove it and then add a new
body, the body id may be reused by Bullet.
Because the visual shape data was not being removed when a body was
removed, requesting the visual shape data for a 'recycled' body id
results in both the visual shape data of the new body as well as the old
one.
Removing the visual shape data when the body gets removed fixes this.

Changes the btAlignedObjectArray for visual shapes to a hashmap, so
that removing is faster. Additionally, functions like getNumVisualShape
don't perform a linear search anymore.
2018-08-31 15:12:28 +02:00
Tigran Gasparian 6036c027bf Uses dlmopen() instead of dlopen() in b3PluginManager.cpp. This allows plugins to be loaded in a separate namespace, avoiding symbol conflicts. 2018-08-31 10:53:46 +02:00
Erwin Coumans 40a15053bd add createProtobufs.sh script for Mac/Linux (only tested on Mac so far) 2018-08-30 10:09:00 -07:00
Max Argus 425ecbd3e6 fix cmake, linux only (patch egl) 2018-08-30 13:24:25 +02:00
Max Argus 964a5116eb fix cmake + apple (patch egl) 2018-08-30 13:24:25 +02:00
Max Argus 902818894c fix cmake (patch egl) 2018-08-30 13:24:25 +02:00
Max Argus c1d6c6b07d clean test scripts 2018-08-30 13:24:25 +02:00
Max Argus bdc0f82a8b added syncronized render test script 2018-08-30 13:24:25 +02:00
Max Argus e15fb0866c rendertest + parallel pip + no debug for plugin 2018-08-30 13:24:25 +02:00
Max Argus 35b30359e3 nearly working 2018-08-30 13:24:25 +02:00
Max Argus 5f71aa859f wip 2018-08-30 13:24:25 +02:00
Max Argus 21462d1c02 update GLIR camera 2018-08-30 13:24:25 +02:00
Max Argus a6a8b091ca wip 2018-08-30 13:24:25 +02:00
Max Argus 05f82e8867 egl plugin working 2018-08-30 13:24:25 +02:00
Max Argus f80f0c76a4 added egl plugin commit 2018-08-30 13:24:25 +02:00
Max Argus 2707b7acb4 apple issue 2018-08-30 13:24:25 +02:00
Max Argus 1b95961617 fix build 2018-08-30 13:24:25 +02:00
Max Argus 9328d0bb5f fix build 2018-08-30 13:24:25 +02:00
Max Argus a9ba3eb8cc fixed cmake 2018-08-30 13:24:25 +02:00
Max Argus f0e7f266ef switched to new glad2 2018-08-30 13:24:25 +02:00
Max Argus 5dbf2373ad load gl with egl not glx 2018-08-30 13:24:25 +02:00
Max Argus 6e828688e7 activate EGL + add rendertest.py 2018-08-30 13:24:25 +02:00
Max Argus 5e8ee98f2e fix OpenGL3App argument order 2018-08-30 13:24:25 +02:00
a 3d499c8a7a pybullet: added EGL render device and window_backend option.
EGL review.
EGL dynamic loading, windowType to int
moved to glad2
Require GL 3.3 as GLInstancingRenderer.cpp uses glVertexAttribDivisor
glad2 update with dynamic X11 added
removed old file
build fix
fix mac/win
EGL w/o c++11, off by default
fix premake
fixup: premake fix 2
2018-08-30 13:24:25 +02:00
erwincoumans 4f7dfc2069 Add preliminary GRPC server for PyBullet and BulletRobotics.
Will add GRPC client and PyBullet GRPC server plugin.
Will cover most/all SharedMemoryCommand/SharedMemoryStatus messages.
Run the server, then test using the pybullet_client.py
2018-08-29 21:12:13 -07:00
Erwin Coumans 72c48870b0 after picking in a multibody demo, allow sleeping for rigid bodies 2018-08-26 18:07:28 -07:00
Erwin Coumans 186ddb81d8 fix tab/space issue in Python file
fix determinism issue introduced in previous commit
2018-08-26 17:17:42 -07:00
Erwin Coumans 6ab6cf0bdb test if different broadphase maintains determinism 2018-08-26 16:49:17 -07:00
Erwin Coumans ff43cea263 Fix some deactivation issues with btMultiBodyDynamicsWorld, should also improve performance for PyBullet with larger worlds
(even when sleeping is disabled, islands are split)
2018-08-26 16:14:36 -07:00
Erwin Coumans 3036a6d2bc also drop 'model://' from URDF file names (like we drop package://) 2018-08-26 09:33:51 -07:00
erwincoumans 78946c8ca7 Merge pull request #1842 from crewmatt/crewmatt-ikoriginalpositions
Allow current positions for Calculate IK.
2018-08-23 23:07:48 -07:00
Erwin Coumans 61b7591b8e expose choice of contraint solver in PyBullet, with switchConstraintSolver example 2018-08-23 23:04:17 -07:00