Procedural Clouds. (special release with dots!)

Similar documents
A Simple Efficient Method for Realistic Animation of Clouds

CUDA. Fluid simulation Lattice Boltzmann Models Cellular Automata

Rendering Smoke & Clouds

Large-scale cloudscapes using noise

Texture Advection Based Simulation of Dynamic Cloud Scene

Realistic and Fast Cloud Rendering in Computer Games. Niniane Wang Software Engineer Microsoft Flight Simulator (now at Google Inc) Intro Video

MODELING AND RENDERING OF CONVECTIVE CUMULUS CLOUDS FOR REAL-TIME GRAPHICS PURPOSES

Real-time Rendering of Dynamic Clouds

Adarsh Krishnamurthy (cs184-bb) Bela Stepanova (cs184-bs)

GPU-based Distributed Behavior Models with CUDA

Dynamical Simulation 1: Particle Systems and ODEs

Modeling of Volcanic Clouds using CML *

A Particle Cellular Automata Model for Fluid Simulations

Animation of Fluids. Animating Fluid is Hard

Volcanic Smoke Animation using CML

CS5610 Final Project : Realistic Water Simulation with opengl

Fast rendering of dynamic clouds

1/16. Emergence in Artificial Life. Sebastian Marius Kirsch Back Close

Shadows in the graphics pipeline

CS 231. Fluid simulation

Theodore Kim Michael Henson Ming C.Lim. Jae ho Lim. Korea University Computer Graphics Lab.

Variations on Genetic Cellular Automata

Fluid Simulation. [Thürey 10] [Pfaff 10] [Chentanez 11]

UNIT 9C Randomness in Computation: Cellular Automata Principles of Computing, Carnegie Mellon University

Visual Simulation of clouds. Geoffrey Y. Gardner

Preliminary Spray Cooling Simulations Using a Full-Cone Water Spray

Real-time Visualization of Clouds

Navier-Stokes & Flow Simulation

CGT 581 G Fluids. Overview. Some terms. Some terms

Efficient Tridiagonal Solvers for ADI methods and Fluid Simulation

Real-Time Rain Rendering in City Environments

Applications of Explicit Early-Z Culling

Simulating Bubbles Michael Running Wolf 4/1/05. Introduction

Website.

Realistic Animation of Fluids

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

Exploring Complexity In Science and Technology. Logistics

Two-Phase flows on massively parallel multi-gpu clusters

More Animation Techniques

Nonphotorealism. Christian Miller CS Fall 2011

Demoscene and Maths. Presentation by Konstantinos Pataridis aka Navis/ASD University of Oxford August 2006

2.7 Cloth Animation. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter 2 123

CS179: GPU Programming Recitation 5: Rendering Fractals

Fluid Simulation. Dhruv Kore, Giancarlo Gonzalez, and Jenny Sum CS 488: Introduction to Computer Graphics Professor Angus Forbes

Dynamics in Maya. Gary Monheit Alias Wavefront PHYSICALLY BASED MODELING SH1 SIGGRAPH 97 COURSE NOTES

Navier-Stokes & Flow Simulation

Real time simulation of a tornado

Fall CSE 633 Parallel Algorithms. Cellular Automata. Nils Wisiol 11/13/12

Introduction to Parallel Programming in OpenMp Dr. Yogish Sabharwal Department of Computer Science & Engineering Indian Institute of Technology, Delhi

Computer with Microsoft PowerPoint and Internet access STUDENT WORKSHEET: Making a Presentation with Microsoft PowerPoint

High Performance Computing

Computational Fluid Dynamic Solver Based on Cellular Discrete-Event

Software and Performance Engineering for numerical codes on GPU clusters

Particle-Based Fluid Simulation. CSE169: Computer Animation Steve Rotenberg UCSD, Spring 2016

Convincing Cloud Rendering

Water. Notes. Free surface. Boundary conditions. This week: extend our 3D flow solver to full 3D water We need to add two things:

NUMERICAL INVESTIGATION OF THE FLOW BEHAVIOR INTO THE INLET GUIDE VANE SYSTEM (IGV)

EMERGENCE-BASED APPROACH TO COMPUTATIONAL FLUID DYNAMICS

Fluids in Games. Jim Van Verth Insomniac Games

Realistic Animation of Fluids

How Random Is Spatiotemporal Chaos of Langton's Ant? 1

