Game Programming Gems 3

Size: px
Start display at page:

Download "Game Programming Gems 3"

Transcription

1 Game Programming Gems 3 Edited by Dante Treglia CHARLES RIVER MEDIA, INC. Hingham, Massachusetts

2 Contents Foreword xi Preface xv Acknowledgments xix About the Cover Image xxi Contributor Bios xxiii SECTION 1 GENERAL PROGRAMMING Introduction Kim Pallister 1.1 Scheduling Game Events Michael Harvey and Carl Marshall 1.2 An Object-Composition Game Framework Scott Patterson 1.3 Finding Redeeming Value in C-Style Macros Steve Rabin 1.4 Platform-Independent, Function-Binding Code Generator Allen Pouratian 1.5 Handle-Based Smart Pointers Brian Hawkins 1.6 Custom STL Allocators Pete Isensee 1.7 Save Me Now! Martin Brownlow 1.8 Autolists Design Pattern Ben Board v

3 vi Contents 1.9 Floating-Point Exception Handling Søren Hannibal 1.10 Programming a Game Design-Compliant Engine Using UML Thomas Demachy 1.11 Using Lex and Yacc To Parse Custom Data Files Paul Kelly 1.12 Developing Games for a World Market Aaron Nicholls 1.13 Real-Time Input and UI in 3D Games Greg Seegert 1.14 Natural Selection: The Evolution of Pie Menus Don Hopkins 1.15 Lightweight, Policy-Based Logging Brian Hawkins 1.16 Journaling Services Eric Robert 1.17 Real-Time Hierarchical Profiling Greg Hjelstrom and Byon Garrabrant SECTION 2 MATHEMATICS Introduction John Byrd 2.1 Fast Base-2 Functions for Logarithms and Random Number Generation James McNeill 2.2 Using Vector Fractions for Exact Geometry Thomas Young 2.3 More Approximations to Trigonometric Functions Robin Green 2.4 Quaternion Compression Mark Zarb-Adami 2.5 Constrained Inverse Kinematics Jason Weber

4 Contents vii 2.6 Cellular Automata for Physical Modeling Tom Forsyth 2.7 Coping with Friction in Dynamic Simulations Miguel Gomez SECTION 3 ARTIFICIAL INTELLIGENCE Introduction Steven Woodcock 3.1 Optimized Machine Learning with GoCap Thor Alexander 3.2 Area Navigation: Expanding the Path-Finding Paradigm Ben Board and Mike Ducker 3.3 Function Pointer-Based, Embedded Finite-State Machines Charles Farris 3.4 Terrain Analysis in an RTS The Hidden Giant Daniel Higgins 3.5 An Extensible Trigger System for AI Agents, Objects, and Quests Steve Rabin 3.6 Tactical Path-Finding with A* William van der Sterren 3.7 A Fast Approach to Navigation Meshes Stephen White and Christopher Christensen 3.8 Choosing a Relationship Between Path-Finding and Collision Thomas Young SECTION 4 GRAPHICS Introduction Jeff Lander 4.1 T-Junction Elimination and Retriangulation Eric Lengyel 4.2 Fast Heightfield Normal Calculation Jason Shankel

5 viii Contents 4.3 Fast Patch Normals Martin Brownlow 4.4 Fast and Simple Occlusion Culling Wagner T. Corrêa, James T. Klosowski, and Cláudio T. Silva 4.5 Triangle Strip Creation, Optimizations, and Rendering Carl S. Marshall 4.6 Computing Optimized Shadow Volumes for Complex Data Sets Alex Vlachos and Drew Card 4.7 Subdivision Surfaces for Character Animation William Leeson 4.8 Improved Deformation of Bones Jason Weber 4.9 A Framework for Realistic Character Locomotion Thomas Young 4.10 A Programmable Vertex Shader Compiler Adam Lake 4.11 Billboard Beams Brian Hawkins D Tricks for Isometric Engines Greg Snook 4.13 Curvature Simulation Using Normal Maps Oscar Blasco 4.14 Methods for Dynamic, Photorealistic Terrain Lighting Naty Hoffman and Kenny Mitchell 4.15 Cube Map Lighting Techniques Kenneth L. Hurley 4.16 Procedural Texturing Mike Milliger 4.17 Unique Textures Tom Forsyth 4.18 Textures as Lookup Tables for Per-Pixel Lighting Computations Alex Vlachos, John Isidoro, and Chris Oat 4.19 Rendering with Handcrafted Shading Models Jan Kautz

