Commit 1eb94f48 authored by LuisAntonRebollo's avatar LuisAntonRebollo

Bullet Library v2.81

parent 64fef8b2
/*
Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
Copyright (c) 2003-2010 Erwin Coumans http://continuousphysics.com/Bullet/
This software is provided 'as-is', without any express or implied warranty.
In no event will the authors be held liable for any damages arising from the use of this software.
......@@ -13,5 +13,6 @@ subject to the following restrictions:
*/
Free for commercial use, but please mail bullet@erwincoumans.com to report projects, and join the forum at
www.continuousphysics.com/Bullet/phpBB2
Free for commercial use, please report projects in the forum at http://www.bulletphysics.org
In case you want to display a Bullet logo in your software: you can download the Bullet logo in various vector formats and high resolution at the download section in http://bullet.googlecode.com
This diff is collapsed.
Bullet Continuous Collision Detection and Physics Library
Primary author and maintainer: Erwin Coumans
Please see http://code.google.com/p/bullet/source/list for more complete log in Subversion
This ChangeLog is incomplete, for an up-to-date list of all fixed issues see http://bullet.googlecode.com
using http://tinyurl.com/yabmjjj
2012 September 10
- Bullet 2.81 release preparation
2011 September 15
- Bullet 2.79 release, revision 2433 (mainly a bugfix release)
- Revert a change in 2.78 related to speculative contacts (it has undesired side effects)
- Use HACD Hierachical Approximate Convex Decomposition (thanks to Khaled Mammou and Sujeon Kim)
- Add Intel cmake-build support for OpenCL accelerated cloth/particle
- add premake4 build system support to autogenerate visual studio project files that can be shipped (see msvc folder)
- preliminary build support for Google NativeClient, using premake4 (see msvc folder)
2011 April 8
- Bullet 2.78 release 2383
- Added FractureDemo
- Added Separatinx Axis Test and Polyhedral Clipping support (See InternalEdgeDemo)
- Added speculative contacts as CCD response method (See CcdPhysicsDemo)
- OpenCL and DirectCompute cloth as basic support for capsule collision
2010 September 7
- autotools now uses CamelCase naming for libraries just like cmake:
libbulletdynamics -> libBulletDynamics, libbulletmath -> libLinearMath
2010 July 21
- Preparing for Bullet 2.77 release, around revision r2135
- Added an OpenCL particle demo, running on NVidia, AMD and MiniCL
Thanks to NVidia for the original particle demo from their OpenCL SDK
- Added GPU deformable object solvers for OpenCL and DirectCompute, and a DirectX 11 cloth demo
Thanks to AMD
- Create a separate library for MiniCL,
MiniCL is a rudimentary OpenCL wrapper that allows to compile OpenCL kernels for multi-core CPU, using Win32 Threads or Posix
- Moved vectormath into Bullet/src, and added a SSE implementation
- Added a btParallelConstraintSolver, mainly for PlayStation 3 Cell SPUs (although it runs fine on CPU too)
2010 March 6
- Dynamica Maya plugin (and COLLADA support) is moved to http://dynamica.googlecode.com
2010 February
- Bullet 2.76 release, revision 2010
- support for the .bullet binary file format
- btInternalEdgeUtility to adjust unwanted collisions against internal triangle edges
- Improved Maya Dynamica plugin with better constraint authoring and .bullet file export
2009 September 17
- Minor update to Bullet 2.75 release, revision 1770
- Minor update to Bullet 2.75 release, revision 1776
- Support for btConvex2dShape, check out Bullet/Demos/Box2dDemo
- Fixes in build systems
- Minor fix in btGjkPairDetector
- Initialize world transform for btCollisionShape in constructor
......
......@@ -13,6 +13,9 @@
# General configuration options
#---------------------------------------------------------------------------
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
PROJECT_NAME = "Bullet Collision Detection & Physics Library"
......@@ -399,7 +402,9 @@ HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = YES
HHC_LOCATION = "C:\Program Files\HTML Help Workshop\hhc.exe"
# HHC_LOCATION = "C:\Program Files\HTML Help Workshop\hhc.exe"
HHC_LOCATION = "C:\Program Files (x86)\HTML Help Workshop\hhc.exe"
HTML_FILE_EXTENSION = .html
HTML_HEADER =
......@@ -589,7 +594,7 @@ MACRO_EXPANSION = YES
# then the macro expansion is limited to the macros specified with the
# PREDEFINED and EXPAND_AS_PREDEFINED tags.
EXPAND_ONLY_PREDEF = NO
EXPAND_ONLY_PREDEF = YES
# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
# in the INCLUDE_PATH (see below) will be search if a #include is found.
......@@ -615,7 +620,14 @@ INCLUDE_FILE_PATTERNS =
# or name=definition (no spaces). If the definition and the = are
# omitted =1 is assumed.
PREDEFINED =
PREDEFINED = "ATTRIBUTE_ALIGNED128(x)=x" \
"ATTRIBUTE_ALIGNED16(x)=x" \
"SIMD_FORCE_INLINE=inline" \
"VECTORMATH_FORCE_INLINE=inline" \
"USE_WIN32_THREADING=1"\
"USE_PTHREADS=1"\
"_WIN32=1"
# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.
......@@ -718,6 +730,11 @@ MAX_DOT_GRAPH_HEIGHT = 1024
GENERATE_LEGEND = YES
# delete intermediate dot files?
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to the search engine
#---------------------------------------------------------------------------
......
Bullet Collision Detection and Physics Library
** Windows Compilation **
See also http://bulletphysics.org/mediawiki-1.5.8/index.php/Creating_a_project_from_scratch
Under Windows, projectfiles for Visual Studio version 6,7,7.1 and 8 are
available in msvc/<version>. For example, for Visual Studio 2005, open
msvc/8/wksbullet.sln
** Windows Compilation **
The ColladaDemo and ConvexDecomposition demo needs to be able to locate the
data files (jenga.dae and file.obj) in the current directory. Make sure Visual
Studio points to the right folder (..\..).
Open the Microsoft Visual Studio solution in msvc/20xx/BULLET_PHYSICS.sln
Alternatively use CMake to autogenerate a build system for Windows:
Alternatively, use CMake to autogenerate a build system for Windows:
- Download/install CMake from www.cmake.org or package manager
- Use cmake-gui or
- List available build systems by running 'cmake' in the Bullet root folder
- Use cmake-gui
- Create a build system using the -G option for example:
cmake . -G "Visual Studio 9 2008" or
cmake . -G "Visual Studio 9 2008 Win64"
** Linux Compilation **
......@@ -26,6 +24,11 @@ Alternatively use CMake to autogenerate a build system for Windows:
CMake is like autoconf in that it will create build scripts which are then
used for the actual compilation
- List available build systems by running 'cmake' in the Bullet root folder
- Create a build system using the -G option for example:
cmake . -G "Unix Makefiles"
- There are some options for cmake builds:
BUILD_SHARED_LIBS: default 'OFF', set to 'ON' to build .so libraries
BUILD_EXTRAS: default 'ON', compiles additional libraries in 'Extras'
......@@ -33,6 +36,8 @@ Alternatively use CMake to autogenerate a build system for Windows:
CMAKE_INSTALL_PREFIX: default '/usr/local', the installation path.
CMAKE_INSTALL_RPATH: if you install outside a standard ld search path,
then you should set this to the installation lib path.
CMAKE_BUILD_TYPE: default 'Release', can include debug symbols with
either 'Debug' or 'RelWithDebInfo'.
Other options may be discovered by 'cmake --help-variable-list' and
'cmake --help-variable OPTION'
......@@ -41,7 +46,7 @@ Alternatively use CMake to autogenerate a build system for Windows:
also produce Eclipse or KDevelop project files. See 'cmake --help' to see
what "generators" are available in your environment, selected via '-G'.
For example:
cmake -DBUILD_SHARED_LIBS=ON
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=RelWithDebugInfo
- Assuming using the default Makefile output from cmake, run 'make' to
build, and then 'make install' if you wish to install.
......@@ -53,6 +58,12 @@ Alternatively use CMake to autogenerate a build system for Windows:
CMake is like autoconf in that it will create build scripts which are then
used for the actual compilation
- List available build systems by running 'cmake' in the Bullet root folder
- Create a build system using the -G option for example:
cmake . -G Xcode
cmake . -G "Unix Makefiles"
- There are some options for cmake builds:
BUILD_SHARED_LIBS: default 'OFF', set to 'ON' to build .dylib libraries
BUILD_EXTRAS: default 'ON', compiles additional libraries in 'Extras'
......@@ -60,6 +71,10 @@ Alternatively use CMake to autogenerate a build system for Windows:
CMAKE_INSTALL_PREFIX: default '/usr/local', the installation path.
CMAKE_INSTALL_NAME_DIR: if you install outside a standard ld search
path, then you should set this to the installation lib/framework path.
CMAKE_OSX_ARCHITECTURES: defaults to the native architecture, but can be
set to a semicolon separated list for fat binaries, e.g. ppc;i386;x86_64
CMAKE_BUILD_TYPE: default 'Release', can include debug symbols with
either 'Debug' or 'RelWithDebInfo'.
To build framework bundles:
FRAMEWORK: default 'OFF', also requires 'BUILD_SHARED_LIBS' set ON
......@@ -78,23 +93,19 @@ Alternatively use CMake to autogenerate a build system for Windows:
For example:
cmake -DBUILD_SHARED_LIBS=ON -DFRAMEWORK=ON \
-DCMAKE_INSTALL_PREFIX=/Library/Frameworks \
-DCMAKE_INSTALL_NAME_DIR=/Library/Frameworks
-DCMAKE_INSTALL_NAME_DIR=/Library/Frameworks \
-DCMAKE_OSX_ARCHITECTURES='ppc;i386;x86_64' \
-DCMAKE_BUILD_TYPE=RelWithDebugInfo
- Assuming using the default Makefile output from cmake, run 'make' to build
and then 'make install'.
** Alternative Mac OS X and Linux via 'jam' or autoconf/make **
** Alternative Mac OS X and Linux via autoconf/make **
- at the command line:
./autogen.sh
./configure
- 'jam' or 'make' depending on preference
- If jam is not available for your system, you can compile it, jam sources
are included with the Bullet sources in jam-2.5
- compiling jam:
cd jam-2.5
make
sudo make install
make
** For more help, visit http://www.bulletphysics.com **
** For more help, visit http://www.bulletphysics.org **
TOP ?= "@top_srcdir@" ;
BUILDTOP ?= "@top_builddir@" ;
SubDir TOP ;
IncludeDir ;
IncludeDir src ;
IncludeDir $(BUILDTOP) : : literal transient ;
CleanDir clean :
out ;
Clean distclean :
aclocal.m4
config.h
config.h.in~
config.log
config.status
config.status.lineno
config.cache
configure.lineno
Jamconfig
Jamfile ;
CleanDir distclean :
autom4te.cache ;
Depends distclean : clean ;
Clean maintainerclean :
config.h.in
configure ;
Depends maintainerclean : distclean ;
Help distclean : "Remove built targets and configuration" ;
Help maintainerclean :
"Remove built targets, configuration, and generated files." ;
ApplicationIconDefault win32 : all : bullet_ico.ico : $(TOP) msvc ;
MsvcGenSubDir TOP msvc : common ;
MsvcGenSubDir TOP msvc 6 : 6 ;
MsvcGenSubDir TOP msvc 7 : 7 ;
MsvcGenSubDir TOP msvc 71 : 71 ;
MsvcGenSubDir TOP msvc sn71 : sn71 ;
MsvcGenSubDir TOP msvc 8 : 8 ;
MsvcGenSubDir TOP msvc xenon8 : xenon8 ;
MsvcGenTemplateDir TOP mk msvcgen ;
MsvcGenWorkspace bullet : : "grp.+_(?!bullet$)" ;
MsvcGenWorkspace bullet_corelib : libbulletcollision libbulletdynamics libbulletmath libbulletmultithreaded : "grp.+_(?!bullet_corelib$)" ;
# Set project-specific compiler and linker options for msvcgen.
MsvcGenConfig GL.AVAILABLE : yes ;
MsvcGenConfig GL.LFLAGS : ;
MsvcGenConfig GL.LIBS : opengl32.lib ;
MsvcGenConfig GLUT.AVAILABLE : yes ;
MsvcGenConfig GLUT.CFLAGS : ;
MsvcGenConfig GLUT.LFLAGS : ;
MsvcGenConfig GLUT.INCDIRS : "../../Glut" ;
MsvcGenConfig GLUT.LIBDIRS : "../../Glut" ;
MsvcGenConfig GLUT.LIBS : glut32.lib ;
MsvcGenConfig GLEW.LIBS : glew32.lib ;
SubInclude TOP src ;
SubInclude TOP Extras ;
SubInclude TOP Demos ;
Depends install_config : [ DoInstall bullet.pc : $(libdir)/pkgconfig ] ;
if ! $(BUILDTOP)
{
BUILDTOP = . ;
}
# Include configuration.
JAMCONFIG ?= $(BUILDTOP)/Jamconfig ;
include $(JAMCONFIG) ;
# Set up compiler flags.
# Unfortunately, we can not use FDefines here since Boost Jam does not have it,
# and we have not yet included mk/jam/build.jam which provides an emulation
# layer for Boost. We can not include build.jam earlier because these flags
# need to be defined before build.jam is included. :-(
COMPILER.CFLAGS += -Wall -Wno-unknown-pragmas ;
COMPILER.CFLAGS.optimize += -O3 -fomit-frame-pointer -ffast-math ;
COMPILER.CFLAGS.debug += -g3 ;
COMPILER.CFLAGS.profile += -gp -O3 ;
# Include CS build rules
include $(TOP)/mk/jam/build.jam ;
if CONDITIONAL_BUILD_DEMOS
SUBDIRS=src Extras Demos
else
SUBDIRS=src Extras
SUBDIRS=src
endif
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = bullet.pc
For news, visit the Bullet Physics Forum at
http://www.continuousphysics.com/Bullet/phpBB2/viewforum.php?f=9
For news, visit the Bullet Physics forums at
http://www.bulletphysics.org and http://bullet.googlecode.com
Bullet is a 3D Collision Detection and Rigid Body Dynamics Library for games and animation.
Free for commercial use, including Playstation 3, open source under the ZLib License.
Discrete and continuous collision detection, integrated into Blender 3D, and COLLADA 1.4 Physics import.
See the Bullet_User_Manual.pdf for more info and visit the Bullet Physics Forum at
http://bulletphysics.com
http://bulletphysics.org
......@@ -1416,7 +1416,6 @@ AC_DEFUN([CS_CHECK_TEMPLATE_TOOLKIT2],
#-----------------------------------------------------------------------------
AC_DEFUN([CS_PROG_CC],[
CFLAGS="$CFLAGS" # Filter undesired flags
AC_PROG_CC
AS_IF([test -n "$CC"],[
CS_EMIT_BUILD_PROPERTY([CMD.CC], [$CC])
CS_EMIT_BUILD_PROPERTY([COMPILER.CFLAGS], [$CPPFLAGS $CFLAGS], [+])
......@@ -1429,7 +1428,6 @@ AC_DEFUN([CS_PROG_CC],[
AC_DEFUN([CS_PROG_CXX],[
CXXFLAGS="$CXXFLAGS" # Filter undesired flags
AC_PROG_CXX
AS_IF([test -n "$CXX"],[
CS_EMIT_BUILD_PROPERTY([CMD.C++], [$CXX])
......
......@@ -7,5 +7,5 @@ Name: bullet
Description: Bullet Continuous Collision Detection and Physics Library
Requires:
Version: @PACKAGE_VERSION@
Libs: -L${libdir} -lbulletdynamics -lbulletcollision -lbulletmath
Libs: -L${libdir} -lBulletSoftBody -lBulletDynamics -lBulletCollision -lLinearMath
Cflags: -I${includedir}/bullet
/* config.h.in. Generated from configure.ac by autoheader. */
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
/* Architecture is PowerPC */
#undef ARCH_PPC
......@@ -9,26 +12,26 @@
/* Architecture is x86-64 */
#undef ARCH_X86_64
/* Define when compiling for MacOS/X */
#undef CS_PLATFORM_MACOSX
/* Define when compiling for Unix and Unix-like (i.e. MacOS/X) */
#undef CS_PLATFORM_UNIX
/* Define when compiling for Win32 */
#undef CS_PLATFORM_WIN32
/* Use the Apple OpenGL framework. */
#undef HAVE_APPLE_OPENGL_FRAMEWORK
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <GL/glext.h> header file. */
#undef HAVE_GL_GLEXT_H
/* Define to 1 if you have the <GL/glut.h> header file. */
#undef HAVE_GL_GLUT_H
/* Define to 1 if you have the `mx' library (-lmx). */
#undef HAVE_LIBMX
/* Define to 1 if you have the <GL/glu.h> header file. */
#undef HAVE_GL_GLU_H
/* Define to 1 if you have the `nsl' library (-lnsl). */
#undef HAVE_LIBNSL
/* Define to 1 if you have the <GL/gl.h> header file. */
#undef HAVE_GL_GL_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
......@@ -51,19 +54,16 @@
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Whether the int32 type is available */
#undef HAVE_TYPE_INT32
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the <windows.h> header file. */
#undef HAVE_WINDOWS_H
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#undef LT_OBJDIR
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O
/* Name of package */
#undef PACKAGE
......@@ -79,6 +79,9 @@
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
......@@ -97,12 +100,14 @@
/* Version number of package */
#undef VERSION
/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN
/* Define to 1 if the X Window System is missing or not being used. */
#undef X_DISPLAY_MISSING
/* Avoid problem caused by missing <Carbon/CarbonSound.h> */
#undef __CARBONSOUND__
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
# undef WORDS_BIGENDIAN
# endif
#endif
......@@ -9,16 +9,12 @@ AC_PREREQ([2.54])
#----------------------------------------------------------------------------
AC_INIT(
[bullet],
[2.75],
[2.81],
[bullet@erwincoumans.com])
AC_CANONICAL_HOST
CS_PACKAGEINFO(
[Bullet Continuous Collision Detection and Physics Library],