Modeling and Animating Clouds in Real-time Using Billboards

CS 354R: Computer Game Technology

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization

White Paper. Perlin Fire. February 2007 WP _v01

Ray Tracing through Viewing Portals

Volumetric Particle Shadows. Simon Green

Complex Dynamics in Life-like Rules Described with de Bruijn Diagrams: Complex and Chaotic Cellular Automata

System Design for Visualizing Scientific Computations

Real-Time Shadows. Computer Graphics. MIT EECS Durand 1

LATTICE-BOLTZMANN AND COMPUTATIONAL FLUID DYNAMICS

Computer animation for fluid simulation of a high viscous fluid melting

Navier-Stokes & Flow Simulation

Two-dimensional Totalistic Code 52

Adding Spherical Harmonic Lighting to the Sushi Engine. Chris Oat 3D Application Research Group. ATI Research, Inc.

Graphics and Games. Penny Rheingans University of Maryland Baltimore County

A Direct Simulation-Based Study of Radiance in a Dynamic Ocean

Evolutionary design for the behaviour of cellular automaton-based complex systems

Parameterizing Cloud Layers and their Microphysics

Abstract. Introduction. Kevin Todisco

Sparse Fluid Simulation in DirectX. Alex Dunn Dev. Tech. NVIDIA

Attention to Detail! Creating Next Generation Content For Radeon X1800 and beyond

6 Fluid. Chapter 6. Fluids. Department of Computer Science and Engineering 6-1

GPGPU: Beyond Graphics. Mark Harris, NVIDIA

Designing the look and feel for Smoke and Neon powers The creation of a new toolset and pipeline for I:SS Pros and cons from our new workflow and

COMPUTATIONAL FLUID DYNAMICS ANALYSIS OF ORIFICE PLATE METERING SITUATIONS UNDER ABNORMAL CONFIGURATIONS

SPC 307 Aerodynamics. Lecture 1. February 10, 2018

Simulation of Swirling Bubbly Water using Bubble Particles

The Lattice-Boltzmann Method for Gaseous Phenomena

Intel Core 4 DX11 Extensions Getting Kick Ass Visual Quality out of the Latest Intel GPUs

VALIDATION AND VERIFICATION OF HULL RESISTANCE COMPONENTS USING A COMMERCIAL CFD CODE SUMMARY

Class 11 Introduction to Surface BRDF and Atmospheric Scattering. Class 12/13 - Measurements of Surface BRDF and Atmospheric Scattering

Permeable and Absorbent Materials in Fluid Simulations

A 3D VOF model in cylindrical coordinates

LECTURE 37: Ray model of light and Snell's law

MODELLING-Choosing a model

CFD exercise. Regular domain decomposition

Scalable multi-gpu cloud raytracing with OpenGL

Computer Graphics and Visualization. What is computer graphics?

Fractals and the Chaos Game

Transcription:

Procedural Clouds (special release with dots!)

Presentation will cover Clouds! In meatspace (real life) Simulating clouds Rendering clouds Cellular Automata (some) physics