6 Contents ix SECTION 5 NETWORK AND MULTIPLAYER Introduction Andrew Kirmse 5.1 Minimizing Latency in Real-Time Strategy Games Jim Greer and Zachary Booth Simpson 5.2 Real-Time Strategy Network Protocol Jan Svarovsky 5.3 A Flexible Simulation Architecture for Massively Multiplayer Games Thor Alexander 5.4 Scaling Multiplayer Servers Justin Randall 5.5 Template-Based Object Serialization Jason Beardsley 5.6 Secure Sockets Pete Isensee 5.7 A Network Monitoring and Simulation Tool Andrew Kirmse 5.8 Creating Multiplayer Games with DirectPlay Gabriel Rohweder 5.9 Wireless Gaming Using the Java Micro Edition David Fox SECTION 6 AUDIO Introduction Scott Patterson 6.1 Audio Compression with Ogg Vorbis Jack Moffitt 6.2 Creating a Compelling 3D Audio Environment Garin Hiebert 6.3 Obstruction Using Axis-Aligned Bounding Boxes Carlo Vogelsang

7 x Contents 6.4 Using the Biquad Resonant Filter Phil Burk 6.5 Linear Predictive Coding for Voice Compression and Effects Eddie Edwards 6.6 The Stochastic Synthesis of Complex Sounds Phil Burk 6.7 Real-Time Modular Audio Processing for Games Frank Luchs Appendix: About the CD-ROM

Game Programming Gems 3

Game Programming Gems 3 Game Programming Gems 3 Edited by Dante Treglia CHARLES R I V E R M E D I A CHARLES RIVER MEDIA, INC. Hingham, Massachusetts Contents Foreword... xi Preface....... xv Acknowledgments About the Cover Image..

More information

Engineering Real- Time Applications with Wild Magic

Engineering Real- Time Applications with Wild Magic 3D GAME ENGINE ARCHITECTURE Engineering Real- Time Applications with Wild Magic DAVID H. EBERLY Geometric Tools, Inc. AMSTERDAM BOSTON HEIDELRERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE

More information

Advanced 3D Game Programming with DirectX* 10.0

Advanced 3D Game Programming with DirectX* 10.0 Advanced 3D Game Programming with DirectX* 10.0 Peter Walsh Wordware Publishing, Inc. Acknowledgments Introduction xiii xv Chapter I Windows I A Word about Windows I Hungarian Notation 3 General Windows

More information

LOD and Occlusion Christian Miller CS Fall 2011

LOD and Occlusion Christian Miller CS Fall 2011 LOD and Occlusion Christian Miller CS 354 - Fall 2011 Problem You want to render an enormous island covered in dense vegetation in realtime [Crysis] Scene complexity Many billions of triangles Many gigabytes

More information

Contents. Part I Game Engine Design 1. Introduction. Contributor Biographies. About the Editor

Contents. Part I Game Engine Design 1. Introduction. Contributor Biographies. About the Editor Introduction Contributor Biographies About the Editor xiii xv xxi Part I Game Engine Design 1 Chapter 1 What to Look for When Evaluating Middleware for Integration 3 Jason Hughes 1.1 Middleware, How Do

More information

#53011 HIGHPOWER NMC MATCH 1/1/16 NRA

#53011 HIGHPOWER NMC MATCH 1/1/16 NRA HIGHPOWER NMC MATCH 1/1/16 NRA Sanctioned HIGH SINGLE MATCH IN BOLD Steve Reisman 1-HM SVC 91 1 100 2 98 3 194 6 483 12 Match Winner Greg Burget 2-MA SVC 83 1 96 1 96 1 194 4 469 7 1st Master Pete Yarbro

More information

CS GAME PROGRAMMING Question bank

CS GAME PROGRAMMING Question bank CS6006 - GAME PROGRAMMING Question bank Part A Unit I 1. List the different types of coordinate systems. 2. What is ray tracing? Mention some applications of ray tracing. 3. Discuss the stages involved

More information

Real-Time Rendering. Tomas Möller Eric Haines. A K Peters Natick, Massachusetts

Real-Time Rendering. Tomas Möller Eric Haines. A K Peters Natick, Massachusetts Real-Time Rendering Tomas Möller Eric Haines n A K Peters Natick, Massachusetts Contents Preface 1 Introduction 1 1.1 Contents Overview 2 1.2 Notation and Definitions 3 1.2.1 Mathematical Notation 3 1.2.2

More information

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts MSc Computer Games and Entertainment Maths & Graphics II 2013 Lecturer(s): FFL (with Gareth Edwards) Fractal Terrain Based on

More information

CS248. Game Mechanics

CS248. Game Mechanics CS248 Game Mechanics INTRODUCTION TOM WANG 2007 BS/MS CS KEY GAME MECHANICS * * * * * WORLD BUILDING CONTROLS CAMERA AI PERFORMANCE WORLD BUILDING WORLD BUILDING Set the atmosphere and tone of the game.

More information

Real-Time Universal Capture Facial Animation with GPU Skin Rendering

Real-Time Universal Capture Facial Animation with GPU Skin Rendering Real-Time Universal Capture Facial Animation with GPU Skin Rendering Meng Yang mengyang@seas.upenn.edu PROJECT ABSTRACT The project implements the real-time skin rendering algorithm presented in [1], and

More information

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

Building 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 information

