Download presentation
Presentation is loading. Please wait.
Published byKory Weaver Modified over 9 years ago
2
‘Fire’: The Procedural Method Investigation of Procedural Trees and Fire:
3
Procedural Fire and Procedural Trees in a Virtual World Hugh Smith Senior Software Engineer Intel Corporation Visual Computing Software Division email hugh.a.smith@intel.com
4
Agenda The Smoke Project Procedural Trees Grammar Procedural Trees Parser Configuration & seeding Procedural Fire Smart Particles Use of Heat Particles Procedural Trees & Procedural Fire Overview and Demos AVI Q&A
5
Screen shot from Smoke Framework Demo
6
6 Procedural Trees Editable Grammar and Seeded Parser allow for easy creation of an endless variety of Trees. Canopies can be added, changed, or removed for seasonal effects. Create Forests: each seed creates a different tree.
7
Elements of a Tree Grammar Trees have a trunk Trees have a trunk Branches Split off the trunk Branches Split off the trunk There might be multiple branches that split off at the same place. Each branch has a drop angle at the split. The main trunk might continue straight. Branches Branches They can vary in length. They can be straight, curved, or even wobble. Trees have a canopy Trees have a canopy Canopies have a general arch. They tend to be more concentrated at the ends of the branches
8
Concept of the Grammar ProbabilitySplitSplit Type Drop Angle Axial Bias Segment Step Length Segment DiameterWobbleTaper Level 0 10-2530-330104-5-510% 255Ordinary 52 153 Repeat Opposed 552Ordinary Level 1 35-5030-33072-5-520% 53 Repeat Opposed 53 253 Repeat Opposed 452Ordinary 202Ordinary Level n.....................
9
Segment Diameter Heading
10
Two Segments Segment Step Length
11
Two Segments Rendered
12
Branches are made up of Segments This Branch has Five Segments Two End Points
13
Branch Collection of Branch Segments Branch Bounding Box Trees are a collection of Branches Branch Collection of Branch Segments Branch Bounding Box Branch Collection of Branch Segments Branch Bounding Box Branch Collection of Branch Segments Branch Bounding Box
14
1 Levels 2 2 3 3 4
15
Drop Angle Wobble Heading Axial Split
16
Drop Angle Wobble Heading Axial Split Levels
17
Canopy Drop Angle Normal 3/7 4/7 Fulcrum
18
Canopy Segments Create a Patch Perturb the Positions Apply the Texture
19
Concept of the Grammar ProbabilitySplitSplit Type Drop Angle Axial Bias Segment Step Length Segment DiameterWobbleTaper Level 0 10-2530-330104-5-510% 255Ordinary 52 153 Repeat Opposed 552Opposed Level 1 35-5030-33072-5-520% 51 Repeat Opposed 52 253 Repeat Opposed 452Ordinary 202Ordinary Level n..................... Similar to an L-System or Turtle Grammar
20
Level 0 Probability and Split 55%15%25 % 5% 0.42 randomArg is between 0&1. The probabilities of the splitList array elements will add to 1.0; 1.0 represents 100%. if you have four levels of.25,.5,.15,&.55 respectively you have a total of 100%. the randomArg will lie somewhere in one of the four ranges. So say we have a randomArg value of.42. that means that the third split or the one with the probability of.15 will be chosen. that is.25 +.5 +.15 is.45 and.30<.42<=.45
21
Tree Grammar Parser When given Grammar position Random Seed Creates a Linked List of Branches Fills Vertex Buffer Index Buffer Plant a seed and Grow a tree
22
Seed 1321 Seed 1492 Seed 3721 TGmr1 TGmr2 TGmr3 TGmr4 with canopy
23
Procedural Fire implements a believable spreading fire. Trees catch on fire spreading from branch to branch and then tree to tree. Smart Particle Systems use heat particles generated by each fire and the fire spreads procedurally. Configurable Flames and Heat particle behavior. Density, Velocity, direction, etc.
24
Properties of a Realistic Fire Modeling how fire Spreads Fire follows the Fuel Fire follows the Fuel The more intense the fire the more heat it produces and the faster it burns and spreads The more intense the fire the more heat it produces and the faster it burns and spreads Fire is proximity sensitive. This means that the closer a fuel source is to the fire the more likely it is to catch on fire. Fire is proximity sensitive. This means that the closer a fuel source is to the fire the more likely it is to catch on fire.
25
Smart Particle System Series of Particle Engines made up of two parts Fire Particles Visible, what we think of as particles Visible, what we think of as particles Heat Emitter Particles Invisible, physical in nature Invisible, physical in nature
26
Smart Particle System Heat Particle Intersects Bounding Box Bounding Boxes for every Branch
27
Collision detected and Branch becomes active
28
Fire Objects Any object in the scene that can be on fire Each Tree is a separate Fire Object A meteor, a house, would each be separate fire objects
29
Relationship between Fire Objects World Space Representation Local Space Representation
30
Relationship between Fire Objects Local Space to World Space Translation World Space to Local Space Translation Do Collision Check
31
Fire System Fire System Collision Check For each Fire Object For each Fire in all Fire Objects For each Heat Emitter Check Collision (All Non Burning branches) if collision set branch to burning state Each Tree Each Branch Contained in Each Fire Fire Object Branch List Branch::AABB Branch::EndPoints Branch::AABB Branch::EndPoints Branch::AABB Branch::EndPoints Fire Heat Emitter Fire Heat Emitter Fire Heat Emitter Fire Object Branch List Branch::AABB Branch::EndPoints Branch::AABB Branch::EndPoints Branch::AABB Branch::EndPoints Fire Heat Emitter Fire Heat Emitter Fire Heat Emitter Fire Object Branch List Branch::AABB Branch::EndPoints Branch::AABB Branch::EndPoints Branch::AABB Branch::EndPoints Fire Heat Emitter Fire Heat Emitter Fire Heat Emitter
32
Fire System Parameters: example for a Tree TechniqueFireLine EmitterLine FPDensity10 FPImpulse(0.0625,0.5,0.0625) FPShift(0.0,1.0,0.0) FPMaxLifeTime2 FPMinLifeTime1 FPMinSize10 FPMaxSize15 FPTimePerParticle0.025 HPImpulse(3.0,8.0,3.0 ) HPShift(0.0,6.0,0.0) HPDensity1 HPTimePerParticle0.002 HPMinLifeTime7 HPMaxLifeTime10 ShowHP0 OnFire0
33
Direction of Particles Impulse (0.4,1.0,0.4) 1 1 1 Heat moves more up than sideways or down Shift (0.0,0.8,0.0) X Y Z
34
Particle Velocity Volume 1 1 1 X Y Z
35
Trees and Fire Demo Tree Heat Particles Tree Fire Particles
36
Next Steps Expanding the Concept Branches burn through and fall off Textures changes when burning XML Parser for Tree Grammar Wind Tunnels and Silos Getting the Smoke Code Email to smokecode@intel.com
37
Acknowledgements and Bibliography The Algorithmic Beauty of Plants Przemyslaw Prusinkiewicz Aristid Lindenmayer Real Time Design and Animation of Fractal Plants and Trees Peter E. Oppenheimer New York Institute of Technology Computer Graphics Lab Creation and Rendering of Realistic Trees Jason Weber Teletronics International, Inc. Joseph Penn Army Research Laboratory Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach Frank Luna
38
Q & A Thank You Demo Grove on Fire
39
www.xnagamefest.com © 2008 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.