In this post I refer to Bullet svn r1526 (aka 2.73RC4).
I'm on Debian GNU/Linux testing "Lenny" x86 32bit.
I compile using cmake/make/gcc as found in Debian repository.
My VGA is Nvidia 6600GT, driver 173.14.09.
In the "Extra" folder I found "GPUphysics" and "CUDA".
Trying to build "CUDA" I realized that it has only VS build support.
In the future will you support cmake or make for it?
(I am just curious, because I don't think my VGA supports CUDA).
Then I tried to build "GPUphysics" (I added "GPUphysics" in Extras/CMakeLists.txt).
I got this output (compilation ok, but problems linking):
It searches bullet_root/Glut/glew/lib/glew32.lib, but I think this is broken even building with VS because glew32.lib is in bullet_root/Glut/.Linking CXX executable GPUphysics
/usr/bin/ld: cannot find -l../../Glut/glew/lib/glew32.lib
collect2: ld returned 1 exit status
make[2]: *** [Extras/GPUphysics/GPUphysics] Error 1
make[1]: *** [Extras/GPUphysics/CMakeFiles/GPUphysics.dir/all] Error 2
make: *** [all] Error 2
(glew32.lib is full of .dll, so I don't think it is useful under GNU/Linux).
Searching where my glew library is, I discovered this
To build GPUphysics on GNU/Linux you have to substituteuser@host:~$ ls -l /usr/lib/libGLEW.*
-rw-r--r-- 1 root root 262438 25 gen 2008 /usr/lib/libGLEW.a
lrwxrwxrwx 1 root root 16 9 nov 20:31 /usr/lib/libGLEW.so -> libGLEW.so.1.5.0
lrwxrwxrwx 1 root root 16 9 nov 20:31 /usr/lib/libGLEW.so.1.5 -> libGLEW.so.1.5.0
-rw-r--r-- 1 root root 224992 25 gen 2008 /usr/lib/libGLEW.so.1.5.0
Code: Select all
LINK_LIBRARIES(
../../Glut/glew/lib/glew32.lib ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glU_LIBRARY}
)
Code: Select all
LINK_LIBRARIES(
/usr/lib/libGLEW.so ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glU_LIBRARY}
)
Can you please apply a similar fix to svn to let build GPUphysics on GNU/Linux?
Then I ran the built executable, and tried what is suggested in Extras/GPUphysics/DEBUGGING_README.
I noticed that in that file the executable is referred to as GPU_physics_demo, but the actual name of the executable is GPUphysics.
Should the name of the executable (or the doc) be changed?
When I run the executable, I get this output first:
Running the executable with "./GPUphysics", "./GPUphysics -p" or "./GPUphysics -v" I get an output as this:INFO: This hardware supports at most:
4 vert texture samplers
16 frag texture samplers
16 total texture samplers
What does it mean?@a
@b
@c
...
Running "./GPUphysics" , the interesting rows I get are these (I report only the first 10):
Running "./GPUphysics -v" , the interesting rows I get are these (I report only the first 10):Performance: 1 passes 256 cubes: other=0.208000ms collisions=0.933000ms
Performance: 1 passes 256 cubes: other=0.207000ms collisions=0.932000ms
Performance: 2 passes 256 cubes: other=0.189000ms collisions=1.446000ms
Performance: 2 passes 256 cubes: other=0.190000ms collisions=1.444000ms
Performance: 1 passes 256 cubes: other=0.211000ms collisions=0.932000ms
Performance: 2 passes 256 cubes: other=0.208000ms collisions=1.441000ms
Performance: 2 passes 256 cubes: other=0.187000ms collisions=1.447000ms
Performance: 2 passes 256 cubes: other=0.187000ms collisions=1.447000ms
Performance: 2 passes 256 cubes: other=0.188000ms collisions=1.447000ms
Performance: 2 passes 256 cubes: other=0.192000ms collisions=1.438000ms
...
What do these rows mean?Performance: 1 passes 256 cubes: other=0.640000ms collisions=0.745000ms
Performance: 1 passes 256 cubes: other=0.585000ms collisions=0.749000ms
Performance: 2 passes 256 cubes: other=0.585000ms collisions=1.260000ms
Performance: 2 passes 256 cubes: other=0.568000ms collisions=1.261000ms
Performance: 1 passes 256 cubes: other=0.637000ms collisions=0.672000ms
Performance: 2 passes 256 cubes: other=0.568000ms collisions=1.260000ms
Performance: 2 passes 256 cubes: other=0.569000ms collisions=1.253000ms
Performance: 2 passes 256 cubes: other=0.566000ms collisions=1.261000ms
Performance: 2 passes 256 cubes: other=0.587000ms collisions=1.259000ms
Performance: 2 passes 256 cubes: other=0.591000ms collisions=1.258000ms
...
Last question.
What is GPUphysics? (I quickly read [1], but I didn't understand too much...)
Is it a library to execute code on the GPU using GLSL shaders (without CUDA/Stream)?
It doesn't seem tightly integrated with Bullet... How much is it general?
(Sorry for the long post.)
Thanks for your great work.
slackydeb
[1] http://www.bulletphysics.com/Bullet/php ... 00&p=10217