Computer Animation. Algorithms and Techniques. z< MORGAN KAUFMANN PUBLISHERS. Rick Parent Ohio State University AN IMPRINT OF ELSEVIER SCIENCE

Computer Animation. Algorithms and Techniques. z< MORGAN KAUFMANN PUBLISHERS. Rick Parent Ohio State University AN IMPRINT OF ELSEVIER SCIENCE Computer Animation Algorithms and Techniques Rick Parent Ohio State University z< MORGAN KAUFMANN PUBLISHERS AN IMPRINT OF ELSEVIER SCIENCE AMSTERDAM BOSTON LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO

More information

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Next-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 information

Programming Guide. Aaftab Munshi Dan Ginsburg Dave Shreiner. TT r^addison-wesley

Programming Guide. Aaftab Munshi Dan Ginsburg Dave Shreiner. TT r^addison-wesley OpenGUES 2.0 Programming Guide Aaftab Munshi Dan Ginsburg Dave Shreiner TT r^addison-wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid

More information

GPU Pro4. Advanced Rendering Techniques. Edited by Wolfgang Engel. fj\ CRC Press \C*^ J Taylor & Francis Croup

GPU Pro4. Advanced Rendering Techniques. Edited by Wolfgang Engel. fj\ CRC Press \C*^ J Taylor & Francis Croup GPU Pro4 Advanced Rendering Techniques Edited by Wolfgang Engel fj\ CRC Press \C*^ J Taylor & Francis Croup Boca Ralon London New York CRC Press is an imprint of the Taylor 61 francis Croup, an Informs

More information

GAME PROGRAMMING GEMS 8

GAME PROGRAMMING GEMS 8 GAME PROGRAMMING GEMS 8 Edited by Adam Lake Course Technology PTR A part ofcengage Learning o COURSE TECHNOLOGY? CENGAGE Learning- Australia, Brazil, Japan, Korea, Mexico, Singapore, Spain, United Kingdom,

More information

Course Reader for CSE Computer Graphics Autumn 2007 Instructor: Zoran Popović

Course Reader for CSE Computer Graphics Autumn 2007 Instructor: Zoran Popović Course Reader for CSE 457 - Computer Graphics Autumn 2007 Instructor: Zoran Popović Image Processing Book/Journal Title: Machine Vision Article/Chapter: Chapters 4 and 5 Ramesh Jain, Rangachar Kasturi,

More information

Game Programming for the PC and XBox

Game Programming for the PC and XBox Game Programming for the PC and XBox May 7 2012 Tutor: Dr Shovman Mark Student Name: Anastasios Giannakopoulos Student Number: 1004532 Module No: AG1102A Table of Contents Introduction... 2 Project goal...

More information

Graphics Shaders. Theory and Practice. Second Edition. Mike Bailey. Steve Cunningham. CRC Press. Taylor&FnincIs Croup tootutor London New York

