‘Fire’: The Procedural Method Investigation of Procedural Trees and Fire:

Slides:



Advertisements
Similar presentations
Computer graphics & visualization Real-Time Pencil Rendering Marc Treib.
Advertisements

Exploration of advanced lighting and shading techniques
Introduction Games have always been a fundamental part of human life. Space storm “ عاصفة الفضاء” is a 3D SCI-FI game that consists of two stages presented.
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
4.9. P ARTICLE E FFECTS Use of particle effects within games.
Motivation Hair animation used in movies, games, virtual reality, etc. Problem due to complexity –Human head has over 100,000 strands of hair –Computation.
JYC: CSM17 BioinformaticsCSM17 Week 8: Simulations (part 2): plant morphology sea shells (marine molluscs) fractals virtual reality –Lindenmayer systems.
3D Graphics Rendering and Terrain Modeling
Overarching Goal: Understand that computer models require the merging of mathematics and science. 1.Understand how computational reasoning can be infused.
L-systems Presented by Luv Kohli COMP258 October 30, 2002 Images copyright © 1992 D. Fowler, P. Prusinkiewicz, and J. Battjes.
Procedural Modeling L-Systems Procedural Terrain Procedural Behavior Based on the slides from Spring 2007.
Particle Systems Final Exam Study Guide Game Design Experience Professor Jim Whitehead March 16, 2009 Creative Commons Attribution 3.0 (Except copyrighted.
Simulating Trees with Fractals and L-Systems Eric M. Upchurch CS 579.
High-Quality Video View Interpolation
Computer Modelling Of Fallen Snow Paul Fearing University of British Columbia Vancouver, Canada.
V-FIRE: Virtual Fire In Realistic Environments Michael Penick ◦ Grant Kelly ◦ Juan Quiroz with Dr. Fred Harris, Dr. Sergiu Dascalu, and Brian Westphal.
Multifractals in Real World
Deploying Visual Studio Team System 2008 Team Foundation Server at Microsoft Published: June 2008 Using Visual Studio 2008 to Improve Software Development.
McGraw-Hill© 2007 The McGraw-Hill Companies, Inc. All rights reserved. 1-1.
Oct-03FOFEM 5 Overview An Overview of FOFEM 5 Missoula Fire Sciences Laboratory Systems for Environmental Management.
Data Structures and Algorithms Semester Project – Fall 2010 Faizan Kazi Comparison of Binary Search Tree and custom Hash Tree data structures.
CS 480/680 Computer Graphics Course Overview Dr. Frederick C Harris, Jr. Fall 2012.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Computer graphics & visualization REYES Render Everything Your Eyes Ever Saw.
TERRAIN SET09115 Intro to Graphics Programming. Breakdown  Basics  What do we mean by terrain?  How terrain rendering works  Generating terrain 
L-Systems and Procedural Plants CSE 3541 Matt Boggus.
Computer Graphics I, Fall 2008 Introduction to Computer Graphics.
1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 CS4610/7610: Introduction to Computer Graphics.
Pavel Slavík, Marek Gayer, Frantisek Hrdlicka, Ondrej Kubelka Czech Technical University in Prague Czech Republic 2003 Winter Simulation Conference December.
Tiger Woods 2008: Advancements in Environments Peter Arisman Technical Art Director Tiger Woods 2008.
DirectX Objects Finalised Paul Taylor Packing Your Objects
Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Rigging.
Digital Media Lecture 8: Vector Graphics 3D Georgia Gwinnett College School of Science and Technology Dr. Jim Rowan.
Project “Smoke” N-core engine experiment Threading for Performance AND Features.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Course Introduction to virtual engineering Óbuda University John von Neumann Faculty of Informatics Institute of Applied Mathematics Lecture and laboratory.
Point Sprites Course Information CVG: Programming 4 My Name: Mark Walsh Website: Recommended.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
Bounding Volume Hierarchy. The space within the scene is divided into a grid. When a ray travels through a scene, it only passes a few boxes within the.
Speed Tree Let’s Make a Forest Copyright © 2015 – Curt Hill.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
Graphics Lecture 17: Slide 1 Interactive Computer Graphics Lecture 17: Fire.
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2008 Pearson Education, Inc., Upper.
Advanced D3D10 Shader Authoring Presentation/Presenter Title Slide.
Graphics, Modeling, and Textures Computer Game Design and Development.
CS559: Computer Graphics Lecture 36: Subdivision Surfaces, Fractals, and Animation Li Zhang Spring 2008 Many slides from James Kuffner’s graphics class.
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
Computer Graphics Imaging Ying Zhu Georgia State University Lecture 26 Hair and fur.
Digital Media Dr. Jim Rowan ITEC 2110 Vector Graphics II.
Final Presentation CS491B ALAIN VINIOT DE LARA Spring 2007, CSULA.
Grammars, L-Systems Jim Whitehead UC Santa Cruz School of Engineering courses.soe.ucsc.edu/courses/cmps265/Spring14/01 23 Apr 2014.
Making of the Ignite Bot
Computer Animation Ying Zhu Georgia State University
A Look Into Photorealistic and Non-Photorealistic Rendering
Introduction to Graphics Modeling
3D Graphics Rendering PPT By Ricardo Veguilla.
3D Object Representations
Foundations of Visualization 10/25/2005 Notes
Microsoft Connect /17/ :55 PM
ADO.NET Entity Framework Marcus Tillett
Pixar’s “A Bug’s Life” (with procedural models abounding)
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
Effects in the Visual Layer Windows Composition: The Windows 10 EffectBrush Chris Raubacher Senior Dev Lead Kelly Renner Senior Program Manager.
Dr. Jim Rowan ITEC 2110 Vector Graphics II
Microsoft Connect /23/ :38 AM
14th Lecture – Final Lecture
Use of particle effects within games
Dr. Jim Rowan ITEC 2110 Vector Graphics II
Presentation transcript:

‘Fire’: The Procedural Method Investigation of Procedural Trees and Fire:

Procedural Fire and Procedural Trees in a Virtual World Hugh Smith Senior Software Engineer Intel Corporation Visual Computing Software Division

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

Screen shot from Smoke Framework Demo

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.

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

Concept of the Grammar ProbabilitySplitSplit Type Drop Angle Axial Bias Segment Step Length Segment DiameterWobbleTaper Level % 255Ordinary Repeat Opposed 552Ordinary Level % 53 Repeat Opposed Repeat Opposed 452Ordinary 202Ordinary Level n

Segment Diameter Heading

Two Segments Segment Step Length

Two Segments Rendered

Branches are made up of Segments This Branch has Five Segments Two End Points

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

1 Levels

Drop Angle Wobble Heading Axial Split

Drop Angle Wobble Heading Axial Split Levels

Canopy Drop Angle Normal 3/7 4/7 Fulcrum

Canopy Segments Create a Patch Perturb the Positions Apply the Texture

Concept of the Grammar ProbabilitySplitSplit Type Drop Angle Axial Bias Segment Step Length Segment DiameterWobbleTaper Level % 255Ordinary Repeat Opposed 552Opposed Level % 51 Repeat Opposed Repeat Opposed 452Ordinary 202Ordinary Level n Similar to an L-System or Turtle Grammar

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 is.45 and.30<.42<=.45

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

Seed 1321 Seed 1492 Seed 3721 TGmr1 TGmr2 TGmr3 TGmr4 with canopy

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.

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.

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

Smart Particle System Heat Particle Intersects Bounding Box Bounding Boxes for every Branch

Collision detected and Branch becomes active

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

Relationship between Fire Objects World Space Representation Local Space Representation

Relationship between Fire Objects Local Space to World Space Translation World Space to Local Space Translation Do Collision Check

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

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

Direction of Particles Impulse (0.4,1.0,0.4) Heat moves more up than sideways or down Shift (0.0,0.8,0.0) X Y Z

Particle Velocity Volume X Y Z

Trees and Fire Demo Tree Heat Particles Tree Fire Particles

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 to

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

Q & A Thank You Demo Grove on Fire

© 2008 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.