Jump to content

The Plan


Recommended Posts

Hi all,

This is the forum to host the development of an Open Source implementation of the Bullet Physics system as a Houdini Solver DOP.

The corresponding wiki entry is here: BulletPhysicsRBDSolverDOP.

The code is hosted on the odforce plugins sourceforge page. Well, soon! Gotta nail a few more issues before I can upload it.

Naturally, this needs as many helpful contributors as possible to get truly useful. Please write if you're interested in contributing to this effort. So far I've found the API to be easy to build and very clean to work with. It's under active development and so should be a fun experience for any curious coders.

This forum would be the right place for any suggestions, requests and bugs.

Thanks,

Jason and the rest of dirty odforce crew

  • Like 1
Link to comment
Share on other sites

If can work on this with an escape license ( or is this doable with an apprentice master license? ), I'll gladly help out. I did quite a lot of work with Bullet and ODE at my last job.

Plus I'm pretty getting pretty frustrated with the broken GLSL implementation in Houdini OSX so a new distraction would be nice :)

Link to comment
Share on other sites

I believe it should be doable with an apprentice license. As far as I know the full hdk comes along with it, the only problem is all example files will be in apprentice format.

M

Totally right, I'm developing it on Apprentice at home right now. You might have to figure out how to start up Houdini with Apprentice licensing when you already have Escape so the DOP contexts are available.

Also: an idea - once we've figured out this DOP, it's possible to re-use much of the code for a Bullet SOP, which, like the Spring SOP, etc, will solve dynamics in SOPs. This would be good for Escape licenses, etc but you do miss out on all the powerful functionality of DOPs.

Link to comment
Share on other sites

At Sony we had a SOP implementation of Bullet. You do miss the powerful functionality of DOPS, but then you also lose out on the alarming complexity of it too :). Sometimes it's nice just to have a dynamics sim controlled by point attrs.

M

Link to comment
Share on other sites

  • 5 months later...
I'm in as well.

i've used the code from the other thread, compiled with the latest bullet on a mac and it is working.

Is there a more current version i can mess arround with it ? i havent found something on the SourceForge Page.

cheers Infernal

It's good to hear to got a compile working!

I'm glad there is still interest in this project. I'm sorry I hadn't much time lately to make any enhancements to it, but there is another good reason why I thought it'd be prudent to wait: Houdini 10 has something that will make a rewrite of this Solver much easier to tackle, at least as a DOP Solver. As a SOP Solver, I think it'd have so much its own setup that anyone wanting to get started on that may as well do it any time.

Thanks,

Jason

Link to comment
Share on other sites

Houdini 10 has something that will make a rewrite of this Solver much easier to tackle, at least as a DOP Solver.

So what I was referring to was the fact the there is now an ODE solver shipped with Houdini 10, along with the source code to it! This should make figuring out much of how DOPs works a lot easier, and so it should be easier to implement Bullet in the manner that Side Effects intended.

$HFS/houdini/public/SIM_SolverODE/SIM_SolverODE.C

If anyone is interested in taking a look at a rewrite with all this new info at hand, let me know!

Link to comment
Share on other sites

  • 5 weeks later...
So what I was referring to was the fact the there is now an ODE solver shipped with Houdini 10, along with the source code to it! This should make figuring out much of how DOPs works a lot easier, and so it should be easier to implement Bullet in the manner that Side Effects intended.

$HFS/houdini/public/SIM_SolverODE/SIM_SolverODE.C

If anyone is interested in taking a look at a rewrite with all this new info at hand, let me know!

Started looking into this, and hit a first bump in trying to compile this file, it seems to ask for:

#include "SIM_ODEData.h"

Anyone have any idea where this might be?

Link to comment
Share on other sites

  • 1 month later...
Started looking into this, and hit a first bump in trying to compile this file, it seems to ask for:

#include "SIM_ODEData.h"

Anyone have any idea where this might be?

The SIM_ODEData.h file is in the $HFS/houdini/public/SIM_SolverODE directory (well, its here in Houdini 10.0.320).

To any interested parties (no, not the kind with balloons), I made a couple of modifications to the buller solver v0.11 to get it compiling on linux (tested using Ubuntu 9.04 64bit, GCC 4.3.3 and Houdini 10.0.305). I had to modify the function prototypes in the header file (simply removed the classname from the prototypes, nothing serious). GCC also refused to compile due the abs() functions requiring explicit type casting. And to keep Houdini from complaining, I included the UT/UT_DSOVersion.h file.

The compile script and the tar_for_dist scripts have been modified. The tar_for_dist script creates a tar file with the same name as the directory in which the Bullet Solver resides (which makes for easy versioning). I'm using Bash, so I'm not sure if it will work in other shells.

I must say that this is quite a nice little project. Thanks Jason! This bullet solver implementation work much faster than the ODE Solver in H10...well, either that or it's difficult to get ODE to speed up.

CheerZ,

Van Aarde.

--edit--

