Real-time Rendering of Dynamic Vegetation
description
Transcript of Real-time Rendering of Dynamic Vegetation
Real-time Rendering of Dynamic Vegetation
Alexander KusternigVienna University Of Technology
Overview
• Physically based lighting• Wind Animation• Convincing pictures at high frame rates
Alexander Kusternig 2
Physically based lighting
The difficulties of leaf rendering
• Geometric complexity• Translucency and indirect lighting• Detailed microstructure
Leaf Rendering State of the Art
• Much work done on LODs
• Leaves often simplified as oriented billboards
Alexander Kusternig 5
• PRT techniques– Impressive results– Create huge data sets– Static geometry
Our Method [1]
• Photographing leaves– Diffuse illumination– Translucency color
• 3D scanning– Actual leaf geometry
• 4 Textures per leaf side:
Diffuse Color Normal HL2 Map Translucency
Our Method [2]
Our Method [3]
• HL2 texture maps– PRT technique– To calculate translucency
• The “Half Life 2” basis– Works in tangent space– Local per leaf– No costly transformation– Only 3 coefficients
8
• Direct Illumination:– Cook-Torrance Specular
Model– Normal Mapping– Shadow Mapping
• Indirect Illumination:– Pre-baked Ambient
Occlusion– Per vertex
Our Method [4]
Wind animation
Animation State of the Art [1]
• Bone animation– Procedural generation– Physical models
• Pre-baking key frames and interpolating
• Mass spring models
Alexander Kusternig 13
Animation State of the Art [2]
Fastest and most flexible implementationscurrently used by games
• Per Vertex displacement• Weights hand-painted• Many limitations exist:
• Not suitable for strong wind• Only possible for trees with 1 long straight stem
Our Method [1]
• Take best from both worlds– Physically based branch bending– Fast per vertex animation
• Animation completely on the GPU– Animation data baked into vertex streams– Per-branch data baked into textures– Motion data from noise textures
Alexander Kusternig 15
• Computation of a branching hierarchy
Our Method [2]
– Suitable for all plants– Branches calculated
automatically from model
– Weights propagated through hierarchy
– Up to 4 levels
Our Method [3]
• User-friendly!– Use model data
from standard tree generation package (Nat FX, XFrog...)
– Tweakable by adjusting a few parameters
• Advantages:– Completely handled by GPU– Scales linearly with number of vertices– Non-linear bending of branches– Every leaf is animated individually
Our Method [4]
Implementation
Implementation [1]
State of the art rendering pipeline:• DX10• HDR pipeline
– Tonemapper tuned for post-processing
• Real-time illumination changes– Preetham Skylight model– Shadow mapping– Light shafts
Alexander Kusternig 20
Implementation [2]
Performance:• ~70000 Triangles for branches• ~12000 Leaves• >300 MB of static textures• 80-100 FPS on Geforce 8800 GTX
Alexander Kusternig 21
Future Work
• Sophisticated level of detail rendering• Grass rendering• Tree generation
Alexander Kusternig 22
Alexander Kusternig 23
Thanks foryour attention
Real-time Rendering of Dynamic Vegetation
Alexander KusternigVienna University Of Technology