GAME PROGRAMMING GEMS 8

Similar documents
Game Programming Gems 3

Game Programming Gems 3

CS GAME PROGRAMMING Question bank

Computer Graphics Introduction. Taku Komura

3D Production Pipeline

Rendering Grass with Instancing in DirectX* 10

Post Mortem: GPU Accelerated Effects in Borderlands 2

SHADERX 7 : ADVANCED RENDERING TECHNIQUES

Lecturer Athanasios Nikolaidis

Engineering Real- Time Applications with Wild Magic

Dynamic Resolution Rendering

Real-Time Rendering of a Scene With Many Pedestrians

Dynamic Ambient Occlusion and Indirect Lighting. Michael Bunnell NVIDIA Corporation

MIDDLEWARE A Brief Overview

Table of Contents. Questions or problems?

Real-Time Universal Capture Facial Animation with GPU Skin Rendering

A Trip Down The (2011) Rasterization Pipeline

Dominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment

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

Seamless Compute and OpenGL Graphics Development in NVIDIA Nsight 3.0 Visual Studio Edition and Beyond 3/20/2013

Contents. Contributor Bios. Foreword. About the Cover Image,. xix SECTION 1 GENERAL PROGRAMMING 1

The Vegetation of Horizon Zero Dawn. Gilbert Sanders Principal Artist, Guerrilla Games

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

Overview: Ray Tracing & The Perspective Projection Pipeline

Course Recap + 3D Graphics on Mobile GPUs

Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03

Language. f SQL. Larry Rockoff COURSE TECHNOLOGY. Kingdom United States. Course Technology PTR. A part ofcenqaqe Learninq

3D Reconstruction with Tango. Ivan Dryanovski, Google Inc.

Com S 336 Final Project Ideas

Craig Peeper Software Architect Windows Graphics & Gaming Technologies Microsoft Corporation

The PixelTransit Image Generator: A Next-Generation Visual Simulation Engine

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

This work is about a new method for generating diffusion curve style images. Although this topic is dealing with non-photorealistic rendering, as you

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

CS451Real-time Rendering Pipeline

Spring 2009 Prof. Hyesoon Kim

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

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

Scalable Ambient Effects

Lahore University of Management Sciences. CS 452 Computer Graphics

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

Lecture 16. Introduction to Game Development IAP 2007 MIT

Graphics Processing Unit Architecture (GPU Arch)

Duksu Kim. Professional Experience Senior researcher, KISTI High performance visualization

The exam begins at 5:10pm and ends at 8:00pm. You must turn your exam in when time is announced or risk not having it accepted.

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Black Desert Online. Taking MMO Development to the Next Level. Dongwook Ha Gwanghyeon Go

What is a Rigid Body?

Streaming Massive Environments From Zero to 200MPH

Particle systems, collision detection, and ray tracing. Computer Graphics CSE 167 Lecture 17

Practical Rendering And Computation With Direct3D 11 Free Pdf Books

#Short presentation of the guys

Gestural and Cinematic Interfaces - DX11. David Brebner Unlimited Realities CTO

Massive Model Visualization using Real-time Ray Tracing

Comparing Reyes and OpenGL on a Stream Architecture

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS

TSBK03 Screen-Space Ambient Occlusion

Deus Ex is in the Details

Applications of Explicit Early-Z Culling

The ExtReAM Library: Extensible Real-time Animations for Multiple Platforms

Shape of Things to Come: Next-Gen Physics Deep Dive

Graphics and Imaging Architectures

Octree-Based Sparse Voxelization for Real-Time Global Illumination. Cyril Crassin NVIDIA Research

Abstract. Introduction. Kevin Todisco

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

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

Programming Game Engines ITP 485 (4 Units)

Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics

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

Procedural modeling and shadow mapping. Computer Graphics CSE 167 Lecture 15

CMSC 425: Lecture 2 Computer Game and Graphics System Architectures

Computer Graphics: Programming, Problem Solving, and Visual Communication

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

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

CS 179: GPU Programming

Technical Guide. Updated August 24, Page 1 of 19