Graphics Shaders. Theory and Practice. Second Edition. Mike Bailey. Steve Cunningham. CRC Press. Taylor&FnincIs Croup tootutor London New York Graphics Shaders Second Edition ' -i'nsst«i«{r szizt/siss?.aai^m&/gm^mmm3$8iw3ii Theory and Practice Mike Bailey Steve Cunningham CRC Press Taylor&FnincIs Croup tootutor London New York CRCPrea it an Imprint

More information

A model to blend renderings

A model to blend renderings A model to blend renderings Vincent Boyer and Dominique Sobczyk L.I.A.S.D.-Universit Paris 8 September 15, 2006 Abstract. We propose a model to blend renderings. It consists in mixing different kind of

More information

Why modern versions of OpenGL should be used Some useful API commands and extensions

Why modern versions of OpenGL should be used Some useful API commands and extensions Michał Radziszewski Why modern versions of OpenGL should be used Some useful API commands and extensions Timer Query EXT Direct State Access (DSA) Geometry Programs Position in pipeline Rendering wireframe

More information

Advanced Computer Graphics CS 563: Screen Space GI Techniques: Real Time

Advanced Computer Graphics CS 563: Screen Space GI Techniques: Real Time Advanced Computer Graphics CS 563: Screen Space GI Techniques: Real Time William DiSanto Computer Science Dept. Worcester Polytechnic Institute (WPI) Overview Deferred Shading Ambient Occlusion Screen

More information

Vertex Shaders for Geometry Compression

Vertex Shaders for Geometry Compression Vertex Shaders for Geometry Compression by Kenneth Hurley GDC San Francisco March 5 th, 2007 You might be an engineer if The sales people at the local computer store can't answer any of your questions.

More information

The Application Stage. The Game Loop, Resource Management and Renderer Design

The 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 information

Z-Buffer hold pixel's distance from camera. Z buffer

Z-Buffer hold pixel's distance from camera. Z buffer Z-Buffer hold pixel's distance from camera Z buffer Frustrum Culling and Z-buffering insufficient Given a large enough set of polygons, no matter how fast the graphics card, sending it too many hidden

More information

Rendering Grass with Instancing in DirectX* 10

Rendering Grass with Instancing in DirectX* 10 Rendering Grass with Instancing in DirectX* 10 By Anu Kalra Because of the geometric complexity, rendering realistic grass in real-time is difficult, especially on consumer graphics hardware. This article

More information

Self-Organization in Sensor and Actor Networks

Self-Organization in Sensor and Actor Networks Self-Organization in Sensor and Actor Networks Falko Dressler University of Erlangen, Germany BICENTINNIAL BICINTINNIAL John Wiley & Sons, Ltd Contents Foreword Preface About the Author List of Abbreviations

More information

Pete Yarbro 2-MA 3-FTR st FTR Rick Frost 4-SS 3-FTR

Pete Yarbro 2-MA 3-FTR st FTR Rick Frost 4-SS 3-FTR Wildcat Valley Rifle and Pistol Club NRA #C3053 Randy Vonderheide - 765-448-1886 - rlvonde@comcast.net HIGHPOWER MRP40 MATCH 3/21/15 NRA Sanctioned HIGH SINGLE MATCH IN BOLD Name Class Cat Match 1 X Match

More information

SHADERX 7 : ADVANCED RENDERING TECHNIQUES

SHADERX 7 : ADVANCED RENDERING TECHNIQUES SHADERX 7 : ADVANCED RENDERING TECHNIQUES WOLFGANG ENGEL Charles River Media Apart of Course Techno(ogy, Cengage Learning ~.. COURSE TECHNOLOGY 1% CENGAGE Learning- Australia, Brazil, Japan, Korea,Mexico,Singapore,

More information

Real - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský

Real - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský Real - Time Rendering Pipeline optimization Michal Červeňanský Juraj Starinský Motivation Resolution 1600x1200, at 60 fps Hw power not enough Acceleration is still necessary 3.3.2010 2 Overview Application

More information

NVIDIA Case Studies:

NVIDIA Case Studies: NVIDIA Case Studies: OptiX & Image Space Photon Mapping David Luebke NVIDIA Research Beyond Programmable Shading 0 How Far Beyond? The continuum Beyond Programmable Shading Just programmable shading: DX,

More information

Lecture 18 of 41. Scene Graphs: Rendering Lab 3b: Shader

Lecture 18 of 41. Scene Graphs: Rendering Lab 3b: Shader Scene Graphs: Rendering Lab 3b: Shader William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public mirror web site: http://www.kddresearch.org/courses/cis636

More information

Time-sliced pathfinding on arbitrary polygon surfaces

Time-sliced pathfinding on arbitrary polygon surfaces Time-sliced pathfinding on arbitrary polygon surfaces Arvid Norberg supervisor: Michael Minock Abstract Real-time games need to maintain a smooth frame rate and cannot

More information

AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO F ^ k.^

AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO F ^ k.^ Computer a jap Animation Algorithms and Techniques Second Edition Rick Parent Ohio State University AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO

More information

etcalf Metcalf Miles Results 30/38 Beginner overall Chief of Timing & Scoring Race Director Licensed to: Sierra OT

etcalf Metcalf Miles Results 30/38 Beginner overall Chief of Timing & Scoring Race Director  Licensed to: Sierra OT 0/ Beginner overall Metcalf.000 Miles R. R. 0 Beg 00b James Lemmer +0 Beg s Brenna Singh +0 Beg b Jason Hamilton +0 Beg s Kelly Licon +0 Beg J Jonah t( evalb) +0 Beg Beg 0b Robert Haaverson + Beg s Blake

More information

Real-Time Rendering of a Scene With Many Pedestrians

Real-Time Rendering of a Scene With Many Pedestrians 2015 http://excel.fit.vutbr.cz Real-Time Rendering of a Scene With Many Pedestrians Va clav Pfudl Abstract The aim of this text was to describe implementation of software that would be able to simulate

More information

Dynamic Resolution Rendering

Dynamic Resolution Rendering Dynamic Resolution Rendering www.intel.com/software/graphics Doug Binks, Intel doug.binks@intel.com Leigh Davies, Josh Doss, Matt Fife, Philipp Gerasimov, Axel Mamode, Steve Mccalla, Phil Taylor, Jeff

More information

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments?

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments? Homework 1: Questions/Comments? Implicit Surfaces,, & Volumetric Data Structures Loop Subdivision Shirley, Fundamentals of Computer Graphics Loop Subdivision SIGGRAPH 2000 course notes Subdivision for

More information

Lecture 21 of 41. Animation Basics Lab 4: Modeling & Rigging in Maya

Lecture 21 of 41. Animation Basics Lab 4: Modeling & Rigging in Maya Animation Basics Lab 4: Modeling & Rigging in Maya William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public mirror web

More information

Computer Graphics: Programming, Problem Solving, and Visual Communication

Computer Graphics: Programming, Problem Solving, and Visual Communication Computer Graphics: Programming, Problem Solving, and Visual Communication Dr. Steve Cunningham Computer Science Department California State University Stanislaus Turlock, CA 95382 copyright 2002, Steve

More information

Particle 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 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 information

Voxels. Tech Team - Johnny Mercado, Michael Matonis, Glen Giffey, John Jackson

Voxels. Tech Team - Johnny Mercado, Michael Matonis, Glen Giffey, John Jackson Voxels Tech Team - Johnny Mercado, Michael Matonis, Glen Giffey, John Jackson Pixel -> Voxel Appearance in Games Comanche: Maximum Overkill - 1992 Minecraft - 2011 Guncraft - 2013 CodeSpell https://www.youtube.com/watch?v=nn5mqxxzd0

More information

ACCELERATING ROUTE PLANNING AND COLLISION DETECTION FOR COMPUTER GENERATED FORCES USING GPUS

ACCELERATING ROUTE PLANNING AND COLLISION DETECTION FOR COMPUTER GENERATED FORCES USING GPUS ACCELERATING ROUTE PLANNING AND COLLISION DETECTION FOR COMPUTER GENERATED FORCES USING GPUS David Tuft, Russell Gayle, Brian Salomon, Naga Govindaraju, Ming Lin, and Dinesh Manocha University of North

More information

Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1)

Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1) Computer Graphics Lecture 14 Bump-mapping, Global Illumination (1) Today - Bump mapping - Displacement mapping - Global Illumination Radiosity Bump Mapping - A method to increase the realism of 3D objects

