18
Thomas Alexander, Polytime Thomas Alexander cofounded Exapath, a startup focused on mapping networking algorithms onto GPGPUs. Previously he was at Juniper Networks working in the Infrastructure Product Group building core routers. Thomas has a Ph.D. in electrical engineering from Duke University, where he also worked on a custom-built parallel machine for ray casting. Kavita Bala, Cornell University Kavita Bala is an assistant professor in the Computer Science Department and Program of Computer Graphics at Cornell University. Bala specializes in scalable rendering for high- complexity illumination, interactive global illumination, perceptually based rendering, and image-based texturing. Bala has published research papers and served on the program committees of several conferences, including SIGGRAPH. In 2005, Bala cochaired the Eurographics Symposium on Rendering. She has coauthored the graduate-level textbook Advanced Global Illu- mination, 2nd ed. (A K Peters, 2006). Before Cornell, Bala received her S.M. and Ph.D. from the Massachusetts Institute of Technology, and her B.Tech. from the Indian Institute of Technology Bombay. Kevin Bjorke, NVIDIA Corporation Kevin Bjorke is a member of the Technology Evangelism group at NVIDIA, and contin- ues his roles as editor and contributor to the previous volumes of GPU Gems. He has a broad background in production of both live-action and animated films, TV, advertising, theme park rides, print, and—of course—games. Kevin has been a regular speaker at events such as SIGGRAPH and GDC since the mid-1980s. His current work focuses on applying NVIDIA’s horsepower and expertise to help developers fulfill their individual ambitions. Jean-Yves Blanc, CGGVeritas Jean-Yves Blanc received a Ph.D. in applied mathematics in 1991 from the Institut Na- tional Polytechnique de Grenoble, France. He joined CGG in 1992, where he introduced and developed parallel processing for high-performance computing seismic applications. He is now in charge of IT strategy for the Processing and Reservoir product line. xxxiii Contributors Contributors From the new book GPU Gems 3, edited by Hubert Nguyen, published by Addison-Wesley Professional, August 2007, ISBN 0321515269. Copyright 2008 NVIDIA Corporation. For more information, please visit: www.awprofessional.com/title/0321515269.

010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

Thomas Alexander, PolytimeThomas Alexander cofounded Exapath, a startup focused on mapping networking algorithms onto GPGPUs. Previously he was at Juniper Networks working in the Infrastructure Product Group building core routers. Thomas has a Ph.D. in electricalengineering from Duke University, where he also worked on a custom-built parallelmachine for ray casting.

Kavita Bala, Cornell UniversityKavita Bala is an assistant professor in the Computer Science Department and Program ofComputer Graphics at Cornell University. Bala specializes in scalable rendering for high-complexity illumination, interactive global illumination, perceptually based rendering,and image-based texturing. Bala has published research papers and served on the programcommittees of several conferences, including SIGGRAPH. In 2005, Bala cochaired the

Eurographics Symposium on Rendering. She has coauthored the graduate-level textbook Advanced Global Illu-mination, 2nd ed. (A K Peters, 2006). Before Cornell, Bala received her S.M. and Ph.D. from the MassachusettsInstitute of Technology, and her B.Tech. from the Indian Institute of Technology Bombay.

Kevin Bjorke, NVIDIA Corporation Kevin Bjorke is a member of the Technology Evangelism group at NVIDIA, and contin-ues his roles as editor and contributor to the previous volumes of GPU Gems. He has abroad background in production of both live-action and animated films, TV, advertising,theme park rides, print, and—of course—games. Kevin has been a regular speaker atevents such as SIGGRAPH and GDC since the mid-1980s. His current work focuses on

applying NVIDIA’s horsepower and expertise to help developers fulfill their individual ambitions.

Jean-Yves Blanc, CGGVeritasJean-Yves Blanc received a Ph.D. in applied mathematics in 1991 from the Institut Na-tional Polytechnique de Grenoble, France. He joined CGG in 1992, where he introducedand developed parallel processing for high-performance computing seismic applications.He is now in charge of IT strategy for the Processing and Reservoir product line.

xxxiiiContributors

Contributors

From the new book GPU Gems 3, edited by Hubert Nguyen, published by Addison-Wesley Professional, August 2007, ISBN 0321515269. Copyright 2008 NVIDIA Corporation. For more information, please visit: www.awprofessional.com/title/0321515269.

Page 2: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

Jim Blinn, Microsoft ResearchJim Blinn began doing computer graphics in 1968 while an undergraduate at the Univer-sity of Michigan. In 1974 he became a graduate student at the University of Utah, wherehe did research in specular lighting models, bump mapping, and environment/reflectionmapping and received a Ph.D. in 1977. He then went to JPL and produced computergraphics animations for various space missions to Jupiter, Saturn, and Uranus, as well as

for Carl Sagan’s PBS series “Cosmos” and for the Annenberg/CPB-funded project “The Mechanical Universe,”a 52-part telecourse to teach college-level physics. During these productions he developed several other tech-niques, including work in cloud simulation, displacement mapping, and a modeling scheme variously calledblobbies or metaballs. Since 1987 he has written a regular column in the IEEE Computer Graphics and Applica-tions journal, where he describes mathematical techniques used in computer graphics. He has just published histhird volume of collected articles from this series. In 1995 he joined Microsoft Research as a Graphics Fellow.He is a MacArthur Fellow, a member of the National Academy of Engineering, has an honorary Doctor of FineArts degree from Otis Parsons School of Design, and has received both the SIGGRAPH Computer GraphicsAchievement Award (1983) and the Steven A. Coons Award (1999).

