SlideShare a Scribd company logo
1 of 114
Download to read offline
1
2
3
You play as Drake, the loveable rogue. Check out this link for more character
development: http://www.penny-arcade.com/comic/2009/10/19/.




                                                                                4
5
6
7
8
9
The best implementation of skin in realtime that I’ve seen is the NVIDIA Human Head
demo.




                                                                                      10
When you look at the render on the left vs. an actual picture of Doug Jones, there is a
certain fleshiness that is hard to explain. That’s what I like about the NVIDIA
technique. On some level, it just “feels” like skin.




                                                                                          11
Obviously, movies can go much farther than we can in realtime. We’ll catch up
eventually…I hope.




                                                                                12
This next section with show lots of pictures using Lazarevic from U2. Note that these
tests are in Rendermonkey, not the game engine.




                                                                                        13
14
Lazaravic with standard dot(N,L) lighting.




                                             15
16
The NVIDIA technique divides light into diffuse light that gets absorbed and
immediately retransmitted, versus light that bounces around inside the skin for a
while before exiting. Not that the SSS light is more red-ish.




                                                                                    17
18
Their approach uses essentially 6 layers of blur.




                                                    19
The first layer is essentially no blur. This simulates light that gets absorbed and
immediately retransmitted.




                                                                                      20
The use weights for all 5 lightmaps to simulate the light that bounces inside the skin.




                                                                                          21
22
23
The left side is a standard dot(N,L) and the right is with the NVIDIA skin shading.




                                                                                      24
Key point: The normals that point towards the light tend to look more cyan-ish and
the normals that point away tend to be more red-ish.




                                                                                     25
Comparison of pure dot(N,L) diffuse to the NVIDI SSS technique.




                                                                  26
Their approach looks great, but is very expensive in both memory.




                                                                    27
28
Instead of using 5 gaussian blurs, we’ll try to approximate that with a single 12-tap
blur. It’s not as good, but much, much cheaper.




                                                                                        29
Check the ShaderX7 chapter for more detail.




                                              30
31
32
33
34
35
36
37
38
39
40
Notice how using different normals for R/G/B seems to cause some blue spottiness.




                                                                                    41
That’s because you have cases where the blue diffuse is near 1 and the red diffuse is
near 0.




                                                                                        42
Another approach is to do a diffuse calculation for the Geometry and Normal
Mapped normals, and lerp between them taking more red from the Geometry
normal and more Green/Blue from the normal mapped normal.




                                                                              43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Sometimes, in cutscenes, the shots get pretty close, so we need the quality.




                                                                               61
You spend most of normal gameplay staring at the back of Drake’s neck, so a separate
pass for SSS was not worth the cost.




                                                                                       62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
The left shot is one of the first released screenshots before a lot of the tech got in.
The one on the right is what we shipped. The one on the left has lots of hacks that
we eventually took out, such as that orange glow around Drake’s skin.




                                                                                          84
85
86
87
88
89
90
91
Notice that the NVIDIA demo has a harsh falloff. It looks great if you do everything
else right, which is why that demo is the gold standard for skin in realtime.




                                                                                       92
93
Since he looks fleshy, you would think that he has blurry maps.




                                                                  94
95
96
In the demo, they have extremely detailed maps and they use the lighting model to
soften it.




                                                                                    97
IMO what makes skin look right is how light bleeds around the normals. If you paint
soft maps with no detail in the normals, it just looks flat.




                                                                                      98
Notice that there is more detail in the shot on the right. For U2, we really cranked
the detail in the maps and the strength of the normals and then let the lighting model
soften it.




                                                                                         99
100
101
102
103
Don’t bake too much AO into your diffuse maps.




                                                 104
105
You get HDR lighting from having high dynamic range in your LIGHTING. I see a lot of
games that have all the tech for HDR lighting, but it still looks flat. The reason 99% of
the time is that they have too much black in their textures. For an example of a game
doing a really good job of managing their textures, check out Mirror’s Edge.




                                                                                            106
107
108
109
110
Go through the cutscenes again and look for Drake’s tongue. You’ll see what I mean.




                                                                                      111
I’m a big fan of custom lighting models (i.e. beyond Blinn-Phong). Btw, doing proper
Linear-Space Lighting is more important than everything in this presentation
combined.




                                                                                       112
113
114

More Related Content

Viewers also liked

Pim marketing trend report russian version
Pim marketing trend report   russian versionPim marketing trend report   russian version
Pim marketing trend report russian versionPim van Geest
 
VidInc Sydney - The Evolving Digital Eco-System
VidInc Sydney - The Evolving Digital Eco-SystemVidInc Sydney - The Evolving Digital Eco-System
VidInc Sydney - The Evolving Digital Eco-SystemLouder
 
