3D Computer Games History and Technology

Similar documents
The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005

Introduction to Computer Graphics

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

GPU Architecture. Michael Doggett ATI

Computer Graphics Hardware An Overview

L20: GPU Architecture and Models

Optimization for DirectX9 Graphics. Ashu Rege

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith

Introduction to GPGPU. Tiziano Diamanti

How To Teach Computer Graphics

Optimizing AAA Games for Mobile Platforms

Dynamic Resolution Rendering

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011

Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August

GPGPU Computing. Yong Cao

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University

Lecture 15: Hardware Rendering

Real-Time Realistic Rendering. Michael Doggett Docent Department of Computer Science Lund university

INTRODUCTION TO RENDERING TECHNIQUES

Data Visualization Using Hardware Accelerated Spline Interpolation

OpenGL Performance Tuning

Overview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions

Radeon HD 2900 and Geometry Generation. Michael Doggett

Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps

Developer Tools. Tim Purcell NVIDIA

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

NVIDIA workstation 3D graphics card upgrade options deliver productivity improvements and superior image quality

Advanced Rendering for Engineering & Styling

NVIDIA GeForce GTX 580 GPU Datasheet

How To Understand The Power Of Unity 3D (Pro) And The Power Behind It (Pro/Pro)

Lecture Notes, CEng 477

Computer Graphics. Anders Hast

GPUs Under the Hood. Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology

Image Synthesis. Transparency. computer graphics & visualization

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation

GPU Shading and Rendering: Introduction & Graphics Hardware

Console Architecture. By: Peter Hood & Adelia Wong

Introduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software

Touchstone -A Fresh Approach to Multimedia for the PC

Interactive Level-Set Deformation On the GPU

Real-Time Graphics Architecture

The Future Of Animation Is Games

Masters of Science in Software & Information Systems

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Technical Brief. Quadro FX 5600 SDI and Quadro FX 4600 SDI Graphics to SDI Video Output. April 2008 TB _v01

CS130 - Intro to computer graphics. Dr. Victor B. Zordan vbz@cs.ucr.edu Objectives

This Unit: Putting It All Together. CIS 501 Computer Architecture. Sources. What is Computer Architecture?

Why You Need the EVGA e-geforce 6800 GS

AMD Processor Performance. AMD Phenom II Processors Discrete Platform Benchmarks December 2008

Writing Applications for the GPU Using the RapidMind Development Platform

Radeon GPU Architecture and the Radeon 4800 series. Michael Doggett Graphics Architecture Group June 27, 2008

How To Make A Texture Map Work Better On A Computer Graphics Card (Or Mac)

Advanced Visual Effects with Direct3D

Procedural Shaders: A Feature Animation Perspective

Performance Optimization and Debug Tools for mobile games with PlayCanvas

A Short Introduction to Computer Graphics

Approval Sheet. Interactive Illumination Using Large Sets of Point Lights

GPGPU: General-Purpose Computation on GPUs

1. INTRODUCTION Graphics 2

Kodu Curriculum: Getting Started with Keyboard and Mouse

A Crash Course on Programmable Graphics Hardware

Interactive Computer Graphics

Introduction to Game Programming. Steven Osman

GPU Christmas Tree Rendering. Evan Hart

Configuring Memory on the HP Business Desktop dx5150

System requirements for Autodesk Building Design Suite 2017

John Carmack Archive -.plan (2002)

Interactive Information Visualization using Graphics Hardware Študentská vedecká konferencia 2006

Catalyst Software Suite Version 9.2 Release Notes

Lezione 4: Grafica 3D*(II)

SAPPHIRE TOXIC R9 270X 2GB GDDR5 WITH BOOST

Real-Time BC6H Compression on GPU. Krzysztof Narkowicz Lead Engine Programmer Flying Wild Hog

Image Synthesis. Fur Rendering. computer graphics & visualization

REAL-TIME IMAGE BASED LIGHTING FOR OUTDOOR AUGMENTED REALITY UNDER DYNAMICALLY CHANGING ILLUMINATION CONDITIONS

Computer Graphics. Computer graphics deals with all aspects of creating images with a computer

GAME ENGINE DESIGN. A Practical Approach to Real-Time Computer Graphics. ahhb. DAVID H. EBERLY Geometrie Tools, Inc.

ATI Radeon 4800 series Graphics. Michael Doggett Graphics Architecture Group Graphics Product Group

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