George Borshukov, Electronic ArtsGeorge Borshukov is a CG supervisor at Electronic Arts. He holds an M.S. from the Uni-versity of California, Berkeley, where he was one of the creators of The Campanile Movieand real-time demo (1997). He was technical designer for the “bullet time” sequences inThe Matrix (1999) and received an Academy Scientific and Technical Achievement Awardfor the image-based rendering technology used in the film. Borshukov led the development

of photoreal digital actors for The Matrix sequels (2003) and received a Visual Effects Society Award for thedesign and application of the Universal Capture system in those films. Other film credits include What DreamsMay Come (1998), Mission: Impossible 2 (2000), and Michael Jordan to the Max (2000). He is also a co-inventorof the UV pelting approach for parameterization and seamless texturing of polygonal or subdivision surfaces. Hejoined Electronic Arts in 2004 to focus on setting a new standard for facial capture, animation, and rendering innext-generation interactive entertainment. He conceived the Fight Night Round 3 concept and the Tiger Woodstech demos presented at Sony’s E3 events in 2005 and 2006.

Tamy Boubekeur, LaBRI–INRIA, University of Bordeaux Tamy Boubekeur is a third-year Ph.D. student in computer science at INRIA in Bordeaux,France. He received an M.Sc. in computer science from the University of Bordeaux in2004. His current research focuses on 3D geometry processing and real-time rendering. Hehas developed new algorithms and data structures for the 3D acquisition pipeline, publish-ing several scientific papers in the fields of efficient processing and interactive editing of

large 3D objects, hierarchical space subdivision structures, point-based graphics, and real-time surface refinementmethods. He also teaches geometric modeling and virtual reality at the University of Bordeaux.

Contributorsxxxiv

Copyright NVIDIA Corporation. All rights reserved.

Page 3: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

Ralph Brunner, Apple Ralph Brunner graduated from the Swiss Federal Institute of Technology (ETH) Zürichwith an M.Sc. degree in computer science. He left the country after the bear infestationmade the major cities uninhabitable and has been working in California on the graphicsstack of Mac OS X since then.

Iain Cantlay, NVIDIA CorporationIain started his career in flight simulation, when 250 polys per frame was state of the art.With the advent of consumer-level 3D hardware, he moved to writing game engines, withpublished titles including Machines and MotoGP 3. In 2005 he moved to the DeveloperTechnology group at NVIDIA, which is the perfect place to combine his passions forgames and 3D graphics.

Ignacio Castaño Aguado, NVIDIA CorporationIgnacio Castaño Aguado is an engineer in the Developer Technology group at NVIDIA.When not playing Go against his coworkers or hiking across the Santa Cruz Mountainswith his son, Ignacio spends his time solving computer graphics problems that fascinatehim and helping developers take advantage of the latest GPU technology. Before joiningNVIDIA, Ignacio worked for several game companies, including Crytek, Relic Enter-

tainment, and Oddworld Inhabitants.

Mark Colbert, University of Central Florida Mark Colbert is a Ph.D. student at the University of Central Florida working in theMedia Convergence Lab. He received both his B.S. and his M.S. in computer sciencefrom the University of Central Florida in 2004 and 2006. His current research focuseson user interfaces for interactive material and lighting design.

Keenan Crane, University of IllinoisKeenan recently completed a B.S. in computer science at the University of Illinois atUrbana-Champaign, where he did research on GPU algorithms, mesh parameterization,and motion capture. As an intern on the NVIDIA Demo Team, he worked on the “MadMod Mike” and “Smoke in a Box” demos. His foray into graphics programming tookplace in 1991 at Nishimachi International School in Tokyo, Japan, where he studied the

nuances of the LogoWriter turtle language. This summer he will travel to Kampala, Uganda, to participate ina service project through Volunteers for Peace.

Contributors xxxv

Copyright NVIDIA Corporation. All rights reserved.

Page 4: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

xxxvi

Eugene d’Eon, NVIDIA CorporationEugene d’Eon has been writing demos at NVIDIA since 2000, when he first joined theteam as an intern, spending three months modeling, rigging, and rotoscoping the shortfilm “Luxo Jr.” for a real-time demo that was only shown once. After quickly switchingto a more forgiving programming position, he has since been employing the most math-ematical, overly sophisticated models available to solve the simplest of shading and simu-

lation problems in NVIDIA’s real-time demos. He constantly struggles between writing a physically correctshader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University ofWaterloo, applied mathematics and computer science double major, and is occasionally known for his musicalabilities (piano and Guitar Hero) and ability to juggle “Eric’s Extension.” Research interests include light trans-port, scattering, reflectance models, skin shading, theoretical physics, and mathematical logic. He never drivesfaster than c, and unlike most particles in the universe, neither his position nor his momentum can be knownwith any certainty. He never votes for someone who doesn’t have a clear stance on the Axiom of Choice. Eugene uses Elixir guitar strings.

Bernard Deschizeaux, CGGVeritasBernard Deschizeaux received a master’s degree in high energy physics in 1988 and aPh.D. in particle physics in 1991. Since then he has worked for CGG, a French servicecompany for the oil and gas industry, where he applies his high-performance computingskills and physics knowledge to solve seismic processing challenges. His positions withinCGG have varied from development to high-performance computing and algorithm

