My thesis River Algorithm - SiViFlow

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
Biovf
Gnoblar
Posts: 15
Joined: Tue Feb 20, 2007 1:18 am
x 7

My thesis River Algorithm - SiViFlow

Post by Biovf »

Hello everyone, I wanted to share with you guys the result of my Master Thesis that I implemented using Ogre. I wasn't going to put it here as this work was mostly a disappointment from what I had initially envisioned but as Assaf seemed to enjoy it I decided that no harm could come from me sharing it here.

[youtube]mIGlUL22YBY[/youtube]

This video is an explanation one so that means it is a bit long...I think most of you won't stand my monotonic voice so I'll leave a little summary:
- The ideia was to create a river system where you can automatically generate the flow of the river and where the flow is completely dynamic
- In case you want to change the flow (because the player interacted with it) the river adapts without having an additional computational cost
- Simulation had to be extendable: the flow generation algorithm suggested is only a basic one, it can easily be improved to fit other requirements and it's totally independent from the rest of the algorithm.
- Visualization effects had to be extendable: I only implemented reflections as the problem of materials to apply to water is partially solved and there are other implementations that are way better tuned than what I could achieve. With that in mind the algorithm is also independent of what number of effects you want to apply to the water.

This work was inspired mainly in two works: "Models of Animated Rivers for the Interactive Exploration of Landscapes “ by Qizhi Yu for the simulation section and "Tiled Directional Flow" by Frans Van Hoesel for the flow rendering part. In the next couple of days I'll probably post on my website (http://davidbmsena.com/) a close analysis of the work as well as my thesis doc so that everyone can have access to the in's and out's of it.

I hope you guys enjoy it, if you have any questions let me know.

David
User avatar
spacegaier
OGRE Team Member
OGRE Team Member
Posts: 4304
Joined: Mon Feb 04, 2008 2:02 pm
Location: Germany
x 136

Re: My thesis River Algorithm - SiViFlow

Post by spacegaier »

Will you also be able to release the code for your project along with the thesis?
Ogre Admin [Admin, Dev, PR, Finance, Wiki, etc.] | BasicOgreFramework | AdvancedOgreFramework
Don't know what to do in your spare time? Help the Ogre wiki grow! Or squash a bug...
Biovf
Gnoblar
Posts: 15
Joined: Tue Feb 20, 2007 1:18 am
x 7

Re: My thesis River Algorithm - SiViFlow

Post by Biovf »

Nothing apart from free time stops me from releasing it (my thesis advisor wanted me to do so too). The code is pretty messed up at the moment, and to be honest it would need a total overhaul in order to be worth being released. I don't know if it would take me more than 4/5 days to do so as I've been able to simplify the source as it matured.

At the moment I'm gathering my projects together to create my portfolio so I can apply to a couple of game studios and see if I can get into the gamedev industry. As soon as I get some time I don't mind releasing it at all.

PS- I used your advanced framework as a start point for the application, awesome piece of code :D
User avatar
spacegaier
OGRE Team Member
OGRE Team Member
Posts: 4304
Joined: Mon Feb 04, 2008 2:02 pm
Location: Germany
x 136

Re: My thesis River Algorithm - SiViFlow

Post by spacegaier »

Biovf wrote:PS- I used your advanced framework as a start point for the application, awesome piece of code :D
Always glad to hear that :) .

And even messy code (for now) is better than nothing for the community. You can always release a second clean-up version later ;) .
Ogre Admin [Admin, Dev, PR, Finance, Wiki, etc.] | BasicOgreFramework | AdvancedOgreFramework
Don't know what to do in your spare time? Help the Ogre wiki grow! Or squash a bug...
Biovf
Gnoblar
Posts: 15
Joined: Tue Feb 20, 2007 1:18 am
x 7

Re: My thesis River Algorithm - SiViFlow

Post by Biovf »

Yes I agree :)

If there's enough interest from the community I'll clean briefly the code (there's lots of stuff there that wasn't used in the end) and upload it to github so ppl can start messing with it.
User avatar
Mind Calamity
Ogre Magi
Posts: 1255
Joined: Sat Dec 25, 2010 2:55 pm
Location: Macedonia
x 81

Re: My thesis River Algorithm - SiViFlow

Post by Mind Calamity »

Yes, please! :)

Very good work. I'm very interested to see how you do things "under-the-hood". :)
BitBucket username changed to iboshkov (from MindCalamity)
Do you need help? What have you tried?
- xavier
---------------------
HkOgre - a Havok Integration for OGRE | Simple SSAO | My Blog | My YouTube | My DeviantArt
User avatar
nevarim
Gnoll
Posts: 675
Joined: Mon Jul 05, 2010 6:16 pm
Location: Pavia Italy
x 4

Re: My thesis River Algorithm - SiViFlow

Post by nevarim »