More information

Real-Time Non- Photorealistic Rendering

Real-Time Non- Photorealistic Rendering Real-Time Non- Photorealistic Rendering Presented by: Qing Hu LIAO SOCS, McGill Feb 1, 2005 Index Introduction Motivation Appel s Algorithm Improving Schema Rendering Result Economy of line A great deal

More information

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME) Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME) Pavel Petroshenko, Sun Microsystems, Inc. Ashmi Bhanushali, NVIDIA Corporation Jerry Evans, Sun Microsystems, Inc. Nandini

More information

ENGINEERING PROBLEM SOLVING WITH C++

ENGINEERING PROBLEM SOLVING WITH C++ ENGINEERING PROBLEM SOLVING WITH C++ Second Edition Delores M. Etter Electrical Engineering Department United States Naval Academy Jeanine A. Ingber Training Consultant Sandia National Laboratories Upper

More information

Motivation MGB Agenda. Compression. Scalability. Scalability. Motivation. Tessellation Basics. DX11 Tessellation Pipeline

Motivation MGB Agenda. Compression. Scalability. Scalability. Motivation. Tessellation Basics. DX11 Tessellation Pipeline MGB 005 Agenda Motivation Tessellation Basics DX Tessellation Pipeline Instanced Tessellation Instanced Tessellation in DX0 Displacement Mapping Content Creation Compression Motivation Save memory and

More information

Final Competition Rankings for the GGSM - MMT-14 held at the Western Montana Fish & Game Association in Missoula, MT Match Date: 6/28/14

Final Competition Rankings for the GGSM - MMT-14 held at the Western Montana Fish & Game Association in Missoula, MT Match Date: 6/28/14 Final Competition Rankings for the GGSM - MMT- held at the Western Montana Fish & Game Association in Missoula, MT Date: 6// 0006 Shirley Angell 000 Theresa Dec 000 Jean Smith 000 Patricia Nervik 00 Emily

More information

Course Recap + 3D Graphics on Mobile GPUs

Course Recap + 3D Graphics on Mobile GPUs Lecture 18: Course Recap + 3D Graphics on Mobile GPUs Interactive Computer Graphics Q. What is a big concern in mobile computing? A. Power Two reasons to save power Run at higher performance for a fixed

More information

Advanced Graphics. Global Illumination. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Advanced Graphics. Global Illumination. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd Advanced Graphics Global Illumination 1 Alex Benton, University of Cambridge A.Benton@damtp.cam.ac.uk Supported in part by Google UK, Ltd What s wrong with raytracing? Soft shadows are expensive Shadows

More information

November 2, 2004 Joint General and Special Elections Travis County November 02, 2004 Official Results Total Cumulative Report

November 2, 2004 Joint General and Special Elections Travis County November 02, 2004 Official Results Total Cumulative Report Total Registered Voters STRAIGHT PARTY REPUBLICAN (REP) DEMOCRATIC (DEM) LIBERTARIAN (LIB) 50,109 41.92% 26,539 40.69% 76,648 41.49% 68,357 57.18% 37,583 57.63% 105,940 57.34% 1,071 0.90% 1,097 1.68% 2,168

More information

RSX Best Practices. Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog

RSX Best Practices. Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog RSX Best Practices Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog RSX Best Practices About libgcm Using the SPUs with the RSX Brief overview of GCM Replay December 7 th, 2004

More information

Real-Time Reyes Programmable Pipelines and Research Challenges

Real-Time Reyes Programmable Pipelines and Research Challenges Real-Time Reyes Programmable Pipelines and Research Challenges Anjul Patney University of California, Davis This talk Parallel Computing for Graphics: In Action What does it take to write a programmable

