(Submitted) Proposal - LOD Strategies

Threads related to Google Summer of Code
Post Reply
pxL
Gremlin
Posts: 158
Joined: Fri Oct 07, 2005 11:48 am
Location: Hilversum, The Netherlands
Contact:

(Submitted) Proposal - LOD Strategies

Post by pxL » Mon May 08, 2006 4:04 pm

Here's my proposal, if someone could take a quick look and maybe give some pointers here and there, it would be much appreciated.

Edit: Submitted


OGRE 3D - Google Summer of Code Proposal

Proposal
The main goal will be adding a different LOD strategy to OGRE. The new strategy should take in account the zooming of the camera and the size of the viewport. Next to the addition of a new strategy there is also some improvement possible in terms of generalization. Think about the generalizing the LOD checking and the way a new LOD strategy will be added.

Why?
It's one of the few things which can be improved in OGRE and I also think it would be a welcome addition for the community. Next to that the current LOD strategy is based on squared distance (as mentioned on the OGRE Wiki), because of that it does not take in account the zooming of the camera and the size of the viewport.

Why me?
I am a student at the HvA (Hogeschool van Amsterdam, Netherlands). I am currently in my final year and I am studying for a degree in Computer Science (at Bachelor Level). I have been programming for the last 4 years now. In this time I have worked on several projects ranging from games to management tools.

I am an aspiring game programmer and because of that I have been using OGRE for the last year now. Although most of my experience with OGRE is from the outside, I still want to take this opportunity to get more experience in OGRE itself and also to work on my skills in extending existing software.

If you wish to see my resume and take a look at a few of my last projects, you can visit my website: http://oege.ie.hva.nl/~passon01

Project Method
This project is well within OGRE itself, because of that I want to be cautious. I'm planning on using an agile approach, so I’m splitting the project up in three or more iterations. In each phase I will design and code a certain deliverable.

I will start by generalizing LOD checking since this will be the base for the rest of the project. In the next iteration I want to generalize the way you can add a LOD strategy (Let me explain, by generalizing the way you can add a LOD strategy, you will make it easier to add a potential better LOD strategy in the future). In the third iteration I want to add a LOD strategy (most probably an 'estimation of the pixel count of the bounding sphere'). If there is enough time I also want to start working on a 'nothing' level of detail, which basically means if a certain object is to small on a viewport to see, it will not be rendered (which will improve performance).

Throughout this project I will also keep a progress report, which will mainly contain UML diagrams and explanations about certain implementations.

Deliverables
Must Haves:
- Generalize LOD checking
- Generalize Adding a LOD Strategy
- Adding a LOD Strategy

Should Haves:
- Adding a 'Nothing' level of detail

Planning
May 22 - First Iteration: Generalize LOD checking
3 Weeks: designing, coding, testing and finishing up
(proper commenting and code styles)

June 12 - Second Iteration: Generalize adding a LOD strategy
3 Weeks: designing, coding, testing and finishing up

June 3 - Mid-Program
1 Week: updating documentation, buffer week

July 10 - Third Iteration: Adding a LOD strategy
2 Weeks: designing, coding, testing and finishing up

July 24 - Fourth Iteration: Adding a 'Nothing' level of detail
2 Weeks: designing, coding, testing and finishing up

August 7 - End-Program
2 Weeks: updating documentation, buffer weeks

Note - If the work goes faster than planned I intend to discuss other possibilities with my mentor. And if we get a good idea, I will add another iteration.

Mentor
Basically I would like to have a mentor with the standard knowledge about C++ and OGRE. Next to that I would like someone who is good in designing since that is the one thing I need the most help with. Also knowing how and where the current LOD checks work would come in handy.

Conclusion
I am happy I can grasp this chance to do something for OGRE and in the same time do something which will look good on me resume. I am confident I can take on this project and because of the agile approach to this project I am sure this project will turn into a success.
Last edited by pxL on Fri Jun 02, 2006 10:57 pm, edited 2 times in total.
0 x

User avatar
Praetor
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 3335
Joined: Tue Jun 21, 2005 8:26 pm
Location: Rochester, New York, US
Contact:

Post by Praetor » Mon May 08, 2006 6:46 pm

If there's a generalized LOD checking where new algorithms could be "plugged" in could this not be an excellent place to interface a project for imposters? These two topics are linked conceptually in my head at least. With this, a generalized algorithm for LOD with imposters could be to use an existing algorithm (Decorator pattern) and to have the lowest LOD be an imposter.

Does this sound feasible. Maybe for not a SoC project, but just a general linking of two current efforts for Ogre's general benefit.
0 x

Post Reply