Real-time lighting via Light Linked List 8/07/2014 Abdul Bezrati.

Slides:



Advertisements
Similar presentations
CRYTEK © 2010 Crytek GmbH BRINGING STEREO TO CONSOLES Nicolas Schulz, R&D Graphics Engineer GDC Europe 2010, AAA Stereo-3D in CryENGINE.
Advertisements

Grass, Fur and all things hairy Nicolas ThibierozKarl Hillesland Gaming Engineering Manager, AMDSenior Research Engineer, AMD.
OIT and Indirect Illumination using DX11 Linked Lists
Deferred Lighting and Post Processing on PLAYSTATION®3
Deferred Shading Optimizations
CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
Technische Universität München Computer Graphics SS 2014 Graphics Effects Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung.
Practical Clustered Shading
Understanding the graphics pipeline Lecture 2 Original Slides by: Suresh Venkatasubramanian Updates by Joseph Kider.
Game Programming 09 OGRE3D Lighting/shadow in Action
Status – Week 257 Victor Moya. Summary GPU interface. GPU interface. GPU state. GPU state. API/Driver State. API/Driver State. Driver/CPU Proxy. Driver/CPU.
CS 4363/6353 BASIC RENDERING. THE GRAPHICS PIPELINE OVERVIEW Vertex Processing Coordinate transformations Compute color for each vertex Clipping and Primitive.
University of Sulaimani - School of Science - Computer Dept.
CSL 859: Advanced Computer Graphics Dept of Computer Sc. & Engg. IIT Delhi.
The Art and Technology Behind Bioshock’s Special Effects
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
Pre-lighting in Resistance 2
黃聰賢. Light Position Mesh Polygon Shadow Polygon  Clear color buffer and stencil buffer  Render the scene with ambient only.
Skin Rendering GPU Graphics Gary J. Katz University of Pennsylvania CIS 665 Adapted from David Gosselin’s Power Point and article, Real-time skin rendering,
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Approximate Soft Shadows on Arbitrary Surfaces using Penumbra Wedges Tomas Akenine-Möller Ulf Assarsson Department of Computer Engineering, Chalmers University.
Z-Buffer Optimizations Patrick Cozzi Analytical Graphics, Inc.
GPUGI: Global Illumination Effects on the GPU
Z-Buffer Optimizations Patrick Cozzi Analytical Graphics, Inc.
© 2004 Tomas Akenine-Möller1 Shadow Generation Hardware Vision day at DTU 2004 Tomas Akenine-Möller Lund University.
Advanced Computer Graphics Bas Zalmstra Marries van de Hoef Tim de Jager.
Shadows Computer Graphics. Shadows Shadows Extended light sources produce penumbras In real-time, we only use point light sources –Extended light sources.
Erdem Alpay Ala Nawaiseh. Why Shadows? Real world has shadows More control of the game’s feel  dramatic effects  spooky effects Without shadows the.
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
© Copyright Khronos Group, Page 1 Harnessing the Horsepower of OpenGL ES Hardware Acceleration Rob Simpson, Bitboys Oy.
Basics of a Computer Graphics System Introduction to Computer Graphics CSE 470/598 Arizona State University Dianne Hansford.
Faculty of Engineering and Applied Science University of Ontario Institute of Technology Canada Faculty of Engineering and Applied Science University of.
Visibility Queries Using Graphics Hardware Presented by Jinzhu Gao.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS Visual quality techniques.
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS Textures.
CHAPTER 11 Shadows © 2008 Cengage Learning EMEA. LEARNING OBJECTIVES In this chapter you will learn about: – –Shadow rendering algorithms – –Blinn’s shadow.
Penumbra Deep Shadow Maps Jean-Francois St-Amour, LIGUM – Université de Montreal Eric Paquette, LESIA - ETS Pierre Poulin, LIGUM – Université de Montreal.
Shadows. Shadows is important in scenes, consolidating spatial relationships “Geometric shadows”: the shape of an area in shadow Early days, just pasted.
Improving k-buffer methods via Occupancy Maps Andreas A. Vasilakis and Georgios Papaioannou Dept. of Informatics, Athens University of Economics & Business,
Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,
Operating Systems Lecture 14 Segments Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of Software Engineering.
Sample Based Visibility for Soft Shadows using Alias-free Shadow Maps Erik Sintorn – Ulf Assarsson – uffe.
Xbox MB system memory IBM 3-way symmetric core processor ATI GPU with embedded EDRAM 12x DVD Optional Hard disk.
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
Volume Clipping via Per-Fragment Operations in Texture-Based Volume Visualization Visualization and Interactive Systems Group University of Stuttgart Germany.
Stencil Routed A-Buffer
Emerging Technologies for Games Deferred Rendering CO3303 Week 22.
Graphics in a computers memory How a picture (i.e. a graphic) is stored in a computers memory A computer screen is made up of little dots, called PICture.
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
Real-Time Dynamic Shadow Algorithms Evan Closson CSE 528.
Parallel Lighting Directional Lighting Distant Lighting (take your pick) Paul Taylor 2010.
Shadows David Luebke University of Virginia. Shadows An important visual cue, traditionally hard to do in real-time rendering Outline: –Notation –Planar.
Stencil Shadows Garrett Weng. What are stencil shadows? Also known as shadow volumes Relies on use of the stencil buffer Create volumes of the shadows.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
SPONSORED BY SA2014.SIGGRAPH.ORG Efficient Real-Time Shading with Many Lights 2014 Many Light Rendering on Mobile Hardware Part 4/4 Presenter: Markus Billeter.
Postmortem: Deferred Shading in Tabula Rasa Rusty Koonce NCsoft September 15, 2008.
Reflective Shadow Mapping By: Mitchell Allen.
The Graphic PipeLine
Patrick Cozzi University of Pennsylvania CIS Fall 2013
Renderer Design for Multiple Lights
Deferred Lighting.
UMBC Graphics for Games
UMBC Graphics for Games
Texture and Shadow Mapping
Accelerating k+-buffer using efficient fragment culling
Current Research in VR Display Technology
RADEON™ 9700 Architecture and 3D Performance
Frame Buffer Applications
Presentation transcript:

Real-time lighting via Light Linked List 8/07/2014 Abdul Bezrati

Old: Deferred Lighting

New: Light Linked List

Deferred Lighting GBufferr Fill Light Buffers Light GBuffer Alpha

Diffuse Lighting

Specular Lighting

New approach Store lights in a per-pixel linked list.

Compressed Fragment

Resolution Lower resolutions are better: –One quarter, one eighth etc…

Memory Cost 4 Buffers at one eighth resolution: –2 RWByteAddressBuffer –1 RWStructuredBuffer –1 Depth Buffer (optional) Pre-allocate average 40 Lights per pixel. Total cost: –900P: ~7.25 megs –1080P: ~10.15 megs

Insomniac Engine GBufferr Fill Linked Listr Light GBuffer Custom Materials Alpha

Insomniac Engine GBuffer (fast path) Fill Linked Listr Light GBuffer Custom Materials Alpha

Insomniac Engine GBufferr Fill Linked List Light GBuffer Custom Materials Alpha

Fill LLL Cost 900P

Fill LLL Cost 1080P

LLL Depth Buffer Generate down-sized depth buffer. Use conservative depth selection. Use GatherRed.

Light Shells

LLL Shader Steps Software depth test. Acquire min and max depth. Allocate a LLL fragment.

LLL Depth Test

Software test front faces.

Depth Bounds Both depths need to come through. Which depth comes first?

Depth Bounds Bounds RWByteAddressBuffer Pixel

Depth Bounds Encode Depth + ID –16 bits ID –16 bits Depth

Depth Bounds Use InterlockedExchange New Info Old Info Pixel

Light Fragment Links Use a RWStructuredBuffer for storage:

Allocate LLL Fragment Increment current count

Track Last Entry StartOffset RWByteAddressBuffer: –InterlockedExachange New Index Old Index Pixel

Light Fragment Encoding Fill the linked light fragment and store it.

Insomniac Engine GBufferr Fill Linked Listr Light GBuffer Custom Materials Alpha

Lighting the GBuffer Draw full-screen quad Access the LLL Apply the light

Accessing the SRVs Fetch the first linked element offset: –The first linked element is encoded in the lower 24 bits.

Light Loop Start the lighting loop: –An element index equal to 0xFFFFFF is invalid.

Decoding Light Depth Decode the light min and max depth. Compare the light depth.

Access Light Info Fetch the full light information:

Insomniac Engine GBufferr Fill Linked Listr Light GBuffer Custom Materials Alpha

Custom Materials Render geometry again. Access the LLL while rendering.

Custom Materials

Shadows?

Questions?