More information

Choosing a Search Space Representation

Choosing a Search Space Representation 18 Choosing a Search Space Representation Nathan R. Sturtevant 18.1 Introduction 18.2 Tasks 18.3 Grids 18.4 Waypoint Graphs 18.5 Navigation Meshes 18.6 Conclusion 18.1 Introduction The choice of a path

More information

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015 Enhancing Traditional Rasterization Graphics with Ray Tracing October 2015 James Rumble Developer Technology Engineer, PowerVR Graphics Overview Ray Tracing Fundamentals PowerVR Ray Tracing Pipeline Using

More information

LECTURE 2: VR SYSTEMS AND VIRTUAL WORLDS

LECTURE 2: VR SYSTEMS AND VIRTUAL WORLDS CS-E4002 - Virtual and Augmented Reality, Spring 2018 Tapio Takala LECTURE 2: VR SYSTEMS AND VIRTUAL WORLDS Partly adapted from lectures by Bruce Thomas, Mark Billinghurst University of South Australia,

More information

GPU-Based Visualization of AMR and N-Body Dark Matter Simulation Data. Ralf Kähler (KIPAC/SLAC)

GPU-Based Visualization of AMR and N-Body Dark Matter Simulation Data. Ralf Kähler (KIPAC/SLAC) GPU-Based Visualization of AMR and N-Body Dark Matter Simulation Data Ralf Kähler (KIPAC/SLAC) HiPACC-Meeting 03/21/2014 COMPUTER GRAPHICS Rasterization COMPUTER GRAPHICS Assumption (for now): Input object(s)

More information

Programming Graphics Hardware. GPU Applications. Randy Fernando, Cyril Zeller

Programming Graphics Hardware. GPU Applications. Randy Fernando, Cyril Zeller GPU Applications Randy Fernando, Cyril Zeller Overview Per-Pixel Displacement Mapping with Distance Functions Percentage-Closer Soft Shadows Introduction to General-Purpose Computation on GPUs Cloth Simulation

More information

Abstract. Introduction. Kevin Todisco

Abstract. Introduction. Kevin Todisco - Kevin Todisco Figure 1: A large scale example of the simulation. The leftmost image shows the beginning of the test case, and shows how the fluid refracts the environment around it. The middle image

More information

Programming Game Engines ITP 485 (4 Units)

Programming Game Engines ITP 485 (4 Units) Programming Game Engines ITP 485 (4 Units) Objective This course provides students with an in-depth exploration of 3D game engine architecture. Students will learn state-of-the-art software architecture

More information

PhoneBook (Sorting) You will be modifying your PhoneBook class to sort by different fields in a contact.

PhoneBook (Sorting) You will be modifying your PhoneBook class to sort by different fields in a contact. PhoneBook (Sorting) Background: You will be modifying your PhoneBook class to sort by different fields in a contact. Assignment: 1. Create a project called PhoneBookSort. Copy your PhoneBook class and

More information

CHAPTER 1 Graphics Systems and Models 3

CHAPTER 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 information

Art Based Rendering of Fur by Instancing Geometry

Art Based Rendering of Fur by Instancing Geometry Art Based Rendering of Fur by Instancing Geometry Abstract Richie Steigerwald In this paper, I describe a non- photorealistic rendering system that uses strokes to render fur and grass in a stylized manner

More information

The Scope of This Book... xxii A Quick Note About Browsers and Platforms... xxii The Appendices and Further Resources...xxiii

The Scope of This Book... xxii A Quick Note About Browsers and Platforms... xxii The Appendices and Further Resources...xxiii CONTENTS IN DETAIL FOREWORD by Joost de Valk PREFACE xvii xix INTRODUCTION xxi The Scope of This Book... xxii A Quick Note About Browsers and Platforms... xxii The Appendices and Further Resources...xxiii

More information

GPU Pro 3. Advanced Rendering Techniques. Edited by Wolfgang Engel. CRC Press. ' Taylor &. Francis Group Boca Raton London New York

GPU Pro 3. Advanced Rendering Techniques. Edited by Wolfgang Engel. CRC Press. ' Taylor &. Francis Group Boca Raton London New York GPU Pro 3 Advanced Rendering Techniques Edited by Wolfgang Engel CRC Press ' Taylor &. Francis Group Boca Raton London New York CRC Press is an imprint of the Taylor & Francis Croup, an informs busines

More information

Modern C++ Design. Generic Programming and Design Patterns Applied. Andrei Alexandrescu. .~Addison-Wesley

Modern C++ Design. Generic Programming and Design Patterns Applied. Andrei Alexandrescu. .~Addison-Wesley Modern C++ Design Generic Programming and Design Patterns Applied Andrei Alexandrescu.~Addison-Wesley Boston " San Francisco " New York " Toronto " Montreal London " Munich " Paris " Madrid Capetown "

More information

