hdr in luma - cbre builddynamic exposure: additional solutions problem accumulated light overflows...
TRANSCRIPT
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
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
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
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
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
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