Point Sprites Course Information CVG: Programming 4 My Name: Mark Walsh Website: www.activehelix.co.uk/courseswww.activehelix.co.uk/courses Recommended.

Slides:



Advertisements
Similar presentations
Plausible motion simulation Ronen Barzel (on leave from PIXAR) John Hughes (on sabbatical from Brown)
Advertisements

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.
© Fluent Inc. 4/16/ Introductory GAMBIT Notes GAMBIT v2.0 Jan 2002 Fluent User Services Center Edge and Face Meshing.
4.9. P ARTICLE E FFECTS Use of particle effects within games.
Week 11 - Wednesday.  Image based effects  Skyboxes  Lightfields  Sprites  Billboards  Particle systems.
3D Graphics Rendering and Terrain Modeling
UFCFX5-15-3Mobile Device Development Particle Systems.
4.11. T REES AND V EGETATION Rendering of trees and vegetation.
1Notes  Textbook: matchmove 6.7.2, B.9. 2 Match Move  For combining CG effects with real footage, need to match synthetic camera to real camera: “matchmove”
Computer Science – Game DesignUC Santa Cruz Today Publish/Subscribe Design Pattern Delegates Sprite movement Particles.
HCI 530 : Seminar (HCI) Damian Schofield.
Particle Systems 1 Adapted from: E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012.
Chapter 4.2 Collision Detection and Resolution. 2 Collision Detection Complicated for two reasons 1. Geometry is typically very complex, potentially requiring.
Particle Systems Final Exam Study Guide Game Design Experience Professor Jim Whitehead March 16, 2009 Creative Commons Attribution 3.0 (Except copyrighted.
Introduction to Volume Visualization Mengxia Zhu Fall 2007.
1cs426-winter-2008 Notes  Assignment 1 is out, due immediately after reading week (Feb 25)  Please read: William T. Reeves, "Particle systems: a technique.
Hidden Surface Removal
3D Concepts Coordinate Systems Coordinates specify points in space 3D coords commonly use X, Y, & Z A vertex is a 'corner' of an object Different coordinate.
Physically Based Animation and Modeling
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Gareth Bellaby.
CSS 522 Topics in Rendering March 01,2011 Scott and Lew.
Modelling and Simulation Dynamics. Dynamics Dynamics is a branch of physics that describes how objects move. Dynamic animation uses rules of physics to.
COMP 175: Computer Graphics March 24, 2015
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Senior Project – Visual Arts and Computer Science Interdepartmental Stand Alone Complex: Open Your Eyes Juneui Soh Advisor: Prof. Striegnitz Stand.
TERRAIN SET09115 Intro to Graphics Programming. Breakdown  Basics  What do we mean by terrain?  How terrain rendering works  Generating terrain 
Passage Three Multimedia Application. Training target: In this part , you should try your best to form good reading habits. In order to avoid your ill.
Particle Systems – Technique for Modeling a Class of Fuzzy Objects Craig Schroeder Computer Graphics I April 22, 2004.
9.3. P ARTICLE S YSTEMS Development of a particle system.
Stand Alone Complex: Open Your Eyes Juneui Soh Advisor – Prof. Striegnitz.
Blender Animation Particle Systems and Interactions.
CSC505 Particle Systems. CSC505 Object Representations So far we have represented (rendered) objects with –Lines –Polygons (triangles) –Curves These techniques.
11 Lecture 3 Particle Effects References: [1] Gregory Junker, Pro OGRE 3D Programming, Apress, 2006 [2] Ogre Tutorials – Ogre Wiki
Particle Systems (Motion Machines of 2D Objects with Textures) Matthew K. Bowles Advanced Computer Graphics Spring 2004.
The Camera Course Information CVG: Programming 4 My Name: Mark Walsh Website: Recommended Reading.
Introduction to Particle Simulations Daniel Playne.
Particles Paul Taylor Polygons are not so hot! Good for representing objects like A Cup A Robot A Pyramid Not so hot for creating Hair Snowflakes.
Games Development 2 Entity Update & Rendering CO3301 Week 2, Part 1.
Sky Boxes and Vector Math 2 Course Information CVG: Programming 4 My Name: Mark Walsh Website:
Particle Systems Using and Creating Copyright © 2015 Curt Hill.
Lesson 6 – Libraries & APIs Libraries & APIs. Objective: We will explore how to take advantage of the huge number of pre-made classes provided with Java.
Video Textures This is a very cool paper.. Why video texturing? Static images are boring Video clips are finite in length We need something more interesting.
Perpetual Visualization of Particle Motion and Fluid Flow Presented by Tsui Mei Chang.
Three-Dimensional Object Representation
Graphics Lecture 17: Slide 1 Interactive Computer Graphics Lecture 17: Fire.
Particles and their home in Geometry Shaders Paul Taylor 2010.
Portal & Particle. Index Portal Particles Portal Room-Portal visibility system  Determine which room is shown at this time  Determine which object.
Module 06 –environment mapping Module 06 – environment mapping Module 06 Advanced mapping techniques: Environment mapping.
Particle Systems Reference: Reeves W.: "Particle Systems -- A Technique for Modelling a Class of Fuzzy Objets", Computer Graphics, 17(3), pp ,
Graphics for Games Particle Systems CO2301 Games Development 1 Week 23.
The Stingray Example Program CMT3311. Stingray - an example 2D game May be useful as a simple case study Most 2D games need to solve generic problems.
1 Particle Systems for Games Particle System 3D MIM, hyeon.
Unity 3D Rolfe Bozier 24-Apr-2017
Where are we ? Setup Sprites Input Collision Drawing Sprites
Week 11 - Wednesday CS361.
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
Water Droplet Simulation
Pixar’s “A Bug’s Life” (with procedural models abounding)
CO1301: Games Concepts Lecture 22 Particle Systems
CO1301: Games Concepts Lecture 21 Timing + Quads + Numbers
Computer Graphics Lecture 15.
Development of a particle system
Particle Systems - A Technique for Modeling a Class of Fuzzy Objects
CO Games Concepts Week 22 Particle systems
Use of particle effects within games
Using billboards within games
Rendering of trees and vegetation
Week 11 - Monday CS361.
Presentation transcript:

Point Sprites Course Information CVG: Programming 4 My Name: Mark Walsh Website: Recommended Reading Introduction to 3D Game Programming with DirectX 9.0 (Frank D. Luna)

Particle Systems: Introduction Many natural phenomena consist of many small particles that behave in a similar manner –stars in a star field, snow flakes, sparks, etc There are also many phenomena that can be described using small particles such as bullets from a gun Particle systems are used to model these phenomena.

Definition The term particle system refers to a computer graphics technique to simulate certain fuzzy phenomena, which are otherwise very hard to reproduce with conventional rendering techniques Examples of such phenomena which are commonly replicated using particle systems include: Fire, explosions, smoke, flowing water, sparks, falling leaves, clouds, fog, snow, dust, meteor tails, hair, fur, grass, or abstract visual effects like glowing trails, magic spells, etc.

Typical Implementation: Emitter A particle system's position and motion in 3D space are controlled by what is referred to as an emitter The emitter acts as the source of the particles, and its location in 3D space determines where they are generated and from whence they proceed

A regular 3D mesh object, such as a cube or a plane, can be used as an emitter: –The particles are rendered but the underlying mesh object is usually invisible The emitter has attached to it a set of particle behaviour parameters; these parameters can include –The spawning rate –The particles' initial velocity vector –Particle lifetime –Particle colour

It is common for all or most of these parameters to be "fuzzy" The parameters are specified by a central value and the degree of randomness allowable on either side of the center When using a mesh object as an emitter, the initial velocity vector is often set to be normal to the individual face(s) of the object, making the particles appear to "spray" directly from each face A typical particle system's update loop (which is performed for each frame of animation) can be separated into two distinct stages, the parameter update/simulation stage and the rendering stage.

Simulation stage The number of new particles that must be created is calculated based on spawning rates and the interval between updates, and each of them is spawned in a specific position in 3D space based on the emitter's position and the spawning area specified Each of the particle's parameters is initialised according to the emitter's parameters At each update, all existing particles are checked to see if they have exceeded their lifetime, in which case they are removed from the simulation Otherwise, the particles' position and other characteristics are advanced based on some sort of physical simulation, which can be as simple as translating their current position, or as complicated as performing physically-accurate trajectory calculations which take into account external forces

Rendering stage After the update is complete, each particle is rendered… …before we deal with rendering….

Animated or Static Particle systems can be either animated or static The lifetime of each particle can either be distributed over time or rendered all at once

Particle Systems and Point Sprites There are different ways of modelling a particle system Metaballs 3D mesh objects can "stand in" for the particles One of these ways is by using point sprites –Textured billboarded quad

Point Sprites Particles can be modelled using small objects These small objects can be mathematically modelled as points Since the days of DirectX 8.0 and on the methods used to implement point sprites have improved We don’t just want a single point primitive –very small and uniform in size –we often want to texture our sprites

Billboard Sprites Pre-DirectX 8.0 we had to use billboard sprites to simulate point sprites and to construct particle system Post DirectX 8.0 we now have access to a special point primitive that is mainly applicable to particles systems

DirectX Point Primitives Can map textures to them They can change size We can define a point primitive using only a single point They are always rotated to face the camera

Balancing Deception and Realism In the real world: A snow storm is made up of millions of snowflakes –Falling at different speeds (velocities) in our field of view –We know that (generally) no 2 snowflakes are the same Our aim is to try and code a snowstorm that, whilst being as realistic as possible, doesn't require a Silicon Graphics workstation to watch

It is a balancing act between appearance and deception In this case, we can handle appearance by having hundreds (or even thousands) of snowflake particles We're going to have to use some deception by making all our snowflakes identical If we don't, we'll need a separate texture for every flake which, besides being pointless and impractical, the average user would never even notice!

Point Primitive Rendering Controls Direct3D for DirectX 9.0 supports additional parameters to control the rendering of point sprites These parameters enable points to be of variable size and have a full texture map applied

Set Flags and Render states Point Size Computations Texturing Clipping

The End