Future graphics in games

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

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

INTRODUCTION TO RENDERING TECHNIQUES

Dynamic Resolution Rendering

NVIDIA GeForce GTX 580 GPU Datasheet

GPU Architecture. Michael Doggett ATI

SERIOUSLY ADDING FUN THE NEXT LEVEL IN BUSINESS APPLICATION DESIGN

Hardware design for ray tracing

Performance Optimization and Debug Tools for mobile games with PlayCanvas

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Advanced Rendering for Engineering & Styling

Optimizing AAA Games for Mobile Platforms

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

Radeon HD 2900 and Geometry Generation. Michael Doggett

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

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

Grid Computing for Artificial Intelligence

The Future Of Animation Is Games

Introduction to Computer Graphics

L20: GPU Architecture and Models

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

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

How To Teach Computer Graphics

SAPPHIRE TOXIC R9 270X 2GB GDDR5 WITH BOOST

Computer Graphics Hardware An Overview

CS 371 Project 5: Midterm Meta-Specification

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

Making Dreams Come True: Global Illumination with Enlighten. Graham Hazel Senior Product Manager Sam Bugden Technical Artist

GPU System Architecture. Alan Gray EPCC The University of Edinburgh

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

Adding Animation With Cinema 4D XL

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

What is GPUOpen? Currently, we have divided console & PC development Black box libraries go against the philosophy of game development Game

A Short Introduction to Computer Graphics

Choosing a Computer for Running SLX, P3D, and P5

SAPPHIRE VAPOR-X R9 270X 2GB GDDR5 OC WITH BOOST

SAPPHIRE HD GB GDDR5 PCIE.

QuickSpecs. NVIDIA Quadro M GB Graphics INTRODUCTION. NVIDIA Quadro M GB Graphics. Overview

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

Lecture Notes, CEng 477

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

massive aerial LiDAR point clouds

GPGPU Computing. Yong Cao

GPU Usage. Requirements

CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014

Parallel Computing: Strategies and Implications. Dori Exterman CTO IncrediBuild.

OpenGL Performance Tuning

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

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

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering

DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER

ISSCC 2003 / SESSION 9 / TD: DIGITAL ARCHITECTURE AND SYSTEMS / PAPER 9.3

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

NVIDIA Tools For Profiling And Monitoring. David Goodwin

AN804: Gaming Performance Analysis 4GB vs 2GB Gareth Ogden, Corsair Memory Inc.

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association

Awards News. GDDR5 memory provides twice the bandwidth per pin of GDDR3 memory, delivering more speed and higher bandwidth.

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

Intel s Next Generation Integrated Graphics Architecture Intel Graphics Media Accelerator X3000 and 3000

Remote Graphical Visualization of Large Interactive Spatial Data

Advanced Visual Effects with Direct3D

Parallel Ray Tracing using MPI: A Dynamic Load-balancing Approach

Lecture 11: Multi-Core and GPU. Multithreading. Integration of multiple processor cores on a single chip.

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

A Distributed Render Farm System for Animation Production

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

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

Next Generation GPU Architecture Code-named Fermi

Temporal Sampling and Interpolation

An Extremely Inexpensive Multisampling Scheme

OpenEXR Image Viewing Software

Why You Need the EVGA e-geforce 6800 GS

Kodu Curriculum: Getting Started with Keyboard and Mouse

Light-Field Displays: Technology and Representation of 3D visual information. Péter Tamás Kovács Holografika

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

Getting Started with BIM (Building Information Modeling)

Interactive Level-Set Deformation On the GPU

Beyond Built-in: Why a Better Webcam Matters

QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Technical Specifications

Step 2: Paint Your Model

3D Computer Games History and Technology

CS 378: Computer Game Technology

Introduction to GPU Programming Languages

Service-Oriented Visualization of Virtual 3D City Models

IP Video Rendering Basics

Medical Image Processing on the GPU. Past, Present and Future. Anders Eklund, PhD Virginia Tech Carilion Research Institute

Msystems Ltd. SAPPHIRE HD GB GDDR5 PCIE

Dynamic Digital Depth (DDD) and Real-time 2D to 3D conversion on the ARM processor

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

Developer Tools. Tim Purcell NVIDIA

Customer Success Story

One Step Closer to a Fully Realistic 3D World on the Consumer PC A White Paper on the 3dfx T-Buffer

AMD Radeon HD 8000M Series GPU Specifications AMD Radeon HD 8870M Series GPU Feature Summary

The Limits of Human Vision

Color correction in 3D environments Nicholas Blackhawk

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.

Kapitel 12. 3D Television Based on a Stereoscopic View Synthesis Approach

Fundamentals of Computer Graphics

Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation

Transcription:

Future graphics in games Anton Kaplanyan Lead researcher Cevat Yerli Crytek CEO

Agenda The history: Crytek GmbH Current graphics technologies Stereoscopic rendering Current graphics challenges Graphics of the future Graphics technologies of the future Server-side rendering Hardware challenges Perception-driven graphics

