Original Post
I'm currently planning a project that is intended to take place in a forest setting, and therefore have been looking into forest rendering. Having found little by the way of middleware (within my price range, at least - I'd love to use SpeedTree, but I estimate that it's about two orders of magnitude out of my price range at the moment :/), I've been researching the matter of implementing it myself. I've encountered a number of interesting ideas, and have a few thoughts, but, largely, I think, due to inexperience in level-of-detail matters, I feel that I don't yet have a solid idea of how to approach it, and am not confident in my estimations of the effectiveness of what thoughts I do have. So, I come here in the hopes of advice. ^_^ First of all, if anyone knows of any middleware that might be of use to me, please do let me know - my aim in this is the creation of a game, not a forest rendering engine. Otherwise, what advice have you on rendering forest scenes? The specifics: - My viewpoint is intended to be roughly eye-level, and I doubt that I'll have any points from which the forest is visible from above (the few cases that I currently have in mind in which the player might travel above the level of the tree-tops all, I think, involve features that should occlude the surrounding forest sufficiently). - I am currently planning to include some degree of stylisation, increasing with distance, in the levels of detail, which may perhaps allow for greater decreases in complexity with distance than if I were aiming for a strictly realistic scene at all distances. That said, I do want trees viewed at close range to be very realistic. I'm willing to reduce or remove the stylisation if I end up using a piece of middleware that doesn't offer the feature, but which otherwise produces high-enough quality. - I want forest density and composition to vary, although I imagine that this shouldn't impact on the rendering algorithm overmuch. As to some of the research that I've done thus far, I've read this GPU Gems article, but am not sure, given that they seem to indicate the use of billboards, of how to then have leaves not seem to "turn" as the player moves about them at close range, always presenting the same view. I seem to recall one article mentioning alteration of the texture coordinates, but would that effect not be more easily achieved by simply using non-view-oriented billboards? I've considered the possibility of using a volumetric function or map to place leaves, but am not sure of what, precisely, to do with it, or, for that matter, how to define it. I've looked through Weber's "Creation and Rendering of Realistic Trees" (primarily the section on rendering), but am not sure at the moment of how to implement what he describes, at least in a way that is likely to look convincing. I do, however, like his idea of deriving a given level-of-detail from a single representation. Finally, I've searched these forums - indeed, I think that some of the results that I found here led me to some of the items mentioned above - but thus far haven't found much by way of specifics.