Today. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing

Advanced 3D Game Programming with DirectX* 10.0

Scalable Multi Agent Simulation on the GPU. Avi Bleiweiss NVIDIA Corporation San Jose, 2009

GPGPU Applications. for Hydrological and Atmospheric Simulations. and Visualizations on the Web. Ibrahim Demir

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

T chnology chnology Ma turity turity for fo Adaptiv Adaptiv Massively Massiv ely Pa P ra r llel llel Computing F rst rst Wo W rksho p 2009

Object Space Lighting. Dan Baker Founder, Oxide Games

Computer Graphics CS 543 Lecture 1 (Part I) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Art Based Rendering of Fur by Instancing Geometry

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

3D Computer Games Technology and History. Markus Hadwiger VRVis Research Center

CS 543: Computer Graphics. Introduction

BOOTSTRAP YOURSELF WITH LINUX-USB STACK: DESIGN, DEVELOP, DEBUG, AND VALIDATE EMBEDDED USB

Direct Rendering of Trimmed NURBS Surfaces

CSE 167: Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

Spring 2011 Prof. Hyesoon Kim

#Short presentation of the guys

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

A SIMD-efficient 14 Instruction Shader Program for High-Throughput Microtriangle Rasterization

Case Study: The Pixar Story. By Connor Molde Comptuer Games & Interactive Media Year 1

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

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

Transcription:

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, United States

Contents Preface Contributors ix xiv Section 1 Graphics 1 Introduction 1 Jason Mitchell, Valve 1.1 Fast Font Rendering with Instancing 3 Aurelio Reis, id Software 1.2 Principles and Practice of Screen Space Ambient Occlusion 12 Dominic Filion, Blizzard Entertainment 1.3 Multi-Resolution Deferred Shading 32 Hyunwoo Ki, INNOACE Co., Ltd 1.4 View Frustum Culling of Catmull-Clark Patches in DirectX 11 39 Rahul P. Sathe, Intel Advanced Visual Computing (AVC) 1.5 Ambient Occlusion Using DirectX Compute Shader 50 Jason Zink 1.6 Eye-View Pixel Anti-Aliasing for Irregular Shadow Mapping 74 Nico Galoppo, Intel Advanced Visual Computing (AVC) 1.7 Overlapped Execution on Programmable Graphics Hardware... 90 Allen Hux, Intel Advanced Visual Computing (AVC) 1.8 Techniques for Effective Vertex and Fragment Shading on the SPUs.. 101 Steven Tovey, Bizarre Creations Ltd. iii

iv Table of Contents Section 2 Physics and Animation 119 Introduction 119 Jeff Lander, Darwin 3D, LLC 2.1 A Versatile and Interactive Anatomical Human Face Model 121 Marco Fratarcangeli 2.2 Curved Paths for Seamless Character Animation 132 Michael Lewin 2.3 Non-Iterative, Closed-Form, Inverse Kinematic Chain Solver (NCF IK). 141 Philip Taylor 2.4 Particle Swarm Optimization for Game Programming 152 Dario L. Sancho-Pradel 2.5 Improved Numerical Integration with Analytical Techniques 168 Eric Brown 2.6 What a Drag: Modeling Realistic Three-Dimensional Air and Fluid Resistance.. 183 B. Charles Rasco, Ph.D., President, Smarter Than You Software 2.7 Application of Quasi-Fluid Dynamics for Arbitrary Closed Meshes... 194 KrzysztofMieloszyk, Gdansk University of Technology 2.8 Approximate Convex Decomposition for Real-Time Collision Detection 202 KhaledMamou Section 3 AS 211 Introduction 211 Borut Pfeifer 3.1 Al Level of Detail for Really Large Worlds 213 Cyril Brom, Charles University in Prague Tomds Poch, Ondrej Sery 3.2 A Pattern-Based Approach to Modular Al for Games 232 Kevin Dill, Boston University