Social Media & CRM; strategische verkenning - Stephan ten Kate
Social Media & CRM; strategische verkenning - Stephan ten KateSocial Media & CRM; strategische verkenning - Stephan ten Kate
Social Media & CRM; strategische verkenning - Stephan ten KateCRM excellence
 
Alpha art tro thanh nguoi dan ong moi phu nu mong uoc
Alpha art tro thanh nguoi dan ong moi phu nu mong uocAlpha art tro thanh nguoi dan ong moi phu nu mong uoc
Alpha art tro thanh nguoi dan ong moi phu nu mong uocti2li119
 
Mumbrella - Programmatic For Marketers
Mumbrella - Programmatic For MarketersMumbrella - Programmatic For Marketers
Mumbrella - Programmatic For MarketersLouder
 
20110607 social crm strategie - crm excellence
20110607 social crm strategie - crm excellence20110607 social crm strategie - crm excellence
20110607 social crm strategie - crm excellenceCRM excellence
 
Enabling Dreams
Enabling  DreamsEnabling  Dreams
Enabling Dreamssantaana1
 
LeafRunningSustBusinessFinal
LeafRunningSustBusinessFinalLeafRunningSustBusinessFinal
LeafRunningSustBusinessFinalAlice Facincani
 
10 x zonde bij CRM gebruikersacceptatie
10 x zonde bij CRM gebruikersacceptatie10 x zonde bij CRM gebruikersacceptatie
10 x zonde bij CRM gebruikersacceptatieCRM excellence
 
лабораторийн ажил 1
лабораторийн ажил 1лабораторийн ажил 1
лабораторийн ажил 1ulziibaatar
 
My Pitch to end hunder
My Pitch to end hunderMy Pitch to end hunder
My Pitch to end hunderalind tiwari
 

Viewers also liked (20)

Cell structures
Cell structuresCell structures
Cell structures
 
Pim marketing trend report russian version
Pim marketing trend report   russian versionPim marketing trend report   russian version
Pim marketing trend report russian version
 
VidInc Sydney - The Evolving Digital Eco-System
VidInc Sydney - The Evolving Digital Eco-SystemVidInc Sydney - The Evolving Digital Eco-System
VidInc Sydney - The Evolving Digital Eco-System
 
Walis 2009
Walis 2009Walis 2009
Walis 2009
 
Social Media & CRM; strategische verkenning - Stephan ten Kate
Social Media & CRM; strategische verkenning - Stephan ten KateSocial Media & CRM; strategische verkenning - Stephan ten Kate
Social Media & CRM; strategische verkenning - Stephan ten Kate
 
Alpha art tro thanh nguoi dan ong moi phu nu mong uoc
Alpha art tro thanh nguoi dan ong moi phu nu mong uocAlpha art tro thanh nguoi dan ong moi phu nu mong uoc
Alpha art tro thanh nguoi dan ong moi phu nu mong uoc
 
Mifos
MifosMifos
Mifos
 
Quale futuro per l'acqua
Quale futuro per l'acquaQuale futuro per l'acqua
Quale futuro per l'acqua
 
DOF
DOFDOF
DOF
 
Mumbrella - Programmatic For Marketers
Mumbrella - Programmatic For MarketersMumbrella - Programmatic For Marketers
Mumbrella - Programmatic For Marketers
 
20110607 social crm strategie - crm excellence
20110607 social crm strategie - crm excellence20110607 social crm strategie - crm excellence
20110607 social crm strategie - crm excellence
 
Rocks of the esrt guide
Rocks of the esrt guideRocks of the esrt guide
Rocks of the esrt guide
 
Enabling Dreams
Enabling  DreamsEnabling  Dreams
Enabling Dreams
 
LeafRunningSustBusinessFinal
LeafRunningSustBusinessFinalLeafRunningSustBusinessFinal
LeafRunningSustBusinessFinal
 
Contours123
Contours123Contours123
Contours123
 
10 x zonde bij CRM gebruikersacceptatie
10 x zonde bij CRM gebruikersacceptatie10 x zonde bij CRM gebruikersacceptatie
10 x zonde bij CRM gebruikersacceptatie
 
final test
final testfinal test
final test
 
Maas
MaasMaas
Maas
 
лабораторийн ажил 1
лабораторийн ажил 1лабораторийн ажил 1
лабораторийн ажил 1
 
My Pitch to end hunder
My Pitch to end hunderMy Pitch to end hunder
My Pitch to end hunder
 

