SlideShare une entreprise Scribd logo
1  sur  59
SIGGRAPH 2010
Filmic Tonemapping
for Real-time Rendering
Haarm-Pieter Duiker
Duiker Research
hpd@duikerresearch.com
Filmic Tonemapping Overview
• History of Color in Games
• Scene-referred and Output-referred data
• Cineon Log
• What a filmic curve looks like
• Authoring a filmic curve
• Further work
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 4
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 5
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 6
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 7
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 8
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 9
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 10
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 11
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
HDR data in modern hardware
• What problems do modern hardware capabilities bring
with them?
– Working with HDR data implies Linear color math
– Linear data is displayed on non-linear devices
• monitors
• TV screens
12
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
Review of different color spaces
• Some (relatively) new terms
– Scene-referred
– Output-referred
– What? Why does this matter now?
• Two main color spaces
– Scene-referred Linear
– Output-referred sRGB
13
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 14
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 15
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
Two phase model of color rendering
• Render / Capture linear data
• Correct for the display’s characteristics
– Get the display to render the intensities of the ‘scene-
referred’ data as closely as possible to the original scene
16
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
What does Linear data “look” like?
17
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 18
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 19
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 20
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 21
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 22
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
• High contrast
• The dynamic range viewable on screen is small
• Integer formats can only represent a fixed dynamic
range
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
Issues with Scene-referred Linear data
23
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
Can we do better than sRGB?
• How do we make a scene-referred linear render
look like film?
• Can we add some artistic control to the proces?
– What if we want to make our render look like a film stock
that doesn’t exist?
25
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 26
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 27
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 28
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
Cineon Log - a new (old) color space
• Used in visual effects since circa 1993
• Important properties
– Pixel values correspond to negative density
• lg = (log10(ln/linReference)/ld*logGamma + logReference)/1023.f
• log Density ~= log10(Intensity) ~= Exposure
– HDR data in an LDR bit depth
• Values greater than 1 map to values less than 1
– Values close to 0 get a lot bits
29
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
Visualizing color spaces
30
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 31
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 32
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 33
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 34
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
Filmic Tonemapping - Four stages
• Render / Capture linear data
• Convert from Scene-referred Linear to Log
– Match the look of a negative film stock here
• Apply a “filmic” tonemap to match a print film stock
• Correct for the display’s characteristics
35
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
What does a “filmic” curve look like?
• Let’s look at some curves. Notice
– Toe
– Shoulder
– Channel separation
– “Linear” range
36
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
A “filmic” curve looks like - Kodak
37
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
A “filmic” curve looks like - Color Sym.
38
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
A “filmic” curve look like - Sony Anim.
39
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
A “filmic” curve looks like - EA / Naughty
40
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
Authoring a LUT - Process breakdown
• Screenshot from game
• Convert to Cineon Log
• Treat in Photoshop / Nuke / Grading suite of choice
– Make sure it’s a non-destructive edit (use layers)
– Or embed an identity lut
• Apply treatment to identity lut image
– Can be 1d or 3d
41
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 42
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 43
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 44
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 45
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 46
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 47
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 48
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 49
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 50
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 51
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
Screenshot from game
• Can we use Uncharted here?
52
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 53
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
Optimized implementation
• Three steps of color processing is too expensive
• Analytical approximations
– Jim Hejl and Richard Burgess-Dawson at EA
– John Hable at Naughty Dog
54
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
Analytical Approximations
• Linear all the way to sRGB-corrected
– Requires fitting parameters to authored lut
• Different approximations
55
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
Approximation 1
56
float4 ps_main( float2 texCoord : TEXCOORD0 ) : COLOR
{
float3 texColor = tex2D(Texture0, texCoord );
float3 x = max(0,texColor-0.004);
float3 retColor = (x*(6.2*x+.5))/(x*(6.2*x+1.7)+0.06);
return float4(retColor,1);
}
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
Approximation 2
57
float A = 0.15; float B = 0.50; float C = 0.10;
float D = 0.20; float E = 0.02; float F = 0.30; float W = 11.2;
float3 Uncharted2Tonemap(float3 x) { return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F; }
float4 ps_main( float2 texCoord : TEXCOORD0 ) : COLOR
{
float3 texColor = tex2D(Texture0, texCoord );
float ExposureBias = 2.0f;
float3 curr = ExposureBias*Uncharted2Tonemap(texColor);
float3 whiteScale = 1.0f/Uncharted2Tonemap(W);
float3 color = curr*whiteScale;
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
Is a 1d Filmic tonemap good enough?
• Effects not accounted for by a 1d lut
– Color cross-talk
– Saturation
– Gamut-mapping
58
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
Emulating an actual film stock
• Authoring a lut can be artistic or emulation driven
– Is emulation what your game needs?
– You can combine the two
59
SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production
Thanks
• Naty Hoffman
• John Hable
• Jim Hejl
• Kim Libreri
• George Borshukov
• Course contributors
60

Contenu connexe

Tendances

Moving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based RenderingMoving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based Rendering
Electronic Arts / DICE
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Johan Andersson
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
Tiago Sousa
 
Lighting Shading by John Hable
Lighting Shading by John HableLighting Shading by John Hable
Lighting Shading by John Hable
Naughty Dog
 

Tendances (20)

HDR Theory and practicce (JP)
HDR Theory and practicce (JP)HDR Theory and practicce (JP)
HDR Theory and practicce (JP)
 
Moving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based RenderingMoving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based Rendering
 
The Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's EdgeThe Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's Edge
 
Star Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processingStar Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processing
 
Volumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the FallenVolumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the Fallen
 
Depth estimation using deep learning
Depth estimation using deep learningDepth estimation using deep learning
Depth estimation using deep learning
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2
 
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)
 
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
 
Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)
 
