3d-graphik und computerspiele techniken und historischer Überblick markus hadwiger vrvis research...

34
3D-Graphik und 3D-Graphik und Computerspiele Computerspiele Techniken und historischer Techniken und historischer Überblick Überblick Markus Hadwiger Markus Hadwiger VRVis Research Center, VRVis Research Center, Wien Wien

Post on 20-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

3D-Graphik und 3D-Graphik und ComputerspieleComputerspiele

Techniken und historischer ÜberblickTechniken und historischer Überblick

Markus HadwigerMarkus Hadwiger

VRVis Research Center, WienVRVis Research Center, Wien

Page 2: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Who is this guy?Who is this guy? Computer science at TU Wien ’94-’00Computer science at TU Wien ’94-’00 Institute of Computer GraphicsInstitute of Computer Graphics Currently at VRVis in ViennaCurrently at VRVis in Vienna

Research on hardware-accelerated VizResearch on hardware-accelerated Viz Work on commercial games (’91-)Work on commercial games (’91-) Parsec (http://www.parsec.org)Parsec (http://www.parsec.org)

Free space-shooter for Linux, Mac, WinFree space-shooter for Linux, Mac, Win

Page 3: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Talk OutlineTalk Outline Overview of the last nine yearsOverview of the last nine years A look at seminal 3D computer gamesA look at seminal 3D computer games Most important techniques employedMost important techniques employed Graphics research and games R&DGraphics research and games R&D Transition software to hardware renderingTransition software to hardware rendering Most important consumer 3D hardwareMost important consumer 3D hardware Tentative look into the futureTentative look into the future

Page 4: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Act I:Act I:Seminal 3D GamesSeminal 3D Games

Page 5: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Ultima UnderworldUltima Underworld Looking Glass Technologies, 1992 Looking Glass Technologies, 1992

First real-time 3D role-playing gameFirst real-time 3D role-playing game No technological viewpoint restrictionsNo technological viewpoint restrictions Correct looking up and downCorrect looking up and down Fully texture-mapped worldFully texture-mapped world Affine mapping (perspective incorrect)Affine mapping (perspective incorrect) Very small rendering windowVery small rendering window Rather slow; far from fast action gameRather slow; far from fast action game

Page 6: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Ultima Underworld (Looking Glass, 1992)

Page 7: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Wolfenstein 3DWolfenstein 3D id Software, 1992 id Software, 1992

Eventually created a new genre: FPSEventually created a new genre: FPS Three (2+1) degrees of freedomThree (2+1) degrees of freedom Only walls texture-mappedOnly walls texture-mapped Simple raycasting algorithm for columnsSimple raycasting algorithm for columns Only 90-degree angles between wallsOnly 90-degree angles between walls Billboard characters (sprites)Billboard characters (sprites) Shareware distribution model!Shareware distribution model!

Page 8: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Wolfenstein 3D (id Software, 1992)

Page 9: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

DoomDoomid Software, 1993id Software, 1993

First fully texture-mapped action gameFirst fully texture-mapped action game One large 2D BSP tree for visibilityOne large 2D BSP tree for visibility No rooms above roomsNo rooms above rooms Front to back renderingFront to back rendering ““Constant z” texture mappingConstant z” texture mapping Network game play using IPX on LANsNetwork game play using IPX on LANs Highly user-extensible (levels, graphics)Highly user-extensible (levels, graphics)

Page 10: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

DOOM (id Software, 1993)

Page 11: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

DescentDescentParallax Software, 1994Parallax Software, 1994

First 360-degree, 6 DOF action gameFirst 360-degree, 6 DOF action game Portals for visibility determinationPortals for visibility determination Portals are intrinsic part of representationPortals are intrinsic part of representation World building blocks: convex “six-faces”World building blocks: convex “six-faces” Clever restrictions: 64x64 textures, ...Clever restrictions: 64x64 textures, ... Polygonal 3D characters (robots)Polygonal 3D characters (robots) Still using billboards for projectiles, …Still using billboards for projectiles, …

Page 12: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Descent (Parallax Software, 1994)

Page 13: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

QuakeQuakeid Software, 1996id Software, 1996

First FPS with real 3D; complex geometryFirst FPS with real 3D; complex geometry 3D BSP, Potentially Visible Sets, z write3D BSP, Potentially Visible Sets, z write 3D characters with several hundred polys3D characters with several hundred polys Projective texture mapping; subdivisionProjective texture mapping; subdivision Precalculated lighting: lightmapsPrecalculated lighting: lightmaps CSG modeling paradigm for level buildingCSG modeling paradigm for level building Internet network game play (QuakeWorld)Internet network game play (QuakeWorld)

Page 14: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Quake (id Software, 1996)

Page 15: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

GLQuakeGLQuakeid Software, 1996id Software, 1996

Killer application for 3D hardware (3dfx)Killer application for 3D hardware (3dfx) Introduced OpenGL to game developersIntroduced OpenGL to game developers Bilinearly filtered textures; MIP mappingBilinearly filtered textures; MIP mapping Lightmaps as additional alpha-textureLightmaps as additional alpha-texture Radiosity for static lighting (preprocess)Radiosity for static lighting (preprocess) Single-pass multi-texturing (SGIS ext.)Single-pass multi-texturing (SGIS ext.)

Page 16: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Quake vs. GLQuake (id Software, 1996)

Page 17: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Quake 3 ArenaQuake 3 Arenaid Software, 1999id Software, 1999

Basically still state of the art!Basically still state of the art! 3d hardware accelerator mandatory3d hardware accelerator mandatory 3D BSP tree and Potentially Visible Sets3D BSP tree and Potentially Visible Sets Curved surfaces (quadratic bézier patches)Curved surfaces (quadratic bézier patches) Multi-pass rendering for very high qualityMulti-pass rendering for very high quality Real-time shaders (“shading language”)Real-time shaders (“shading language”) Focus on multiplayer Internet gamingFocus on multiplayer Internet gaming

Page 18: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Quake 3 Arena (id Software, 1999)

Page 19: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Doom 3Doom 3id Software, 200x (probably x > 1)id Software, 200x (probably x > 1)

First presented at Macworld Tokyo (Feb01)First presented at Macworld Tokyo (Feb01) Exploiting highly programmable hardwareExploiting highly programmable hardware GeForce 3 feature set is the targetGeForce 3 feature set is the target Outrageous polygon counts, charactersOutrageous polygon counts, characters Realistic shadows, many light sourcesRealistic shadows, many light sources Engine code moving to C++ (no pure C)Engine code moving to C++ (no pure C) In short: oh, wow!In short: oh, wow!

Page 20: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Doom 3 (id Software, 200x)

Page 21: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Doom 3 (id Software, 200x)

Page 22: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Act II:Act II:Consumer 3D HardwareConsumer 3D Hardware

Page 23: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Voodoo GraphicsVoodoo Graphics3dfx Interactive, 19963dfx Interactive, 1996

Breakthrough for consumer 3D hardwareBreakthrough for consumer 3D hardware Add-on card; no rendering in windowAdd-on card; no rendering in window 2MB frame buffer + 2MB texture memory2MB frame buffer + 2MB texture memory 16-bit color buffer; 16-bit depth buffer16-bit color buffer; 16-bit depth buffer Screen resolution up to 640x480Screen resolution up to 640x480 Texture res up to 256x256; power-of-two!Texture res up to 256x256; power-of-two! No performance hit for feature useNo performance hit for feature use

Page 24: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

GlideGlide3dfx Interactive, 19963dfx Interactive, 1996

Low-level, hardware-oriented APILow-level, hardware-oriented API No clipping, no texture mem managementNo clipping, no texture mem management Proprietary, only for 3dfx hardwareProprietary, only for 3dfx hardware Very high performanceVery high performance Very easy to useVery easy to use Accessible for free to anyone interestedAccessible for free to anyone interested Huge factor in 3dfx’s market dominanceHuge factor in 3dfx’s market dominance

Page 25: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Voodoo IIVoodoo II3dfx Interactive, 19983dfx Interactive, 1998

First single-pass multi-texturing (2 TMUs)First single-pass multi-texturing (2 TMUs) Great for lightmaps and trilinear filteringGreat for lightmaps and trilinear filtering 4MB frame + 2*(2|4)MB texture memory4MB frame + 2*(2|4)MB texture memory Screen resolution up to 800x600Screen resolution up to 800x600 SLI for doubling the fill-rate (2x texmem!)SLI for doubling the fill-rate (2x texmem!) enhanced dithering to 16 bitsenhanced dithering to 16 bits

Page 26: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Riva TNTRiva TNTNVIDIA Corporation, 1998NVIDIA Corporation, 1998

High quality rendering with OpenGL!High quality rendering with OpenGL! 32-bit color buffer, 24-bit depth buffer32-bit color buffer, 24-bit depth buffer 8-bit stencil buffer!!8-bit stencil buffer!! ““Twin-texel”: single-pass multi-texturingTwin-texel”: single-pass multi-texturing Texture size up to 2048x2048Texture size up to 2048x2048 Robust OpenGL 1.1 implementationRobust OpenGL 1.1 implementation Why OpenGL in games? Quake and TNT!Why OpenGL in games? Quake and TNT!

Page 27: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

GeForce 256GeForce 256NVIDIA Corporation, 1999NVIDIA Corporation, 1999

Full geometry acceleration. Whew!Full geometry acceleration. Whew! Decent fill-rate, but barely more than TNT2Decent fill-rate, but barely more than TNT2 Fill-rate vs. geometry acceleration debateFill-rate vs. geometry acceleration debate Incredible number of OpenGL extensionsIncredible number of OpenGL extensions Register combiners (per-pixel shading)Register combiners (per-pixel shading) Cubic environment maps in hardwareCubic environment maps in hardware Great for graphics researchers :-)Great for graphics researchers :-)

