# Judging by the number of times the question comes up in public forums such

Save this PDF as:

Size: px
Start display at page:

Download "Judging by the number of times the question comes up in public forums such"

## Transcription

1 by Jeff Lander GRAPHIC CONTENT The Ocean Spray in Your Face Judging by the number of times the question comes up in public forums such as Usenet, particle systems are a pretty hot issue. This may be partially a result of the phenomenal success of QUAKE, with its use of particles for smoke, blood trails, and spark falls. But certainly, the interest in particle systems has something to do with their ability, more so than any other computer graphics method, to create realistic natural phenomena in real time. William Reeves realized this all the way back in 1982 and When working on Star Trek II: The Wrath of Khan, he was in search of a method for creating realistic fire for the Genesis Demo sequence. Reeves realized that conventional modeling, which was best at creating objects that have smooth, well-defined surfaces, wouldn t do the trick. The objects that made up these effects were not made of easily definable surfaces. These objects, which he termed fuzzy, would be better modeled as a system of particles that behaved within a set of dynamic rules. Particles had been used previously to create natural effects such as smoke and galaxies of stars, but were difficult to control. Reeves realized that by applying a system of rules to particles, he could achieve a chaotic effect while maintaining some creative control. Thus was born the particle system. How Does It Work? Aparticle system is basically just a collection of 3D points in space. Unlike standard geometry objects, particles making up the system are not static. They go through a complete life cycle. Particles are born, change over time, and then die off. By adjusting the parameters that influence this life cycle, you can create different types of effects. Another key point regarding particle systems is that they are chaotic. That is, instead of having a completely predetermined LISTING 1. The Particle Structure. path, each particle can have a random element that modifies its behavior. It s this random element, called a stochastic process (a good nerd party word), that makes the effect look very organic and natural. This month, I m going to create a real-time particle system that will show off the basic techniques as well as some eye-catching effects you can create. The Particle Let s start by looking at what properties are needed in a particle. First, I need to know the position of the particle. I m going to store the previous position as well, because I also want to be able to antialias the particles easily. I need to know the direction in which the particle is currently traveling. This can be stored as a direction vector. I also need to know the current speed at which this particle is traveling in that direction, but speed can simply be combined with the direction vector by multiplication. I m going to render struct tparticle tparticle *prev,*next; // LINK tvector pos; // CURRENT POSITION tvector prevpos; // PREVIOUS POSITION tvector dir; // CURRENT DIRECTION WITH SPEED int life; // HOW LONG IT WILL LAST tcolor color; // CURRENT COLOR OF PARTICLE tcolor prevcolor; // LAST COLOR OF PARTICLE tcolor deltacolor; // CHANGE OF COLOR ; Jeff is a complex particle system at Darwin 3D. him at But beware that his replies are subject to stochastic reliability JULY 1998 G A M E D E V E L O P E R

