Youngho Kim CIS665: GPU Programming
|
|
- Oliver Nelson Blair
- 5 years ago
- Views:
Transcription
1 Youngho Kim CIS665: GPU Programming
2 Building a Million Particle System: Lutz Latta UberFlow - A GPU-based Particle Engine: Peter Kipfer et al. Real-Time Particle Systems on the GPU in Dynamic Environments: Shannon Drone GPU-based Particle Systems for Illustrative Volume Rendering: R.F.P. van Pelt et al.
3 Water Effects Nvdia DirectX10, Soft Particle
4 Building a Million Particle System: SIGGRAPH 2004 Lutz Latta
5 One of the original uses was in the movie Star Trek II William Reeves (implementor) Each Particle Had: Position Velocity Color Lifetime Age Shape Size Transparency Particle system from Star Trek II: Wrath of Khan
6 Spacewar: 1962 Uses pixel clouds as Explosions Random motion Asteroids: 1978 Uses short moving vectors for Explosions Probably first physical particle simulation in CG/games
7 Stateless Particle System A particle data is computed from birth to death by a closed form function defined by a set of start values and a current time. Does not react to dynamic environment Fast State Preserving Particle System Uses numerical iterative integration methods to compute particle data from previous values and changing environmental descriptions.
8 Movie Clip
9 Stateless Simulation Computed particle data Particle Birth Rendering by closed form functions No reaction on dynamically changing Set global function environment! parameter as No Storage of varying data (sim. vertex in vertex program constants prog) Upload time of birth & initial Values to dynamic vertex buffer Render point sprites/triangles/quads With particle system vertex program
10 Generation Particles are generated randomly within a predetermined location Particle Dynamics The attributes of a particle may vary over time. Based upon equations depending on attribute. Extinction Age Time the particle has been alive Lifetime Maximum amount of time the particle can live. Premature Extinction: Running out of bounds Hitting an object (ground) Attribute reaches a threshold (particle becomes transparent)
11 Rendered as a graphics primitive (blob) Particles that map to the same pixels are additive Sum the colors together No hidden surface removal Motion blur is rendered by streaking based on the particles position and velocity
12 CPU based particle systems are limited to about 10,000 particles per frame in most game applications Limiting Factor is CPU-GPU communication PCI Express transfer rate is about 3 gigabytes/sec
13 Rendering Passes: Process Birth and Deaths Update Velocities Update Positions Sort Particles (optional, takes multiple passes) Transfer particle positions from pixel to vertex memory Render particles
14 Two Textures (position and velocity) Each holds an x,y,z component Conceptually a 1d array Stored in a 2d texture Use texture pair and double buffering to compute new data from previous data Storage Types Velocity can be stored using 16bit floats Size, Color, Opacity, etc. Simple attributes, can be added later, usually computed using the stateless method
15 Birth = allocation of a particle Associate new data with an available index in the attributes textures Serial process offloaded to CPU Initial particle data determined on CPU also Death = deallocation of a particle Must be processed on CPU and GPU CPU frees the index associated with particle GPU extra pass to move any dead particles to unseen areas (i.e. infinity, or behind the camera) In practice particles fade out or fall out of view (Clean-up rarely needs to be done)
16 Stack Easier! Heap Better! Optimize heap to always return smallest available index
17 Velocity Operations Global Forces Wind Gravity Local Forces Attraction Repulsion Velocity Damping F = Σ f0... fn F = ma a = F/m If m = 1 F = a Collision Detection
18 Stokes Law of drag force on a sphere F d = 6Πηr(v-v fl ) η = viscosity r = radius of sphere C = 6Πηr (constant) v = particle velocity v fl = flow velocity Sample Flow Field
19 Damping Imitates viscous materials or air resistance Implement by downward scaling velocity Un-damping Self-propelled objects (bee swarms) Implement by upward scaling velocity
20 Collisions against simple objects Walls Bounding Spheres Collision against complex objects Terrain Complex objects Terrain is usually modeled as a texture-based height field
21 v n = (v bc * n)v bc v t = v bc v n V n V v bc = velocity before collision v n = normal component of velocity v t = tangental component of velocity V t V = (1-μ)v t εv n μ = dynamic friction (affects tangent velocity) ε = resilience (affects normal velocity)
22 Integrate acceleration to velocity: v = vp + a t Integrate velocity to position: p= pp + v t Computationally simple Needs storage of particle position and velocity
23 Integrate acceleration to position: p = 2pp ppp a t 2 ppp: position two time steps before Needs no storage of particle velocity Time step needs to be (almost) constant Explicit manipulations of velocity (e.g. for collision) impossible
24 Odd-even merge sort Good for GPU because it always runs in constant time for a given data size Inefficient to check whether sort is done on GPU Guarantees that with each iteration sortedness never decreases Full sort can be distributed over frames so it doesn t slow down system too much (acceptable visual errors)
25 UberFlow A GPU-based Particle Engine: SIGGRAPH 2004 Peter Kipfer et al.
26 Major bottleneck Transfer of geometry to graphics card Process on GPU if transfer is to be avoided Need to avoid intermediate read-back also Requires dedicated GPU implementations Perform geometry handling for rendering on GPU
27 Particle advection Motion according to external forces and 3D force field Sorting Depth-test and transparent rendering Spatial relations for collision detection Rendering Individually colored points Point sprites
28 Simple two-pass method using two vertex arrays in double-buffer mode Render quad covering entire buffer Apply forces in fragment shader Bind to texture Buffer 0 Render target Pass 1: integrate Screen Bind to render target Buffer 1 Pass 2: render Bind to vertex array
29
30 Additional buffers for state-full particles Store velocity per particle (Euler integration) Keep last two positions (Verlet integration) Simple: Collision with height-field stored as 2D texture RGB = [x,y,z] surface normal A = [w] height Compute reflection vector Force particle to field height
31 Essential for natural behavior Full search is O(n²), not practicable Approximate solution by considering only neighbors Sort particles into spatial structure Staggered grid misses only few combinations
32 Check m neighbors to the left/right Collision resolution with first collider (time sequential) Only if velocity is not excessively larger than integration step size
33 Real-Time Particle Systems on the GPU in Dynamic Environments: SIGGRAPH 2007 Shannon Drone
34 Storage requirements Integrating the equations of motion Saving particle states Changing behaviors
35 Need to store immediate particle state (position, velocity, etc) Option 1: Store this data in a vertex buffer Each vertex represents the immediate state of the particle Particles are store linearly in the buffer Option 2: Store this data in a floating point texture array First array slice stores positions for all particles. Next array slice stores velocities, etc.
36 Accuracy depends on the length of time step Use Euler integration for these samples Runge-Kutta based schemes can be more accurate at the expense of needing to store more particle state
37 Integration on the CPU can use read-modifywrite operations to update the state in-place This is illegal on the GPU (except for nonprogramming blending hardware) Use double buffering Ping-pong between them
38 Particles are no longer affixed to a predestined path of motion as in parametric systems Changing an individual velocity or position will change the behavior of that particle. This is the basis of every technique in this theory
39 N-Body problems Force splatting for N2 interactions Gravity simulation Flocking particles on the GPU
40 Every part of the system has the possibility of affecting every other part of the system Space partitioning can help Treating multiple parts of a system at a distance as one individual part can also help Parallelization can also help (GPU)
41 Our goal is to project the force from one particle onto all other particles in the system Create a texture buffer large enough to hold forces for all particles in the simulation Each texel holds the accumulated forces acting upon a single particle
42 It is O(N2), but it exploits the fast rasterization, blending, and SIMD hardware of the GPU It also avoids the need to create any space partitioning structures on the GPU
43 Uses force splatting to project the gravitational attraction of each particle onto every other particle Handled on the GPU CPU only sends time-step information to the GPU CPU also handles highlevel switching of render targets and issuing draw calls
44 Uses basic boids behaviors [Reynolds87,Reynolds99] to simulation thousands of flocking spaceships on the GPU Avoidance Separation Cohesion Alignment
45 Cohesion and Alignment Unlike N-Body problems, Cohesion and Alignment need the average of all particle states Cohesion steers ships toward the common center. Alignment steers ships toward the common velocity We could average all of the positions and velocities by repeatedly down-sampling the particle state buffer / texture However, the graphics system can do this for us
46 Graphics infrastructure can already perform this quick down-sampling by generating mip maps The smallest mip in the chain is the average of all values in the original texture
47 Extend 2D partitioned grid [Lutz04] to 3D by rendering the scene into a volume texture Instance the geometry across all slices For each instance we clip the geometry to the slice For each voxel in the volume texture stores the plane equation and velocity of the scene primitive
48
49
50 Once having the position buffer, it can gather paint splotches Use a gather pixel shader to traverse the position buffer For each particle in the buffer, the shader samples its position and determines if it can affect the current position in the position buffer If it can, the color of the particle is sent to the output render target, which doubles as the mesh texture
51
52 GPU-based Particle Systems for Illustrative Volume Rendering: IEEE/ EG Symposium on Volume and Point- Based Graphics 2008 R.F.P. van Pelt et al.
53 Interactive GPU-based illustrative framework, called VolFlies-GPU, for rendering volume data, exploiting parallelism in both graphics hardware and particle systems User-configurable particle systems to produce stylized renderings from the volume data, imitating traditional pen and ink drawings Achieve real-time interaction and prompt parametrization of the illustrative styles, using an intuitive GPGPU paradigm
54 GPGPU paradigm using transform feedback Intensive use of both vertex shaders and geometry shaders, while fragment shaders are completely discarded VolFliesGPU framework comprises an interactive illustrative visualization framework for real-time penand-ink style rendering of volume data
55 Stippling: Surface shading by changing the stipple scale Hatching: Conveying shape by tracing hatch stroke in one or two directions. Contours
56 Curvature-based hatching with contours Direction-based hatching on cone-splatted bone tissue, combined with a scale-based stippled skin iso-surface with contours. Similar styles, with added contours on the bone surface
57 Interactive framerates
58 The particle system is useful for graphic effects for movies, games, and medical visualization The particle system can be effectively operated on GPU processing
59
60 Time_Particles_Systems_on_the_GPU_in_Dynamic_Environments(Siggraph0 7).pdf drone.pdf?key1= &key2= &coll=guide&dl=guide&cf ID= &CFTOKEN=
61
Particle Systems. Sample Particle System. What is a particle system? Types of Particle Systems. Stateless Particle System
Sample Particle System Particle Systems GPU Graphics Water Fire and Smoke What is a particle system? Types of Particle Systems One of the original uses was in the movie Star Trek II William Reeves (implementor)
More informationUberFlow: A GPU-Based Particle Engine
UberFlow: A GPU-Based Particle Engine Peter Kipfer Mark Segal Rüdiger Westermann Technische Universität München ATI Research Technische Universität München Motivation Want to create, modify and render
More informationSimulation: Particle Systems
Simulation: Particle Systems Course web page: http://goo.gl/eb3aa February 28, 2012 Lecture 5 Particle Systems Definition: Simulation of a set of similar, moving agents in a larger environment Scale usually
More informationBuilding a Million Particle System
Abstract Building a Million Particle System Lutz Latta Massive Development GmbH Email: latta@massive.de Particle systems have long been recognized as an essential building block for detail-rich and lively
More informationGPU Particles. Jason Lubken
GPU Particles Jason Lubken 1 Particles Nvidia CUDA SDK 2 Particles Nvidia CUDA SDK 3 SPH Smoothed Particle Hydrodynamics Nvidia PhysX SDK 4 SPH Smoothed Particle Hydrodynamics Nvidia PhysX SDK 5 Advection,
More informationRendering diffuse objects using particle systems inside voxelized surface geometry. Thorsten Juckel Steffi Beckhaus
Rendering diffuse objects using particle systems inside voxelized surface geometry Thorsten Juckel Steffi Beckhaus University of Hamburg interactive media / virtual environments 1 Outline 1. Introduction
More informationCSE 167: Introduction to Computer Graphics Lecture #18: More Effects. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016
CSE 167: Introduction to Computer Graphics Lecture #18: More Effects Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements TA evaluations CAPE Final project blog
More informationParticle Systems: Theory and Practice. Ciara Belle CMSC498A Spring 2012
Particle Systems: Theory and Practice Ciara Belle CMSC498A Spring 2012 Introduction: Modeling non-deterministic, complex objects is difficult, using general techniques in computer graphics. Particles systems
More informationCloth Simulation on the GPU. Cyril Zeller NVIDIA Corporation
Cloth Simulation on the GPU Cyril Zeller NVIDIA Corporation Overview A method to simulate cloth on any GPU supporting Shader Model 3 (Quadro FX 4500, 4400, 3400, 1400, 540, GeForce 6 and above) Takes advantage
More informationSoft Particles. Tristan Lorach
Soft Particles Tristan Lorach tlorach@nvidia.com January 2007 Document Change History Version Date Responsible Reason for Change 1 01/17/07 Tristan Lorach Initial release January 2007 ii Abstract Before:
More informationApplications of Explicit Early-Z Culling
Applications of Explicit Early-Z Culling Jason L. Mitchell ATI Research Pedro V. Sander ATI Research Introduction In past years, in the SIGGRAPH Real-Time Shading course, we have covered the details of
More informationDX10, Batching, and Performance Considerations. Bryan Dudash NVIDIA Developer Technology
DX10, Batching, and Performance Considerations Bryan Dudash NVIDIA Developer Technology The Point of this talk The attempt to combine wisdom and power has only rarely been successful and then only for
More informationRender-To-Texture Caching. D. Sim Dietrich Jr.
Render-To-Texture Caching D. Sim Dietrich Jr. What is Render-To-Texture Caching? Pixel shaders are becoming more complex and expensive Per-pixel shadows Dynamic Normal Maps Bullet holes Water simulation
More informationReal-Time Hair Simulation and Rendering on the GPU. Louis Bavoil
Real-Time Hair Simulation and Rendering on the GPU Sarah Tariq Louis Bavoil Results 166 simulated strands 0.99 Million triangles Stationary: 64 fps Moving: 41 fps 8800GTX, 1920x1200, 8XMSAA Results 166
More informationApplications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research
Applications of Explicit Early-Z Z Culling Jason Mitchell ATI Research Outline Architecture Hardware depth culling Applications Volume Ray Casting Skin Shading Fluid Flow Deferred Shading Early-Z In past
More informationAnnouncements. Ray tracer is due in five days you should have started by now or you re going to have a bad week. Missing file posted on the web page
Announcements Ray tracer is due in five days you should have started by now or you re going to have a bad week Missing file posted on the web page I m sorry for canceling class on Tuesday... 1 Animation
More informationParticle systems, collision detection, and ray tracing. Computer Graphics CSE 167 Lecture 17
Particle systems, collision detection, and ray tracing Computer Graphics CSE 167 Lecture 17 CSE 167: Computer graphics Particle systems Collision detection Ray tracing CSE 167, Winter 2018 2 Particle systems
More informationAdaptive Point Cloud Rendering
1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13
More informationCSE 167: Introduction to Computer Graphics Lecture #19: Wrapping Up. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017
CSE 167: Introduction to Computer Graphics Lecture #19: Wrapping Up Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements TA evaluations CAPE Final project blog entries
More informationComputer Animation. Animation A broad Brush. Keyframing. Keyframing
Animation A broad Brush Computer Animation Traditional Methods Cartoons, stop motion Keyframing Digital inbetweens Motion Capture What you record is what you get Simulation Animate what you can model (with
More informationAdvanced Algorithms. Particle Systems. Reading. What is a Particle System?
Advanced Algorithms Particle Systems CMPT 466 Computer Animation Torsten Möller Hierarchical Kinematic Modeling Forward Kinematics Inverse Kinematics Rigid Body Constraints Basic Particle Forces Collision
More informationParticle Systems. Luca Buratti and Andrea Piscitello. November 13, 2014
Particle Systems Luca Buratti and Andrea Piscitello November 13, 2014 1 Introduction The modeling of fuzzy phenomena like clouds, water or smoke can be really difficult for many reasons. First of all these
More informationGraphics Hardware. Instructor Stephen J. Guy
Instructor Stephen J. Guy Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability! Programming Examples Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability!
More informationIntroduction to 3D Graphics
Graphics Without Polygons Volume Rendering May 11, 2010 So Far Volumetric Rendering Techniques Misc. So Far Extended the Fixed Function Pipeline with a Programmable Pipeline Programming the pipeline is
More informationNVIDIA. Interacting with Particle Simulation in Maya using CUDA & Maximus. Wil Braithwaite NVIDIA Applied Engineering Digital Film
NVIDIA Interacting with Particle Simulation in Maya using CUDA & Maximus Wil Braithwaite NVIDIA Applied Engineering Digital Film Some particle milestones FX Rendering Physics 1982 - First CG particle FX
More informationCS4620/5620: Lecture 14 Pipeline
CS4620/5620: Lecture 14 Pipeline 1 Rasterizing triangles Summary 1! evaluation of linear functions on pixel grid 2! functions defined by parameter values at vertices 3! using extra parameters to determine
More informationMany rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.
1 2 Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters. Crowd rendering in large environments presents a number of challenges,
More informationParticle Systems. Lecture 8 Taku Komura
Particle Systems Computer Animation and Visualisation Lecture 8 Taku Komura Overview Particle System Modelling fuzzy objects (fire, smoke) Modelling liquid Modelling cloth Integration : implicit integration,
More informationFlowmap Generator Reference
Flowmap Generator Reference Table of Contents Flowmap Overview... 3 What is a flowmap?... 3 Using a flowmap in a shader... 4 Performance... 4 Creating flowmaps by hand... 4 Creating flowmaps using Flowmap
More informationReal-Time Volumetric Smoke using D3D10. Sarah Tariq and Ignacio Llamas NVIDIA Developer Technology
Real-Time Volumetric Smoke using D3D10 Sarah Tariq and Ignacio Llamas NVIDIA Developer Technology Smoke in NVIDIA s DirectX10 SDK Sample Smoke in the game Hellgate London Talk outline: Why 3D fluid simulation
More information2.11 Particle Systems
2.11 Particle Systems 320491: Advanced Graphics - Chapter 2 152 Particle Systems Lagrangian method not mesh-based set of particles to model time-dependent phenomena such as snow fire smoke 320491: Advanced
More information2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into
2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel
More informationThe Application Stage. The Game Loop, Resource Management and Renderer Design
1 The Application Stage The Game Loop, Resource Management and Renderer Design Application Stage Responsibilities 2 Set up the rendering pipeline Resource Management 3D meshes Textures etc. Prepare data
More informationCS4621/5621 Fall Particle Systems and Compute Shaders
CS4621/5621 Fall 2015 Particle Systems and Compute Shaders Professor: Kavita Bala Instructor: Nicolas Savva with slides from Balazs Kovacs, Eston Schweickart, Daniel Schroeder, Jiang Huang and Pramook
More informationBuffers, Textures, Compositing, and Blending. Overview. Buffers. David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E.
INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Buffers, Textures, Compositing, and Blending David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E. Angel Compositing,
More informationRendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane
Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world
More informationFirst Steps in Hardware Two-Level Volume Rendering
First Steps in Hardware Two-Level Volume Rendering Markus Hadwiger, Helwig Hauser Abstract We describe first steps toward implementing two-level volume rendering (abbreviated as 2lVR) on consumer PC graphics
More informationInteractive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL
International Edition Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL Sixth Edition Edward Angel Dave Shreiner Interactive Computer Graphics: A Top-Down Approach with Shader-Based
More informationSimulation in Computer Graphics. Deformable Objects. Matthias Teschner. Computer Science Department University of Freiburg
Simulation in Computer Graphics Deformable Objects Matthias Teschner Computer Science Department University of Freiburg Outline introduction forces performance collision handling visualization University
More informationCSE528 Computer Graphics: Theory, Algorithms, and Applications
CSE528 Computer Graphics: Theory, Algorithms, and Applications Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 11794--4400 Tel: (631)632-8450; Fax: (631)632-8334
More informationGPU-based Distributed Behavior Models with CUDA
GPU-based Distributed Behavior Models with CUDA Courtesy: YouTube, ISIS Lab, Universita degli Studi di Salerno Bradly Alicea Introduction Flocking: Reynolds boids algorithm. * models simple local behaviors
More informationComputer Animation. Conventional Animation
Animation The term animation has a Greek (animos) as well as roman (anima) root, meaning to bring to life Life: evolution over time Conventional Animation Animation is a technique in which the illusion
More informationPowerVR Hardware. Architecture Overview for Developers
Public Imagination Technologies PowerVR Hardware Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind.
More informationNext-Generation Graphics on Larrabee. Tim Foley Intel Corp
Next-Generation Graphics on Larrabee Tim Foley Intel Corp Motivation The killer app for GPGPU is graphics We ve seen Abstract models for parallel programming How those models map efficiently to Larrabee
More informationDynamics in Maya. Gary Monheit Alias Wavefront PHYSICALLY BASED MODELING SH1 SIGGRAPH 97 COURSE NOTES
Dynamics in Maya Gary Monheit Alias Wavefront SH1 Dynamics in Maya Overall Requirements Architecture and Features Animations SH2 Overall Requirements Why Dynamics? Problems with traditional animation techniques
More informationCS 475 / CS 675 Computer Graphics. Lecture 11 : Texture
CS 475 / CS 675 Computer Graphics Lecture 11 : Texture Texture Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. http://en.wikipedia.org/wiki/uv_mapping
More informationComputer Graphics. Lecture 9 Environment mapping, Mirroring
Computer Graphics Lecture 9 Environment mapping, Mirroring Today Environment Mapping Introduction Cubic mapping Sphere mapping refractive mapping Mirroring Introduction reflection first stencil buffer
More informationCOMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.
COMP 4801 Final Year Project Ray Tracing for Computer Graphics Final Project Report FYP 15014 by Runjing Liu Advised by Dr. L.Y. Wei 1 Abstract The goal of this project was to use ray tracing in a rendering
More informationEECE 478. Learning Objectives. Learning Objectives. Rasterization & Scenes. Rasterization. Compositing
EECE 478 Rasterization & Scenes Rasterization Learning Objectives Be able to describe the complete graphics pipeline. Describe the process of rasterization for triangles and lines. Compositing Manipulate
More informationBuilding scalable 3D applications. Ville Miettinen Hybrid Graphics
Building scalable 3D applications Ville Miettinen Hybrid Graphics What s going to happen... (1/2) Mass market: 3D apps will become a huge success on low-end and mid-tier cell phones Retro-gaming New game
More informationCS451Real-time Rendering Pipeline
1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does
More informationGraphics and Interaction Rendering pipeline & object modelling
433-324 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering
More information6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17]
6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, 2011 9:05-12pm Two hand-written sheet of notes (4 pages) allowed NAME: 1 / 17 2 / 12 3 / 35 4 / 8 5 / 18 Total / 90 1 SSD [ /17]
More informationSorting and Searching. Tim Purcell NVIDIA
Sorting and Searching Tim Purcell NVIDIA Topics Sorting Sorting networks Search Binary search Nearest neighbor search Assumptions Data organized into D arrays Rendering pass == screen aligned quad Not
More informationIndex FEATURES LIST 2
FULL FEATURES LIST Index RealFlow Features 4 Liquids 4 Elastics 4 Granulars 4 Rigids 5 Viscous Materials 5 Viscoelastic Materials 5 Fibres 5 Built-in Basic Primitives 6 Particle Emitters 6 Rigid Bodies
More informationCSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018
CSE 167: Introduction to Computer Graphics Lecture #9: Visibility Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Midterm Scores are on TritonEd Exams to be
More informationAPPROVAL SHEET. Title of Thesis: GPU Based Cloth Simulation on Moving Avatars
APPROVAL SHEET Title of Thesis: GPU Based Cloth Simulation on Moving Avatars Name of Candidate: Yi Wang Master of Science, 2005 Thesis and Abstract Approved: Dr. Marc Olano Assistant Professor Department
More informationGraphics Processing Unit Architecture (GPU Arch)
Graphics Processing Unit Architecture (GPU Arch) With a focus on NVIDIA GeForce 6800 GPU 1 What is a GPU From Wikipedia : A specialized processor efficient at manipulating and displaying computer graphics
More informationDirect Rendering of Trimmed NURBS Surfaces
Direct Rendering of Trimmed NURBS Surfaces Hardware Graphics Pipeline 2/ 81 Hardware Graphics Pipeline GPU Video Memory CPU Vertex Processor Raster Unit Fragment Processor Render Target Screen Extended
More informationModeling Cloth Using Mass Spring Systems
Modeling Cloth Using Mass Spring Systems Corey O Connor Keith Stevens May 2, 2003 Abstract We set out to model cloth using a connected mesh of springs and point masses. After successfully implementing
More informationTexture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture
Texture CS 475 / CS 675 Computer Graphics Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. Lecture 11 : Texture http://en.wikipedia.org/wiki/uv_mapping
More informationMali Demos: Behind the Pixels. Stacy Smith
Mali Demos: Behind the Pixels Stacy Smith Mali Graphics: Behind the demos Mali Demo Team: Doug Day Stacy Smith (Me) Sylwester Bala Roberto Lopez Mendez PHOTOGRAPH UNAVAILABLE These days I spend more time
More informationCS 354R: Computer Game Technology
CS 354R: Computer Game Technology Texture and Environment Maps Fall 2018 Texture Mapping Problem: colors, normals, etc. are only specified at vertices How do we add detail between vertices without incurring
More informationVisualization Computer Graphics I Lecture 20
15-462 Computer Graphics I Lecture 20 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] November 20, 2003 Doug James Carnegie Mellon University http://www.cs.cmu.edu/~djames/15-462/fall03
More informationCHAPTER 1 Graphics Systems and Models 3
?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........
More informationChapter 14 Particle Systems & Interactions
Chapter 14 Particle Systems & Interactions This is probably the nicest and most flexible of the Blender effects. When you turn an object into particles, it can be used to simulate snow, fire, smoke, clouds,
More informationCS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside
CS230 : Computer Graphics Lecture 4 Tamar Shinar Computer Science & Engineering UC Riverside Shadows Shadows for each pixel do compute viewing ray if ( ray hits an object with t in [0, inf] ) then compute
More informationData Visualization (CIS/DSC 468)
Data Visualization (CIS/DSC 468) Vector Visualization Dr. David Koop Visualizing Volume (3D) Data 2D visualization slice images (or multi-planar reformating MPR) Indirect 3D visualization isosurfaces (or
More informationIntroduction to Visualization and Computer Graphics
Introduction to Visualization and Computer Graphics DH2320, Fall 2015 Prof. Dr. Tino Weinkauf Introduction to Visualization and Computer Graphics Visibility Shading 3D Rendering Geometric Model Color Perspective
More informationParticle Systems. Typical Time Step. Particle Generation. Controlling Groups of Objects: Particle Systems. Flocks and Schools
Particle Systems Controlling Groups of Objects: Particle Systems Flocks and Schools A complex, fuzzy system represented by a large collection of individual elements. Each element has simple behavior and
More informationCS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST
CS 380 - GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1 Markus Hadwiger, KAUST Reading Assignment #2 (until Feb. 17) Read (required): GLSL book, chapter 4 (The OpenGL Programmable
More informationComputer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)
Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Raytracing Global illumination-based rendering method Simulates
More informationPoint Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology
Point Cloud Filtering using Ray Casting by Eric Jensen 01 The Basic Methodology Ray tracing in standard graphics study is a method of following the path of a photon from the light source to the camera,
More informationThe Rasterization Pipeline
Lecture 5: The Rasterization Pipeline (and its implementation on GPUs) Computer Graphics CMU 15-462/15-662, Fall 2015 What you know how to do (at this point in the course) y y z x (w, h) z x Position objects
More informationPreviously... contour or image rendering in 2D
Volume Rendering Visualisation Lecture 10 Taku Komura Institute for Perception, Action & Behaviour School of Informatics Volume Rendering 1 Previously... contour or image rendering in 2D 2D Contour line
More informationNon-Photorealistic Rendering
15-462 Computer Graphics I Lecture 22 Non-Photorealistic Rendering November 18, 2003 Doug James Carnegie Mellon University http://www.cs.cmu.edu/~djames/15-462/fall03 Pen-and-Ink Illustrations Painterly
More informationSculpting 3D Models. Glossary
A Array An array clones copies of an object in a pattern, such as in rows and columns, or in a circle. Each object in an array can be transformed individually. Array Flyout Array flyout is available in
More informationENHANCING THE CONTROL AND PERFORMANCE OF PARTICLE SYSTEMS THROUGH THE USE OF LOCAL ENVIRONMENTS. Abstract
ENHANCING THE CONTROL AND PERFORMANCE OF PARTICLE SYSTEMS THROUGH THE USE OF LOCAL ENVIRONMENTS Daniel O. Kutz Richard R. Eckert State University of New York at Binghamton Binghamton, NY 13902 Abstract
More informationChapter 19- Object Physics
Chapter 19- Object Physics Flowing water, fabric, things falling, and even a bouncing ball can be difficult to animate realistically using techniques we have already discussed. This is where Blender's
More informationCS 354 R Game Technology
CS 354 R Game Technology Particles and Flocking Behavior Fall 2017 Particle Effects 2 General Particle Systems Objects are considered point masses with orientation Simple rules control how the particles
More information3D Rendering Pipeline
3D Rendering Pipeline Reference: Real-Time Rendering 3 rd Edition Chapters 2 4 OpenGL SuperBible 6 th Edition Overview Rendering Pipeline Modern CG Inside a Desktop Architecture Shaders Tool Stage Asset
More informationRealtime Water Simulation on GPU. Nuttapong Chentanez NVIDIA Research
1 Realtime Water Simulation on GPU Nuttapong Chentanez NVIDIA Research 2 3 Overview Approaches to realtime water simulation Hybrid shallow water solver + particles Hybrid 3D tall cell water solver + particles
More informationDeferred Splatting. Gaël GUENNEBAUD Loïc BARTHE Mathias PAULIN IRIT UPS CNRS TOULOUSE FRANCE.
Deferred Splatting Gaël GUENNEBAUD Loïc BARTHE Mathias PAULIN IRIT UPS CNRS TOULOUSE FRANCE http://www.irit.fr/~gael.guennebaud Plan Complex Scenes: Triangles or Points? High Quality Splatting: Really
More informationLecture 13: Reyes Architecture and Implementation. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)
Lecture 13: Reyes Architecture and Implementation Kayvon Fatahalian CMU 15-869: Graphics and Imaging Architectures (Fall 2011) A gallery of images rendered using Reyes Image credit: Lucasfilm (Adventures
More informationPipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11
Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION
More informationVisualization Computer Graphics I Lecture 20
15-462 Computer Graphics I Lecture 20 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 15, 2003 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/
More informationHeight Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University
15-462 Computer Graphics I Lecture 21 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/
More information0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves
CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~elf Instructor: Eugene Fiume Office: BA 5266 Phone: 416 978 5472 (not a reliable way) Email:
More informationRecollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows
Recollection Models Pixels Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows Can be computed in different stages 1 So far we came to Geometry model 3 Surface
More information11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes
CSCI 420 Computer Graphics Lecture 26 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 2.11] Jernej Barbic University of Southern California Scientific Visualization
More informationVisualization. CSCI 420 Computer Graphics Lecture 26
CSCI 420 Computer Graphics Lecture 26 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 11] Jernej Barbic University of Southern California 1 Scientific Visualization
More informationTypes of Computer Painting
Painterly Rendering Types of Computer Painting Physical simulation User applies strokes Computer simulates media (e.g. watercolor on paper) Automatic painting User provides input image or 3D model and
More informationRendering Smoke & Clouds
Rendering Smoke & Clouds Game Design Seminar 2007 Jürgen Treml Talk Overview 1. Introduction to Clouds 2. Virtual Clouds based on physical Models 1. Generating Clouds 2. Rendering Clouds using Volume Rendering
More informationGUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON
Deferred Rendering in Killzone 2 Michal Valient Senior Programmer, Guerrilla Talk Outline Forward & Deferred Rendering Overview G-Buffer Layout Shader Creation Deferred Rendering in Detail Rendering Passes
More informationTexture mapping. Computer Graphics CSE 167 Lecture 9
Texture mapping Computer Graphics CSE 167 Lecture 9 CSE 167: Computer Graphics Texture Mapping Overview Interpolation Wrapping Texture coordinates Anti aliasing Mipmaps Other mappings Including bump mapping
More informationVisualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26]
Visualization Images are used to aid in understanding of data Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26] Tumor SCI, Utah Scientific Visualization Visualize large
More informationMedical Visualization - Illustrative Visualization 2 (Summary) J.-Prof. Dr. Kai Lawonn
Medical Visualization - Illustrative Visualization 2 (Summary) J.-Prof. Dr. Kai Lawonn Hatching 2 Hatching Motivation: Hatching in principle curvature direction Interrante et al. 1995 3 Hatching Hatching
More informationBCC Particle System Generator
BCC Particle System Generator BCC Particle System is an auto-animated particle generator that provides in-depth control over individual particles as well as the overall shape and movement of the system.
More informationAttention to Detail! Creating Next Generation Content For Radeon X1800 and beyond
Attention to Detail! Creating Next Generation Content For Radeon X1800 and beyond Callan McInally Manager, 3D Application Research Group Overview In order to fully take advantage of next generation hardware,
More informationRay Tracing. Computer Graphics CMU /15-662, Fall 2016
Ray Tracing Computer Graphics CMU 15-462/15-662, Fall 2016 Primitive-partitioning vs. space-partitioning acceleration structures Primitive partitioning (bounding volume hierarchy): partitions node s primitives
More information