Page 28: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

ATI RadeonATI RadeonATI Technologies Inc., 2000ATI Technologies Inc., 2000

First consumer hardware with 3D texturesFirst consumer hardware with 3D textures Three-texture multitexturingThree-texture multitexturing Tiled depth buffer for better performanceTiled depth buffer for better performance Currently, only real competitor to GeForceCurrently, only real competitor to GeForce GeForce 2 still better in most respectsGeForce 2 still better in most respects GeForce 3 on the horizon (practically here)GeForce 3 on the horizon (practically here)

Page 29: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

GeForce 3GeForce 3NVIDIA Corporation, 2001NVIDIA Corporation, 2001

Programmable like never beforeProgrammable like never before Vertex programs (custom RISC assembly)Vertex programs (custom RISC assembly) Per-pixel shading (tex-shaders, combiners)Per-pixel shading (tex-shaders, combiners) Hardware-tessellated high-order surfacesHardware-tessellated high-order surfaces More textures (4), more combiners (8)More textures (4), more combiners (8) Huge step towards photo-realismHuge step towards photo-realism Programmers will need to catch upProgrammers will need to catch up

Page 30: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Act III:Act III:Additional TopicsAdditional Topics

Page 31: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

API WarsAPI Wars

DecidedDecided Direct3D (DirectX 8) is dominant on Win32Direct3D (DirectX 8) is dominant on Win32 OpenGL has established itself (Quake!)OpenGL has established itself (Quake!) OpenGL is the only cross-platform solutionOpenGL is the only cross-platform solution Glide is now dead, 3dfx out of businessGlide is now dead, 3dfx out of business Software rendering is very dead (for now)Software rendering is very dead (for now)