Lighting Shading by John Hable
Lighting Shading by John HableLighting Shading by John Hable
Lighting Shading by John Hable
 
Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space Marine
 
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
 
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringStable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
 
Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The Surge
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
 
Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1
 
Physically Based Lighting in Unreal Engine 4
Physically Based Lighting in Unreal Engine 4Physically Based Lighting in Unreal Engine 4
Physically Based Lighting in Unreal Engine 4
 

En vedette

Shadow gunのサンプルから学べるモバイル最適化
Shadow gunのサンプルから学べるモバイル最適化Shadow gunのサンプルから学べるモバイル最適化
Shadow gunのサンプルから学べるモバイル最適化
Katsutoshi Makino
 
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことUnity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
Katsutoshi Makino
 
Kansai cedec 2015_fumoto
Kansai cedec 2015_fumotoKansai cedec 2015_fumoto
Kansai cedec 2015_fumoto
fumoto kazuhiro
 

En vedette (20)

Filmic Tonemapping - EA 2006
Filmic Tonemapping - EA 2006Filmic Tonemapping - EA 2006
Filmic Tonemapping - EA 2006
 
ACEScg: A Common Color Encoding for Visual Effects Applications - DigiPro 2015
ACEScg: A Common Color Encoding for Visual Effects Applications - DigiPro 2015ACEScg: A Common Color Encoding for Visual Effects Applications - DigiPro 2015
ACEScg: A Common Color Encoding for Visual Effects Applications - DigiPro 2015
 
ACES 1.0 OpenColorIO config - Siggraph 2015
ACES 1.0 OpenColorIO config - Siggraph 2015ACES 1.0 OpenColorIO config - Siggraph 2015
ACES 1.0 OpenColorIO config - Siggraph 2015
 
Shadow gunのサンプルから学べるモバイル最適化
Shadow gunのサンプルから学べるモバイル最適化Shadow gunのサンプルから学べるモバイル最適化
Shadow gunのサンプルから学べるモバイル最適化
 
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~
 