research. He is now in charge of a GPGPU project developing an industrial solution based on GPU clusters.

Franck Diard, NVIDIA CorporationFranck Diard is a senior software architect at NVIDIA. He received a Ph.D. in computerscience from the University of Nice Sophia Antipolis (France) in 1998. Starting withvector balls and copper lists on Amiga in the late 1980s, he then programmed on UNIXfor a decade with Reyes rendering, ray tracing, and computer vision before transitioningto Windows kernel drivers at NVIDIA. His interests have always been around scalability

(programming multi-core, multi-GPU render farms) applied to image processing and graphics rendering. Hismain contribution to NVIDIA has been the SLI technology.

Frank Doepke, AppleAfter discovering that one can make more people’s lives miserable by writing buggy soft-ware than becoming a tax collector, Frank Doepke decided to become a software devel-oper. Realizing that evil coding was wrong, he set sail from Germany to the New Worldand has since been tracking graphic gems at Apple.

Contributors

Copyright NVIDIA Corporation. All rights reserved.

Page 5: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

Henrik Dohlmann, 3Dfacto R&DFrom 1999 to 2002, Henrik Dohlmann worked as a research assistant in the Image Group atthe Department of Computer Science, University of Copenhagen, from which he later re-ceived his Cand. Scient. degree in computer science. Next, he took part in an industrial col-laboration between the 3D-Lab at Copenhagen University’s School of Dentistry and ImageHouse. He moved to 3Dfacto R&D in 2005, where he now works as a software engineer.

Bryan Dudash, NVIDIA CorporationBryan entered the games industry in 1997, working for various companies in Seattle,including Sierra Online and Escape Factory. He has a master’s degree from the Universityof Washington. In 2003 he joined NVIDIA and began teaching (and learning) high-end,real-time computer graphics. Having studied Japanese since 2000, Bryan convincedNVIDIA in 2004 to move him to Tokyo, where he has been supporting APAC develop-

ers ever since. If you are ever in Tokyo, give him a ring.

Kenny Erleben, University of CopenhagenIn 2001 Kenny Erleben received his Cand. Scient. degree in computer science from theDepartment of Computer Science, University of Copenhagen. He then worked as a full-time researcher at 3Dfacto A/S before beginning his Ph.D. studies later in 2001. In 2004he spent three months at the Department of Mathematics, University of Iowa. He re-ceived his Ph.D. in 2005 and soon thereafter was appointed assistant professor at the

Department of Computer Science, University of Copenhagen.

Ryan Geiss, NVIDIA Corporation Ryan has been a pioneer in music visualization for many years. While working at Nullsoft,he wrote many plug-ins for Winamp, most notably the popular MilkDrop visualizer.More recently, he spent several years as a member of the NVIDIA Demo Team, creatingthe “GeoForms” and “Cascades” demos and doing other GPU research projects.

Nolan Goodnight, NVIDIA CorporationNolan Goodnight is a software engineer at NVIDIA. He works in the CUDA softwaregroup doing application and driver development. Before joining NVIDIA he was a memberof the computer graphics group at the University of Virginia, where he did research in GPUalgorithms and approximation methods for rendering with precomputed light transport.Nolan’s interest in the fundamentals of computer graphics grew out of his work in geometric

modeling for industrial design. He holds a bachelor’s degree in physics and a master’s degree in computer science.

Contributors xxxvii

Copyright NVIDIA Corporation. All rights reserved.

Page 6: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

xxxviii

Larry Gritz, NVIDIA Corporation Larry Gritz is director and chief architect of NVIDIA’s Gelato software, a hardware-ac-celerated film-quality renderer. Prior graphics work includes being the author of BMRT;cofounder and vice president of Exluna, Inc. (later acquired by NVIDIA), and lead de-veloper of their Entropy renderer; head of Pixar’s rendering research group; a main con-tributor to PhotoRealistic RenderMan; coauthor of the book Advanced RenderMan:

Creating CGI for Motion Pictures; and occasional technical director on several films and commercials. Larry hasa B.S. from Cornell University and an M.S. and Ph.D. from The George Washington University.

John Hable, Electronic Arts John Hable is a rendering engineer at Electronic Arts. He graduated from Georgia Techwith a B.S. and M.S. in computer science, where he solved the problem of reducing therendering time of Boolean combinations of triangle meshes from exponential to quad-ratic time. His recent work focuses on the compression problems raised by trying torender high-quality facial animation in computer games. Currently he is working on a

new EA title in Los Angeles.

Earl Hammon, Jr., Infinity WardEarl Hammon, Jr., is a lead software engineer at Infinity Ward, where he assisted a teamof talented developers to create the multiplatinum and critically acclaimed titles Call ofDuty 2 and Call of Duty. He worked on Medal of Honor: Allied Assault prior to becominga founding member of Infinity Ward. He graduated from Stanford University with anM.S. in electrical engineering, preceded by a B.S.E.E. from the University of Tulsa. His

current project is Call of Duty 4: Modern Warfare.

Takahiro Harada, University of Tokyo Takahiro Harada is an associate professor at the University of Tokyo. He received anM.S. in engineering from the University of Tokyo in 2006. His current research interestsinclude physically based simulation, real-time simulation, and general-purpose GPUcomputation.

