Commit Graph

224 Commits

Author SHA1 Message Date
erwincoumans
bdda7af8d7 Use the kF_UseGjkConvexCastRaytest for more accurate picking
fix upAxis in some demos
2018-10-27 11:38:38 -07:00
erwincoumans
ed49edc1af PyBullet change API (since it was broken): pybullet_changeVisualShape with textureUniqueId ==-1 will clear the texture
b3InitUpdateVisualShape doesn't take textureUniqueId by default. new API b3UpdateVisualShapeTexture to change texture (-1 will clear texture)
PyBullet/BulletRobotics: allow to reset the textureUniqueId to -1, to clear a texture
PyBullet/BulletRobotics: save all texture handles
2018-10-20 15:56:56 -07:00
bla
7cd962467e fix EGL issue related to glViewport in startRender method 2018-10-01 18:51:02 -07:00
erwincoumans
bfafd9b0ae Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-09-30 20:02:32 -07:00
erwincoumans
6d89413336 scaling striding is 4 (scaling+object uid) instead of 3, also for transparent objects 2018-09-30 20:02:12 -07:00
erwincoumans
0ffa9a97bd scaling striding is 4 (scaling+object uid) instead of 3, also for transparent objects 2018-09-30 19:52:19 -07:00
Erwin Coumans
42ae4e81a8 apply clang-format (on Mac, slightly different than running it on Windows) 2018-09-30 11:43:57 -07:00
erwincoumans
5bcd43711a PyBullet OpenGL/EGL hardware getCameraImage: use glViewport to reduce the glReadPixels calling cost dramatically for small images
PyBullet Allow OpenGL/EGL hardware to render segmentation mask. Use pybullet.ER_SEGMENTATION_MASK_OBJECT_AND_LINKINDEX or pybullet.ER_SEGMENTATION_MASK
PyBullet.removeBody fix indexing bug (use foundIndex, not i)
PyBullet bump up version to 2.2.3
2018-09-30 07:10:40 -07:00
erwincoumans
ab8f16961e Code-style consistency improvement:
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files.
make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type.
This commit contains no other changes aside from adding and applying clang-format-all.sh
2018-09-23 14:17:31 -07:00
Erwin Coumans
b0971b4beb fix our internal build 2018-09-13 10:20:38 -07:00
erwincoumans
684a9f6a99 move stb_image/stb_image_write.cpp into a cpp file instead of random files with the magic 'STB_IMAGE_WRITE_IMPLEMENTATION' define
move setup.py back to eglRenderer extension, use pkgutil.get_loader('eglRenderer').get_filename()
disable dlmopen by default, unless B3_USE_DLMOPEN is defined.
2018-09-10 23:18:34 -07:00
erwincoumans
7369005402 pybullet, use eglPlugin statically instead of dynamic loading an Extension -DSTATIC_EGLRENDERER_PLUGIN
Fix compile errors of pybullet on Windows.
2018-09-09 15:23:26 -07:00
erwincoumans
adb5c049c7 Thanks to @dchichkov for some of the fixes in the eglRendererPlugin!
Rename tinyRenderer -> eglRenderer in the eglRendererPlugin.
Allow to run the eglRendererPlugin to run on Windows (not in EGL mode but Win32OpenGLWindow mode)

Here is a script I tested on Windows:
~~~~~~~~~~~~
mport pybullet as p
import time

p.connect(p.DIRECT)
plugin = p.loadPlugin("e:/develop/bullet3/bin/pybullet_eglRendererPlugin_vs2010_x64_debug.dll","_eglRendererPlugin")
print("plugin=",plugin)
p.setGravity(0,0,-10)
p.loadURDF("plane.urdf",[0,0,-1])
p.loadURDF("r2d2.urdf")
pixelWidth = 320
pixelHeight = 220
while (1):
	p.stepSimulation()
	viewMatrix = [1.0, 0.0, -0.0, 0.0, -0.0, 0.1736481785774231, -0.9848078489303589, 0.0, 0.0, 0.9848078489303589, 0.1736481785774231, 0.0, -0.0, -5.960464477539063e-08, -4.0, 1.0]
	projectionMatrix  = [1.0825318098068237, 0.0, 0.0, 0.0, 0.0, 1.732050895690918, 0.0, 0.0, 0.0, 0.0, -1.0002000331878662, -1.0, 0.0, 0.0, -0.020002000033855438, 0.0]

	#img_arr = p.getCameraImage(pixelWidth, pixelHeight, viewMatrix,projectionMatrix, shadow=1,lightDirection=[1,1,1])#,renderer=pybullet.ER_BULLET_HARDWARE_OPENGL)
	img_arr = p.getCameraImage(pixelWidth, pixelHeight, shadow=1,lightDirection=[1,1,1])#,renderer=pybullet.ER_BULLET_HARDWARE_OPENGL)
	#print("img_arr=",img_arr)
	time.sleep(1)