March 2001 till March 2004 Development of Far Cry Development of CryEngine 1 The Past - Part 1 Approach: A naïve, but successful push for contrasts, by insisting on opposites to industry. size, quality, detail, brightness First right investment into tools - WYSIWYPlay

Past - Part 1: CryEngine 1 Polybump (2001) NormalMap extraction from High-Res Geometry First Per Pixel Shading & HDR Engine For Lights, Shadows & Materials High Dynamic Range Long view distances & detailed vistas Terrain featured unique base-texturing High quality close ranges High fidelity physics & AI It took 3 years, avg 20 R&D Engineers

CryENGINE 2

The Past Part 2 CryENGINE 2 April 2004 till November 2007 Development of Crysis Development of CryEngine 2 Approach: Photorealism meets interactivity! Typically mutual exclusive directions Realtime productivity with WYSIWYPlay Extremely challenging, but successful

CryEngine 2 - Way to Photorealism The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

CGI Quality Lighting & Shading Life-like characters Scaleable architecture in Both content and pipeline The Past - Part 2: CryEngine 2 Technologies and assets allow various configurations to be maxed out! Crysis shipped Nov 2007, works on PCs of 2004 till today and for future...

The Present - CryEngine 3 CryEngine 3 is build with next-gen in mind Scales through many-core support Performs on PC, Xbox360, PS3, DX11 Built by avg. 25 people over 3 years

CryENGINE 3 architecture CryENGINE 2 successor, but now we do Deferred lighting (aka Light Prepass) Lighting in linear space Indirect lighting Coordinated dynamic and precomputed lighting Advanced color correction (artists-driven color charts) Streaming rendering assets (geometry, textures, animation) Run on both consoles (Xbox 360 and Playstation 3) Compressed and minimized bandwidth and memory requirements

Why deferred lighting

Deferred lighting Good decomposition of lighting No lighting-geometry interdependency Cons: Limited material variations Higher memory and bandwidth requirements Shading problems 2x2 tiles for mip computation fail for any kind of deferred texturing (projective light textures, decals etc.)

Deferred pipelines bandwidth

Feature

Facts Fixed Resolution for Gaming till 2012 HD 1920 x 1080 @ 60 fps How to design for the future? Stereoscopic 3D experience: 30 fps per eye Limited by current consoles hardware Risk of Uncanny Valley for content Perception-driven approaches! Till 2012 majority of games must use artistic style, physics and AI to differentiate! What s the current artistic style? Desaturate colors?

Graphics architecture Breakthroughs in rendering architecture are not easy Proved multiple times by hardware vendors Especially multiple recent tries with software renderer Trails along with a huge infrastructure Outcome of a many-years development experience Graphics architecture will be much more divergent Do we really want to write our own software renderer? Coming back to old good techniques like voxels, micropolygons etc.

How to design for the future? Alternatives that will brand some games in future: Point Based Rendering Ray Tracing Rasterization, as usual Micropolygons Data representations: Sparse Voxel Octrees (data structure) Sparse Surfel Octrees

Sparse Voxel Octrees (Datastructure) Pros Data structure is future proof for alternative rendering Very good fit for unique geometry & texture Geometry and texture budgets become less relevant Artistic freedom becomes true Naturally fits to automatic LOD schemes Cons Neither infrastructure nor h/w Slightly memory intensive Fits nicely to Ray-tracing, but is still too slow Graphics in Future

Sparse Voxel Octree Usage in CryEngine 3 We already use it in production!! Used during level export to bake geometry and textures Stored in a sparse octree of triangulated sectors Very easy to manage and stream geometry and textures No GPU computations required (despite virtual texturing) Automatic correct LOD construction Adaptive geometric and texture details Depending on the gameplay Huge space on disk for each level! Use aggressive texture compression Bake wisely, not the whole world

Sparse Voxel Octree Usage in CryEngine 3

Short-term user impact opportunities till 2012 The delta in visual opportunities is limited, BUT... for the next 3 Years: Huge gains are possible in Physics, AI and Simulation of Special Effects Focus around that knowledge can lead to very different designs Mid-erm 2013+ creative opportunities Future console generations New Rendering Methods will become available The renaissance of graphics will arrive Allows new visual development directions that will rival full CGI feature films qualty Action point: Link yourself to console cycle Opportunities in Future

PERCEPTION-DRIVEN GRAPHICS

Perception-driven graphics

Real-time graphics is perception-driven Human s eye has some specialities ~350 Mpixel spatial resolution Quite hard to trick it in this area ~24 Hz temporal resolution Very low, a room for techniques We don t notice the flickering @ > 40Hz We don t create an image for another machine, our target customer is a human

Under-sampling / super-sampling Spatial Undersampling Inferred shading Depth of field Decoupled sampling Temporal Temporal anti-aliasing Motion blur Mixed Spatio-temporal anti-aliasing

Hybrid rendering There is no panacea rendering pipeline Even REYES is not used in its original form for movies Hybrid pipeline is possible on the current gen GPUs Will be even more topical for new generation of consoles Usually combines everything that matches and helps Ray-tracing for reflections and shadows Could be triangles / point sets / voxel structures / etc. Voxels for better scene representation (partially) Screen-space contact effects (e.g. reflections) Much much more (a lot of ideas)