4 ent ways (see References ). Along with a point source, he describes methods for creating particles on the surface of a sphere, within the volume of a sphere, on the surface of a 2D disc, and on the surface of a rectangle. These different methods will create various effects, so you should experiment to find what works best for your application. on antialiasing, the system draws a gouraud-shaded line from the previous position and color to the new position and color. This tends to smooth out the look at the cost of some rendering speed. You can see the difference in Figures 1a and 1b. The first image is a simple point rendering, and the second is composed of line segments. 18 Updating the Particle Once a particle is born, it s handled by the particle system. The update routine is in Listing 5. For each cycle of the simulation, each particle is updated. First, it s checked to see if it has died. If it has, the particle is removed from the emitter and returned to the global particle pool. At this time also, global forces are applied to the direction vector, and the color is modified. Rendering the Particle System A particle system is simply a collection of points, and so it can be rendered as just that, a set of colored 3D points. You can also calculate a polygon around the point so that it always faces the camera like a billboard. Then apply any texture you like to the polygon. By scaling the polygon with the distance from the camera, you can create perspective. Another option is to draw a 3D object of any type at the position of the particle. I took the simple route. I just drew each particle as a 3D point. If you turn FIGURES 1a AND 1b. 1a shows point rendering and 1b shows a composition of line segments. LISTING 5. Updating a Particle. // Function: updateparticle // Purpose: updateparticle settings // Arguments: The particle to update and the emitter it came from BOOL updateparticle(tparticle *particle,temitter *emitter) // IF THIS IS A VALID PARTICLE if (particle!= NULL && particle->life > 0) // SAVE ITS OLD POS FOR ANTI ALIASING particle->prevpos.x = particle->pos.x; particle->prevpos.y = particle->pos.y; particle->prevpos.z = particle->pos.z; // CALCULATE THE NEW particle->pos.x += particle->dir.x; particle->pos.y += particle->dir.y; particle->pos.z += particle->dir.z; // APPLY GLOBAL FORCE TO DIRECTION particle->dir.x += emitter->force.x; particle->dir.y += emitter->force.y; particle->dir.z += emitter->force.z; // SAVE THE OLD COLOR particle->prevcolor.r = particle->color.r; particle->prevcolor.g = particle->color.g; particle->prevcolor.b = particle->color.b; // GET THE NEW COLOR particle->color.r += particle->deltacolor.r; particle->color.g += particle->deltacolor.g; particle->color.b += particle->deltacolor.b; particle->life ;// IT IS A CYCLE OLDER return TRUE; else if (particle!= NULL && particle->life == 0) // FREE THIS SUCKER UP BACK TO THE MAIN POOL if (particle->prev!= NULL) particle->prev->next = particle->next; else emitter->particle = particle->next; // FIX UP THE NEXT S PREV POINTER IF THERE IS A NEXT if (particle->next!= NULL) particle->next->prev = particle->prev; particle->next = m_particlepool; m_particlepool = particle; // NEW POOL POINTER emitter->particlecount ; // ADD ONE TO POOL return FALSE; /// updateparticle ///////////////////////////////////////////////////////////////

5 What Can You Do With It? Once you ve designed your system, you can start building effects. You can easily build effects such as fire, water fountains, spark showers, and others simply by modifying the emitter properties. By attaching the emitter to another object and actually animating it, you can create simple smoke trails or a comet tail. You can also create even more complex effects by creating a brand new particle system at the point at which each particle dies. The Genesis sequence in Star Trek II actually had up to 400 particle systems consisting of 750,000 particles. That may be a bit much for your real-time blood spray, but as hardware gets faster, who knows? Also, my simple physics model could be greatly modified. The mass of the particles could be randomized, causing gravity to effect them differently. A friction model would force some particles to slow down while animating. The addition of local spatial effects, such as magnetic fields, wind gusts, and rotational vortexes, would vary the particles even more. Or you could vary the emitsperframe in a cycle over time to create a puffing smoke effect. I ve seen many other ideas implemented in commercial particle systems. You can animate the size of the particle over time to create a dispersing effect. Add more color key positions over the particle s lifetime to create a more complex look. Another interesting variation is the use of a particle system to create plants. By keeping track of each position over the life of a particle and then rendering a line through all those points, you get an object that resembles a clump of grass. Organic objects such as this would be difficult to hand-model convincingly with polygons. Another area for expansion is collision detection. You could create particles that bounce off of boundary objects such as cubes and spheres by simply reflecting the direction vector off of the surface. You can see from these ideas that I ve just begun to explore what can be created with particle systems. By creating a flexible particle engine, you can achieve many different effects by modifying a few simple settings. These flexible emitters can easily be dropped into an existing 3D real-time engine to add to the realism and excitement of a simulation. The source code and application this month demonstrate the use of a particle system. The emitter settings can be manipulated via a dialog box to create custom effects. These settings can be saved to create a library of emitters. Get the source and application on the Game Developer s web site at R E F E R E N C E S Reeves, William T. Particle Systems A Technique for Modeling a Class of Fuzzy Objects. Computer Graphics, Vol. 17, No. 3 (1983): Reeves, William T. Approximate and Probabilistic Algorithms for Shading and Rendering Structured Particles Systems. Computer Graphics, Vol. 19, No. 3 (1985): Watt, Alan, 3D Computer Graphics. Reading, Mass.: Addison Wesley,