Weighted Blended Order Independent Transparency
Weighted Blended Order Independent TransparencyWeighted Blended Order Independent Transparency
Weighted Blended Order Independent Transparency
 
Aclt1
Aclt1Aclt1
Aclt1
 
声の実体化体験 - HTML5でつくるデジタルインスタレーション -
声の実体化体験 - HTML5でつくるデジタルインスタレーション -声の実体化体験 - HTML5でつくるデジタルインスタレーション -
声の実体化体験 - HTML5でつくるデジタルインスタレーション -
 
レイトレ合宿3!!! 5分間アピールプレゼン―Pocol
レイトレ合宿3!!! 5分間アピールプレゼン―Pocolレイトレ合宿3!!! 5分間アピールプレゼン―Pocol
レイトレ合宿3!!! 5分間アピールプレゼン―Pocol
 
シェーダ体系の話
シェーダ体系の話シェーダ体系の話
シェーダ体系の話
 
Optimizing mobile applications - Ian Dundore, Mark Harkness
Optimizing mobile applications - Ian Dundore, Mark HarknessOptimizing mobile applications - Ian Dundore, Mark Harkness
Optimizing mobile applications - Ian Dundore, Mark Harkness
 
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことUnity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
 
レイトレ合宿2!! 3分間アピールプレゼン―Pocol
レイトレ合宿2!! 3分間アピールプレゼン―Pocolレイトレ合宿2!! 3分間アピールプレゼン―Pocol
レイトレ合宿2!! 3分間アピールプレゼン―Pocol
 
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
 
Tabc vol3 テクニカルアーティストを始めるにあたって
Tabc vol3 テクニカルアーティストを始めるにあたってTabc vol3 テクニカルアーティストを始めるにあたって
Tabc vol3 テクニカルアーティストを始めるにあたって
 
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
 
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
 
Kansai cedec 2015_fumoto
Kansai cedec 2015_fumotoKansai cedec 2015_fumoto
Kansai cedec 2015_fumoto
 
AI in Games- Steering, Wander and Flocking behavior
AI in Games- Steering, Wander and Flocking behaviorAI in Games- Steering, Wander and Flocking behavior
AI in Games- Steering, Wander and Flocking behavior
 
Application parallelisation Android - Klaas Vangend
Application parallelisation Android - Klaas VangendApplication parallelisation Android - Klaas Vangend
Application parallelisation Android - Klaas Vangend
 

Similaire à Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course

Amd future of gp us - campus party
Amd   future of gp us - campus partyAmd   future of gp us - campus party
Amd future of gp us - campus party
Campus Party Brasil
 

Similaire à Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course (20)

How the Game Industry shaped the Creative Industry
How the Game Industry shaped the Creative IndustryHow the Game Industry shaped the Creative Industry
How the Game Industry shaped the Creative Industry
 
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019
 
Introduction to game development
Introduction to game developmentIntroduction to game development
Introduction to game development
 
Academy of animation and gaming New Delhi - Brochure
Academy of animation and gaming New Delhi - BrochureAcademy of animation and gaming New Delhi - Brochure
Academy of animation and gaming New Delhi - Brochure
 
Maac Ameeerpet - VFX, Animation and Gaming Training Center in Hyderabad
Maac Ameeerpet - VFX, Animation and Gaming Training Center in HyderabadMaac Ameeerpet - VFX, Animation and Gaming Training Center in Hyderabad
Maac Ameeerpet - VFX, Animation and Gaming Training Center in Hyderabad
 
5 Major Challenges in Interactive Rendering
5 Major Challenges in Interactive Rendering5 Major Challenges in Interactive Rendering
5 Major Challenges in Interactive Rendering
 
08-Resolution & Value.pdf
08-Resolution & Value.pdf08-Resolution & Value.pdf
08-Resolution & Value.pdf
 