interesting work :D maybe i'll try with skyx as well :D
i'm a noob until proven otherwise :D
used in my project ;) and thanks to everyone :D
Ogre 3d
Mygui
Skyx
Hydrax
MOC
CCS
TheSHEEEP
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 972
Joined: Mon Jun 02, 2008 6:52 pm
Location: Berlin
x 65

Re: My thesis River Algorithm - SiViFlow

Post by TheSHEEEP »

Mind Calamity wrote:Yes, please! :)

Very good work. I'm very interested to see how you do things "under-the-hood". :)
+1
My site! - Have a look :)
Also on Twitter - extra fluffy
Biovf
Gnoblar
Posts: 15
Joined: Tue Feb 20, 2007 1:18 am
x 7

Re: My thesis River Algorithm - SiViFlow

Post by Biovf »

Thanks guys, really happy you all enjoyed the idea behind it. :)

I've been thinking for the past couple of days and I'm definitely going to release the source code but I'm going to rewrite a couple of sections first.
The reason for that is that the code in its current form is not really understandable or architected in an understandle way. As I tried several different approaches while I was working in my thesis (and I couldn't afford to start over everytime an approach didn't work) the final result is a mess of things where the core idea is quite simple but it has several dead sections that need to be cleaned.
This all means that Yes I will release the full source code of this work but I'm going to give it the minimum cleaning it needs in order to be understandable. :wink:

In any case, if anyone experienced with Ogre would like to help me better plan a possible architecture for this work, I would very much appreciate it.
I'll be providing updates here and in my website so you can follow the progress. I should pick this up around the end of November and I'll try to make the first release as soon as possible after that.

David
User avatar
duststorm
Minaton
Posts: 921
Joined: Sat Jul 31, 2010 6:29 pm
Location: Belgium
x 80

Re: My thesis River Algorithm - SiViFlow

Post by duststorm »

I'm also very interested in this technique.
You would do me a great favor by releasing it, in whatever state you manage to find the time for.

I fully support early releases! :D
The code of my recast experiments isn't perfect either, but I improve it gradually when I have time. Still I find it better to release it early to the community then to sit on it and maybe never release it.
Developer @ MakeHuman.org
Biovf
Gnoblar
Posts: 15
Joined: Tue Feb 20, 2007 1:18 am
x 7

Re: My thesis River Algorithm - SiViFlow

Post by Biovf »

duststorm wrote:I'm also very interested in this technique.
You would do me a great favor by releasing it, in whatever state you manage to find the time for.

I fully support early releases! :D
The code of my recast experiments isn't perfect either, but I improve it gradually when I have time. Still I find it better to release it early to the community then to sit on it and maybe never release it.
I certainly will, no worries :)

I would like to take a moment and thank you duststorm for all your help when I first started working on this project (you can check it here http://www.ogre3d.org/forums/viewtopic.php?f=5&t=68077) and say that without your contribution it wouldn't have turned out the way it did.

David
User avatar
duststorm
Minaton
Posts: 921
Joined: Sat Jul 31, 2010 6:29 pm
Location: Belgium
x 80

Re: My thesis River Algorithm - SiViFlow

Post by duststorm »

Biovf wrote:I would like to take a moment and thank you duststorm for all your help when I first started working on this project (you can check it here http://www.ogre3d.org/forums/viewtopic.php?f=5&t=68077) and say that without your contribution it wouldn't have turned out the way it did.
Glad I could be of help. It was interesting to brainstorm about :D
Developer @ MakeHuman.org
marq
Gnoblar
Posts: 4
Joined: Sun Dec 02, 2012 12:03 pm
Location: Germany

Re: My thesis River Algorithm - SiViFlow

Post by marq »

Thanks for sharing this nice movie and the technic behind the screens ;) im also very interessted in the code ;-)
Biovf
Gnoblar
Posts: 15
Joined: Tue Feb 20, 2007 1:18 am
x 7

Re: My thesis River Algorithm - SiViFlow

Post by Biovf »

Hi guys, I'm really sorry for not providing updates on this matter but I've been swamped with stuff to do regarding university bureaucracy/personal stuff/work.
I moved from the place I was in Lisbon and had to pack all my stuff including my work desktop so I couldn't code at all. I'm also looking to try to get a job as a game/tech programmer so most of my efforts have been focused on that for now (not going swell so far...).

In any case there are also good news: I have delivered the final versions of my thesis and paper, which I chose to make publicly available so they'll be available very soon in my university's webpage. This also means that if anyone wants to take a closer look at the technique, I can put them in my Dropbox and share them (even when I make the code available, one will need to take a look at the thesis to make sense of the whole thing).

David
hustlab
Gnoblar
Posts: 1
Joined: Wed Nov 06, 2013 3:38 am

Re: My thesis River Algorithm - SiViFlow

Post by hustlab »

i hope that i can see your releasing codes!