More from ozlael ozlael

Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)ozlael ozlael
 
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)ozlael ozlael
 
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 Harknessozlael ozlael
 
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...ozlael ozlael
 
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.ozlael ozlael
 
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.ozlael ozlael
 
Infinity Blade and beyond
Infinity Blade and beyondInfinity Blade and beyond
Infinity Blade and beyondozlael ozlael
 
스티브잡스처럼 프레젠테이션하기
스티브잡스처럼 프레젠테이션하기스티브잡스처럼 프레젠테이션하기
스티브잡스처럼 프레젠테이션하기ozlael ozlael
 
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)ozlael ozlael
 
Introduce coco2dx with cookingstar
Introduce coco2dx with cookingstarIntroduce coco2dx with cookingstar
Introduce coco2dx with cookingstarozlael ozlael
 
Deferred rendering case study
Deferred rendering case studyDeferred rendering case study
Deferred rendering case studyozlael ozlael
 
Kgc make stereo game on pc
Kgc make stereo game on pcKgc make stereo game on pc
Kgc make stereo game on pcozlael ozlael
 
Modern gpu optimize blog
Modern gpu optimize blogModern gpu optimize blog
Modern gpu optimize blogozlael ozlael
 
Bickerstaff benson making3d games on the playstation3
Bickerstaff benson making3d games on the playstation3Bickerstaff benson making3d games on the playstation3
Bickerstaff benson making3d games on the playstation3ozlael ozlael
 
Deferred rendering in_leadwerks_engine[1]
Deferred rendering in_leadwerks_engine[1]Deferred rendering in_leadwerks_engine[1]
Deferred rendering in_leadwerks_engine[1]ozlael ozlael
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2ozlael ozlael
 

More from ozlael ozlael (20)

Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)
 
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
 
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
 
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...
 
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) Unite Seoul Ver.
 
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
유니티 그래픽 최적화, 어디까지 해봤니 (Optimizing Unity Graphics) NDC15 Ver.
 
Infinity Blade and beyond
Infinity Blade and beyondInfinity Blade and beyond
Infinity Blade and beyond
 
스티브잡스처럼 프레젠테이션하기
스티브잡스처럼 프레젠테이션하기스티브잡스처럼 프레젠테이션하기
스티브잡스처럼 프레젠테이션하기
 
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
유니티의 라이팅이 안 이쁘다구요? (A to Z of Lighting)
 
Introduce coco2dx with cookingstar
Introduce coco2dx with cookingstarIntroduce coco2dx with cookingstar
Introduce coco2dx with cookingstar
 
Deferred rendering case study
Deferred rendering case studyDeferred rendering case study
Deferred rendering case study
 
Kgc make stereo game on pc
Kgc make stereo game on pcKgc make stereo game on pc
Kgc make stereo game on pc
 
mssao presentation
mssao presentationmssao presentation
mssao presentation
 
Modern gpu optimize blog
Modern gpu optimize blogModern gpu optimize blog
Modern gpu optimize blog
 
Modern gpu optimize
Modern gpu optimizeModern gpu optimize
Modern gpu optimize
 
Bickerstaff benson making3d games on the playstation3
Bickerstaff benson making3d games on the playstation3Bickerstaff benson making3d games on the playstation3
Bickerstaff benson making3d games on the playstation3
 
DOF Depth of Field
DOF Depth of FieldDOF Depth of Field
DOF Depth of Field
 
Deferred rendering in_leadwerks_engine[1]
Deferred rendering in_leadwerks_engine[1]Deferred rendering in_leadwerks_engine[1]
Deferred rendering in_leadwerks_engine[1]
 