Mark Harris, NVIDIA CorporationMark Harris is a member of the Developer Technology team at NVIDIA in London,working with software developers all over the world to push the latest in GPU technol-ogy for graphics and high-performance computing. His primary research interests in-clude parallel computing, general-purpose computation on GPUs, and physically basedsimulation. Mark earned his Ph.D. in computer science from the University of North

Carolina at Chapel Hill in 2003 and his B.S. from the University of Notre Dame in 1998. Mark founded andmaintains www.GPGPU.org, a Web site dedicated to general-purpose computation on GPUs.

Contributors

Copyright NVIDIA Corporation. All rights reserved.

Page 7: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

Evan Hart, NVIDIA CorporationEvan Hart is a software engineer in the Developer Technology group at NVIDIA. Evangot his start in real-time 3D in 1997 working with visual simulations. Since graduatingfrom The Ohio State University in 1998, he has worked to develop and improve tech-niques for real-time rendering, having his hands in everything from games to CAD pro-grams, with a bit of drivers on the side. Evan is a frequent speaker at GDC and he has

contributed to chapters in the Game Programming Gems and ShaderX series of books.

Miloš Hašan, Cornell University Miloš Hašan graduated with a degree in computer science from Comenius University inBratislava, Slovakia. Currently he is a Ph.D. student in the Computer Science Depart-ment at Cornell University. His research interests include global illumination, GPUrendering, and numerical computations.

Jared Hoberock, University of Illinois at Urbana-ChampaignJared Hoberock is a graduate student at the University of Illinois at Urbana-Champaign.He has worked two summers at NVIDIA as an intern and is a two-time recipient of theNVIDIA Graduate Fellowship. He enjoys spending time writing rendering software.

Lee Howes, Imperial College LondonLee Howes graduated with an M.Eng. in computing from Imperial College London in2005 and is currently working toward a Ph.D. at Imperial. Lee’s research relates to com-puting with FPGAs and GPUs and has included work with FFTs and financial simula-tion. As a distraction from education and to dabble in the realms of reality, Lee hasworked briefly with Philips and NVIDIA.

Yuntao Jia, University of Illinois at Urbana-ChampaignYuntao Jia is currently pursuing a Ph.D. in computer science at the University of Illinoisat Urbana-Champaign. He is very interested in computer graphics, and his current re-search interests include realistic rendering (especially on the GPU), video and imageprocessing, and graph visualizations.

Contributors xxxix

Copyright NVIDIA Corporation. All rights reserved.

Page 8: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

xl

Alexander Keller, Ulm University Alexander Keller studied computer science at the University of Kaiserslautern from 1988to 1993. He then joined the Numerical Algorithms Group at the same university anddefended his Ph.D. thesis on Friday, the 13th of June, 1997. In 1998 he was appointedscientific advisor of mental images. Among four calls in 2003, he chose to become a fullprofessor for computer graphics at the University of Ulm in Germany. His research inter-

ests include quasi-Monte Carlo methods, photorealistic image synthesis, ray tracing, and scientific computing.His 1997 SIGGRAPH paper “Instant Radiosity” can be considered one of the roots of GPGPU computing.

Alexander Kharlamov, NVIDIA CorporationAlex is an undergraduate in the Department of Computational Mathematics and Cyber-netics at the Moscow State University. He became interested in video games at the age often and decided that nothing else interested him that much. Currently he works as amember of NVIDIA’s Developer Technology team implementing new techniques andeffects for games and general-purpose computation on GPUs.

Peter Kipfer, Havok Peter Kipfer is a software engineer at Havok, where he works as part of the Havok FX teamthat is pioneering work in large-scale real-time physics simulation in highly parallel envi-ronments, such as multi-core CPUs or GPUs. He received his Ph.D. in computer sciencefrom the Universität of Erlangen-Nürnberg in 2003 for his work in the KONWIHR supercomputing project. He also worked as a postdoctoral researcher at the Technische

Universität München, focusing on general-purpose computing and geometry processing on the GPU.

Rusty Koonce, NCsoft CorporationRusty Koonce graduated from the University of Texas at Dallas with a degree in physics.He has worked on multiple shipped video game titles across a wide range of platforms,including console, PC, and Mac. Computer graphics has held his interest since his firstcomputer, a TRS-80. Today he calls Austin, Texas, home, where he enjoys doing his partto “Keep Austin Weird.”

Kees van Kooten, Playlogic Game Factory Kees van Kooten is a software developer for Playlogic Game Factory. In 2006 he gradu-ated summa cum laude for his master’s degree at the Eindhoven University of Technol-ogy. The result of his master’s project can be found in this book. His interests are closelyrelated to the topics of his master’s research: 3D graphics and real-time simulations. Afterworking hours, Kees can often be found playing drums with “real” musicians.

Contributors

Copyright NVIDIA Corporation. All rights reserved.

Page 9: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

Jaroslav Krivánek, Czech Technical University in Prague Jaroslav Krivánek is an assistant professor at the Czech Technical University in Prague.He received his Ph.D. from IRISA/INRIA Rennes and the Czech Technical University(joint degree) in 2005. In 2003 and 2004 he was a research associate at the University ofCentral Florida. He received a master’s in computer science from the Czech TechnicalUniversity in Prague in 2001.

