Specifically, what I’m trying to do is something like this ( http://www.rmh.de/fish_pool ). I know for Craig Reynold’s model of steering behaviors (for fishes) but my problem is making realistic water ripples animation like yours.
I’m on Visual Studio 2008, just an hobbyst…
I want use it with OptiTrack FLEX:V100 ( http://www.naturalpoint.com/optitrack/products/flex-v100/ ) instead of using touchlib
and make something like “walking on water” using infrared camera and projector.
Any pointers or help to get me on the road would be deeply appreciated.
I hope that your clean code will come out soon.
Thank you in advance!
Best Regards!
Mladen
Hi Potter, did you buy and successful used the OptiTrack camera ?
the water (as seen in my video) comes from the water demo which is found within the “demos” that come with the ogre3d open source rendering engine. the engine can be downloaded here: http://www.ogre3d.org/. the water is in fact a very simple mesh that can be interacted with. it can be modified very easily. in fact i did not modify this demo at all, i just “push” the water with the touches that are being registered from the touchlib sensor.
i hope that will get you started. as i mentioned in the pm, i will make the source code to this little ogre3d+touchlib demonstration available when i cleaned it up a bit, as it is work in progress and (surprise, surprise) very messy right now.
the water (as seen in my video) comes from the water demo which is found within the “demos” that come with the ogre3d open source rendering engine. the engine can be downloaded here: http://www.ogre3d.org/. the water is in fact a very simple mesh that can be interacted with. it can be modified very easily. in fact i did not modify this demo at all, i just “push” the water with the touches that are being registered from the touchlib sensor.
i hope that will get you started. as i mentioned in the pm, i will make the source code to this little ogre3d+touchlib demonstration available when i cleaned it up a bit, as it is work in progress and (surprise, surprise) very messy right now.
I actually registered just to post this:
I don’t see how you couldn’t have modified the water example “at all”. The water demo that comes with Ogre3d has an Ogre head that moves around in circles, rain, and several textures that can be added. Additionally, the water in this demo is not interactive (meaning there are no functions set to handle distorting the water with user input). Are you referring to a different demo than the one that comes with Ogre3d?
Also, I would greatly, GREATLY appreciate any sort of help on creating an interactive water demo. All I really need to get started is help on making a simple water surface (in Ogre3d or anything similar) that can be interacted with (mouse or touchlib, anything). I’ve played around with the Ogre3d examples quite a bit, and followed a few of their tutorials, but my C++ is a bit rusty.
hi and a big “sorry” to everyone waiting for stuff.. the last months have been very “busy” for me, as i finished my master thesis in january and are now working as an employee for the university where i am am developing multi touch hard- and software. all my “proof of concept” demos are untouched since then and still a terrible mess. currently i am integrating TUIO support in my OGRE3D framework, so when students write programs for the table they dont have to fiddle with the touch library integration.
concerning the water demo:
i really used the demo that came with OGRE3D. it mainly consists of the files “water.cpp” and “waterMesh.cpp”. you might want to check the function WaterMesh::push(Real x, Real y, Real depth, bool absolute) {...}, novi. this function is what i used to interact with the mesh (and this is also the way the default “ogrehead” interacts with it..).
i hope i will find some free time to clean up and release my old demos soon. sorry again. :-(
hi and a big “sorry” to everyone waiting for stuff.. the last months have been very “busy” for me, as i finished my master thesis in january and are now working as an employee for the university where i am am developing multi touch hard- and software. all my “proof of concept” demos are untouched since then and still a terrible mess. currently i am integrating TUIO support in my OGRE3D framework, so when students write programs for the table they dont have to fiddle with the touch library integration.
concerning the water demo:
i really used the demo that came with OGRE3D. it mainly consists of the files “water.cpp” and “waterMesh.cpp”. you might want to check the function WaterMesh::push(Real x, Real y, Real depth, bool absolute) {...}, novi. this function is what i used to interact with the mesh (and this is also the way the default “ogrehead” interacts with it..).
i hope i will find some free time to clean up and release my old demos soon. sorry again. :-(
Thank you for replying
I understand what you’re saying about the demo; you used the water mesh code from the demo, but scrapped the bits that display the scene. I see I’m very new to OGre3D, and my C++ is rusty to say the least. I know it’s dirty as you said, but is there any chance of you sending me the cpp files you used for that demo?
excuse me, i had many projects and i don’t continue with this project.
Well how yours know now the guys of nui made new tlib call ccv. my objectives change for create something more stable and make a svn project, right know i asking for put the project as a part of ccv project like demoset and add libraries in ccv project and works together with openframeworks & ogre 3d, the goal is do libraries work for it (ccv).
Next Release of “Water Fingers app” will be available on 3rd August ‘09.
Minimum Requires:
A FTIR Setup.
Pentium 4 2.4 Ghz
1024 Gb RAM
Nvidia or ATI with OpenGL Support or DirectX9 with 256 Mb DDR2
IR WebCam with: 25 FPS
Ogre Framework(include in-built).
The modifications needed to get the water demo to receive multitouch input are really simple indeed. Basically, all you have to do is put a TUIO listener and then at each frame “push” the water at the position of the touches. The example does this in animateHead(). All the WaterCircles and Particles code is redundant (it concerns the rain).
Video of my implementation
I will happily upload the modified example with a TUIO listener and removed rain and GUI overlays stuff if somebody is willing to provide some help for a little problem.
The water is basically a Mesh that is pushed here and there. The problem is that in this implementation it is a square. I have found how to stretch it to fit into a rectangle window, but this distorts the wave simulations (they get stretched). I have never worked with Ogre and meshes before and it is a bit of a problem for me to solve this.
people waiting for ogre3d & ccv integration (with multiple camera support) and source code of a “water demo”, i’ll be done with these in a few weeks. stay tuned