### INTRODUCTION TO RENDERING TECHNIQUES

INTRODUCTION TO RENDERING TECHNIQUES 22 Mar. 212 Yanir Kleiman What is 3D Graphics? Why 3D? Draw one frame at a time Model only once X 24 frames per second Color / texture only once 15, frames for a feature

### Dipartimento di Tecnologie dell Informazione Università di MIlano. Physics Engines LOGO

Dipartimento di Tecnologie dell Informazione Università di MIlano Physics Engines LOGO Computer game physics Computer animation physics or game physics involves the introduction of the laws of physics

### Kinematics & Dynamics

Overview Kinematics & Dynamics Adam Finkelstein Princeton University COS 46, Spring 005 Kinematics Considers only motion Determined by positions, velocities, accelerations Dynamics Considers underlying

### Introduction to Computer Graphics

Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics

### ART 269 3D Animation Fundamental Animation Principles and Procedures in Cinema 4D

ART 269 3D Animation Fundamental Animation Principles and Procedures in Cinema 4D Components Tracks An animation track is a recording of a particular type of animation; for example, rotation. Some tracks

### Animation (-4, -2, 0 ) + (( 2, 6, -4 ) - (-4, -2, 0 ))*.75 = (-4, -2, 0 ) + ( 6, 8, -4)*.75 = (.5, 4, -3 ).

Animation A Series of Still Images We Call Animation Animation needs no explanation. We see it in movies and games. We grew up with it in cartoons. Some of the most popular, longest-running television

### Today. Keyframing. Procedural Animation. Physically-Based Animation. Articulated Models. Computer Animation & Particle Systems

Today Computer Animation & Particle Systems Some slides courtesy of Jovan Popovic & Ronen Barzel How do we specify or generate motion? Keyframing Procedural Animation Physically-Based Animation Forward

### Computers in Film Making

Computers in Film Making Snow White (1937) Computers in Film Making Slide 1 Snow White - Disney s Folly Moral: Original Budget \$250,000 Production Cost \$1,488,422 Frames 127,000 Production time 3.5 years

### Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau 04/02 Introduction & projective rendering 11/02 Prodedural modeling, Interactive modeling with parametric surfaces 25/02 Introduction

### Module 3 Crowd Animation Using Points, Particles and PFX Linker for creating crowd simulations in LightWave 8.3

Module 3 Crowd Animation Using Points, Particles and PFX Linker for creating crowd simulations in LightWave 8.3 Exercise 2 Section A Crowd Control Crowd simulation is something you see in movies every

### A Short Introduction to Computer Graphics

A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical

### Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine

Blender Notes Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine The Blender Game Engine This week we will have an introduction to the Game Engine build

### Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps

Introduction Computer stuff Pixels Line Drawing Video Game World 2D 3D Puzzle Characters Camera Time steps Geometry Polygons Linear Algebra NURBS, Subdivision surfaces, etc Movement Collisions Fast Distances

### CS 4204 Computer Graphics

CS 4204 Computer Graphics Computer Animation Adapted from notes by Yong Cao Virginia Tech 1 Outline Principles of Animation Keyframe Animation Additional challenges in animation 2 Classic animation Luxo

### CS130 - Intro to computer graphics. Dr. Victor B. Zordan vbz@cs.ucr.edu www.cs.ucr.edu/~vbz. Objectives

CS130 - Intro to computer graphics Dr. Victor B. Zordan vbz@cs.ucr.edu www.cs.ucr.edu/~vbz Objectives Explore basics of computer graphics Survey application areas Today, brief introduction to graphics

### Quaternion Math. Application Note. Abstract

Quaternion Math Application Note Abstract This application note provides an overview of the quaternion attitude representation used by VectorNav products and how to convert it into other common attitude