Bunny Laden, Apple Bunny Laden graduated from the University of Washington with a Special IndividualPh.D. in cognitive science and music in 1989. She joined Apple in 1997, where she nowwrites documentation for Quartz, Core Image, Quartz Composer, and other Mac OS Xtechnologies. She coauthored Programming with Quartz (Morgan Kaufmann, 2006) andLearning Carbon (O’Reilly, 2001). In her former life as an academician, she wrote articles

on music cognition, musical acoustics, and other assorted topics.

Andrew Lauritzen, University of WaterlooAndrew Lauritzen recently received his B.Math. in computer science and is now com-pleting a master’s degree in computer graphics at the University of Waterloo. To date, hehas completed a variety of research in graphics, as well as theoretical physics. His currentresearch interests include lighting and shadowing algorithms, deferred rendering, andgraphics engine design. Andrew is also a developer at RapidMind, where he works with

GPUs and other high-performance parallel computers.

Scott Le Grand, NVIDIA CorporationScott is a senior engineer on the CUDA software team at NVIDIA. His previous com-mercial projects include the game BattleSphere for the Atari Jaguar; Genesis, the firstmolecular modeling system for home computers, for the Atari ST; and Folderol, the firstdistributed computing project targeted at the protein folding problem. Scott has beenwriting video games since 1971, when he played a Star Trek game on a mainframe and

he was instantly hooked. In a former life, he picked up a B.S. in biology from Siena College and a Ph.D. inbiochemistry from The Pennsylvania State University. In addition, he wrote a chapter for ShaderX andcoedited a book on computational methods of protein structure prediction.

Contributors xli

Copyright NVIDIA Corporation. All rights reserved.

Page 10: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

xlii

Ignacio Llamas, NVIDIA CorporationIgnacio Llamas is a software engineer in NVIDIA’s Developer Technology group. Beforejoining NVIDIA, Ignacio was a Ph.D. student at Georgia Tech’s College of Computing,where he did research on several topics within computer graphics. In addition to theexciting work he does at NVIDIA, he also enjoys snowboarding.

Charles Loop, Microsoft ResearchCharles Loop works for Microsoft Research in Redmond, Washington. He received anM.S. in mathematics from the University of Utah in 1987 and a Ph.D. in computerscience from the University of Washington in 1992. His graphics research has focusedprimarily on the representation and rendering of smooth free-form shapes, includingsubdivision surfaces, polynomial splines and patches, and algebraic curves and surfaces.

Charles also works on interactive modeling and computer vision techniques. Lately, his efforts have gone intoGPU algorithms for the display of curved objects.

Tristan Lorach, NVIDIA CorporationSince graduating in 1995 with a master’s in computer science applied on art and aesthetic,Tristan Lorach has developed a series of 3D real-time interactive installations for exhibi-tions and events all over the world. From the creation of a specific engine for diggingcomplex galleries into a virtual solid, to the conception of new 3D human interfaces forpublic events, Tristan has always wanted to fill the gap between technology and artistic or

ergonomic ideas. Most of his projects (such as “L’homme Transformé” and “Le Tunnel sous l’Atlantique”) werepresented in well-known exhibition centers like Beaubourg and Cité des Sciences in Paris. Now Tristan works atNVIDIA on the Technical Developer Relations team, based in Santa Clara, California.

David Luebke, NVIDIA CorporationDavid Luebke is a research scientist at NVIDIA. He received an M.S. and Ph.D. incomputer science in 1998 from the University of North Carolina under Frederick P.Brooks, Jr., following a B.A. in chemistry from the Colorado College. David spent eightyears on the faculty of the University of Virginia before leaving in 2006 to help start theNVIDIA Research group. His research interests include real-time rendering, illumination

models, and graphics architecture.

Contributors

Copyright NVIDIA Corporation. All rights reserved.

Page 11: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

Kenny Mitchell, Electronic ArtsKenny is a lead engine programmer at Electronic Arts’ UK Studio. His Ph.D. introducedthe use of real-time 3D for information visualization on consumer hardware, including anovel recursive perspective projection technique. Over the past ten years he has shippedgames using high-end graphics technologies including voxels, PN patches, displacementmapping and clipmaps. In between shipping games for EA’s flagship Harry Potter fran-

chise, he is also involved in developing new intellectual properties.

Jefferson Montgomery, Electronic ArtsJefferson Montgomery holds a B.A.Sc. in engineering physics and an M.Sc. in computerscience from the University of British Columbia. He is currently a member of the WorldWide Visualization Group at Electronic Arts, tasked with adapting advanced techniquesto the resource constraints faced by current game teams and producing real-time demon-strations such as those at Sony’s E3 presentations in 2005 and 2006.

Kevin Myers, NVIDIA CorporationKevin Myers is part of the Developer Technology group at NVIDIA, where he helpsgame developers make full use of the GPU. He regularly presents at GDC and has beenpublished in a previous ShaderX book. He is native to California and received his B.S. incomputer science from Santa Clara University. His favorite food is the sandwich, espe-cially the Cuban Sandwich—but only if it’s greasy enough.

Hubert Nguyen, NVIDIA CorporationHubert Nguyen works at NVIDIA, where he manages the developer education program,which helps developers push the graphical envelope of their applications. Prior to that, hespent his time on NVIDIA’s Demo Team, searching for novel effects that showed off thefeatures of the latest GPUs. His work appears on the previous GPU Gems covers. Beforejoining NVIDIA, Hubert was at 3dfx interactive, the creators of Voodoo Graphics, as a