How To Use An Amd Ramfire R7 With A 4Gb Memory Card With A 2Gb Memory Chip With A 3D Graphics Card With An 8Gb Card With 2Gb Graphics Card (With 2D) And A 2D Video Card With

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

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

Game Engine Review. Mr. Stuart Armstrong Research Parkway, Suite 350 Orlando FL, USA

Water Flow in. Alex Vlachos, Valve July 28, 2010

Catalyst Software Suite Version 9.12 Release Notes

An Introduction to Modern GPU Architecture Ashu Rege Director of Developer Technology

Introduction to GPU Programming Languages

3D Stereoscopic Game Development. How to Make Your Game Look

Volume Rendering on Mobile Devices. Mika Pesonen

Interactive Level-Set Segmentation on the GPU

A Performance-Oriented Data Parallel Virtual Machine for GPUs

Several tips on how to choose a suitable computer

Outline. srgb DX9, DX10, XBox 360. Tone Mapping. Motion Blur

Midgard GPU Architecture. October 2014

OctaVis: A Simple and Efficient Multi-View Rendering System

Hardware design for ray tracing

Low power GPUs a view from the industry. Edvard Sørgård

Interactive Rendering In The Post-GPU Era. Matt Pharr Graphics Hardware 2006

Transcription:

3D Computer Games History and Technology VRVis Research Center http://www.vrvis.at Lecture Outline Overview of the last 10-15 15 years A look at seminal 3D computer games Most important techniques employed Graphics research and games R&D Transition software to hardware rendering Most important consumer 3D hardware 1

Part 1: Seminal 3D Games 2

Ultima Underworld Looking Glass Technologies, 1992 First real-time 3D role-playing game No technological viewpoint restrictions Correct looking up and down Fully texture-mapped world But: affine mapping (perspective incorrect!) Very small rendering window Rather slow; far from fast action game Ultima Underworld (Looking Glass, 1992) 3

Wolfenstein 3D id Software, 1992 Eventually created a new genre: FPS Three (2+1) degrees of freedom Only walls texture-mapped Simple ray-casting algorithm for columns Only 90-degree angles between walls Billboard characters (sprites) Shareware distribution model! Wolfenstein 3D (id Software, 1992) 4

Doom id Software, 1993 First fully texture-mapped action game One large 2D BSP tree for visibility No rooms above rooms Front to back rendering Constant z z texture mapping Network game play using IPX on LANs Highly user-extensible extensible (levels, graphics) DOOM (id Software, 1993) 5

Descent Parallax Software, 1994 First 360-degree, 6 DOF action game Portals for visibility determination Portals are intrinsic part of representation World building blocks: convex six-faces Clever restrictions: 64x64 textures,... Polygonal, 3D characters (robots) Still using billboards for power-ups, Descent (Parallax Software, 1994) 6

Quake id Software, 1996 First FPS with real 3D; complex geometry 3D BSP, potentially visible sets, z write 3D characters with several hundred polys Projective texture mapping; subdivision Pre-calculated lighting: light maps CSG modeling paradigm for level building Internet network game play (QuakeWorld( QuakeWorld) Quake (id Software, 1996) 7

GLQuake id Software, 1996 Killer application for 3D hardware (3dfx!) Introduced OpenGL to game developers Bi-linearly filtered textures; MIP mapping Light maps as additional alpha texture Radiosity for static lighting (pre-process) process) Single-pass multi-texturing texturing (Voodoo 2) Quake vs. GLQuake (id Software, 1996) 8

Quake 3 Arena id Software, 1999 Major move toward true-color artwork 3D hardware accelerator mandatory 3D BSP tree and potentially visible sets Curved surfaces (quadratic bézier patches) Multi-pass rendering for very high quality Real-time shaders ( shading language ) Focus on multiplayer Internet gaming Quake 3 Arena (id Software, 1999) 9

Doom 3 id Software, 2004 Macworld Tokyo (Feb. 2001) + E3 2002 For highly programmable hardware (GF3+) Outrageous polygon counts + normal maps Source art contains extremely high detail Real-time lighting/shadows; no light maps! Physics engine Engine moved to C++ (no pure C) Doom 3 (id Software, 2004) 10

Doom 3 (id Software, 2004) 11

Part 2: Consumer 3D Hardware 12

Voodoo Graphics 3dfx Interactive, 1996 Breakthrough for consumer 3D hardware Add-on card; no rendering in window 2MB frame buffer + 2MB texture memory 16-bit color buffer; 16-bit depth buffer Screen resolution up to 640x480 Texture res up to 256x256; power-of of-two! No performance hit for feature use The Glide API 3dfx Interactive, 1996 Low-level, hardware-oriented API No clipping, no texture mem management Proprietary; only for 3dfx hardware Very high performance Very easy to use; freely available Huge factor in 3dfx s s market dominance Really seminal, but now as dead as 3dfx 13

