Talk:Scenery LOD ideas for FlightGear

From FlightGear wiki
Jump to navigation Jump to search

" For the LOD algorithm, CDLOD [1] would probably be the best bet. CDLOD is like Chunked LOD, but plays nice with the GPU, and subdivides the LOD based on the distance from the camera/view point. Traditional CLOD implementations are not GPU friendly, this implementation is, and has the benefit of LOD based on camera position. The algorithm that would be the best bet for implementation is something similar to the streaming CDLOD implementation in the code samples."

I also think this algorithm is nice. But converting for flightgear use is sure to be difficult, as it really depends on a regular mesh. I spend a couple months in 2011 implementing it on top of OSG, and got it close to loading adjacent chopped 1/4 x 1/4 degree SRTM tiles. BUT realized some of the bigger gotchas.
1) not only does it rely on regular grids, it is also a flat earth algorithm. We'd need to convert the converted heightfield data into world space cartestian coordinates in the vertex shader. Not sure what an impact this would have.
2) airports - we'd need either a whole new approach to 'cutting in' irregular airport geometry (I was attempting to create rectangular holes that lie on sub-tile boundaries) or more likely overlay airports on top of the underlying mesh. Both of these 'solutions' seem rife with difficulties. I didn't feel up to the task, and put the engine on hold.
3) moving to a regular mesh from irregular mesh will be a tough sell. I think it's a better idea to try to 'hack up' a simple algorithm first. Keeping the current engine in place to see what performance gains we can get through experimentation is quicker, and if it's large enough to warrant more work, that we can look to refine it. If it's 'good enough', than we probably won't need to worry about it.
- Pete