### Outline. srgb DX9, DX10, XBox 360. Tone Mapping. Motion Blur

Outline srgb DX9, DX10, XBox 360 Tone Mapping Motion Blur srgb Outline srgb & gamma review Alpha Blending: DX9 vs. DX10 & XBox 360 srgb curve: PC vs. XBox 360 srgb Review Terminology: Color textures are

### The Car Tutorial Part 1 Creating a Racing Game for Unity

The Car Tutorial Part 1 Creating a Racing Game for Unity Introduction 3 We will show 3 Prerequisites 3 We will not show 4 Part 1: Assembling the Car 5 Adding Collision 6 Shadow settings for the car model

### Procedural Animation. An introduction

Procedural Animation An introduction What is procedural? Procedural animation is an approach (i.e. a way) to create animation. It is not a style of animation. But the animation created by procedural approach

### Using Photorealistic RenderMan for High-Quality Direct Volume Rendering

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering Cyrus Jam cjam@sdsc.edu Mike Bailey mjb@sdsc.edu San Diego Supercomputer Center University of California San Diego Abstract With

### ICPC Challenge. Game Description. March 26, 2009

ICPC Challenge Game Description March 26, 2009 The ICPC Challenge game, Capture, is played on a field that looks something like the following figure. A red player and a blue player compete on the 800 800

### Interactive Computer Graphics

Interactive Computer Graphics Lecture 18 Kinematics and Animation Interactive Graphics Lecture 18: Slide 1 Animation of 3D models In the early days physical models were altered frame by frame to create

### Building an Advanced Particle System

PARTICLE SYSTEMS Building an Advanced System by John van der Burg 44 Imagine a scene in a game in which a rocket flies through the air, leaving a smoke trail behind it. Suddenly the rocket explodes, sparks

### Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control

### Tutorial 9: Skeletal Animation

Tutorial 9: Skeletal Animation Summary In the last couple of tutorials, you ve seen how to create a scene graph, and implemented a simple animating cube robot using them. You re probably wondering how

### Animation. Persistence of vision: Visual closure:

Animation Persistence of vision: The visual system smoothes in time. This means that images presented to the eye are perceived by the visual system for a short time after they are presented. In turn, this

### Unity Tutorials 5 Lighting and Cameras. I Lights

I Lights Getting Rid of All Light In order to see the effects of lighting properly we will have to get rid of the default light. Whenever you make a new scene you are given a default Main Camera and a

### Thea Omni Light. Thea Spot Light. Light setup & Optimization

Light setup In this tutorial we will learn how to setup lights inside Thea Studio and how to create mesh lights and optimize them for faster rendering with less noise. Let us have a look at the different

### CS 325 Computer Graphics

CS 325 Computer Graphics 01 / 25 / 2016 Instructor: Michael Eckmann Today s Topics Review the syllabus Review course policies Color CIE system chromaticity diagram color gamut, complementary colors, dominant

### Particles, Flocks, Herds, Schools

CS 4732: Computer Animation Particles, Flocks, Herds, Schools Robert W. Lindeman Associate Professor Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu Control vs. Automation Director's

### CGT 511. Aliasing. Aliasing. Aliasing. Having originally continuous function. Aliasing is one of the most important properties of sampling

Aliasing CGT 511 (Anti)aliasing Bedřich Beneš, Ph.D. Purdue University Department of Computer Graphics Technology Aliasing is one of the most important properties of sampling Continuous function f(x) is

### Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing

### RealFlow Cinema 4D Plug-in

RealFlow Cinema 4D Plug-in Features and Tutorials With this new plug-in release, Next Limit enhances the connectivity between RealFlow and Cinema 4D. In developing this version, our focus has been on workflow

### An introduction to Global Illumination. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

An introduction to Global Illumination Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Isn t ray tracing enough? Effects to note in Global Illumination image:

### CS 431/636 Advanced Rendering Techniques"

CS 431/636 Advanced Rendering Techniques" Dr. David Breen" Korman 105D" Wednesday 6PM 8:50PM" Photon Mapping" 5/2/12" Slide Credits - UC San Diego Goal Efficiently create global illumination images with

