Page 1 of 1

[GSoC 2011] Terrain improvements

Posted: Thu Feb 17, 2011 8:13 pm
by icepick
Hey,

I am thinking the Terrain improvements request would be a good GSOC project. It could support multiple independent milestones allowing significant changes to be made without the do-or-die aspect of some of the other projects.

I would love to work on terrain generators and Rayleigh scattering.

I have no idea what vertex compression refers to at this point, but I'll find out. It sounds like a doable project also.

Re: Terrain improvements

Posted: Fri Feb 18, 2011 10:57 pm
by Beauty
As I read some months ago by Sindbad, the terrain and paging components needs optimisations.
I don't know the real current state. But I know, Sinbad has not as much time for Ogre development as some years ago. I suppose there are still some "bloody" points (maybe performance?) and improvement possibilities.
Additionally I think, the terrain and paging components are common used parts of Ogre.
So, icepick, you have my vote for your idea :D

Re: Terrain improvements

Posted: Fri Feb 18, 2011 11:22 pm
by jacmoe
+1 :)

Re: Terrain improvements

Posted: Fri Feb 18, 2011 11:48 pm
by icepick
Yay! Well hopefully I'll get my head around all this and won't get stolen away by an internship from Google or something. : )

Re: Terrain improvements

Posted: Sat Feb 19, 2011 12:46 am
by CABAListic
You will have to provide a much more detailed suggestion, though. Many of the necessary improvements for the terrain component (e.g. making it more accessible) will not fill an entire summer and would therefore not make a GSoC project of their own.

Re: Terrain improvements

Posted: Sat Feb 19, 2011 1:00 am
by icepick
CABAListic wrote:You will have to provide a much more detailed suggestion, though. Many of the necessary improvements for the terrain component (e.g. making it more accessible) will not fill an entire summer and would therefore not make a GSoC project of their own.
That makes sense. I imagine that it'll be a string of smaller projects, so I'd obviously need to make a sufficient list.

Would it be more useful to work on the Terrain part itself or the paging system? I know there was some unrest over that awhile back. Would I have time to work on both, even? These are the things I'm trying to figure out going into the Summer.

Re: Terrain improvements

Posted: Sat Feb 19, 2011 4:05 pm
by Beauty
CABAListic wrote:You will have to provide a much more detailed suggestion, though. Many of the necessary improvements ...
Useful would be if someone publishes an overview of the points, which needs an improvement.

I suppose this is special knowledge, because only a few people know the internals.
This open points also could be published in the ogre main forum. Maybe somebody wants to help even aside the GSOC.
Just as an idea.

Re: Terrain improvements

Posted: Tue Feb 22, 2011 2:19 pm
by Noman
icepick wrote:Would it be more useful to work on the Terrain part itself or the paging system? I know there was some unrest over that awhile back. Would I have time to work on both, even? These are the things I'm trying to figure out going into the Summer.
Both components have many places where they can be improved, and both are legitimate subjects for a summer of code.
Try looking both in the code and in the community for ideas on what to do, and choose the one that interests you more and you feel will be a greater contribution. That will also tell you if you have time to improve both components or focus on one.

Re: Terrain improvements

Posted: Tue Mar 01, 2011 5:39 pm
by icepick
Sooooo I just got offered a job at Wahoo/Ninjabee. So between that and school I think I'm booked up for the summer. : /

They allow you to work on side projects though. So you can be sure of the engine I'll be using for my 3d stuff. : )

Re: [GSoC 2011] Terrain improvements

Posted: Mon Mar 14, 2011 3:57 am
by kuxv
Hello,
so as it looks that icepick is off this topic I would like to try this.

+ paging and terrain components
- there was new terrain component introduced in ogre 1.7
- it uses chunked LOD together with geomorphing to achieve continuous LOD for terrain rendering dependent on camera's position
- this terrain component performs very well on smaller sets of height data which is it's purpose
- however problems with limited size of memory come with larger sets of data
- paging of data is common solution for memory issues of this kind
- paging component already exists in ogre since 1.7
- however it's performance is very poor when used with terrain component

== task is to improve paging of terrain component
- main problem is loading of terrain tiles into memory is slow which makes noticeable slowdown during terrain rendering
- things to do:
- terrain component has to be modified to allow separate loading/unloading of individual terrain LOD
- load only low LOD level(s) for distant pages of terrain
- load/unload higher LOD levels as needed (ie page gets closer/further)

== other things to do in paging component
- default handlers for general Ogre objects
= Geometry (Entity/StaticGeometry?)
= Billboard, ParticleSystem
= Resource? (Material/Texture)

Please let me know what do you think. I was looking at the code of terrain and paging and it looks like work I can do and also learn something about internals of ogre. I'm going into bush now and will be back in a week so I will post more about my intensions and I will reformat this format post a little as well ;)