Page 32: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

Graphics chip vendorsGraphics chip vendors NVIDIA dominates technology and moreNVIDIA dominates technology and more

Strong influence on DirectX 8Strong influence on DirectX 8 Separate OpenGL group (extensions!)Separate OpenGL group (extensions!) Top researchers (SIGGRAPH, …)Top researchers (SIGGRAPH, …)

ATI only serious competitor leftATI only serious competitor left Strong OEM market, mobile solutionsStrong OEM market, mobile solutions

Others: Matrox, 3Dlabs, ... (3dfx RIP)Others: Matrox, 3Dlabs, ... (3dfx RIP)

Page 33: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

The Future (1)The Future (1)

Incredible polygon counts (geometry acc.)Incredible polygon counts (geometry acc.) Large number of passes (high fill-rate)Large number of passes (high fill-rate) Programmability! (assembly, shaders)Programmability! (assembly, shaders) Advanced lighting (towards photo-realism)Advanced lighting (towards photo-realism) Large outdoor areas; lifelike charactersLarge outdoor areas; lifelike characters Leverage of advanced graphics researchLeverage of advanced graphics research

Page 34: 3D-Graphik und Computerspiele Techniken und historischer Überblick Markus Hadwiger VRVis Research Center, Wien

Markus Hadwiger 3D computer games

The Future (2)The Future (2)

Hardware market consolidating rapidlyHardware market consolidating rapidly Clean, stable feature setsClean, stable feature sets Life for developers will become “easier”Life for developers will become “easier” More precision enables entirely new class More precision enables entirely new class

of algorithms (general computations!)of algorithms (general computations!) Artists more and more able to work directlyArtists more and more able to work directly

(authoring tools and engines converging)(authoring tools and engines converging) Distant: paradigm shift away from polys?Distant: paradigm shift away from polys?