3d-graphik und computerspiele techniken und historischer Überblick markus hadwiger vrvis research...
Post on 20-Dec-2015
218 views
TRANSCRIPT
3D-Graphik und 3D-Graphik und ComputerspieleComputerspiele
Techniken und historischer ÜberblickTechniken und historischer Überblick
Markus HadwigerMarkus Hadwiger
VRVis Research Center, WienVRVis 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
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
Markus Hadwiger 3D computer games
Act I:Act I:Seminal 3D GamesSeminal 3D Games
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
Markus Hadwiger 3D computer games
Ultima Underworld (Looking Glass, 1992)
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!
Markus Hadwiger 3D computer games
Wolfenstein 3D (id Software, 1992)
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)
Markus Hadwiger 3D computer games
DOOM (id Software, 1993)
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, …
Markus Hadwiger 3D computer games
Descent (Parallax Software, 1994)
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)
Markus Hadwiger 3D computer games
Quake (id Software, 1996)
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.)
Markus Hadwiger 3D computer games
Quake vs. GLQuake (id Software, 1996)
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
Markus Hadwiger 3D computer games
Quake 3 Arena (id Software, 1999)
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!
Markus Hadwiger 3D computer games
Doom 3 (id Software, 200x)
Markus Hadwiger 3D computer games
Doom 3 (id Software, 200x)
Markus Hadwiger 3D computer games
Act II:Act II:Consumer 3D HardwareConsumer 3D Hardware
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
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
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
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!
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 :-)
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)
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
Markus Hadwiger 3D computer games
Act III:Act III:Additional TopicsAdditional Topics
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)
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)
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
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?