[shader study] lighting killzone : shadow fall - 발표메모(13.10.14)

Post on 08-Jul-2015

228 Views

Category:

Engineering

9 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Shader Study 해강

데모영상

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

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

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

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

3가지를 중심적으로 다룸

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

PS4 사양은 8 CORE CPU, 4 GB RAM

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

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

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

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

킬존3 10,000 Polygon 1024 x 1024

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

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

detail map + head textures

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

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

모두 조합해 한 화면에 사용

Nvidia's FXAA를 사용

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

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

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

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

HDR 환경에서 일관성

아티스트들이 간단히 재질

간단한 문제 해결 및 확장

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

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

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

IBL(Image Based Lighting)

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

환경맵은 무한히 반사

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

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

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

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

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

각도에 따라

물질 유형 에 따라

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

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

3개의 파라메터를 가진다

알베도, 거칠기, 반사

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

재료의 특성

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

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

포토샵 색상 견본으로 제공

손으로 그린 텍스처가 기본

사용 예

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

단순화된 거칠기 텍스처

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

순수한 녹 : R = 매우 낮은

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

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

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

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

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

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

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

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

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

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

간단한 알베도 텍스처

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

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

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

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

BRDF 사용

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

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

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

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

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

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

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

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

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

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

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

lithonia.com 소스가 있고

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

3 층 반사 광선 추적 시스템

실시간 광택 반사

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

스카이 박스

결론적으로

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

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

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

top related