Introducing Clouds Clouds are volumetric :-( dynamic :'-( => problematic

Volumetric Rendering Similar to hair c.f. Erik's presentation Many techniques will mention some later

Simulation Clouds are fluids Navier Stokes Turbulence / Chaos Clouds are 3D

Clouds in current games... Often static and flat painted by artists or photos may be lit dynamically background scenery Some exceptions (Flight Simulators) e.g. Microsoft Flight Simulator

Microsoft Flight Simulator Prebuilt by artist static Bunch of sprites not really volumetric no internal scattering Looks OK though

Clouds in Real Life(tm)

Types of Clouds Cirrocumulus Cirrus cloud Cirrostratus Altostratus Nimbostratus Cumulinimbus and so on...

Types of Clouds Focus on Cumulus clouds

Cloud Formation How are clouds formed in real life? bubbles of heated air start to rise bubbles enter lower pressure regions and expand expansion cools bubbles => relative humidity inside increases phase transition => water vapor turns into droplets We see these droplets as clouds!

Simulation of cloud formation Short video from Mark Harris dissertation Simulates rising vapor using simplified fluid dynamics

Cloud Formation, part II Actually, mechanics not yet undestood how do droplets grow? why do droplets turn into drops (=rain)? Ongoing research e.g. here at Chalmers involves lots of turbolent flows & chaos

Cloud Dynamics Involves Navier-Stokes ρ Dv/Dt = - p + T + f Differential Equations turbulent / chaotic system high Lyapunov coefficient Dedicated field for this: => Computational Fluid Dynamics

Cloud Dynamics Possible to use Navier-Stokes see e.g. Mark Harris dissertation We'll take a different approach Cellular Automata based on a paper by Dobashi et al. Actually used in fluid dynamics sometimes Lattice Boltzmann models Lattice-Gas Cellular Automata

Clouds on a CA Not accurate we don't want to predict the weather! just want to get some nice images... Simple to simulate as you will see soon

Cellular Automata

What is a Cellular Automaton? Simulation on a discreet grid with discreet time steps Each cell has a finite number of states Simple rules describe updates rules only depend on immediate neighbourhood

CA - Examples Conway's Game of Life one of the first CA:s also on title slide 4 simple rules incredible complexity See e.g. Wikipedia

CA Examples - 1D Simplest CA:s Wolfram notation Rule 110 on left Support universality at least some do

Why Cellular Automata Exhibit chaotic behaviour pseudo-random results complex structures => nicer clouds Local rules easy to parallelize computations => good match for GPU (CUDA,...)

Nagel's Method Descibes cloud formation Three boolean variables humijk humidity in cell (i,j,k) actijk activation function cldijk clouds Each variable is one bit

Nagel's Method Rules: humijk(t+1) = humijk(t) &&!actijk(t) cldijk(t+1) = cldijk(t) actijk(t) actijk(t+1) =!actijk(t) && humijk(t) && f(i,j,k) where f(i,jk) depends on the neighbourhood

Nagel's Method f(i,j,k) = acti+1jk(t) acti-1jk(t) acti+2jk(t) acti-2jk(t) actij+1k(t) actij-1k(t) actij+2k(t) actij-2k(t) actijk+1(t) actijk-1(t) actij-2k(t) Asymmetric causes clouds to grow horizontally and upwards can be modified

Nagel's Method, Summary Three variables, two states each Updates depend on state of neighbours our choice causes clouds to boundary condition: grow horizontally and upwards variables are zero outside of the grid Only describes cloud formation!

Extinction Nagel's Method only creates clouds cldijk will never reset to zero! Add extinction probability, p ext may vary depending on location may vary with time Each update check if rand01() if so, reset cldijk < pext

Regeneration Similar problem humijk and actijk will never reset to one Similar solution: add probabilities pact and phum => randomly reset humijk and actijk

Wind Clouds still stay in one place Simulate wind by shifting cells e.g. each update shift cells left Or more formally cldijk(t) = cldi-vjk(t) similarily for other variables v might depend on position

Controlling The Weather We can control the clouds by changing the probabilities (pact, phum and pext) depending on location depending on time Simulate rising pockets of air by elipsoids that move through the grid pact and phum non-zero inside elipsoid pact and phum zero outside elipsoid

Summary, so far We have an algorithm to simulate clouds suitable for GPU computation relatively simple, no horrible math cumulus clouds only Let look at some screenshots...

Screenshot!

Cloud formation

Cloud formation

Cloud formation

Cloud formation

But it's not pretty! Just simulating the clouds Each cell containing clouds drawn as a point sprite with some blending We lack lighting proper Z-order sorting for blending scattering inside the cloud etc.

Also... it's not very fast currently simulated on a CPU maybe 10 FPS (quad core2), 25 FPS (core i7) 98.5% of time spent on updating clouds GPU just twiddles thumbs during that time So it would be interesting to use e.g. CUDA (if one had time to implement that) should map well to GPUs

Screenshots, part II Screenshots from the original paper uses more fancy rendering Implements effects like scattering crepuscular rays ( god rays ) And some atmospheric effects Clouds cast shadows Paper did this in 2000 at interactive frame rates

Screenshots (again)

Screenshots (again)

Conclusion Summary (Key Stuff) Simulate Clouds Cellular Automata Nagel's Method Not predictive Weather Control! References: Y. Dobashi et al, A simple, Efficient Method for Realistic Animation of Clouds, SIGGRAPH2000 K. Nagel, Self-Organizing Criticality in Cloud Formation, Physica A 1992 M. Harris et al, Simulation of Cloud Dynamics on Graphics Hardware, Proc. of Graphics Hardware, 2003...