Progressive meshes for continuous level-of-detail

Discussion area about developing or extending OGRE, adding plugins for it or building applications on it. No newbie questions please, use the Help forum for that.
Post Reply
student t
Posts: 1
Joined: Tue Jan 06, 2015 11:34 am

Progressive meshes for continuous level-of-detail

Post by student t »


I would like to write a simple implementation for parallel continuous level-of-detail with progressive meshes as a lab exercise. It should include some basic LOD features and be well integrated into the render engine and easily extensible. The implementation follows the method described in the paper "Parallel view-dependent level-of-detail control" by Hu, Sanders and Hoppe (2010) which is available here: ... oj/pvdlod/

So far I have already written a C++ program that can selectively refine and coarsen a progressive mesh in an arbitrary number of steps. The output is currently text-only and the resulting mesh is stored as a 3D model. As a next step I want to use the code with Ogre so the meshes can be updated and rendered in Ogre scenes.

For that I would like to get some feedback on how to implement this. The Ogre::Mesh class seems to be a good base for a ProgressiveMesh subclass. The PM data could be loaded from a file as a kind of resource and stored as a set of static vertex buffer objects. Each instance of the mesh would then update its active representation using some geometry and vertex shaders.

The main parts I think are:
a) a resource that reads PMs from file and creates static buffers
b) a subclass of Entity for PMs that runs shaders and passes geometry to renderer
c) shaders for the Entity subclass

If there is some example or documentation you can recommend that might be helpful I would appreciate it.


Orc Shaman
Posts: 737
Joined: Fri May 31, 2013 2:28 am
x 61

Re: Progressive meshes for continuous level-of-detail

Post by frostbyte »

in case you did'nt notice, ogre has a progressive mesh class and example( in the sampleBrowser )
since i don't know how its done with OgreProgressiveMesh youl'e have to dig in the code and find if it fits your needs..
anyway i'd recommend skipping the lodGenerate->textFile->ogreMesh procedure and do lodGenerate->ogreMesh directly unless you want it to be a non-ogre specific tool...
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..

coolest videos link( two minutes paper )...

Post Reply