~~~~~~~~~~~~~
2018-09-09 13:37:49 -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
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
1b95961617 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
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
Erwin Coumans
77c332bd88 PyBullet: add option to cache graphics shapes for URDF files, handy for benchmarks with many duplicate robots
See https://github.com/erwincoumans/pybullet_robots ANYmal.py for an example.
PyBullet: Expose p.setPhysicsEngineParameter(solverResidualThreshold=1e-2) (b3PhysicsParamSetSolverResidualThreshold), increases solver performance a lot
PyBullet: Expose p.setPhysicsEngineParameter(contactSlop) Set it to zero, to avoid issues with restitution.
PyBullet: Expose isNumpyEnabled, return True is PyBullet was compiled with NUMPY support for 'getCameraImage'.
PyBullet: Expose p.ChangeDynamics(objectUid, linkIndex, contactProcessingThreshold), to avoid issues of speculative/predictive contacts with restitution.
See also http://twvideo01.ubm-us.net/o1/vault/gdc2012/slides/Programming%20Track/Vincent_ROBERT_Track_ADifferentApproach.pdf
2018-05-23 13:26:00 +10:00
erwincoumans
034dfba3ae fix VR controllers only visible in one eye (remove stray glClear for testing planar reflection)
PyBullet: force both contactStiffness and contactDamping (report error otherwise)
2018-05-16 14:24:12 -07:00
YunfeiBai
e5036fbc3a Merge remote-tracking branch 'upstream/master' 2018-05-03 10:48:55 -07:00
YunfeiBai
aa6b8f66e9 Fixed a bug in projective texture shader. 2018-05-03 10:46:59 -07:00
Erwin Coumans
0c706eb08a fix some incompatibilities between google3/third_party/GL,EGL, glad 2018-05-03 09:06:30 -07:00
Erwin Coumans
85db288a95 App_PhysicsServer_SharedMemory_VR: expose max_num_object_capacity and max_shape_capacity_in_bytes (and shared_memory_key)
Default values are:
int maxNumObjectCapacity = 128 * 1024;
int maxShapeCapacityInBytes = 128 * 1024 * 1024;
int shared_memory_key = -1
2018-04-30 23:01:15 +02:00
erwincoumans
b53facfc25
Merge pull request #1629 from erwincoumans/master
Preparation to add signed distance field collision detection.
2018-04-12 00:02:25 -07:00
erwincoumans
c2869e0a3c enable planar reflection in minitaur_gym_env.py and locomotion scenes 2018-04-11 08:50:29 -07:00
erwincoumans
ffc808784b PyBullet: add planar reflection example,
See examples/pybullet/examples/addPlanarReflection.py
2018-04-11 01:03:36 -07:00
YunfeiBai
b032a1fd60 Update the projective texture shader to solve the texture interpolation artifact. 2018-04-09 17:15:42 -07:00
yunfeibai
6b97e1e604 Expose API to set projective texture instead of using global. 2018-03-20 21:28:47 -07:00
yunfeibai
37696dd87e Add Bullet C API and pybullet API to set projective texture matrices. 2018-03-18 18:45:54 -07:00
yunfeibai
fd7aa8d0e1 Expose using projective texture as a flag in pybullet getCameraImage API. 2018-03-18 17:01:23 -07:00
erwincoumans
94bc897067
Merge pull request #1574 from erwincoumans/master
fix glx include
2018-02-22 09:41:01 -08:00
Erwin Coumans
05b02d6b3e fix glx include 2018-02-22 09:08:10 -08:00
erwincoumans
90b34680b0
Merge pull request #1572 from erwincoumans/master
explicitly remove textures during resetSimulation
2018-02-22 08:37:03 -08:00
erwincoumans
73a4334e30 explicitly remove textures during resetSimulation
move glViewport to Win32Window
2018-02-21 23:22:16 -08:00
erwincoumans
3508a4523b
Merge pull request #1560 from YunfeiBai/master
Add shader and example for projective texture.
2018-02-21 10:23:18 -08:00
erwincoumans
0e0b7cb9f8 glew->glad 2018-02-21 08:59:06 -08:00
Erwin Coumans
9288ea9c6a fix mac osx build 2018-02-21 08:16:00 -08:00
Erwin Coumans
c2b59776ed CMakeLists glew to glad 2018-02-20 21:09:31 -08:00
Erwin Coumans
dacafda88a use glad instead of glew in mac build and pybullet setup.py 2018-02-20 20:09:12 -08:00
Erwin Coumans
b0984de046 preparation to replace glew by glad 2018-02-20 19:44:02 -08:00
yunfeibai
5494aa72fa Set the perspective projection for projective texture mapping. Change the demo to two bears with the same view projection matrix for the camera and the projector. 2018-02-20 18:32:09 -08:00
Erwin Coumans
8bb40b632b allow to build GLFW version of Bullet examples on Linux (use premake4_linux --enable_glfw gmake) 2018-02-20 16:21:22 -08:00
erwincoumans
01f58f8f02 PyBullet: soft bodies are rendered, so we don't need to also render wireframes in regular mode.
Use glBufferSubData instead of glMapBuffer/glUnmapBuffer, much faster soft body vertex sync.
Don't use a separate btSoftBodyWorldInfo, use the existing one in btSoftMultiBodyDynamicsWorld.
2018-02-18 11:09:42 -08:00