Voodoo 2 3dfx Interactive, 1998 First single-pass multi-texturing texturing (2 TMUs) Great for light maps and tri-linear filtering 4MB frame + 2*(2 4)MB texture memory Screen resolution up to 800x600 SLI for doubling the fill-rate (2x texmem!) Enhanced dithering to 16 bits Riva TNT NVIDIA Corporation, 1998 High quality rendering with OpenGL! 32-bit color buffer, 24-bit depth buffer 8-bit stencil buffer! (not available before!) Twin-texel :: single-pass multi-texturing texturing Texture size up to 2048x2048 Robust OpenGL 1.1 implementation Why OpenGL in games? Quake and TNT! 14

GeForce 256 NVIDIA Corporation, 1999 Full geometry acceleration in hardware Incredible number of OpenGL extensions Register combiners (per-pixel pixel shading) Cubic environment maps in hardware First really viable platform for research Radeon ATI Technologies Inc., 2000 First consumer hardware with 3D textures Three-texture multitexturing Tiled depth buffer for better performance Was only real competitor to GeForce 256/2 GeForce 2 still better in most respects 15

GeForce 3 NVIDIA Corporation, 2001 First move toward shaders and GPUs Vertex shaders (RISC assembly code) Per-pixel shading (tex( shaders,, combiners) Dependent texture look-ups Hardware-tessellated high-order surfaces More textures (4), more combiners (8) Radeon 8500 ATI Technologies Inc., 2001 DirectX 8.1 feature set (with ps.1.4) Six simultaneous textures Unified OpenGL fragment shading model Colors and texcoords interchangeable (but: precision problems) Easy dependent texturing 12-bit internal color precision 16

GeForce 4 NVIDIA Corporation, 2002 Mainly performance-optimized optimized GeForce 3 New tex-shading modes; still hard-wired :-(: Point sprites (one vtx per textured particle) Two vertex shaders (no new API feature) High-performance full-screen antialiasing Occlusion culling support (also for GF3) Render-to to-texture texture support (also for GF3) Radeon 9700 ATI Technologies Inc., 2002 First real GPU (with shader programs) DirectX 9 feature set (with ps.2.0) First full floating-point color pipeline Highly programmable shading model (ARB_fragment_program, ARB_vertex_program) 64 ALU instructions in the pixel shader 16 texture images; 32 accesses 17

GeForce FX NVIDIA Corporation, 2003 DirectX 9 feature set and more Longer pixel shaders than Radeon 9700 More OpenGL extensions Cg ( C( C for Graphics ) ) high-level shading language Performance similar to Radeon 9700 (except slower fragment shading) GeForce 6 / GeForce 7 NVIDIA Corporation, 2004 / 2005 Pixel shaders 3.0 feature set Data-dependent branching in shaders Texture-access in vertex shader Support for very long shaders High-performance 32-bit support throughout all shaders 512 MB / 1 GB configurations 18

Radeon X1800 / X1900 ATI Technologies Inc., 2005 Pixel shaders 3.0 feature set OpenGL shaders: : GLSL Ultra-threaded architecture Fast execution of pixel shader conditionals 16 pixel pipelines; X1900: 3 ALUs/pipeline 512 MB / 1 GB configurations 19

State of the Art (1) Programmability (vertex/fragment shaders) via high-level shading languages Many rendering passes (high fill-rate) Incredible polygon counts (geometry acc.) Advanced lighting (towards photo-realism) Large outdoor areas; lifelike characters Leverage of advanced (graphics) research State of the Art (2) Competition of two vendors: NVIDIA, ATI Clean, stable feature sets More precision enables entirely new class of algorithms (general purpose computations!) Artists more and more able to work directly Fast off-line movie-quality rendering (e.g.: http://film.nvidia.com film.nvidia.com) 20

Half-Life 2 (Valve, 2004) Half-Life 2: The Lost Coast (Valve, 2005) 21

Unreal Engine 3 Preview (Epic Games, 2005/6...) Unreal Engine 3 Preview (Epic Games, 2005/6...) 22

Crysis (Crytek, 2006?) Crysis (Crytek, 2006?) 23

Stalker (GSC Game World, 2006?) Stalker (GSC Game World, 2006?) 24