Recent trend STEREOSCOPIC RENDERING

3D stereoscopic rendering Technique was there for a long time Becomes popular due to technologies, in games too No new concepts, similar to photography art though One golden rule: don t make the audience tired Crysis 2 already has a 1 st class 3D Stereo support Use the depth histogram to determine the interaxial distance:

Supported stereo modes in CryENGINE 3 Stereo rendering modes Brute-force stereo rendering Central eye frame with reprojection Experimental stochastic rendering from one of eyes Stereo output modes Anaglyph (color separation) Interlaced Horizontal joint images Vertical joint images Two monitors

Stereo video

SERVER-SIDE RENDERING

Server-side rendering 4G networks have a good ground for that Low ping a strong requirement for real-time games Will be widely deployed in 5-7 years Compression of synthesized video Temporally decompose the video details Use perception-based importance Salience maps + user-side eye-tracking Need to amortize cloud-rendering cost per user: Cost Amortized trend Number of users

Example of perception-driven graphics Image Per-object importance map Example of perception-driven rendering Saliency map Courtesy of Matthias Bernhard TU Vienna They use eye-tracking system to build importance map Can be provided by the game itself Adaptive video compression is possible along with adaptive rendering

Highly parallel scheduling Small synthetic test (simulate GPU behavior) 512 cores (could be interpreted as slots of shared cache too) 32k small identical tasks to execute Each item requires 1 clock on one core (so synthetic) Within a range of 256 to 2048 threads Scheduling overhead is taken into account in total time Task feeding Context switches Overhead weight is not important

Highly parallel scheduling 600000 500000 Saturation phase Concurrent parallelism 400000 300000 Execution time Scheduling overhead Total time 200000 100000 0 256 320 384 448 512 576 640 704 768 832 896 960 1024 1088 1152 1216 1280 1344 1408 1472 1536 1600 1664 1728 1792 1856 1920 1984 2048

Highly parallel scheduling Another test Real GPU! Screen-space effect (SSAO) Bandwidth-intensive pixel shader Each item requires 1 clock on one core (so synthetic) Within a range of 5 to 40 threads Cache pollution causes a peak right after the saturation state The time reaches the saturation performance with more threads asymptotically

Highly parallel scheduling 1400 1200 Cache saturation phase Time Concurrent parallelism 1000 800 600 Time 400 200 Cache pollution peak 0 0 5 10 15 20 25 30 35 40

Highly parallel scheduling Scheduling overhead can be a problem Parallel scalability With homogenous tasks it comes to maximum at saturation What about heterogeneous workload? The existence of the minimum depends on the performance impact of scheduling We need to reduce it Configurable hardware scheduler! GRAMPS-like architectures are possible with it Ray tracing becomes much faster and SoL with bandwidth bottleneck

Atomics

Future performance PS3 and Xbox 360 are in-order by optimizing for consoles we also speed up PC not really, we invest only into current consoles What s the next generation of consoles? Larrabee 2 and Fermi ARE in-order Should we rewrite the architecture again? Death of Out-of-Order architecture? No way! Game platform will remain heterogeneous Related to different game subsystems (game code vs rendering) Many new parallel languages and paradigms OpenCL, GRAMPS, C++0x, OpenMP, TBB, ConcRT, Ct Backwards scalability is a challenge

Future performance Mostly graphics, as it s scalable without pain Doesn t affect game-play Assets processing Texture compression becomes an issue as well Both decompression AND compression complexity should be respected Shaders development Compilation is too slow and not flexible Still not solved by DX11 DSL Getting worse with ComputeShaders Debugging / profiling is still not there for compute shaders Developing a huge system might become a hell

Textures Quantization / color depth? BC6/7 delivers, but DX11-hw only

Challenges of Future Technology challenges Switching to a scaleable codebase Think of parallelism & async jobs Multithreading, scheduling Larger codebases, multiple platforms & APIs Production challenges Cost of assets increase by ~50% annually Content, besides quality increases, gets more & more interactive Think to improve Tools, Pipelines & Bottlenecks to counter-effect, automate Source Back-Ends Resource Compilers The better the tools, the cheaper and/or the better your output

Efficiency

Scopes Content costs will increase If nothing changes Tools must adapt Smarter & automated pipelines & tools will provide better, faster & valid content data Think procedural content creation 5y...gaming graphics will change, but insignificantly in the next 3 years Today s technologies will drive the next 3 years in visual development. The look is still about creativity and using the given resource powers of today 5y...realtime gaming graphics will approach to current CGI offline rendering

Conclusion Real-time rendering pipeline renovation is around the corner Hardware improvements are required Evolution of current techniques for production real-time rendering Prepare to new representations and rendering pipelines Better infrastructure for parallel development Tools and authoring pipelines needs modernization Consider server-side rendering: could change the direction drastically Perception-driven real-time graphics is a technology driver Avoid uncanny valley in graphics technologies