developer technology engineer. He had his first contact with 3dfx while working on 3D engines in the R&Ddepartment of Cryo Interactive, a video game company in Paris. Hubert started to program 3D graphics in1991 when he was involved in the European demoscene, where he and his “Impact Studios” team ranked num-ber one at the world’s largest PC demo competition: “The Party 1994,” in Denmark.

Contributors xliii

Copyright NVIDIA Corporation. All rights reserved.

Page 12: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

xliv

Lars Nyland, NVIDIA CorporationLars Nyland is a senior architect at NVIDIA, focusing on computationally related issuesfor GPU architectures. He earned his Ph.D. and A.M. in computer science at DukeUniversity (1991 and 1983, respectively). He followed his graduate work with a 12-yearresearch position at the University of North Carolina, working on parallel computing(languages, compilers, algorithms, and applications) and image-based rendering, where

he developed the DeltaSphere range scanner device (now sold by 3rdTech). Prior to joining NVIDIA in 2005,he was an associate professor of computer science at the Colorado School of Mines in Golden, Colorado.

Oskari Nyman, Helsinki University of Technology Oskari Nyman is an undergraduate student in the Computer Science and EngineeringDepartment at Helsinki University of Technology. His roots belong to the mod scene,where he first started programming at the age of fifteen. His interests lie in real-timerendering and game programming in general.

Manuel M. Oliveira, Instituto de Informática–UFRGS Manuel M. Oliveira is a faculty member at UFRGS, in Brazil. He received his Ph.D. incomputer science from the University of North Carolina at Chapel Hill in 2000. Beforejoining UFRGS, he was an assistant professor at SUNY Stony Brook from 2000 to 2002.His research interests include real-time rendering, representation and rendering of sur-face details, surface reconstruction, and image-based rendering.

John D. Owens, University of California, Davis John D. Owens is an assistant professor of electrical and computer engineering at theUniversity of California, Davis, where he leads research projects in graphicshardware/software and GPGPU. Prior to his appointment at Davis, John earned hisPh.D. (2002) and M.S. (1997) in electrical engineering from Stanford University. AtStanford he was an architect of the Imagine Stream Processor and a member of the

Concurrent VLSI Architecture Group and the Computer Graphics Laboratory. John earned his B.S. in electri-cal engineering and computer sciences from the University of California, Berkeley, in 1995.

Gustavo Patow, University of GironaGustavo Patow received a degree in physics from the Universidad Nacional de La Plata, Argentina, and earned his Ph.D. at the Universitat Politècnica de Catalunya at Barcelona,Spain, under the supervision of Xavier Pueyo and Àlvar Vinacua. His thesis topic was theinverse design of reflector surfaces for luminaire design, and his current research contin-ues both in the inverse rendering set of problems and the efficient usage of modern

GPUs to achieve real-time photorealistic rendering. He currently holds an associate professor position at theUniversity of Girona, Spain.

Contributors

Copyright NVIDIA Corporation. All rights reserved.

Page 13: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

Fabio Pellacini, Dartmouth College Fabio Pellacini is an assistant professor in computer science at Dartmouth College. Hisresearch focuses on algorithms for interactive, high-quality rendering of complex envi-ronments and for artist-friendly material and lighting design to support more effectivecontent creation. Prior to joining academia, Pellacini worked at Pixar Animation Studioson lighting algorithms, where he received credits on various movie productions. Pellacini

received his Laurea degree in physics from the University of Parma (Italy), and his M.S. and Ph.D. in computerscience from Cornell University.

Fabio Policarpo, Perpetual Entertainment Fabio Policarpo is a senior software engineer working on Perpetual Entertainment’s latestproject: Star Trek Online. He graduated in computer science from Universidade FederalFluminense in Rio, Brazil, and is the author of a few game programming books, includ-ing a chapter in GPU Gems. His main research interests are related to real-time specialeffects for games, including graphics, physics, and animation.

Jan Prins, University of North Carolina at Chapel Hill Jan Prins is professor and chair of the Department of Computer Science at the Universityof North Carolina at Chapel Hill. He was a cofounder of Digital Effects Inc. and con-tributed to the film Tron. Prins received his Ph.D. in 1987 in computer science fromCornell University. He has been on the computer science faculty at UNC Chapel Hillsince 1987 and is a member of the bioinformatics and computational biology program.

He was a visiting professor at the Institute of Theoretical Computer Science at ETH Zürich from 1996 to1997, in the area of scientific computing. His research interests center on high-performance computing, includ-ing algorithm design, parallel computer architecture, programming languages, and applications.

Eric Risser, Columbia UniversityEric Risser is a graduate student of computer science at Columbia University. Previouslyhe attended the University of Central Florida, where he had been involved with real-timegraphics programming and research for the better part of four years. The bulk of his ex-pertise is in the area of image-based, real-time rendering techniques centering on per-pixeldisplacement mapping. His research has been presented at the Symposium on Interactive

3D Graphics and Games, GDC, and SIGGRAPH. For more information, visit www.ericrisser.com.

Contributors xlv

Copyright NVIDIA Corporation. All rights reserved.

Page 14: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

xlvi

