4.11.TREES AND VEGETATION Rendering of trees and vegetation Rendering flora Video not available in on-line slides Grass Grass is typically rendered using (randomly) placed intersecting quads which are texture mapped and rendered with an alpha test. The grass quad are crossed (using a star-like configuration) to ensure good visual quality independent of the line of sight. Grass Different alpha/depth tests can be used at runtime to suitably render a clump of grass quads and provide the appearance of densely packed grass. Grass In a vertex shader the top two vertices of each quad can be animated (using a combination of sinusoidal waves) to provide a natural looking wave modelled motion due to wind effects. By having separate animation parameters for each cluster or clump of grass, more chaotic (i.e. natural) behaviour can be introduced. Grass When lighting the grass, the quad’s normal may also be updated to reflect the grass movement. Alternatively, the colour change can be simulated by directly modifying the rendered colour based on the oscillations. Rendering trees Video not available in on-line slides Trees At a distance, a tree can be adequately rendered using a billboard or imposter. Up close, trees are typically separated into two different parts: • solid component of the tree (trunk and branches) • foliage or leaves. The trunk and the branches are represented using a triangle mesh. Leaves are represented using an image of a leaf group textured using a quad. Minor branches can be approximated by simple polygon strips Leaves are rendered as texture mapped quads More sophisticated tree rendering deals with issues such as silhouette clipping Or accurate leaf shadowing / lighting Directed reading regarding trees and vegetation Directed reading: • Read GPU Gems - Rendering Countless Blades of Waving Grass – for coverage of how to render grass • Read Creation and Rendering of Realistic Trees – for an early paper on generating trees • Read GPU Gems 3 - Next-Generation SpeedTree Rendering – for an exploration of current tree rendering approaches Summary Today we explored: Overview of vegetation rendering Overview of tree rendering