Modern C++ Design. Generic Programming and Design Patterns Applied. Andrei Alexandrescu. AAddison-Wesley

Modern C++ Design. Generic Programming and Design Patterns Applied. Andrei Alexandrescu. AAddison-Wesley Modern C++ Design Generic Programming and Design Patterns Applied Andrei Alexandrescu f AAddison-Wesley Boston San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney Tokyo Singapore

More information

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection

More information

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Chap. 5 Scene Management Overview Scene Management vs Rendering This chapter is about rendering

More information

Drawing a Crowd. David Gosselin Pedro V. Sander Jason L. Mitchell. 3D Application Research Group ATI Research

Drawing a Crowd. David Gosselin Pedro V. Sander Jason L. Mitchell. 3D Application Research Group ATI Research Drawing a Crowd David Gosselin Pedro V. Sander Jason L. Mitchell 3D Application Research Group ATI Research Introduction In this chapter, we present a technique for efficiently rendering a large crowd

More information

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala Animation CS 4620 Lecture 33 Cornell CS4620 Fall 2015 1 Announcements Grading A5 (and A6) on Monday after TG 4621: one-on-one sessions with TA this Friday w/ prior instructor Steve Marschner 2 Quaternions

More information

Division of Information Technology

Division of Information Technology Division of Information Technology Dr. Dana Hoyt Mark Adams Vice for Information Technology Ashley Chapman Executive Assistant to VP of IT TJ Harris Associate Vice Terry Blaylock Associate Vice Dr. Chuck

More information

TSBK03 Screen-Space Ambient Occlusion

TSBK03 Screen-Space Ambient Occlusion TSBK03 Screen-Space Ambient Occlusion Joakim Gebart, Jimmy Liikala December 15, 2013 Contents 1 Abstract 1 2 History 2 2.1 Crysis method..................................... 2 3 Chosen method 2 3.1 Algorithm

More information

Design of a Programmable Vertex Processing Unit for Mobile Platforms

Design of a Programmable Vertex Processing Unit for Mobile Platforms Design of a Programmable Vertex Processing Unit for Mobile Platforms Tae-Young Kim 1, Kyoung-Su Oh 2 1 Dept. of Computer Engineering, Seokyeong University 136704 Seoul, Korea tykim@skuniv.ac.kr 2 Dept.

More information

What is visualization? Why is it important?

What is visualization? Why is it important? What is visualization? Why is it important? What does visualization do? What is the difference between scientific data and information data Cycle of Visualization Storage De noising/filtering Down sampling

More information

Deformable Snow Rendering in Batman : Arkham Origins Colin Barré-Brisebois (Lead Rendering Programmer)

Deformable Snow Rendering in Batman : Arkham Origins Colin Barré-Brisebois (Lead Rendering Programmer) Deformable Snow Rendering in Batman : Arkham Origins Colin Barré-Brisebois (Lead Rendering Programmer) Agenda Motivations Deformable Snow Novel technique for rendering of surfaces covered with fallen deformable

More information

EECE 478. Learning Objectives. Learning Objectives. Rasterization & Scenes. Rasterization. Compositing

EECE 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 information

SNOW PLOW COMPETITION FINAL RESULTS

SNOW PLOW COMPETITION FINAL RESULTS SNOW PLOW COMPETITION 2015 - FINAL RESULTS : 1 : 591 Team #: 26 Mount Prospect, Village of Kevin DeLuca Sean Eisen : 2 : 566 Team #: 18 Bolingbrook, Village of C.R. Jones Brian Calderon : 3 : 547 Team

More information

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

Interactive 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 information

Library Pathfinder. HOLY ANGEL UNIVERSITY LIBRARY

Library Pathfinder. HOLY ANGEL UNIVERSITY LIBRARY HOLY ANGEL UNIVERSITY LIBRARY http://www.hau.edu.ph/university_library/ Library Pathfinder Computer Animation DEFINITIONS Computer Animation It is the process used for generating animated images by using

More information

A Reconfigurable Architecture for Load-Balanced Rendering

A Reconfigurable Architecture for Load-Balanced Rendering A Reconfigurable Architecture for Load-Balanced Rendering Jiawen Chen Michael I. Gordon William Thies Matthias Zwicker Kari Pulli Frédo Durand Graphics Hardware July 31, 2005, Los Angeles, CA The Load

More information

12 th Annual Texas Blue Chip Showcase College Coaches Registered as of 2/1/12

12 th Annual Texas Blue Chip Showcase College Coaches Registered as of 2/1/12 Chris Foster Air Force Academy Div I Devin O Neill Bradley University Div I Steve Armas Campbell University Div I Carson Porter University of Denver Div I Ian Luya East Tennessee State Univ Div I Darren

More information

VERIFICATION AND VALIDATION FOR QUALITY OF UML 2.0 MODELS