Gilberto Rosado, Rainbow Studios Gilberto Rosado is a graduate of DigiPen Institute of Technology, where he studied videogame programming for four years. While at DigiPen, Gil was the graphics programmeron the 2005 Independent Games Festival finalist, Kisses. Gil is currently at RainbowStudios, where he works as a graphics and technology programmer on killer new games.He has also been published in the book ShaderX4. When not playing the latest games,

you might find Gil at the gym working out or at the local dance studio practicing his Salsa moves.

Christophe Schlick, LaBRI–INRIA, University of BordeauxChristophe Schlick is a professor in computer science at the University of Bordeaux 2(France), where he has headed the Applied Mathematics and Computer Science Depart-ment during the last five years. He received his Ph.D. in 1992 for his work on BRDFmodels and Monte Carlo techniques, and his research interests have embraced manyaspects of computer graphics, including participating media, procedural textures, spline

and wavelet curves and surfaces, implicit surfaces, and more recently, point-based modeling and rendering. Hecurrently holds a senior researcher position at INRIA, the French National Institute for Research in ComputerScience and Control.

Elizabeth Seamans, Juniper Networks Elizabeth Seamans completed her Ph.D. in computer science at Stanford University in2005 before cofounding Exapath to write GPU-accelerated scanning libraries. She is now asoftware engineer at Juniper Networks, where she keeps parallel computing resources busy.

Shubhabrata Sengupta, University of California, Davis Shubho is a Ph.D. student in the computer science department at University of California,Davis, where he is a member of the Institute for Data Analysis and Visualization. His cur-rent research focuses on parallel data structures and algorithms and their applications tovarious areas of computer graphics. Shubho received his M.Sc. and B.Sc. in mathematicsfrom Indian Institute of Technology, Kharagpur, in 1998 and 1996, respectively.

Contributors

Copyright NVIDIA Corporation. All rights reserved.

Page 15: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

Tiago Sousa, CrytekTiago Sousa is a self-taught game and graphics programmer who has worked at Crytek asan R&D graphics programmer for the last four years. He has worked on the “Far Cry:The Project” demo and most recently on Crysis, where he developed most of the visualeffects, including water/underwater rendering and all post-effects, such as motion blurand camera environmental effects. Before joining Crytek, he cofounded a pioneering

game development team in Portugal and very briefly studied computer science at Instituto Superior Técnico,which he hopes to finish one day. He spends his time mostly thinking out of the box, inventing original andcreative techniques for making pretty images.

Yury Stepanenko, NVIDIA CorporationIn 1998 Yury graduated from Zaporozhye State Engineering Academy (Ukraine), Department of Electronics, where he specialized in microprocessor systems. As a studenthe became keen on computer graphics and low-level optimization and decided to makethis hobby his trade. He now works at the NVIDIA Moscow office, where he is engagedin development of new graphics technologies.

Martin Stich, mental imagesMartin Stich is a graphics software engineer at mental images in Berlin, where he workson rendering algorithms for the RealityServer product. His research interests includereal-time rendering, rasterization, and ray tracing. Before joining the company in 2006,he developed real-time image generation software for air traffic control simulation sys-tems. He holds a degree in computer science from the University of Ulm.

Hanqiu Sun, The Chinese University of Hong Kong Hanqiu Sun received her M.S. in electrical engineering from the University of BritishColumbia and her Ph.D. in computer science from the University of Alberta, Canada.She has published more than one hundred refereed technical papers in prestigious VR/CGjournals, book chapters, and international conferences. She has served as guest editor ofMIT’s Presence and Journal of Computer Animation and Virtual Worlds, program cochair of

ACM VRST 2002, organization cochair of Pacific Graphics 2005 and CGI 2006, conference general chair ofACM VRCIA 2006, and a member of numerous international program committees. Her current researchinterests include virtual and augmented reality, interactive graphics/animation, hypermedia, computer-assistedsurgery, Internet-based navigation, telemedicine, and realistic haptic simulation.

Contributors xlvii

Copyright NVIDIA Corporation. All rights reserved.

Page 16: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

xlviii

László Szirmay-Kalos, Budapest University of Technology and Economics László Szirmay-Kalos is the head of the computer graphics group of the Faculty of ElectricalEngineering and Information Technology at the Budapest University of Technology andEconomics. He received a Ph.D. in 1992 and full professorship in 2001 in computer graph-ics. He has also spent some time at the University of Girona, the Technical University ofVienna, and the University of Minnesota as a guest lecturer or researcher. His research

area is Monte Carlo global illumination algorithms and their GPU implementation. He has published morethan one hundred papers, scripts, and book chapters on this topic. He is the leader of the illumination pack-age of the GameTools EU-FP6 project. He is a member of Eurographics, where he served three years on theexecutive committee.

Sarah Tariq, NVIDIA CorporationSarah is a software engineer on NVIDIA’s Developer Technology team, where she worksprimarily on implementing new rendering and simulation techniques that exploit thelatest hardware, and helping game developers to incorporate these techniques into theirgames. Before joining NVIDIA, Sarah was a Ph.D. candidate at Georgia Tech, where shealso got her master’s degree in computer science.

Diogo Teixeira, Move InteractiveDiogo Teixeira is a computer graphics enthusiast with special interests in game develop-ment. His appetite for low-level 2D and 3D computer graphics grew while he was still inhigh school. Being an avid gamer eventually led him to start his game developmentcareer in early 2000, when he joined a pioneer Portuguese team creating a third-personaction adventure called Yamabushi. In 2003 he was a project lead in a community game