### animation animation shape specification as a function of time

animation animation shape specification as a function of time animation representation many ways to represent changes with time intent artistic motion physically-plausible motion efficiency control typically

### Image Synthesis. Ambient Occlusion. computer graphics & visualization

Image Synthesis Ambient Occlusion Ambient Occlusion (AO) Ambient Occlusion approximates the diffuse illumination of a surface based on its directly visible occluders Idea: Trace rays through the normal-oriented

### The 3D rendering pipeline (our version for this class)

The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in camera coordinates Pixels in image coordinates Scene graph Camera Rasterization

### Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Questions 2007 INSTRUCTIONS: Answer all questions. Spend approximately 1 minute per mark. Question 1 30 Marks Total

### Part I. Basic Maths for Game Design

Part I Basic Maths for Game Design 1 Chapter 1 Basic Vector Algebra 1.1 What's a vector? Why do you need it? A vector is a mathematical object used to represent some magnitudes. For example, temperature

### 2.5 Physically-based Animation

2.5 Physically-based Animation 320491: Advanced Graphics - Chapter 2 74 Physically-based animation Morphing allowed us to animate between two known states. Typically, only one state of an object is known.

### Building Blocks Artist Driven Procedural Buildings. James Golding - Epic Games

Building Blocks Artist Driven Procedural Buildings James Golding - Epic Games Who Am I Started as Field Engineer at MathEngine Oxford, UK 1999-2003 Senior Programmer at Epic Games Raleigh, NC, USA Worked

### Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as

### Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

CSCI 480 Computer Graphics Lecture 1 Course Overview January 14, 2013 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s13/ Administrative Issues Modeling Animation

### Republic Polytechnic School of Information and Communications Technology C391 Animation and Visual Effect Automation.

Republic Polytechnic School of Information and Communications Technology C391 Animation and Visual Effect Automation Module Curriculum This document addresses the content related abilities, with reference

### Shadow Algorithms. Image Processing and Computer Graphics. Matthias Teschner. Computer Science Department University of Freiburg

Image Processing and Computer Graphics Shadow Algorithms Matthias Teschner Computer Science Department University of Freiburg University of Freiburg Computer Science Department Computer Graphics - 1 Outline

### Implementing a Rewindable Instant Replay System for Temporal Debugging. Mark Wesley Lead Gameplay Programmer 2K Marin

Implementing a Rewindable Instant Replay System for Temporal Debugging Mark Wesley Lead Gameplay Programmer 2K Marin Talk contents: What is a Rewindable Replay system? How to implement one for debugging

### Image Synthesis. Fur Rendering. computer graphics & visualization

Image Synthesis Fur Rendering Motivation Hair & Fur Human hair ~ 100.000 strands Animal fur ~ 6.000.000 strands Real-Time CG Needs Fuzzy Objects Name your favorite things almost all of them are fuzzy!

### Go to contents 18 3D Visualization of Building Services in Virtual Environment

3D Visualization of Building Services in Virtual Environment GRÖHN, Matti Gröhn; MANTERE, Markku; SAVIOJA, Lauri; TAKALA, Tapio Telecommunications Software and Multimedia Laboratory Department of Computer

### Lecture Notes, CEng 477

Computer Graphics Hardware and Software Lecture Notes, CEng 477 What is Computer Graphics? Different things in different contexts: pictures, scenes that are generated by a computer. tools used to make

### Computer Graphics. Course SS 2007 Antialiasing. computer graphics & visualization

Computer Graphics Course SS 2007 Antialiasing How to avoid spatial aliasing caused by an undersampling of the signal, i.e. the sampling frequency is not high enough to cover all details Supersampling -

### ART 269 3D Animation Dynamics. Example #1: Basic Collision Detection

ART 269 3D Animation Dynamics Example #1: Basic Collision Detection 1. Create a Floor object. 2. Create a Cylinder object. 3. Create a Cube object and flatten it out and make it slightly larger. 4. Place