VERIFICATION AND VALIDATION FOR QUALITY OF UML 2.0 MODELS VERIFICATION AND VALIDATION FOR QUALITY OF UML 2.0 MODELS BHUVAN UNHELKAR, PHD WILEY- INTERSCIENCE A Wiley-lnterscience Publication JOHN WILEY & SONS, INC. Contents Figures Foreword Preface Acknowledgments

More information

Sorted on Laps. Cock O' The North Road Races. Junior 600. Olivers Mount Miles. Race 1 - Heat 1 20/07/ :04

Sorted on Laps. Cock O' The North Road Races. Junior 600. Olivers Mount Miles. Race 1 - Heat 1 20/07/ :04 Sorted on Junior 00 Race - Heat Olivers Mount.0 Miles 0/0/0 :0 Race ( ) started at :0: 0 0 Jamie Hamilton Ivan Lintin Daniel Frear Mark Goodings Gary Graves Scott Campbell Tom Robinson Dean Hindson Darren

More information

Images from 3D Creative Magazine. 3D Modelling Systems

Images from 3D Creative Magazine. 3D Modelling Systems Images from 3D Creative Magazine 3D Modelling Systems Contents Reference & Accuracy 3D Primitives Transforms Move (Translate) Rotate Scale Mirror Align 3D Booleans Deforms Bend Taper Skew Twist Squash

More information

6.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, :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 information

Northern Kettles Fall Epic

Northern Kettles Fall Epic 10 Hour Open Team Place Laps Final Time Mileage Participant Lap Date Time Lap Duration Cumm Lap Duration 1 20 09 :52 :33 100.00 836 99ers JamiePrange Eric Steffen RyanTheel 9/13/2014 8:32:14 AM 00 :32

More information

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June Optimizing and Profiling Unity Games for Mobile Platforms Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June 1 Agenda Introduction ARM and the presenter Preliminary knowledge

More information

Craig Woolley Chief Information Officer (97 including 7 Vacant)

Craig Woolley Chief Information Officer (97 including 7 Vacant) Craig Woolley Chief Information Officer (97 including 7 ) Larry Fox Director of Technical (37) Michael Stankas Director of Information (23) Mike Natale Chief Information Security Officer Kenneth Coon Director

More information

Rendering Grass Terrains in Real-Time with Dynamic Lighting. Kévin Boulanger, Sumanta Pattanaik, Kadi Bouatouch August 1st 2006

Rendering Grass Terrains in Real-Time with Dynamic Lighting. Kévin Boulanger, Sumanta Pattanaik, Kadi Bouatouch August 1st 2006 Rendering Grass Terrains in Real-Time with Dynamic Lighting Kévin Boulanger, Sumanta Pattanaik, Kadi Bouatouch August 1st 2006 Goal Rendering millions of grass blades, at any distance, in real-time, with:

More information

CSE 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 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 information

3D Representation and Solid Modeling

3D Representation and Solid Modeling MCS 585/480 Computer Graphics I 3D Representation and Solid Modeling Week 8, Lecture 16 William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel

More information

Open Game Engine Exchange Specification

Open Game Engine Exchange Specification Open Game Engine Exchange Specification Version 1.0.1 by Eric Lengyel Terathon Software LLC Roseville, CA Open Game Engine Exchange Specification ISBN-13: 978-0-9858117-2-3 Copyright 2014, by Eric Lengyel

More information

Design of a Programmable Vertex Processing Unit for Mobile Platforms

Design of a Programmable Vertex Processing Unit for Mobile Platforms Design of a Programmable Vertex Processing Unit for Mobile Platforms Tae-Young Kim 1 and Kyoung-Su Oh 2 1 Dept of Computer Engineering, Seokyeong University 136704 Seoul, Korea tykim@skunivackr 2 Dept

More information

Ray Tracing CSCI 4239/5239 Advanced Computer Graphics Spring 2018

Ray Tracing CSCI 4239/5239 Advanced Computer Graphics Spring 2018 Ray Tracing CSCI 4239/5239 Advanced Computer Graphics Spring 2018 What is it? Method for rendering a scene using the concept of optical rays bouncing off objects More realistic Reflections Shadows How

More information

OpenGL. Shading Language. Third Edition

OpenGL. Shading Language. Third Edition OpenGL Shading Language Third Edition OpenGL* Shading Language Third Edition Randi J. Rost Bill Licea-Kane With contributions by Dan Ginsburg, John M. Kessenich, Barthold Lichtenbelt, Hugh Malan, and Mike

More information

Interactive Stable Ray Tracing

Interactive Stable Ray Tracing Interactive Stable Ray Tracing Alessandro Dal Corso 1,2, Marco Salvi 1, Craig Kolb 1, Jeppe Revall Frisvad 2, Aaron Lefohn 1, David Luebke 1 1 NVIDIA, 2 Technical University of Denmark Comparison with

More information

What is visualization? Why is it important?

What is visualization? Why is it important? What is visualization? Why is it important? What does visualization do? What is the difference between scientific data and information data Visualization Pipeline Visualization Pipeline Overview Data acquisition

More information