erwin coumans
58206b7962
Add preliminary support for VR/OpenVR for HTC Vive and Oculus Rift,
...
(Windows-only first, later Linux and OSX)
Use premake to build, use --enable_openvr flag
2016-06-30 16:03:38 -07:00
Erwin Coumans
de9bd65c19
fix compile issues
2016-05-26 19:22:26 -07:00
erwin coumans
0d50d8c73b
Preliminary working version of TinyRenderer for standalone demos,
...
it works without OpenGL dependency now, so it runs in the cloud :-)
Add scaling support for TinyRenderer, remove some un-used normal mapping in TinyRenderer shader, expose light_dir_world,
remove accidental hard-coded path in tga write_tga_file,
Fix InverseDynamicsExampleCreateFunc, enum has to start at 0
2016-05-26 17:36:01 -07:00
Erwin Coumans
535ee33e3b
fix build3/stringify.sh
...
fix some compile issues
2016-05-25 15:37:28 -07:00
Erwin Coumans
9bd88e5727
move some easy-to-use build files for Mac OSX, Linux and Windows
...
in the root directory.
2016-05-21 10:45:08 -07:00
erwin coumans
0a3efbe349
make standalone versions (console, tinyrender, opengl) of InverseDynamics/InverseDynamicsExample
2016-05-06 13:57:48 -07:00
Erwin Coumans
1d0f038aad
add initial pybullet module, using the shared memory API
...
(for now, start the example browser in 'physics server',
then compile using premake --python option,
then run python in the bin folder (so it finds pybullet.so)
and run the test.py script in examples/pybullet folder.
The robotics shared memory C API is very suitable for this.
2016-04-30 11:18:54 -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
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
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
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
Andrew Meadows
e66be7a7ef
replaced spaced indentation with tabs
2015-12-03 22:00:52 -08:00
Andrew Meadows
b8f72ee56b
fix bad --no-extras option for InverseDynamcis
2015-12-03 20:52:28 -08:00
Andrew Meadows
1c30453ae4
adding forgotten --no-extras build option
2015-12-03 20:49:31 -08:00
Andrew Meadows
d8b7d12707
combine checks for "ios" premake option
...
The "ios" option now only makes sense when action is "xcode"
2015-12-03 20:39:29 -08:00
Andrew Meadows
f385bffffb
cleanup main premake script
...
added premake options:
--no-demos
--no-test
--no-bullet3
2015-12-03 18:58:10 -08:00
Erwin Coumans
7d9365319c
add InverseDynamics test/lib to premake
2015-11-17 08:26:27 -08:00
Erwin Coumans
72b68409da
clang gets confused/crashes when using the same namespace,
...
need to look if it is a real error or clang issue
should fix Issue 520
https://github.com/bulletphysics/bullet3/issues/520
2015-11-08 13:49:37 -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
362887987c
add example/MultiThreading functions
2015-08-21 11:09:53 -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
erwincoumans
19c5be5646
small progress towards shared memory C-api and test.c.
2015-07-30 23:22:44 -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
=
95eff08c51
fix 'binserver' to 'bin' for premake targetdir
2015-07-10 22:31:05 -07:00
erwincoumans
6c9ce344ea
fix shadowmap crash on some Intel GPUs, see https://github.com/bulletphysics/bullet3/issues/4
...
remove targetdir from all libraries in premake, so it is much easier to create a separate folder for all binary+lib
transmit the serialized btMultiBody data back from server to client, after the server loads a URDF file. This includes base+link+joint names
tweak the serialization routines, so it is easier to skip pointers and to serialize directly to a shared memory buffer
also tweak the serialization code to allow to process data without 'DNA' schema data (assuming file-DNA = memory DNA)
2015-07-10 22:20:06 -07:00
erwincoumans
285ac286fa
some work towards streaming Bullet data over shared memory for client/server
2015-07-09 14:04:58 -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
dbae21ae5a
prepare for some basic lua scripting example
2015-05-13 09:17:59 -07:00
Erwin Coumans
074b869a9f
enable premake4 option --ios and Test_LinearMath
...
usage: ./premake4_osx --ios xcode4
open xcode4ios/0_Bullet3Solution.xcworkspace
2015-05-12 09:17:27 -07:00
erwin coumans
5a0b744e73
fixed premake4 issue causing the build to fail on non-Mac platforms
2015-05-06 12:05:25 -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
=
7eec0dc57d
add enet for some client/server tests
2015-05-05 12:51:38 -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
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
889cbdc0ef
fixes in Mac modifier keys, remove enet/lua tests
2015-04-16 17:35:34 -07:00
erwincoumans
794c8ec064
add BspDemo.bsp data file
...
add sphere2.urdf
move btSpatialAlgebra into LinearMath
remove some warnings, introduce BT_ZERO, BT_ONE, BT_HALF as defines for 0.f/0., 1.f/1., 0.5f/0.5 respectively
2015-04-16 10:17:35 -07:00
Erwin Coumans
2ddd8f78c2
add option to create mp4 videos from App_AllBullet2Demos, using the
...
--mp4=video.mp4 note that you have to re-convert for Quicktime
ffmpeg -f mp4 -vcodec h264 -i test.mp4 -pix_fmt yuv420p test2.mp4
add the option to display text in 3d, used in Coriolis demo
2015-03-25 14:04:26 -07:00
Erwin Coumans
b1863f7ce2
Refactored GJK, EPA and MPR as a template class, reducing/removing the dependencies
...
to the rest of the Bullet code base. This code will replace the original GJK/EPA
in a future commit.
Added btMprPenetration, an implementation of Minkowski Portal Refinement
by Daniel Fiser. Original MPR idea is by Gary Snethen, and the first
implementation is here: https://github.com/erwincoumans/xenocollide
It is an alternative to EPA, although computing the local penetration depth.
EPA computes the global penetration depth. In many cases, MPR is sufficient
and performs better than EPA.
2014-11-02 12:53:36 -08:00
Erwin Coumans
e314f56f9d
refactor to allow various gfx backends (work-in-progress)
2014-09-23 18:27:16 -07:00
Erwin Coumans
07e2dcc749
minor cleanup of btgui/demo3 stuff, much more demo cleanup is needed
...
moved some files in btgui/Bullet3AppSupport
2014-09-16 12:08:24 -07:00
Erwin Coumans
0125324bd6
consolidate files into btgui/OpenGLWindow (from FontFiles/OpenGLTrueTypeFont)
...
consolidate stringify_linux/_osx into stringify.sh
2014-09-03 09:52:31 -07:00
Erwin Coumans (Google)
58d7a7b9d5
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2014-09-01 09:21:26 -07:00
Erwin Coumans (Google)
e20c240178
make stringify_linux.sh compatible with mac osx (testing)
2014-09-01 09:17:21 -07:00
Erwin Coumans
954d488756
cmake+premake disable OpenGL 3 demos on Mac OSX versions below 10.9
...
See also http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=10073
Move ConstraintPhysicsSetup to Demos3/bullet3/ConstraintDemo
2014-08-22 14:41:21 -07:00
Erwin Coumans
7b28e86c7b
add improved btGeneric6DofSpring2Constraint, thanks to Puhr Gabor and Tamas Umenhoffer!
...
improved the new demo testbed (work-in-progress)
add basic Lua demo, import URDF test, STL import, obj import
2014-08-20 16:28:16 -07:00
Erwin Coumans
d93b27f16c
premake4: add option to force dynamic loading of OpenGL and X11
...
--force_dlopen_opengl and --force_dlopen_x11
2014-08-18 22:19:34 -07:00
Erwin Coumans
bf1bd07636
premake4 build: allow to dynamically load X11 if X11 system headers/library is missing
...
premake4 build: allow to dynamically load OpenGL/GLEW/glx if system headers are missing
2014-08-18 21:43:08 -07:00
erwin coumans
670576ec72
remove #include <stdbool.h> it breaks MSVC 2010
...
enable gtest by default when using premake, added flag without-gtest
use gtest ASSERT_EQ( expected_value, actual_value) instead of the reverse,
this fixes issue 205 (https://github.com/bulletphysics/bullet3/issues/205 )
2014-08-12 12:18:32 -07:00
Erwin Coumans
ae98ffe218
add Obj and STL import demo, work on URDF import
2014-08-03 13:45:05 -07:00
Erwin Coumans
04632538ec
add tinyxml, urdfdom and urdfdom_headers from https://github.com/ros/urdfdom
...
(removed BOOST dependency and make it compile on Windows)
2014-07-31 13:38:31 -07:00
Erwin Coumans
0c39cda57b
enable png and mp4 output in SimpleOpenGL3App, see
...
Demos3/SimpleOpenGL3 use commandline parameter
--png_file="pngname" or
--mp4_file="video.mp4"
Thanks to http://blog.mmacklin.com/2013/06/11/real-time-video-capture-with-ffmpeg/
2014-07-29 16:58:22 -07:00
Erwin Coumans (Google)
f89d70b895
fix Linux build
2014-07-03 22:41:07 -07:00
Erwin Coumans
b438b91009
fix Mac build
2014-07-03 22:30:50 -07:00
Erwin Coumans
bae303c5da
add preliminary glut replacement test for Bullet 2.x demos
2014-07-03 16:42:50 -07:00
Erwin Coumans
dca234ec02
use included glew on Linux, only if glew is not installed in /usr/include/GL/glew.h
2014-07-01 13:01:42 -07:00
Erwin Coumans
46884e0f1f
update the binary premake4_osx binary, avoid the -Wl,-x flag so clang linker doesn't produce an error
...
ld: internal error: atom not found in symbolIndex
see http://industriousone.com/topic/how-remove-flags-ldflags
2014-05-16 16:11:59 -07:00
Erwin Coumans
d65089e8e0
cmake improvements
2014-05-15 15:39:26 -07:00
Erwin Coumans
5c1fc2e3a4
fix OpenGL detection on Linux, and re-add TTF project to premake
2014-05-14 11:03:53 -07:00
Erwin Coumans
934df75ea6
more fixes in the build, related to CMake and some error (don't delete a void* pointer!)
...
revert BasicDemo.cpp to original Bullet 2.82 state
2014-05-13 21:52:46 -07:00
Erwin Coumans
7cec30dede
fix Linux build
...
optional Midi under Linux (ALSA/libasound)
2014-05-05 15:37:02 -07:00
Erwin Coumans
4996a64238
fix CMake build on Mac OSX
2014-04-28 11:11:45 -07:00
Jackson Lee
b7b7356af8
Draft Parallel Linear BVH Broadphase.
2014-02-18 19:23:25 -08:00
erwincoumans
d65cd8060a
add Lua and basic Lua->C/C++ integration test, in preparation for Bullet demos setup using Lua scripts.
2014-02-05 19:39:48 -08:00
Erwin Coumans
ed12452fe6
update stringify_linux.sh and make shader filename case sensitive correct
2014-02-04 15:45:24 -08:00
Erwin Coumans
ac32af2b1c
fix linux build (case sensitive folder Test -> test etc)
2014-01-31 22:40:42 -08:00
erwincoumans
863ac2c477
add unit tests for OpenCL kernel compilation for all Bullet 3 kernels (using GoogleTest)
2014-01-31 20:41:13 -08:00
Erwin Coumans
d37a40caf1
add GoogleTest gtest-1.7.0 and simple hello_gtest (preparation for unit tests)
2014-01-31 00:18:35 -08:00
erwincoumans
2901d4682e
don't use the vendor OpenCL sdks (commented out in 'findOpenCL.lua' file), just use clew
2014-01-30 06:05:34 -08:00
Erwin Coumans
71f0537c6e
add Bullet 2.x constraint solver tests for hinge, with large mass ratio
...
experiment with Midi controls in PairBenchmark to tune variables (will move it into a utility class, so every demo can easier use it in the future)
fix issue with broadphase, not initializing all pairs properly at pair array overflow
2014-01-28 10:25:04 -08:00
erwincoumans
7cdda65822
Experimenting with GUI in PairBench, still preliminary. Goal is to make it easier to add variables that can be tuned using GUI/gwen
...
Pre-compile PairBench OpenCL kernel
2014-01-26 11:27:20 -08:00
erwincoumans
ed73bce9da
Move Bullet 2.x demos in a single demo 'AllBullet2Demos', for now only BasicDemo and FeatherstoneDemo is implemented.
2014-01-05 21:58:30 -08:00
erwincoumans
271f458837
Ported Minkowski Portal Refinement mpr.c from libccd to OpenCL, for bettwe edge-edge performance (and additional contact point for degenerate/high detailed convex shapes)
...
Removed b3RigidBodyCL, replace by b3RigidBodyData and b3RigidBodyData_t shared between C++ host and OpenCL,
Same for b3InertiaCL -> b3InertiaData
2014-01-04 20:54:27 -08:00
erwin coumans
12dd0daebc
prepare for Bullet 2 demo collection
2013-12-19 22:14:37 -08:00
erwin coumans
abeea0c8b0
add Bullet icon files
2013-12-19 12:41:36 -08:00
erwin coumans
69e5454d18
Add the old Bullet 2.x obsolete demos, and CMake buildsystem files, and gradually move them to newer Bullet 3.x structure
...
Use statically linked freeglut, instead of dynamic glut for the obsolete Bullet 2.x demos
Add the 'reset' method to b3GpuDynamicsWorld, and use it in the BasicGpuDemo (pretty slow in debug mode, use release mode)
Don't crash in btCollisionWorld, if there is no collision dispatcher
2013-12-19 12:40:59 -08:00
erwin coumans
7964f2d8c1
split OpenCL kernels: fatal error C1091: compiler limit: string exceeds 65535 bytes in length
2013-12-17 12:33:38 -08:00
erwin coumans
ba2ba28a89
add Bullet 2.x CPU FeatherstoneMultiBodyDemo
2013-12-09 14:16:51 -08:00
erwincoumans
fca6d11381
created new Bullet 2 CPU BasicDemo, using the OpenGL 3 rendering. I will add picking soon. Hold ctrl/alt + mouse to move/zoom camera
...
remove reference to btGImpact (it is removed now)
2013-12-06 17:48:58 -08:00
erwin coumans
ec39c2f210
Removed to bitonic sort and ios, they were not used and confuse Bram :)
...
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=9570
2013-11-25 21:38:44 -08:00
erwincoumans
b0c43520e3
more work towards re-enabling grid broadphase.
2013-11-10 22:00:35 -08:00
erwincoumans
6b5921b1b3
added a basic test for SimpleOpenGL3
2013-11-09 13:09:11 -08:00
erwincoumans
8f3051fdf1
add ImplicitCloth demo, by Stan Melax
...
add SimpleOpenGL3App, used in ImplicitCloth demo. The Bullet 3.x demos should use this as a template, it will clean up some of the mess.
2013-11-09 12:12:33 -08:00
erwincoumans
ef42c17143
add drawPoint/drawLine (both slow) and drawPoints (faster) to GLInstancingRenderer, with GLSL shaders
2013-09-06 12:05:56 -07:00
erwin coumans
a6d9cf382f
more work towards cpu pipeline, sharing OpenCL kernel code
2013-08-30 16:30:22 -07:00
erwincoumans
0ccb6922a8
more work towards CPU version
2013-08-30 08:06:46 -07:00
erwincoumans
ac23dbc4be
contact normal should point from B to A (to be consistent with Bullet 2.x)
...
stringify: pre-allocate bigger buffer (10MB, workaround)
2013-08-10 12:08:15 -07:00
erwincoumans
d158507c03
remove m_localPosA for now (it breaks NVIDIA OpenCL, copy of structs > 128 bytes)
2013-08-08 13:28:23 -07:00
erwincoumans
3bf003ace1
change lcpp Lua preprocessor, to keep #defines and comments, remove empty lines
...
remove duplicate data in b3Contact4 (now in btContact4Data shared between CPU/C++ and OpenCL)
OpenCL kernels use #include "Bullet3Collision/NarrowPhaseCollision/shared/b3Contact4Data.h"
Increase number of batches back to 250 (from 50), need to fix this hard coded number (see https://github.com/erwincoumans/bullet3/issues/12 )
Work towards GJK/EPA, in addition to SAT/clipping (early on)
2013-08-08 12:24:09 -07:00
erwincoumans
18eed5b067
further work towards sharing structures/code between C++ and OpenCL
...
(could break the build in C++/OpenCL)
2013-08-03 10:13:13 -07:00
erwincoumans
906415429c
added (and stripped) a simple C/C++ preprocessor (written in Lua), so the stringifier can handle the #include directive,
...
and embed the included files directly in the stringified files.
We need this, because we start sharing struct definitions and code between C/C++ and OpenCL (and potentially other languages)
preprocessor is from http://github.com/willsteel/lcpp
2013-08-01 21:05:19 -07:00
erwincoumans
1c0fc6bc2d
report when compound pair capacity is exceeded (and avoid crash)
...
add tetrahedron, reorganized demos
2013-07-30 17:00:50 -07:00
erwin coumans
2793a174c6
added fracture scene .bullet file (doesn't work well yet)
...
added tetrahedral mesh test scene
expose b3Config as member variable for demos.
move a 'glFlush' out of the innerloop (render performance)
SSE -> SSE2 in premake
fix crash in broadphase (when no aabb's exist)
2013-07-30 12:37:16 -07:00
erwincoumans
2f0fd80c9c
enable poxix MultiThreading sample under Linux
2013-07-18 21:18:09 -07:00
erwincoumans
a5b73e7c76
use Syoyo Fujita's Wavefront obj loader. made some performance improvements in debug mode for Visual Studio
...
use Maya style controls under Windows (need to fix Linux/OSX) use ALT+mouse to rotate, and mouse pick to pick objects
2013-07-18 15:55:38 -07:00
erwin coumans
061f7173b8
compute best axis on host and OpenCL for 1-axis SAP, based on best variance
2013-07-12 20:46:43 -07:00
erwincoumans
282e19171f
fix Linux version of ConstraintDemo
2013-07-09 14:41:56 -07:00
erwin coumans
3a6e1ccff4
work towards GPU joint solver (non-contact constraints), not working yet.
2013-07-06 13:08:58 -07:00