History: SoC2012 Improve and Demo the Terrain System
Preview of version: 15
- «
- »
Table of contents
Project Information
Proposal and discussion thread: http://www.ogre3d.org/forums/viewtopic.php?f=13&t=69553
Mercurial repository: https://bitbucket.org/xiaoxq/ogre_soc_tpi/overview
The basement project: SoC2011 Terrain Paging Improvements
Implementation Design
The Alpha Version
It was first implemented by Kuxv in GSoC 2011. Figure below shows the workflow.
Combined with reviewing the code, we find that the alpha version has some bad smells, e.g.:
- The logic of Terrain::increaseLodLevel() is very twisted.
- No protections on shared data. (By now I'm still not sure whether it has been well designed to avoid critical sections)
- Some duplicated code, e.g.: Terrain::load() and Terrain::loadLodLevel()
- To be continued...
The Beta Version
Guide for Users
Guide for Developers
Introduction to the Endless World Sample
Weekly Progress
2012-04-29
- Create repository by importing from kuxv's, and create this wiki page.
- A small fix to make it compilable on my x64 system. Then it runs quite well.
- Merge new changesets from trunk.
- Confirm my development environment: Thinkpad T410s( Intel i5, Nvidia NVS 3100M, 8G memory ), Ubuntu 12.04 64bit. I also have a Win7 64bit, but only for testing.
2012-05-06
- Some code cleanup.
2012-05-14
- Keep on warming up with the code.
- Start drawing a sequence diagram to show the work flow of LOD and paging.
2012-05-20
- Finish the sequence diagram, and get to understand most of the previous implementation ideas.
- Have found some possible buggy point. See them above for detail.