My thesis River Algorithm - SiViFlow
-
- Gnoblar
- Posts: 15
- Joined: Tue Feb 20, 2007 1:18 am
- x 7
My thesis River Algorithm - SiViFlow
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
[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
-
- OGRE Team Member
- Posts: 4304
- Joined: Mon Feb 04, 2008 2:02 pm
- Location: Germany
- x 136
Re: My thesis River Algorithm - SiViFlow
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...
Don't know what to do in your spare time? Help the Ogre wiki grow! Or squash a bug...
-
- Gnoblar
- Posts: 15
- Joined: Tue Feb 20, 2007 1:18 am
- x 7
Re: My thesis River Algorithm - SiViFlow
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
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

-
- OGRE Team Member
- Posts: 4304
- Joined: Mon Feb 04, 2008 2:02 pm
- Location: Germany
- x 136
Re: My thesis River Algorithm - SiViFlow
Always glad to hear thatBiovf wrote:PS- I used your advanced framework as a start point for the application, awesome piece of code

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...
Don't know what to do in your spare time? Help the Ogre wiki grow! Or squash a bug...
-
- Gnoblar
- Posts: 15
- Joined: Tue Feb 20, 2007 1:18 am
- x 7
Re: My thesis River Algorithm - SiViFlow
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.

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.
-
- Ogre Magi
- Posts: 1255
- Joined: Sat Dec 25, 2010 2:55 pm
- Location: Macedonia
- x 81
Re: My thesis River Algorithm - SiViFlow
Yes, please! 
Very good work. I'm very interested to see how you do things "under-the-hood".

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
Do you need help? What have you tried?
- xavier
---------------------
HkOgre - a Havok Integration for OGRE | Simple SSAO | My Blog | My YouTube | My DeviantArt
-
- Gnoll
- Posts: 675
- Joined: Mon Jul 05, 2010 6:16 pm
- Location: Pavia Italy
- x 4
Re: My thesis River Algorithm - SiViFlow
interesting work
maybe i'll try with skyx as well 


i'm a noob until proven otherwise 
used in my project
and thanks to everyone 
Ogre 3d
Mygui
Skyx
Hydrax
MOC
CCS

used in my project


Ogre 3d
Mygui
Skyx
Hydrax
MOC
CCS
-
- OGRE Retired Team Member
- Posts: 972
- Joined: Mon Jun 02, 2008 6:52 pm
- Location: Berlin
- x 65
Re: My thesis River Algorithm - SiViFlow
+1Mind Calamity wrote:Yes, please!
Very good work. I'm very interested to see how you do things "under-the-hood".
-
- Gnoll
- Posts: 653
- Joined: Thu May 11, 2006 9:12 pm
- Location: Bavaria
- x 36
Re: My thesis River Algorithm - SiViFlow
Good work, very interesting 

ARTIFEX TERRA 3D - Artist-friendly, free and easy WYSIWYG realtime outdoor scene Editor & Painter
New loader now with Ogre::Terrain support: Addons for Artifex on SourceForge
MOC - Minimal Ogre Collision & Mousepicking
Simple TerrainMaterialGenerator for the use of standard Ogre material with Ogre::Terrain
Support me on Patreon
-
- Gnoblar
- Posts: 15
- Joined: Tue Feb 20, 2007 1:18 am
- x 7
Re: My thesis River Algorithm - SiViFlow
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.
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

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.

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
-
- Minaton
- Posts: 921
- Joined: Sat Jul 31, 2010 6:29 pm
- Location: Belgium
- x 80
Re: My thesis River Algorithm - SiViFlow
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!
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.
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!

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
-
- Gnoblar
- Posts: 15
- Joined: Tue Feb 20, 2007 1:18 am
- x 7
Re: My thesis River Algorithm - SiViFlow
I certainly will, no worriesduststorm 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!
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 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
-
- Minaton
- Posts: 921
- Joined: Sat Jul 31, 2010 6:29 pm
- Location: Belgium
- x 80
Re: My thesis River Algorithm - SiViFlow
Glad I could be of help. It was interesting to brainstorm aboutBiovf 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.

Developer @ MakeHuman.org
-
- Gnoblar
- Posts: 4
- Joined: Sun Dec 02, 2012 12:03 pm
- Location: Germany
Re: My thesis River Algorithm - SiViFlow
Thanks for sharing this nice movie and the technic behind the screens
im also very interessted in the code 


-
- Gnoblar
- Posts: 15
- Joined: Tue Feb 20, 2007 1:18 am
- x 7
Re: My thesis River Algorithm - SiViFlow
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
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
-
- Gnoblar
- Posts: 1
- Joined: Wed Nov 06, 2013 3:38 am
Re: My thesis River Algorithm - SiViFlow
i hope that i can see your releasing codes!