### Essential Mathematics for Computer Graphics fast

John Vince Essential Mathematics for Computer Graphics fast Springer Contents 1. MATHEMATICS 1 Is mathematics difficult? 3 Who should read this book? 4 Aims and objectives of this book 4 Assumptions made

### 2D Geometric Transformations. COMP 770 Fall 2011

2D Geometric Transformations COMP 770 Fall 2011 1 A little quick math background Notation for sets, functions, mappings Linear transformations Matrices Matrix-vector multiplication Matrix-matrix multiplication

### Project 2: Character Animation Due Date: Friday, March 10th, 11:59 PM

1 Introduction Project 2: Character Animation Due Date: Friday, March 10th, 11:59 PM The technique of motion capture, or using the recorded movements of a live actor to drive a virtual character, has recently

### Behavioral Animation Simulation of Flocking Birds

Behavioral Animation Simulation of Flocking Birds Autonomous characters determine their actions Simulating the paths of individuals in: flocks of birds, schools of fish, herds of animals crowd scenes 1.

### A fast real-time back-face culling approach

A fast real-time back-face culling approach Vadim Manvelyan vadim2@seas.upenn.edu Advisor: Dr. Norman Badler April 11 2006 Abstract Three-dimensional graphics has been an area of interest in computer science

### Adding Animation With Cinema 4D XL

Step-by-Step Adding Animation With Cinema 4D XL This Step-by-Step Card covers the basics of using the animation features of Cinema 4D XL. Note: Before you start this Step-by-Step Card, you need to have

### CE318: Games Console Programming

CE318: Games Console Programming Lecture 2: 2D Games Diego Perez dperez@essex.ac.uk Office 3A.526 2014/15 Outline 1 2D Vectors 2 2D Sprites 3 2D Physics 4 Managing Player Input 5 Lab Session 2 Unity3D

### Buffers and Texture Mapping. Overview. Buffers. David Carr Fundamentals of Computer Graphics Spring 2004 Based on Slides by E.

INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Buffers and Texture Mapping David Carr Fundamentals of Computer Graphics Spring 2004 Based on Slides by E. Angel Feb-18-04 SMD159, Buffers and

### GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

Welcome to GUI! Mechanics 26/02/2014 1 Requirements Info If you don t know C++, you CAN take this class additional time investment required early on GUI Java to C++ transition tutorial on course website

### Real-time skin rendering on graphics hardware

Real-time skin rendering on graphics hardware Pedro V. Sander David Gosselin Jason L. Mitchell ATI Research Skin shading Most lighting comes from sub-surface scattering Traditional Lambertian lighting

### Visual Special Effects Toolkit in C++

Visual Special Effects Toolkit in C++ Tim Wittenburg WILEY COMPUTER PUBLISHING JOHN WILEY & SONS, INC. New York Chichester Weinheim Brisbane Singapore Toronto Contents Table of Figures Plates Preface Acknowledgments

### Vector algebra Christian Miller CS Fall 2011

Vector algebra Christian Miller CS 354 - Fall 2011 Vector algebra A system commonly used to describe space Vectors, linear operators, tensors, etc. Used to build classical physics and the vast majority

### Magnets. We have all seen the demonstration where you put a magnet under a piece of glass, put some iron filings on top and see the effect.

Magnets We have all seen the demonstration where you put a magnet under a piece of glass, put some iron filings on top and see the effect. What you are seeing is another invisible force field known as

### CS 378: Computer Game Technology

CS 378: Computer Game Technology http://www.cs.utexas.edu/~fussell/courses/cs378/ Spring 2013 University of Texas at Austin CS 378 Game Technology Don Fussell Instructor and TAs! Instructor: Don Fussell!

### Computer Animation and Visualisation. Lecture 1. Introduction