project called RCmania, a multiplatform racing game. In 2005 he interrupted his studies at the University ofLisbon to join Move Interactive and work on a game called Ugo Volt for PC and next-generation consoles.

Alex Telea, Eindhoven University of Technology Alex Telea received his Ph.D. in visualization in 2000 from the Eindhoven University ofTechnology, where he currently works as assistant professor in the field of visualizationand computer graphics. His main research interests are data visualization, texture-basedrendering methods, numerical methods for image and data processing, shape simplifica-tion, and software visualization and reverse engineering. He has coauthored more than

70 papers in international publications.

Contributors

Copyright NVIDIA Corporation. All rights reserved.

Page 17: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

David Thomas, Imperial College LondonDavid Thomas received his M.Eng. and Ph.D. in computer science from Imperial Collegein 2001 and 2006, respectively. He likes Imperial so much that he stayed on, and is now apostdoctoral researcher in the Custom Computing group. Research interests includeFPGA-based Monte Carlo simulations, algorithms and architectures for uniform andnonuniform random number generation, and financial computing.

Ken Turkowski, Adobe SystemsKen Turkowski started his career by designing programmable hardware for graphicsacceleration, and then developing algorithms that utilized the hardware well. An appliedmathematician at heart, he then concentrated his efforts on developing efficient softwarefor a variety of graphical applications: texture mapping, antialiasing, shading, panoramas,image processing, video transformations, camera/lens modeling, collisions, surface model-

ing, and outline fonts—at companies such as Ampex, Compression Labs, CADLINC, Apple, Media Machines,Fakespace Labs, Adobe, and Google. He specializes in algorithms that are faster, are more robust, and use lessmemory than traditional algorithms. He is active in SIGGRAPH as an Electronic Theater contributor, paperauthor, and Silicon Valley Chapter chair.

Tamás Umenhoffer, Budapest University of Technology and EconomicsTamás Umenhoffer is a Ph.D. student at the Faculty of Electrical Engineering and Information Technology at the Budapest University of Technology and Economics. Hisresearch topic is the computation of global illumination effects on the GPU. His submis-sion was a finalist at the Graphics Meets Games Competition of EG 2006. He is anactive member of the GameTools EU-FP6 project.

Gino van den Bergen, Playlogic Game Factory Gino van den Bergen is lead programmer at Playlogic Game Factory. He holds a Ph.D.in computer graphics from Eindhoven University of Technology. He is the author of thebook Collision Detection in Interactive 3D Environments (Morgan Kaufmann). Gino isthe creator of SOLID, a software library for collision detection, which has been appliedsuccessfully in top-selling game console titles and CAM applications.

Carsten Wächter, mental images Carsten Wächter studied computer science at Ulm University from 1998 to 2004. Hethen pursued his Ph.D. studies under the supervision of Alexander Keller; he started towork at mental images in 2007. His research interests include real-time ray tracing,global illumination, and quasi-Monte Carlo methods. He has been an active member ofthe European demo scene since 1999.

Contributors xlix

Copyright NVIDIA Corporation. All rights reserved.

Page 18: 010 gems3 fm - Nvidiadeveloper.download.nvidia.com/books/gpu_gems_3/... · shader and just settling for what “looks good.” Eugene received an Honours B.Math. from the University

l

Takeshi Yamanouchi, SEGA Corporation Takeshi Yamanouchi graduated from Kyushu Institute of Technology with a master’s degreein computer science in 1995. That same year he joined SEGA Corporation and has sincebeen engaged in the development of arcade games at AM R&D Dept. #2. His most recentwork was on graphics, shaders, and network programming for Virtua Fighter 5. His latestinterest is in the face of his daughter, who is now one year old. He wonders if he can imple-

ment this beautiful subsurface scattering in a 60 fps real-time game. While writing his chapter, he was helpedwith his English by Robert Gould, who belongs to AMplus R&D Dept.

Cyril Zeller, NVIDIA CorporationCyril Zeller works in the Developer Technology group at NVIDIA, where he exploresand promotes all the new ways of leveraging modern GPUs in real-time graphics andsimulation, as well as in all the new application fields opened up by CUDA. Beforejoining NVIDIA, Cyril was developing games at Electronic Arts. He received a Ph.D. incomputer vision from École Polytechnique, France.

Fan Zhang, The Chinese University of Hong Kong Fan Zhang received his B.S. and M.S. in computational mathematics from Jilin University,China, in 2000 and 2002, respectively. He is currently a Ph.D. candidate in the Departmentof Computer Science and Engineering, The Chinese University of Hong Kong. His mainresearch interests include real-time shadow rendering and GPU-based rendering techniques.

Renaldas Zioma, Electronic Arts/Digital Illusions CE Renaldas Zioma is working on rendering technologies for the upcoming Battlefield: BadCompany at EA/Digital Illusions CE. In the past he developed real-time strategy games,some previous-gen console games, and sensorless motion recognition software; he evencoded a couple of small games using ZX Spectrum assembly when he was a kid. Cur-rently he is wasting his spare time by rendering things on homebrew PSP devkit and

Amiga 1200, mostly with guys from The Black Lotus demogroup. Otherwise he would go hiking! He haspreviously published articles in ShaderX2, ShaderX4, and AI Game Programming Wisdom 3.

Contributors

Copyright NVIDIA Corporation. All rights reserved.