Top Banner
HDR in Luma
34

HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

Apr 17, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

HDR in Luma

Page 2: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation
Page 3: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation
Page 4: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

Rendering PipelineG Buffer

Lights

Emission

Sky

Indirect Light

Light Meter

Transparency

Exposure

Temporal AA

Bloom

Tonemapping

Page 5: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

LightsG Buffer

Lights

Emission

Sky

Indirect Light

Light Meter

Transparency

Exposure

Temporal AA

Bloom

Tonemapping

Page 6: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation
Page 7: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation
Page 8: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation
Page 9: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation
Page 10: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

LightsInteractions between light and materials happen in HDR

Page 11: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

Luminance (cd/m2)

49000

7000

45000

7500

1200

2003600

2000

1000

3500

2000

300

21000

8500

35000

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

Page 12: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

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)

Page 13: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

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

Page 14: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

Light Demo

Page 15: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

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

Page 16: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

Sky and Sun Model

Page 17: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

Dynamic ExposureG Buffer

Lights

Emission

Sky

Indirect Light

Light Meter

Transparency

Exposure

Temporal AA

Bloom

Tonemapping

Page 18: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

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

Page 19: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

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

Page 20: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

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

Page 21: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

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

Page 22: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

Dynamic White Balance

Page 23: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

Dynamic White Balance

Page 24: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

BloomG Buffer

Lights

Emission

Sky

Indirect Light

Light Meter

Transparency

Exposure

Temporal AA

Bloom

Tonemapping

Page 25: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

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

Page 26: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

TonemappingG Buffer

Lights

Emission

Sky

Indirect Light

Light Meter

Transparency

Exposure

Temporal AA

Bloom

Tonemapping

Page 27: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

Choosing a Curve

Shoulder

Toe

0.62

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

25.7

Page 28: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

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

Page 29: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

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

Page 30: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

Uncharted 2 Filmic Tonemapper

Page 31: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

ACES Tonemapper

Page 33: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

Questions?

Page 34: HDR in Luma - CBRE BuildDynamic Exposure: Additional Solutions Problem Accumulated light overflows half-float target Solution “Epilogue” Exposure Pre-expose light accumulation

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