122
Shader Study 해강

[Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

  • View
    232

  • Download
    9

Embed Size (px)

DESCRIPTION

원본 http://www.slideshare.net/guerrillagames/lighting-of-killzone-shadow-fall

Citation preview

Page 1: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

Shader Study 해강

Page 3: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

데모영상

http://www.youtube.com/watch?v=Vl4UfimzO08

Page 4: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

DICE의 테크 디렉터인 Johan Andersson의 SIGGRAPH 2012 발표 향후 5~10년간 해결해야 하는, 이슈화 될 만한 주제들로 다섯가지를 뽑았다 1. anti aliasing 2. 효율적인 조명 3. cpu와 gpu의 효율적인 사용 4. 비용을 효율적으로 5. 더 크고 세부적인 퀄리티, 저전력

Page 5: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

더 이상 단순 폴리곤 증가로 시각적인 효과를 얻을 수 없기 때문 킬존 쉐도우폴의 발표자료를 보니 비슷한 고민에서 접근, 그래서 발표합니다

Page 6: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 7: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 8: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

플레이스테이션4용의 두개의 타이틀을 준비중 킬존 쉐도우폴과 새로운 IP 1080p 30fps로 돌리겠어

Page 9: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

3가지를 중심적으로 다룸

Page 10: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

2011년 PS3로 나온 킬존3 차세대기로 나오는 타이틀인 만큼 뭔가 다른걸 보여줘야겠다

Page 11: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

PS4 사양은 8 CORE CPU, 4 GB RAM

PS3와 다르게 PC 친화적인 구조

디버거등 개발도구들은 이미 구비되어 있었음

PS4 30% 정도 사양으로 개발(1.5 RAM 사용?)

거의 대부분의 코드는 멀티스레딩, 30FPS 고정

Page 12: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

킬존3 10,000 Polygon 1024 x 1024

쉐도우폴 약 4배, 4만 다각형

몸에 사용되는 텍스쳐는 2048 * 2048 6장

detail map + head textures

프로그램이 정말 쉽고 gpu가 정말 빠르다

Page 13: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

HDR Lighting이나 파티클을 제한적으로 사용하는게 아니라

모두 조합해 한 화면에 사용

Nvidia's FXAA를 사용

MSAA가 더 큰 메모리를 차지해서 그런지 이쪽 언급은 없다

그러나 소니측에서 개발중인 TMAA라는 향상된 안티 앨리어싱을 준비중

Page 14: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

디퍼드 쉐이딩 사용 전체 파이프 라인은 HDR 및 선형 공간 사용 물리적으로 올바른 라이팅 모델 로 전환 보존 에너지, 계산 기하 감쇠 계수 모든 개체에 투명감과 프레넬 효과 지원 모든 빛은 지역 빛이다, Volumetrics 마다 빛 지원 실시간 반사와 지역화 반사 큐브 맵, 실시간 조명과 일치하는 적절한 빛의 양 계산

Page 15: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 16: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 17: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 18: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 19: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

물리적 기반 조명으로 사실적인 화면을 쉽게 얻기

HDR 환경에서 일관성

아티스트들이 간단히 재질

간단한 문제 해결 및 확장

Page 20: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 21: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

기본 색상은 모든 방향에서 빛을 통합해서 수신

스팩큘러를 위한 빛은 한방향에서 온다

Page 22: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

이미지 기반 조명 ( IBL )은 일반적으로 특수 카메라를 사용하여 이미지로 현실 세계의 빛 정보의 방향성 표현을 캡처, 포함하는 3D 렌더링 기술

Page 23: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

IBL(Image Based Lighting)

환경맵과 유사하지만 다르다

환경맵은 무한히 반사

IBL은 빛 행렬에 영향을 받아 반사된 이미지

Page 24: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 25: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

들어오는 빛에 대한 반응은 각각의 다양한 표면 물리적 특성에 따라 장면에서 빛의 양은 물리적 특성과 조명의 수에 따라

Page 26: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

물리적 기반 음영 : 실생활 의 예

눈에 보이는 조명 부분을 차지

모든 물질은 반사 조명을 전시

각도에 따라

물질 유형 에 따라

Page 27: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 28: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 29: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 30: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 31: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 32: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

재질에 따라 각기 다른 반사율을 가진다

Page 33: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 34: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 35: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 36: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 37: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 38: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 39: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

거칠기 정도에 따라 다양한 재질 표현

Page 40: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 41: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

3개의 파라메터를 가진다

알베도, 거칠기, 반사

라이트가 미리 구워진게 아니라 분리되어 있기 때문에어떤 환경에서도 오케

Page 42: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 43: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 44: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 45: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 46: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

재료의 특성

대부분의 물질 에 대한 측정 값(실제 테이블 에서 사용할 수 있는)

모든 재료는 대략 이러한 매개 변수 에 의해 정의 될 수 있다

포토샵 색상 견본으로 제공

손으로 그린 텍스처가 기본

Page 47: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

사용 예

오래된 금속 표면, 벗겨진 페인트, 스크래치, 총알 구멍, 녹

Page 48: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

단순화된 거칠기 텍스처

얇고 오래된 페인트 , 긁힌 곳은 철을 보여준다, 때문에 풍화 효과를 부드럽게 R = 고

순수한 녹 : R = 매우 낮은

녹슨 금속 : R = 금속의 느낌과 광택을 반반 해서 섞어 표현

총알 구멍 : 고온에서 변화된 철( 충격 에너지 에 의한 ) : R = 매우 높은

순수 오래된 페인트 : R = 중간

Page 49: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

간단한 스펙큘러 반사 텍스처

얇고 오래된 페인트는 긁힌 부분에 철이 드러난다 SR = 낮은 철

녹, 비 금속 : SR = 저 , 비 금속

녹슨 금속 : SR = 보통 , 비 금속, 낮은 철 의 반짝임

철에 생긴 총알 구멍 : SR = 철

순수 페인트 SR = 낮음, 보통 , 높음 아닌 금속 ,

페인트 종류에 따라 다름, 이전 페인트 = 저, 새 페인트 = 중간 / 높음

Page 50: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

간단한 알베도 텍스처

흰색의 오래된 페인트 , 긁힌 곳은 아래철 을 보여준다 A = 어두운 회색(금속을 보여준다 )

순수한 녹 : A = 오래된 콘크리트 안의 녹

철에 생긴 총알 구멍 : A = 매우 어둡게( 금속)

흰색 오래된 페인트 : A = 콘크리트의 알베도 범위에서 흰색 ( 밝은 회색 )

Page 51: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

BRDF 사용

* 쿡토렌스 조명 모델을 기본 베이스(금속 표면을 표현하는데 적합한 조명 모델)

프레넬, 쉬릭스 근사(Schlick’s approximation)

프레넬 항이 약간 틀리더라도 차이 없으므로 근사값 사용

float3 refindex = { 0.85f, 1.0f, 1.0f };

float F = lerp( pow(1 - NV, 5), 1, refindex);

* 정반사율을 정규화해 사용, 원뿔 형태의 각도에서 거칠기가 중요하다

* 거의 정확한 근사치의 투명화, 밀도도 사용, 반투명 산란 맵

Page 52: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 53: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 54: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 55: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 56: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 57: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 58: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 59: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 60: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 61: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 62: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 63: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 64: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 65: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 66: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

모든 빛은 크기, 형태, 강렬함 을 가진다

아트는 사진, 빛의 방향에 의해 결정

Page 67: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 68: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 69: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 70: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 71: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 72: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 73: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 74: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 75: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 76: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 77: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 78: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 79: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 80: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 81: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 82: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 83: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 84: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 85: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 86: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 87: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

상자의 조명이 적용되는 블러가 먹는 부분 그 부분을 매우 강조(블러 안 맥이고 ibl을 그냥 하면 경계가 뚜렷)

Page 88: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

Ies light는 조명의 크기가 밝기에 영향을 안 줌

lithonia.com 소스가 있고

photometricviewer.com(광도측정?) 뷰어가 있음

Page 89: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 90: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 91: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 92: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 93: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

3 층 반사 광선 추적 시스템

실시간 광택 반사

한정적인 영역에 영향을 주는 큐브 맵

스카이 박스

Page 94: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 95: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 96: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 97: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 98: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 99: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 100: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 101: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 102: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 103: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 104: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 105: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 106: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 107: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 108: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 109: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 110: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 111: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 112: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 113: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 114: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 115: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 116: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 117: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 118: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 119: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 120: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)

결론적으로

물리 베이스 라이팅은 높은 퀄리티, 빠른 생산력, 다른 환경에도 높은 재사용성

물리 영역 라이팅은 포인트 라이트는 빠이, 쉽게 작업, 높은 퀄리티

실시간 반사는 비주얼에 중요한 요소

Page 121: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
Page 122: [Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)