Skip to content

Commit 4ab457e

Browse files
committed
OpenGL texture, POSIX benchmark
1 parent f734a2e commit 4ab457e

60 files changed

Lines changed: 1144 additions & 197 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎README.md‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ C and C++ minimal examples. Asserts used wherever possible. Cheatsheets, tutoria
3636
1. [Linting tools](linting-tools.md)
3737
1. [Frama-C](frama-c/)
3838
1. [Boost](boost/)
39-
1. [CMake](cmake.md)
39+
1. [Build systems](build-systems.md)
40+
1. [CMake](cmake.md)
4041
1. [Flex and Bison](flex-bison/)
4142
1. [glibc](glibc/)
4243
1. [hello_world_cpp.cpp](hello_world_cpp.cpp)
@@ -52,6 +53,7 @@ C and C++ minimal examples. Asserts used wherever possible. Cheatsheets, tutoria
5253
1. [LAPACK](lapack/)
5354
1. [OpenCV](opencv/)
5455
1. [PLplot](plplot/)
56+
1. [Bullet physics](bullet/)
5557
1. [CONTRIBUTING](CONTRIBUTING.md)
5658
1. [TODO](TODO.md)
5759
1. [Bibliography](bibliography.md)

‎build-systems.md‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Build systems
2+
3+
- premake:

‎bullet.md‎

Lines changed: 0 additions & 17 deletions
This file was deleted.

‎bullet/Makefile‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../Makefile_many

‎bullet/Makefile_params‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# TODO get rid of this. Bullet headers are horribly coded for Linux:
2+
# the toplevel include all btBulletDynamicsCommon.h uses #include "subdir"
3+
# instead of the better #include "bullet/subdir".
4+
# So we are forced to add it to the search path.
5+
# Maybe some cmake magic would prevent that?
6+
I := -I/usr/include/bullet -I/usr/local/include/bullet
7+
LIBS := \
8+
-lBullet2FileLoader \
9+
-lBullet3Collision \
10+
-lBullet3Common \
11+
-lBullet3Dynamics \
12+
-lBullet3Geometry \
13+
-lBullet3OpenCL_clew \
14+
-lBulletCollision \
15+
-lBulletDynamics \
16+
-lBulletSoftBody \
17+
-lLinearMath

‎bullet/README.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Bullet
2+
3+
1. [Introduction](introduction.md)
4+
1. [Concepts](concepts.md)
5+
1. [Build](build.md)
6+
1. [Users](users.md)
7+
1. Examples
8+
1. [Hello world](hello_world.cpp)
9+
1. [TODO](TODO.md)

‎bullet/TODO.md‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# TODO
2+
3+
- Stairs physics: http://gamedev.stackexchange.com/questions/74794/make-the-player-run-onto-stairs-smoothly

‎bullet/alternatives.md‎

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Alternatives
2+
3+
2009 comparison: <http://physxinfo.com/articles/?page_id=154>
4+
5+
Open source:
6+
7+
- ODE
8+
- Newton
9+
10+
Proprietary:
11+
12+
- PhysX: bought by NVIDIA from a Swiss company. NVIDIA GPU acceleration.
13+
- 2015 Flex demo with lots of water / cloth: <https://www.youtube.com/watch?v=pfonMfP__Ks>
14+
- Havoc: first bought by Intel from an Irish company, then Microsoft.
15+
- Has GPU support.
16+
- Used by Assassin's Creed (Ubisoft)
17+
- Havoc destruction
18+
- car demo 2015: https://www.youtube.com/watch?v=iiRR6DtR1z8
19+
- 2010 demo: https://www.youtube.com/watch?v=cIcg5eotZlY
20+
21+
2D:
22+
23+
- Box2D
24+
25+
## Fluids
26+
27+
- https://github.com/rchoetzlein/fluids3
28+
- https://github.com/erwincoumans/fluids_v3
29+
- https://en.wikipedia.org/wiki/Smoothed-particle_hydrodynamics
30+
- Windows focused build, https://github.com/erwincoumans/fluids_v3/pull/2 might port it to Linux

‎bullet/build.md‎

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Build
2+
3+
Tested on Ubuntu 2.83.5 in Ubuntu 15.10.
4+
5+
Just forget that `premake` build, use the much more popular CMake and be done with it! Why both exist: <https://github.com/bulletphysics/bullet3/issues/600>
6+
7+
git clone https://github.com/bulletphysics/bullet3
8+
git checkout 2.83.5
9+
mkdir -p build
10+
cd build
11+
cmake .. -DBUILD_SHARED_LIBS=ON
12+
make
13+
sudo make install
14+
15+
Run examples:
16+
17+
cd build/examples
18+
./ExampleBrowser/App_ExampleBrowser
19+
./HelloWorld/App_HelloWorld
20+
21+
If you don't use:
22+
23+
-DBUILD_SHARED_LIBS=ON
24+
25+
only the static `.a` files are generated, and you will get link errors if you try to use them with `-lBulletSomething`.
26+
27+
The example browser allows you to:
28+
29+
- view simulations OpenGL
30+
- mouse drag objects around
31+
- move camera with mouse wheel or Ctrl + mouse drag
32+
33+
Make dynamic libraries: <https://github.com/bulletphysics/bullet3/issues/447>
34+
35+
TODO: compile examples without the example browser.

‎bullet/concepts.md‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Concepts
2+
3+
- acceleration: continuous speed change, ignores mass
4+
- force: continuous speed change, considers mass
5+
- impulse: instantaneous speed change, considers mass
6+
- velocity change: instantaneous speed change, ignores mass
7+
- rag doll physics: https://www.youtube.com/watch?v=XKuleYcVF-U
8+
- https://en.wikipedia.org/wiki/Ragdoll_physics
9+
- http://www.havok.com/physics/
10+
I distinctly remember sing that on a CS:GO game in 2016-04-15, when a dead body fell from a platform
11+
- AABB axis-aligned bounding-box http://www.gamasutra.com/view/feature/131833/when_two_hearts_collide_.php

0 commit comments

Comments
 (0)