Deferred shading
Deferred shadingDeferred shading
Deferred shading
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Hable uncharted2(siggraph%202010%20 advanced%20realtime%20rendering%20course)

  • 1. 1
  • 2. 2
  • 3. 3
  • 4. You play as Drake, the loveable rogue. Check out this link for more character development: http://www.penny-arcade.com/comic/2009/10/19/. 4
  • 5. 5
  • 6. 6
  • 7. 7
  • 8. 8
  • 9. 9
  • 10. The best implementation of skin in realtime that I’ve seen is the NVIDIA Human Head demo. 10
  • 11. When you look at the render on the left vs. an actual picture of Doug Jones, there is a certain fleshiness that is hard to explain. That’s what I like about the NVIDIA technique. On some level, it just “feels” like skin. 11
  • 12. Obviously, movies can go much farther than we can in realtime. We’ll catch up eventually…I hope. 12
  • 13. This next section with show lots of pictures using Lazarevic from U2. Note that these tests are in Rendermonkey, not the game engine. 13
  • 14. 14
  • 15. Lazaravic with standard dot(N,L) lighting. 15
  • 16. 16
  • 17. The NVIDIA technique divides light into diffuse light that gets absorbed and immediately retransmitted, versus light that bounces around inside the skin for a while before exiting. Not that the SSS light is more red-ish. 17
  • 18. 18
  • 19. Their approach uses essentially 6 layers of blur. 19
  • 20. The first layer is essentially no blur. This simulates light that gets absorbed and immediately retransmitted. 20
  • 21. The use weights for all 5 lightmaps to simulate the light that bounces inside the skin. 21
  • 22. 22
  • 23. 23
  • 24. The left side is a standard dot(N,L) and the right is with the NVIDIA skin shading. 24
  • 25. Key point: The normals that point towards the light tend to look more cyan-ish and the normals that point away tend to be more red-ish. 25
  • 26. Comparison of pure dot(N,L) diffuse to the NVIDI SSS technique. 26
  • 27. Their approach looks great, but is very expensive in both memory. 27
  • 28. 28
  • 29. Instead of using 5 gaussian blurs, we’ll try to approximate that with a single 12-tap blur. It’s not as good, but much, much cheaper. 29
  • 30. Check the ShaderX7 chapter for more detail. 30
  • 31. 31
  • 32. 32
  • 33. 33
  • 34. 34
  • 35. 35
  • 36. 36
  • 37. 37
  • 38. 38
  • 39. 39
  • 40. 40
  • 41. Notice how using different normals for R/G/B seems to cause some blue spottiness. 41
  • 42. That’s because you have cases where the blue diffuse is near 1 and the red diffuse is near 0. 42
  • 43. Another approach is to do a diffuse calculation for the Geometry and Normal Mapped normals, and lerp between them taking more red from the Geometry normal and more Green/Blue from the normal mapped normal. 43
  • 44. 44
  • 45. 45
  • 46. 46
  • 47. 47
  • 48. 48
  • 49. 49
  • 50. 50
  • 51. 51
  • 52. 52
  • 53. 53
  • 54. 54
  • 55. 55
  • 56. 56
  • 57. 57
  • 58. 58
  • 59. 59
  • 60. 60
  • 61. Sometimes, in cutscenes, the shots get pretty close, so we need the quality. 61
  • 62. You spend most of normal gameplay staring at the back of Drake’s neck, so a separate pass for SSS was not worth the cost. 62
  • 63. 63
  • 64. 64
  • 65. 65
  • 66. 66
  • 67. 67
  • 68. 68
  • 69. 69
  • 70. 70
  • 71. 71
  • 72. 72
  • 73. 73
  • 74. 74
  • 75. 75
  • 76. 76
  • 77. 77
  • 78. 78
  • 79. 79
  • 80. 80
  • 81. 81
  • 82. 82
  • 83. 83
  • 84. The left shot is one of the first released screenshots before a lot of the tech got in. The one on the right is what we shipped. The one on the left has lots of hacks that we eventually took out, such as that orange glow around Drake’s skin. 84
  • 85. 85
  • 86. 86
  • 87. 87
  • 88. 88
  • 89. 89
  • 90. 90
  • 91. 91
  • 92. Notice that the NVIDIA demo has a harsh falloff. It looks great if you do everything else right, which is why that demo is the gold standard for skin in realtime. 92
  • 93. 93
  • 94. Since he looks fleshy, you would think that he has blurry maps. 94
  • 95. 95
  • 96. 96
  • 97. In the demo, they have extremely detailed maps and they use the lighting model to soften it. 97
  • 98. IMO what makes skin look right is how light bleeds around the normals. If you paint soft maps with no detail in the normals, it just looks flat. 98
  • 99. Notice that there is more detail in the shot on the right. For U2, we really cranked the detail in the maps and the strength of the normals and then let the lighting model soften it. 99
  • 100. 100
  • 101. 101
  • 102. 102
  • 103. 103
  • 104. Don’t bake too much AO into your diffuse maps. 104
  • 105. 105
  • 106. You get HDR lighting from having high dynamic range in your LIGHTING. I see a lot of games that have all the tech for HDR lighting, but it still looks flat. The reason 99% of the time is that they have too much black in their textures. For an example of a game doing a really good job of managing their textures, check out Mirror’s Edge. 106
  • 107. 107
  • 108. 108
  • 109. 109
  • 110. 110
  • 111. Go through the cutscenes again and look for Drake’s tongue. You’ll see what I mean. 111
  • 112. I’m a big fan of custom lighting models (i.e. beyond Blinn-Phong). Btw, doing proper Linear-Space Lighting is more important than everything in this presentation combined. 112
  • 113. 113
  • 114. 114