Computer Animation and Visualisation Lecture 1 Introduction 1 Today s topics Overview of the lecture Introduction to Computer Animation Introduction to Visualisation 2 Introduction (PhD in Tokyo, 2000,

### Classifying Manipulation Primitives from Visual Data

Classifying Manipulation Primitives from Visual Data Sandy Huang and Dylan Hadfield-Menell Abstract One approach to learning from demonstrations in robotics is to make use of a classifier to predict if

### NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA

NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA GFLOPS 3500 3000 NVPRO-PIPELINE Peak Double Precision FLOPS GPU perf improved

### Introduction to Flow Visualization

Introduction to Flow Visualization This set of slides developed by Prof. Torsten Moeller, at Simon Fraser Univ and Professor Jian Huang, at University of Tennessee, Knoxville And some other presentation

### Solving Simultaneous Equations and Matrices

Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering

### Use fireworks and Bonfire night as a stimulus for programming

Learn it: Scratch Programming Make fireworks in Scratch Use fireworks and Bonfire night as a stimulus for programming Create an animated bonfire Design and program a working Catherine wheel Design and

### Maya Foundations: How to use transparencies, to animate a camera with a target and to render an animation Spring 2007` - Jean-Marc Gauthier - All

Maya Foundations: How to use transparencies, to animate a camera with a target and to render an animation Spring 2007` - Jean-Marc Gauthier - All Rights Reserved Part 1- This tutorial shows how to remove

### Cork Education and Training Board. Programme Module for. 3 Dimensional Computer Graphics. Leading to. Level 5 FETAC

Cork Education and Training Board Programme Module for 3 Dimensional Computer Graphics Leading to Level 5 FETAC 3 Dimensional Computer Graphics 5N5029 3 Dimensional Computer Graphics 5N5029 1 Version 3

### FreeForm 3D Mesh Warp User Manual. freeform created by mettle.com

FreeForm 3D Mesh Warp User Manual freeform created by mettle.com Contents 3 Installation 4 Controls 6 Controls - cont d 8 Support 9 Application FreeForm 3D Mesh Warp The FreeForm 3D Mesh Warp plugin for

### CS 543: Computer Graphics Lecture 9 (Part I): Raster Graphics: Drawing Lines. Emmanuel Agu

CS 543: Computer Graphics Lecture 9 (Part I): Raster Graphics: Drawing Lines Emmanuel Agu 2D Graphics Pipeline Clipping Object World Coordinates Applying world window Object subset window to viewport mapping

### Maya 2014 Basic Animation & The Graph Editor

Maya 2014 Basic Animation & The Graph Editor When you set a Keyframe (or Key), you assign a value to an object s attribute (for example, translate, rotate, scale, color) at a specific time. Most animation

### SkillsUSA 2014 Contest Projects 3-D Visualization and Animation

SkillsUSA Contest Projects 3-D Visualization and Animation Click the Print this Section button above to automatically print the specifications for this contest. Make sure your printer is turned on before

### Making natural looking Volumetric Clouds In Blender 2.48a

I think that everyone using Blender has made some trials about making volumetric clouds. The truth is that a kind of volumetric clouds is already available in Blender for a long time, thanks to the 3D

### Fire Simulation For Games

Fire Simulation For Games Dennis Foley Abstract Simulating fire and smoke as well as other fluid like structures have been done in many different ways. Some implementations use very accurate physics some

### CUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS

ICCVG 2002 Zakopane, 25-29 Sept. 2002 Rafal Mantiuk (1,2), Sumanta Pattanaik (1), Karol Myszkowski (3) (1) University of Central Florida, USA, (2) Technical University of Szczecin, Poland, (3) Max- Planck-Institut

### Sources: On the Web: Slides will be available on:

C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,

### Behavioral Animation Modeling in the Windows Environment

Behavioral Animation Modeling in the Windows Environment MARCELO COHEN 1 CARLA M. D. S. FREITAS 1 FLAVIO R. WAGNER 1 1 UFRGS - Universidade Federal do Rio Grande do Sul CPGCC - Curso de Pós Graduação em

### Three-Dimensional LED Display. Project Proposal Senior Design 1 EEL4914

Three-Dimensional LED Display Project Proposal Senior Design 1 EEL4914 April 25, 2014 Team Number: 15 Project Members: Luke Ausley Joshua Moyerman Andrew Smith Sponsors: Stellascapes (Pending) 1 1 Project

### Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

3. Computer Graphics Sungmin Kim http://latam.jnu.ac.kr Computer Graphics Definition Introduction Research field related to the activities that includes graphics as input and output Importance Interactive

### Mobile Analytics for Emergency Response and Training

Mobile Analytics for Emergency Response and Training S. Kim, R. Maciejewski, K. Ostmo, E. Delp, T. Collins, D. Ebert Seminar Visual Analytics Daniel Lorig, 3.7.2008 Outline I. Overview on Mobile Analytics

### Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 7 Transformations in 2-D

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 7 Transformations in 2-D Welcome everybody. We continue the discussion on 2D

### Spectroscopy, the Doppler Shift and Masses of Binary Stars.

Spectroscopy, the Doppler Shift and Masses of Binary Stars http://apod.nasa.gov/apod/astropix.html Doppler Shift At each point the emitter is at the center of a circular wavefront extending out from its

### Introduction to Computer Graphics 8. Buffers and Mapping techniques (A)

Introduction to Computer Graphics 8. Buffers and Mapping techniques (A) National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Textbook: Hearn and Baker, Computer Graphics, 3rd Ed., Prentice

### Books. CS155b Computer Graphics. Homework. Additional References. Syllabus. Goals

CS155b Computer Graphics Instructor: Giovanni Motta (gim@ieee.org) Volen, Room #255. Phone: x62718 Class: Mon. and Wed. from 5 to 6:30pm Abelson #131 Teaching Assistants: Anthony Bucci (abucci@cs) John

### DM810 Computer Game Programming II: AI. Lecture 2. Movement. Marco Chiarandini

DM810 Computer Game Programming II: AI Lecture 2 Movement Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. Seeking Wandering 3. 2 Outline 1. 2.

### MMGD0203 Multimedia Design MMGD0203 MULTIMEDIA DESIGN. Chapter 3 Graphics and Animations

MMGD0203 MULTIMEDIA DESIGN Chapter 3 Graphics and Animations 1 Topics: Definition of Graphics Why use Graphics? Graphics Categories Graphics Qualities File Formats Types of Graphics Graphic File Size Introduction

### Ray Tracing: Color and Texture

Ale xb ento n, Sup Bent Univer o por s ted n@da ity of Cam in p mtp.c art by G am.ac bridge A oog.uk. le U K, L td Ray Tracing: Color and Texture Shadows To simulate shadows in ray tracing, fire a ray

### 1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++

Answer the following 1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ 2) Which data structure is needed to convert infix notations to postfix notations? Stack 3) The

### mouse (or the option key on Macintosh) and move the mouse. You should see that you are able to zoom into and out of the scene.

A Ball in a Box 1 1 Overview VPython is a programming language that is easy to learn and is well suited to creating 3D interactive models of physical systems. VPython has three components that you will

### Math for Game Programmers: Dual Numbers. Gino van den Bergen gino@dtecta.com

Math for Game Programmers: Dual Numbers Gino van den Bergen gino@dtecta.com Introduction Dual numbers extend real numbers, similar to complex numbers. Complex numbers adjoin an element i, for which i 2

### The future of PC Gaming: The possibilities of DirectX 10 Bob Drebin, Fellow, ATI Guennadi Riguer, Senior ISV Engineer, ATI.

The future of PC Gaming: The possibilities of DirectX 10 Bob Drebin, Fellow, ATI Guennadi Riguer, Senior ISV Engineer, ATI April 24, 2006 1 Games today Look stunning Feature detailed characters and complex

### Computer Animation and Visualisation. Lecture 1. Introduction

Computer Animation and Visualisation Lecture 1 Introduction 1 Today s topics Overview of the lecture Introduction to Computer Animation Introduction to Visualisation 2 Introduction (PhD in Tokyo, 2000,