hdr in luma - cbre builddynamic exposure: additional solutions problem accumulated light overflows...

34
HDR in Luma

Upload: others

Post on 17-Apr-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

HDR in Luma

Rendering PipelineG Buffer

Lights

Emission

Sky

Indirect Light

Light Meter

Transparency

Exposure

Temporal AA

Bloom

Tonemapping

LightsG Buffer

Lights

Emission

Sky

Indirect Light

Light Meter

Transparency

Exposure

Temporal AA

Bloom

Tonemapping

LightsInteractions between light and materials happen in HDR

Luminance (cd/m2)

49000

7000

45000

7500

1200

2003600

2000

1000

3500

2000

300

21000

8500

35000

http://www.hdrlabs.com/sibl/archive.html

IntensityLog scale intensity unit matches human perception

Lights (point, area, directional, emission) authored in Intensity

Easy conversion from Luminance:

log2(luminance in cd/m2) + 3

(same as converting luminance to EV at ISO100)

Intensity

18.6

15.8

18.5

15.9

13.2

10.614.8

14.0

13.0

14.8

14.0

11.2

17.4

16.1

18.1

http://www.hdrlabs.com/sibl/archive.html

Light Demo

Sky and Sun ModelHosek-Wilkie analytical model

3 Controls only:

● Sun direction● Turbidity (aerosol particle density)● Ground albedo (reflectivity)

Clear Sky: 7-8 kcd/m2

Sun: 600-1,600,000 kcd/m2

Sky and Sun Model

Dynamic ExposureG Buffer

Lights

Emission

Sky

Indirect Light

Light Meter

Transparency

Exposure

Temporal AA

Bloom

Tonemapping

Camera methodExposure:

● Quantified by Exposure Value (EV)● Combination of 1) shutter speed 2) aperture size f-stop 3) film sensitivity ISO● stops: powers of 2

Kevin McCoy -- Wikipedia: https://commons.wikimedia.org/wiki/File:StLouisArchMultExpEV-4.72.JPG

Light Metering

● Camera detects mean luminance

Matrix Metering for Auto-Exposure

● Divide frame into multiple regions● Use smart/proprietary algorithm

to choose a mean luminance

Camera method: Auto-Exposure

Light Meter1. Scatter: Collect luminance at samples distributed in frame2. Gather: Trim samples, then find average luminance (using histogram)

Local Adaptation5 x 3 grid, exposure per blockBlock exposures blended together by Unnormalized Bilateral Filter

Dynamic White Balance

Dynamic White Balance

BloomG Buffer

Lights

Emission

Sky

Indirect Light

Light Meter

Transparency

Exposure

Temporal AA

Bloom

Tonemapping

BloomAiry Disk diffraction pattern occurs in eye or camera

Gaussian blur used to simulate this effect

Only affects bright areas

Roman Napreyev -- https://commons.wikimedia.org/wiki/File:Rubinar-1000_plus_2x_K-1_telekonv_Airy_disk_1.jpgDean Pemberton -- https://commons.wikimedia.org/wiki/File:HrdiBloomExample.jpg

TonemappingG Buffer

Lights

Emission

Sky

Indirect Light

Light Meter

Transparency

Exposure

Temporal AA

Bloom

Tonemapping

Choosing a Curve

Shoulder

Toe

0.62

Great in-depth post at http://filmicworlds.com/blog/filmic-tonemapping-with-piecewise-power-curves

25.7

Uncharted 2 Filmic TonemapperFilmic means:

● Simulates film response● Crisp blacks, saturated dark tones,

and soft unclipped highlights

Applying curve to RGB channels in parallel over-saturates brights

John Hable -- Uncharted 2: HDR Lighting http://www.gdcvault.com/play/1012351/Uncharted-2-HDR

ACES Tonemapper

ACES: Industry standard for Color Management

Carefully crafted filmic curve for displaying HDR images on LDR output devices

Adjusts in perceptually-aligned color space

acescentral.com

Has been adopted in gaming, including in Unreal EngineOur code comes from Stephen Hill

Uncharted 2 Filmic Tonemapper

ACES Tonemapper

Questions?

Dynamic Exposure: Additional SolutionsProblem Accumulated light overflows half-float target

Solution “Epilogue” Exposure

Pre-expose light accumulation target with previous frame’s exposure,

undo pre-exposure prior to exposing with light meter

Problem Albedo can be distracting to auto-exposure (dark vs light materials)

Solution Light Prepass (variant of deferred rendering)

Accumulate reflected light without albedo,

apply albedo once after all light has been accumulated