3D Stereoscopic Filmmaking Discussion
3D Stereoscopic Filmmaking Discussion3D Stereoscopic Filmmaking Discussion
3D Stereoscopic Filmmaking Discussion
 
Different Media & Entertainment Industry Workflows
Different Media & Entertainment Industry WorkflowsDifferent Media & Entertainment Industry Workflows
Different Media & Entertainment Industry Workflows
 
Different Media and Entertainment Industry Workflows
Different Media and Entertainment Industry WorkflowsDifferent Media and Entertainment Industry Workflows
Different Media and Entertainment Industry Workflows
 
Ghajini - The Game Development
Ghajini - The Game DevelopmentGhajini - The Game Development
Ghajini - The Game Development
 
Amd future of gp us - campus party
Amd   future of gp us - campus partyAmd   future of gp us - campus party
Amd future of gp us - campus party
 
Présentation aga fye 2014 partie légale + corpo (2015-01)
Présentation aga fye 2014   partie légale + corpo (2015-01)Présentation aga fye 2014   partie légale + corpo (2015-01)
Présentation aga fye 2014 partie légale + corpo (2015-01)
 
Les danses extatiques andres busrbano.pptx (3)
Les danses extatiques andres busrbano.pptx (3)Les danses extatiques andres busrbano.pptx (3)
Les danses extatiques andres busrbano.pptx (3)
 
Visual fx pdp pres
Visual fx pdp presVisual fx pdp pres
Visual fx pdp pres
 
HCID 2014: The Graphics Revolution and how Visual Effects became accessible t...
HCID 2014: The Graphics Revolution and how Visual Effects became accessible t...HCID 2014: The Graphics Revolution and how Visual Effects became accessible t...
HCID 2014: The Graphics Revolution and how Visual Effects became accessible t...
 
Metodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en GamingMetodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en Gaming
 
Arena animation digital brochure 2020 min
Arena animation digital brochure 2020 minArena animation digital brochure 2020 min
Arena animation digital brochure 2020 min
 
ColorEdge EIZO Monitor
ColorEdge EIZO MonitorColorEdge EIZO Monitor
ColorEdge EIZO Monitor
 
Veda final prospectus 2018-19
Veda final prospectus 2018-19Veda final prospectus 2018-19
Veda final prospectus 2018-19
 

Dernier

Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
dharasingh5698
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 