Table of Contents v 3.3 Automated Navigation Mesh Generation Using Advanced Growth-Based Techniques 244 D. Hunter Hale 3.4 A Practical Spatial Architecture for Animal and Agent Navigation... 256 Michael Ramsey Blue Fang Games, LLC 3.5 Applying Control Theory to Game Al and Physics 264 Brian Pickrell 3.6 Adaptive Tactic Selection in First-Person Shooter (FPS) Games... 279 Thomas Hartley, Institute of Gaming and Animation (IGA), University ofwolverhampton Quasim Mehdi, Institute of Gaming and Animation (IGA), University ofwolverhampton 3.7 Embracing Chaos Theory: Generating Apparent Unpredictability through Deterministic Systems 288 Dave Mark, Intrinsic Algorithm LLC 3.8 Needs-Based Al 302 Robert Zubek 3.9 A Framework for Emotional Digital Actors 312 Phil Carlisle 3.10 Scalable Dialog Authoring 323 Baylor Wetzel, Shikigami Games 3.11 Graph-Based Data Mining for Player Trace Analysis in MMORPGs... 335 Nikhil S. Ketkar and G. Michael Youngblood Section 4 General Programming 353 Introduction 353 Doug Binks, Intel Semiconductors AG 4.1 Fast-lsA 355 Joshua Grass, PhD 4.2 Registered Variables 363 Peter Dalton, Smart Bomb Interactive 4.3 Efficient and Scalable Multi-Core Programming 373 Jean-Francois Dubi, Ubisoft Montreal

vi Table of Contents 4.4 Game Optimization through the Lens of Memory and Data Access.. 385 Steve Rabin, Nintendo of America Inc. 4.5 Stack Allocation 393 Michael Dailly 4.6 Design and Implementation of an In-Game Memory Profiler 402 Ricky Lung 4.7 A More Informative Error Log Generator 409 J.L. Raza and Peter Iliev Jr. 4.8 Code Coverage for QA 416 Matthew Jack 4.9 Domain-Specific Languages in Game Engines 428 Gabriel Ware 4.10 A Flexible User Interface Layout System for Divergent Environments.. 442 Gero Gerber, Electronic Arts (EA Phenomic) 4.11 Road Creation for Projectable Terrain Meshes 453 Igor Borovikov, Aleksey Kadukin 4.12 Developing for Digital Drawing Tablets 462 Neil Gower 4.13 Creating a Multi-Threaded Actor-Based Architecture Using Intel Threading Building Blocks 473 Robert Jay Gould, Square-Enix Section 5 Networking and Multiplayer 485 Introduction 485 Craig Tiller and Adam Lake 5.1 Secure Channel Communication 487 Chris Lomont 5.2 Social Networks in Games: Playing with Your Facebook Friends... 498 Claus Hofele, Team Bondi

Table of Contents vii 5.3 Asynchronous I/O for Scalable Game Servers 506 Neil Gower 5.4 Introduction to 3D Streaming Technology in Massively Multiplayer Online Games 514 Kevin Kaichuan He Section 6 Audio 539 Introduction 539 Brian Schmidt, Founder and Executive Director, GameSoundCon; President, Brian Schmidt Studios 6.1 A Practical DSP Radio Effect 542 Ian Ni-Lewis 6.2 Empowering Your Audio Team with a Great Engine 553 Mat Noguchi, Bungie 6.3 Real-Time Sound Synthesis for Rigid Bodies 563 Zhimin Ren and Ming Lin Section 7 General Purpose Computing on GPUs 573 Introduction 573 Adam Lake, Sr. Graphics Software Architect, Advanced Visual Computing, Intel 7.1 Using Heterogeneous Parallel Architectures with OpenCL 575 Udeepta Bordoloi, Benedict R. Gaster, and Marc Romankewicz, Advanced Micro Devices 7.2 PhysX GPU Rigid Bodies in Batman: Arkham Asylum 590 Richard Tonge, NVIDIA Corporation Ben Wyatt and Ben Nicholson, Rocksteady Studios 7.3 Fast GPU Fluid Simulation in PhysX 602 Simon Schirm and Mark Harris, NVIDIA Corporation Index 616