Re: [GSoC 2011] Terrain improvements

Posted: Mon Mar 14, 2011 10:09 am
by stealth977
Terrain component still has many problems, main problem being paging related, followed by composite map and shadowing problems, which need to be fixed but had no love since sinbad retired.

So, someone dedicated to work on it would be so cool since it can not be used AS IS for a real product.

For the paging part, the problem is scattered in various parts of the process:

1 - The LodStrategy: Terrain component needs a unique LodStrategy since 2DGrid is not effective when terrain has significant height variation
2 - Loading Stage (File Access) : As mentioned, disk access should be minimized for lower lods, preferably a separate terraingroup.dat file containing only lowest (or lowest few) data which is pre-loaded and prepared in memory to prevent any disk access/preperation for lowest few lods
3 - Loading Stage (Preparation): Preparation stage after disk access is also a lengthy process which needs improvements, for example pre-caching mentioned in 2

Also, paging component and terrain component needs callbacks to notify user of its stage, especially during async operations, for example user needs to know if a terrain page is fully loaded in order to initialize page dependent data like grass...

Re: [GSoC 2011] Terrain improvements

Posted: Mon Mar 14, 2011 1:01 pm
by Beauty
The reported problems let me assume that the current terrain component is more a beta release.
If this is right, maybe we should think about to idea to keep the Terrain Scene Manager in Ogre 1.8 (and remove it later in a future version). It's not as powerful as the new terrain component, but works well (at least in my application).

Re: [GSoC 2011] Terrain improvements

Posted: Wed Mar 16, 2011 8:40 pm
by Noman
I think this can be an awesome GSoC project. The terrain component is indeed powerful but needs some polish, as people have said.

I think there can even be enough work for more than one student (if anyone who is viewing this thread is bummed that the subject is taken).

Re: [GSoC 2011] Terrain improvements

Posted: Sat Mar 19, 2011 4:28 am
by Jabberwocky
Just a shout out to say this would be a great GSoC project.
Is there any consensus yet on who would mentor this?

Re: [GSoC 2011] Terrain improvements

Posted: Sat Mar 19, 2011 7:17 am
by stealth977
Well, when its terrain improvements in question, IMO "tuan kuranes" should mentor it :)

Re: [GSoC 2011] Terrain improvements

Posted: Sat Mar 19, 2011 8:39 am
by tuan kuranes
@icepick Student proposals has to be much more precise and scoped than this, stealth977 gave a better and more focused proposition, that should be a start for any students willing to make a proposal
@kuxv each student has to make their own subjet/thread proposal in this forum (on thread/subject per student)

If any proposal has to be made, it needs to list the deliverables, and in this case, you should start with what you're demo will be able to do.

(@stealth977 I can mentor if need be, though I'm sure you or Jabberwocky could too )

Re: [GSoC 2011] Terrain improvements

Posted: Sat Mar 19, 2011 5:24 pm
by Jabberwocky
tuan kuranes wrote:though I'm sure you or Jabberwocky could too
Thanks for the vote of confidence! I know the terrain component API pretty well, and I understand the material generator and shaders. But not the "guts" of the terrain geometry or paging code like you or stealth, so you guys would certainly be better for project ideas listed here.

Re: [GSoC 2011] Terrain improvements

Posted: Sat Mar 19, 2011 8:26 pm
by stealth977
Both Paging component and the Terrain component are very important features imo. Just like Jabberwocky, i know them pretty well since i was spamming sinbad with both bug reports and feature requests during their development, but again, i also am not that familiar wih the terrain component's geometry part (never been good with geomipmapping anyway :) ) so i dont think i can qualify for mentoring it, yet i can test/comment on it.

Considering tuan's expertise on both paging and terrain, if someone picks this subject, it would be very nice if tuan mentors the student, since adequate improvements on such important features would benefit OGRE very much...

Re: [GSoC 2011] Terrain improvements

Posted: Mon Mar 21, 2011 9:03 am
by boyamer
I agree with this, new terraing needs improvements with the paging component.

Thanks

Re: [GSoC 2011] Terrain improvements

Posted: Mon Mar 21, 2011 5:10 pm
by jacmoe
stealth977 wrote:Considering tuan's expertise on both paging and terrain, if someone picks this subject, it would be very nice if tuan mentors the student, since adequate improvements on such important features would benefit OGRE very much...
It would really rock if you became a mentor! :)
With Tuan as a backup, of course.

Re: [GSoC 2011] Terrain improvements

Posted: Tue Mar 22, 2011 4:14 am
by kuxv
I think stealth977 would be good mentor for this because of his experience with terrain and paging components especially in ogitor.
I believe he used terrain in a very strange corner cases and so knows more precisely what could be done to improve it.