Dernier (20)

Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdf
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 

Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course

  • 1.
  • 2. SIGGRAPH 2010 Filmic Tonemapping for Real-time Rendering Haarm-Pieter Duiker Duiker Research hpd@duikerresearch.com
  • 3. Filmic Tonemapping Overview • History of Color in Games • Scene-referred and Output-referred data • Cineon Log • What a filmic curve looks like • Authoring a filmic curve • Further work
  • 4. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 4
  • 5. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 5
  • 6. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 6
  • 7. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 7
  • 8. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 8
  • 9. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 9
  • 10. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 10
  • 11. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 11
  • 12. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production HDR data in modern hardware • What problems do modern hardware capabilities bring with them? – Working with HDR data implies Linear color math – Linear data is displayed on non-linear devices • monitors • TV screens 12
  • 13. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production Review of different color spaces • Some (relatively) new terms – Scene-referred – Output-referred – What? Why does this matter now? • Two main color spaces – Scene-referred Linear – Output-referred sRGB 13
  • 14. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 14
  • 15. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 15
  • 16. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production Two phase model of color rendering • Render / Capture linear data • Correct for the display’s characteristics – Get the display to render the intensities of the ‘scene- referred’ data as closely as possible to the original scene 16
  • 17. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production What does Linear data “look” like? 17
  • 18. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 18
  • 19. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 19
  • 20. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 20
  • 21. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 21
  • 22. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 22
  • 23. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production • High contrast • The dynamic range viewable on screen is small • Integer formats can only represent a fixed dynamic range SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production Issues with Scene-referred Linear data 23
  • 24. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production Can we do better than sRGB? • How do we make a scene-referred linear render look like film? • Can we add some artistic control to the proces? – What if we want to make our render look like a film stock that doesn’t exist? 25
  • 25. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 26
  • 26. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 27
  • 27. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 28
  • 28. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production Cineon Log - a new (old) color space • Used in visual effects since circa 1993 • Important properties – Pixel values correspond to negative density • lg = (log10(ln/linReference)/ld*logGamma + logReference)/1023.f • log Density ~= log10(Intensity) ~= Exposure – HDR data in an LDR bit depth • Values greater than 1 map to values less than 1 – Values close to 0 get a lot bits 29
  • 29. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production Visualizing color spaces 30
  • 30. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 31
  • 31. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 32
  • 32. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 33
  • 33. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 34
  • 34. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production Filmic Tonemapping - Four stages • Render / Capture linear data • Convert from Scene-referred Linear to Log – Match the look of a negative film stock here • Apply a “filmic” tonemap to match a print film stock • Correct for the display’s characteristics 35
  • 35. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production What does a “filmic” curve look like? • Let’s look at some curves. Notice – Toe – Shoulder – Channel separation – “Linear” range 36
  • 36. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production A “filmic” curve looks like - Kodak 37
  • 37. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production A “filmic” curve looks like - Color Sym. 38
  • 38. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production A “filmic” curve look like - Sony Anim. 39
  • 39. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production A “filmic” curve looks like - EA / Naughty 40
  • 40. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production Authoring a LUT - Process breakdown • Screenshot from game • Convert to Cineon Log • Treat in Photoshop / Nuke / Grading suite of choice – Make sure it’s a non-destructive edit (use layers) – Or embed an identity lut • Apply treatment to identity lut image – Can be 1d or 3d 41
  • 41. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 42
  • 42. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 43
  • 43. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 44
  • 44. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 45
  • 45. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 46
  • 46. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 47
  • 47. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 48
  • 48. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 49
  • 49. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 50
  • 50. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 51
  • 51. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production Screenshot from game • Can we use Uncharted here? 52
  • 52. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production 53
  • 53. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production Optimized implementation • Three steps of color processing is too expensive • Analytical approximations – Jim Hejl and Richard Burgess-Dawson at EA – John Hable at Naughty Dog 54
  • 54. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production Analytical Approximations • Linear all the way to sRGB-corrected – Requires fitting parameters to authored lut • Different approximations 55
  • 55. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production Approximation 1 56 float4 ps_main( float2 texCoord : TEXCOORD0 ) : COLOR { float3 texColor = tex2D(Texture0, texCoord ); float3 x = max(0,texColor-0.004); float3 retColor = (x*(6.2*x+.5))/(x*(6.2*x+1.7)+0.06); return float4(retColor,1); }
  • 56. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production Approximation 2 57 float A = 0.15; float B = 0.50; float C = 0.10; float D = 0.20; float E = 0.02; float F = 0.30; float W = 11.2; float3 Uncharted2Tonemap(float3 x) { return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F; } float4 ps_main( float2 texCoord : TEXCOORD0 ) : COLOR { float3 texColor = tex2D(Texture0, texCoord ); float ExposureBias = 2.0f; float3 curr = ExposureBias*Uncharted2Tonemap(texColor); float3 whiteScale = 1.0f/Uncharted2Tonemap(W); float3 color = curr*whiteScale;
  • 57. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production Is a 1d Filmic tonemap good enough? • Effects not accounted for by a 1d lut – Color cross-talk – Saturation – Gamut-mapping 58
  • 58. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production Emulating an actual film stock • Authoring a lut can be artistic or emulation driven – Is emulation what your game needs? – You can combine the two 59
  • 59. SIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game ProductionSIGGRAPH 2010 Course: Color Enhancement and Rendering in Film and Game Production Thanks • Naty Hoffman • John Hable • Jim Hejl • Kim Libreri • George Borshukov • Course contributors 60

Notes de l'éditeur

  1. Further work Going beyond a 1d lut Approximations the artistic results Where does this fit in the games rendering pipeline?
  2. Arguably one of the most important changes in gpu graphics in the last couple of years Linear means that an equal perceptual change in exposure is an exponential shift in linear intensity Linearize your textures on read Compensate for the characteristics of display devices through Tone Mapping Choose a Tone Mapping algorithm
  3. What is scene referred data? : Data that represents lighting values from a scene What is output referred data? : Data that represents value for some output medium What’s new here : They are different concepts and need to connected. How dynamic range maps to bits Tone-mapping algorithms can be used to transform Scene-referred data to Output-referred Why the choice of color space is important when you generate luts. Revisit later.
  4. - Start to have a means to describe the data out there in the world, i.e. photons hitting a lens, separately from the data being displayed on a monitor - What you see on your screen isn’t actually the ‘data’ - There is a mapping from Scene-referred to Output-referred
  5. Linear to sRGB is the most common generic transform Since most displays / TVs behave something like sRGB devices
  6. Common assumption in real-time rendering: HDR data just means that you can have values above 1 Picture of a light bulb with values in linear and video?
  7. Correcting for the characteristics of the display gets you - Detail in the darks - Better mid-tones - Less quantization overall
  8. To review - points above - Linear data doesn’t “look” right without some sort of tonemapping -
  9. A graph of an sRGB curve has to go in here somewhere
  10. - This will be a qualitative talk - For a very thorough quantitative simulation of film, see the next talk
  11. - Review the problem - linear element
  12. - Review the problem - sRGB element
  13. - Review the problem - filmic element
  14. - This is a very hand-wavy slide, just going to throw that out there now - From here on our I’ll just refer to Cineon Log as “Log”. There are now a number of new Cineon Log-like color spaces used by different digital video cameras. - “There are many Log spaces like it, but this one is mine” - The distinct mapping between scene-referred linear intensity values and Log Density values makes Cineon Log a bit nicer than some of the other log formats out there right now.
  15. - Review the problem - linear element Dark blacks Clipped whites
  16. - Review the problem - log element Non-clipped whites Range in the blacks Mid-tones aren’t compromised
  17. - Review the problem - filmic element
  18. - Review the problem - sRGB element
  19. - Review the problem - filmic element
  20. A technique that mimics the display of digital film data See earlier talks in this course - 4 steps doesn’t sound very real time. Can we get this down to 2 or even 1 step? Yes.
  21. - Things to notice, Toe, Shoulder, Linear portion and that each channel can and does behave differently
  22. aka Kodak Sensitometry Curves, Characteristic curves, Hurter-Driffield curves (from 1876, wow) - Things to notice, Toe, Shoulder, Linear portion and that each channel can and does behave differently
  23. Example curve from Color Symmetry
  24. Example curves from Sony
  25. Example curves from EA / Uncharted (Naughty Dog)
  26. - How do I make my own?
  27. Grey point and base curve - It’s easy to come up with a nice image that looks really different than the normal game engine output - In order to avoid real culture shock for the artists and engineers, keeping the grey levels consistent between the filmic tonemap and the normal sRGB is a good thing grey in sRGB ~= 118, 0.48 in log = 444, 110 white in sRGB ~= 255, 1 in log = 685, 171 black in sRGB ~= 0, 0 in log = 95, 24
  28. scene-referred linear
  29. cineon log
  30. sRGB
  31. filmic
  32. We like the results, but the process seems too expensive for a shipping game. Where should the tonemap be applied?
  33. - Matlab example of fitting parameters to curve in course notes?
  34. - The choice is definitely yours - Add image of Marcie with 1d and 3d representations of Kodak Premiere - Look at different film stocks, as presented by Adobe
  35. - Autodesk supplied .3dl files with Maya and Toxik - Adobe supplied .icc profiles with After Photoshop and After Effects - Copyright issues?