Maybe I should've posted this in the "releases" thread o_O. Oh well.

SIM_SolverBullet_0.11_vanaarde.tar.gz

Edited by nanocell
Link to comment
Share on other sites

  • 2 weeks later...

nanocell

could u post a compiled version for lin64, I got errors below:

Linking with 'libLinearMath'

Linking with 'libbulletdynamics'

Linking with 'libbulletcollision'

Making SIM_SolverBullet.o and /root/houdini10.0/dso/SIM_SolverBullet.so from SIM_SolverBullet.cpp

In file included from /root/Desktop/bullet-2.74/src/BulletDynamics/Vehicle/btRaycastVehicle.h:20,

from /root/Desktop/bullet-2.74/src/btBulletDynamicsCommon.h:38,

from SIM_SolverBullet.cpp:6:

/root/Desktop/bullet-2.74/src/BulletDynamics/Dynamics/btActionInterface.h:39:32: warning: no newline at end of file

In file included from SIM_SolverBullet.cpp:9:

/root/Desktop/bullet-2.74/src/BulletCollision/Gimpact/btGImpactShape.h: In copy constructor ‘btGImpactCompoundShape::CompoundPrimitiveManager::CompoundPrimitiveManager(const btGImpactCompoundShape::CompoundPrimitiveManager&)’:

/root/Desktop/bullet-2.74/src/BulletCollision/Gimpact/btGImpactShape.h:308: warning: base class ‘class btPrimitiveManagerBase’ should be explicitly initialized in the copy constructor

/root/Desktop/bullet-2.74/src/BulletCollision/Gimpact/btGImpactShape.h: In copy constructor ‘btGImpactMeshShapePart::TrimeshPrimitiveManager::TrimeshPrimitiveManager(const btGImpactMeshShapePart::TrimeshPrimitiveManager&)’:

/root/Desktop/bullet-2.74/src/BulletCollision/Gimpact/btGImpactShape.h:552: warning: base class ‘class btPrimitiveManagerBase’ should be explicitly initialized in the copy constructor

/usr/bin/ld: cannot find -lLinearMath

collect2: ld returned 1 exit status

Link to comment
Share on other sites

nanocell

could u post a compiled version for lin64, I got errors below:

Linking with 'libLinearMath'

Linking with 'libbulletdynamics'

Linking with 'libbulletcollision'

Making SIM_SolverBullet.o and /root/houdini10.0/dso/SIM_SolverBullet.so from SIM_SolverBullet.cpp

In file included from /root/Desktop/bullet-2.74/src/BulletDynamics/Vehicle/btRaycastVehicle.h:20,

from /root/Desktop/bullet-2.74/src/btBulletDynamicsCommon.h:38,

from SIM_SolverBullet.cpp:6:

/root/Desktop/bullet-2.74/src/BulletDynamics/Dynamics/btActionInterface.h:39:32: warning: no newline at end of file

In file included from SIM_SolverBullet.cpp:9:

/root/Desktop/bullet-2.74/src/BulletCollision/Gimpact/btGImpactShape.h: In copy constructor ‘btGImpactCompoundShape::CompoundPrimitiveManager::CompoundPrimitiveManager(const btGImpactCompoundShape::CompoundPrimitiveManager&)’:

/root/Desktop/bullet-2.74/src/BulletCollision/Gimpact/btGImpactShape.h:308: warning: base class ‘class btPrimitiveManagerBase’ should be explicitly initialized in the copy constructor

/root/Desktop/bullet-2.74/src/BulletCollision/Gimpact/btGImpactShape.h: In copy constructor ‘btGImpactMeshShapePart::TrimeshPrimitiveManager::TrimeshPrimitiveManager(const btGImpactMeshShapePart::TrimeshPrimitiveManager&)’:

/root/Desktop/bullet-2.74/src/BulletCollision/Gimpact/btGImpactShape.h:552: warning: base class ‘class btPrimitiveManagerBase’ should be explicitly initialized in the copy constructor

/usr/bin/ld: cannot find -lLinearMath

collect2: ld returned 1 exit status

I sure could, but whether it will work will most likely depend on a number of factors: which Houdini version are you using? Which linux distro, and which bullet version (I'm using H10.0.320 on Ubuntu 9.04 with Bullet 2.74)? Any version mismatches *could* potentially break the binaries, so my recommendation would be to sort out the compile problems:

1) There is no LinearMath library in the bullet build. It is called "bulletmath".

So just try to rename that and give the compile another shot.

CheerZ,

Van Aarde.

Link to comment
Share on other sites

I downloaded sdk 2.74 and make , but dont know why there's no bulletmath.a lib file in bullet-2.74/lib dir,

so i replace bulletmath with LinearMath then failed.

i am using H10.0.300 on Ubuntu 9.04 with Bullet 2.74

To avoid spamming this thread with compiling issues, I started a new one: http://forums.odforce.net/index.php?/topic/9523-bullet-compiling-issues/

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...