I got a chance to try the dynamic scenery last night (in lieu of implementing the gear bounce/damp tuning for Dave Perry -- sorry). Wow. Simply stunning. :)
Abject praise out of the way, here are the nits: The cowbox is too small. At only 1m high, it's really a more appropiate size for a sheepcase. Cows (at least the big north american ones that match the texture) are 1.5-2m tall at the shoulder, and often 3m long. I doubled the size to 2x4, and found the results more satifactory. The slightly-too-large size is hidden by the sparseness of the scenery. At the other extreme the 8 story building, while scaled correctly, is too large. Buildings this large are very rare, and occur in large numbers only in downtown areas that are better handled by "real" static scenery. I'd suggest replacing the "urban" scenery object with something like a 2-3 story building, or perhaps a cluster of small buildings. Right now, you can look accross the bay from San Francisco and see a huge urban skyline stretching from Oakland to Fremont which isn't even close to what's there in real life. My reading of the code is that there is a separate ssgTransform node in front of every one of the objects. That's likely to be a performance bottleneck, if the OpenGL matrix state has to change every four vertices (most GPUs want to flush the stream when the matrix changes). Instead, why not "pre-compile" the scenery objects for each tile into a single vertex buffer at load time. This is really easy -- step through each object and add the appropriate offset to each model vertex as you copy it into the vertex array(s). Then you could draw them all at once with no state changes whatsoever (and even get fancy in the future with stuff like compiled vertex arrays, NV_vertex_array_range and whatnot if you like). Even better, you could get a very cheap "continuous LOD" by drawing a distance-dependent prefix of this vertex buffer. That is, draw only the first N objects based on your distance from the tile centroid. Writing a new ssgLeaf node type really isn't so hard -- take a look at the fgPanelNode implementation for a minimalist example. Andy -- Andrew J. Ross NextBus Information Systems Senior Software Engineer Emeryville, CA [EMAIL PROTECTED] http://www.nextbus.com "Men go crazy in conflagrations. They only get better one by one." - Sting (misquoted) _______________________________________________ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel