1. Sebastien Lagarde의 PBS -> 언리얼4 물리기반의 기초가 되는 이론
-
PBS의 기본 이론인 Lazarov의 이론에서 개량된 이론이며 언리얼 엔진4 PBS의 기본이 되는이론
https://seblagarde.wordpress.com/tag/physically-based-rendering/(누가 번역좀.....)
2. Ambient Light의 이해
-
빛 a가 물체 A에 부딪혀, 반사되어진 빛 a가 물체 B에 다시 부딪혔을 때, 빛 a는 물체 B에 대하여 환경광(Ambient Light)라고 할 수 있다.
이런 빛을 다른 말로 간접광이라고도 하는데, 물체 B에게 빛 a는 간접적인 빛이기 때문이다. 이런 특성으로 인하여, 한 물체에 환경광은 복잡하게 부딪히게 되며, 여러 방향에서 발견되어 진다. 어찌보면 물체의 전반적인 부위에 평균적인 환경 광량 만큼 물체에 부딪히게 되는 것이다.
http://nizainar.tistory.com/tag/3ds%20max
3. Phong 쉐이딩의 이해
-
1975년 퐁 뷰이통에 의해 개발된 기술이다. 3차원 그래픽에서 각각의 화소 컬러에 조명에 기초하여 음영이 있는 표면을 계산한다. 퐁 쉐이딩은 면 단위가 아닌 화소 단위로로 오브젝트를 렌더링 하므로 텍스쳐의 질감, 반사 투명도, 범프등의 효과를 정교하게 반영한다. 폴리곤으로 구성되어 있는 각진 면을 부드럽게 처리하는데 효과적이다.
-
고러드 쉐이딩의 업그레이드 버전. 정점들 사이의 표면 노말들을 하나의 표면 노말로 분해하여 면의 모든 픽셀에 대한 노말을 계산
-
4. 램버트 쉐이더의 이해
-
퐁쉐이더는 사물에는 좋지만, 사람에게 쓰이기엔 부족한게 많은 쉐이더이다.
그래서 등장한 것이 램버트 쉐이더이다. 밸브에서 개발했으며 하프라이프에 처음 사용되었다.
-
Dot(L,N)이 됩니다. L은 라이트 벡터, N은 법선 벡터를 말합니다. 이 둘을 dot프로덕트하면 램버트 라이팅이 된다. 법선 벡터(노말맵)가 곱해지면서 표면에 굴곡진 라이팅이 생성됐습니다.
-
이 쉐이더의 가장 큰 문제점은 명암차가 너무 뚜렷하다는 것입니다.
-
이러한 단점을 처리한 것이 바로 하프 램버트입니다. 램버트에 0.5를 곱해 평준화 시킨 다음 0.5를 더해서 x축으로 들어 올리는 겁니다. Dot(L,N) *0.5f + 0.5f
-
하지만, 하프 램버트에도 단점이 있다. 명이 너무 넓고 암이 너무 좁습니다. 즉, 음영 콘트라스트가 거의 없습니다. 이것을 해결하기 위해 추가된 것이 계수입니다.
하프 램버트를 몇 번 제곱해서 콘트라스트를 올려 주는 겁니다.
Pow((dot(L, N) *0.5f + 0.5F, n) 스몰n은 임의의 계수이며 일반적으로 4이다.
--------------------------- 아래부터 물리 기반 렌더러의 이론들---------------------------
5. Oren-Nayar 조명 모델이란..(물리 기반 렌더링에서 가장 중요한 이론!!)
http://www.gamedevforever.com/93 a반드시 필독요망!!!
-
Lambert의 diffuse model은 모든 방향에서 같은 복사량을 취하게 된다는 가정을 깔고 있으며, 플라스틱이나 모래와 같이 반들반들한 표면을 가진 재질에 적합하다고 할 수 있습니다. 하지만, 현실세계에서 거친 표면을 가진 재질들이 많이 있지요.
-
Oren-Nayar Model의 공식을 유도할 때 사용되는 거친 표면(roughbess Surface)이라는 것은 서로 다른 각도를 가진 Torrance 와 Sparrow에 의해 제안된 미세면(microfacet)들의 집합으로서 설명될 수 있습니다.
여기에서 미세면의 표면은 길고 대칭적인 V 자 형태의 굴곡(cavity)으로 구성된다고 가정합니다. 또한, 각 cavity는 두 개의 평면의 면으로 구성됩니다.
면의 거친 정도는 경사진 면의 분산을 위한 확률 함수로 결정되는데, 보통 Gaussian distribution 이 사용됩니다.
6. 프레넬(Fresnel)에 대한 이해 (물리 기반 렌더러에 사용되는 이펙트 효과)
-
투명하게 반사되는 물질이라 하더라도 시야각이 얕으면 투명함이 사라지는 효과를 말합니다.(광택이 되어 있는 마루바닥..?) 수학적으로는 되게 복잡한 이론인데 간단히 설명하면 물이 깨끗한 호수가에 서서 바로 아래를 내려다 보면 바닥이 다 보입니다. 하지만 멀리서 바라보면 호수물이 거울 반사처럼 반사됩니다. 이것이 프레넬 효과
-
스마트폰을 비스듬하게 볼때와 정면에서 볼때의 차이점을 이해하자.
7. Blinn-Phong Specular (물리기반 렌더러에 사용되는 스펙큘러)
http://blog.naver.com/tepet/140064908839
http://blog.naver.com/imalone1/70088285161
짐 블린이 시그라프 98에서 발표한 블린 퐁 쉐이딩.
쉽게 말해 퐁 방정식과 블린 방정식을 합쳐서 장점만 취한 쉐이딩
8. 각 물체 별 거칠기와 미세 표면(Oren-Nayar의 수식을 뒷받침하는 물리기반 렌더러에 기초적인 이론)
각 물체에는 거칠기와 미세표면이 존재한다.
그것들을 수식화하여 표현하는 것이 물리기반 렌더링
-
참고 문헌(티타늄의 미세표면 구조 논문)
9. Image Base Lighting(물리 기반 렌더러의 라이트 방식)
주로 프리렌더링에서 gi용으로 사용하는 hdri를 생각하면 쉽게 이해할 수 있다.(멘탈레이.. 브이레이..등등)
베이스로 삼는 이미지의 색상만이 아니라 밝기 자체를 광원으로 처리하는 방식이다.
멘탈레이, 브이레이 등등..을 생각하면 이해가 빠를 듯 합니다.
10. 에너지 보존 법칙 -> 매우 중요!!(물리 기반 렌더링의 기본이 되는 이론)
-
열역학 제 1법칙. 물리기반 렌더링의 근간이 되는 법칙.
-
에너지 보존은 PBR렌더링 솔루션에서 중요한 역할을 합니다. 이것은 표면에 의해 반사되는 빛의 총 량은 이 것이 받는 빛의 총 량보다 작다고 주장합니다. 다른 말로, 표면에서 반사되는 빛은 절대로 표면에 충돌하기 전의 빛보다 강할 수 없다는 말입니다.
아티스트로서 우리는 에너지 보존을 컨트롤할 걱정은 하지 않아도 됩니다. 에너지 보존이 쉐이더에 의해서 알아서 된다는 사실은 PBR의 좋은 측면 중 하나입니다. 이것은 물리기반 모델의 부분 중 하나이며 우리에게 물리보다 아트에 집중할 수 있게 해줍니다.
11. 디퍼드 렌더링이란?(참고만 하세요~시험 안나옴)
-
디퍼드 라이트는 라이트와 그림자에 특화된 렌더링 패스입니다.
-
모든 라이트가 퍼 픽셀로 계산되며, 이것은 그것들이 노말맵 등등과도 인터렉티브하게 작동된다는 것을 의미합니다.
-
단점 : 리얼안티알리아싱이 지원 안됨. 반투명 오브젝트는 제어 안됨. 블린 봉 라이트만 지원. 모든 라이트는 같은 방법으로 계산되어 버린다. 각각의 오브젝트를 드라마틱한 다른 라이팅 모델로 계산할 수 없다.
-
황군 사이트 참조 http://hwanggoon.tistory.com/18
12. 물리 기반 렌더링에 도움 받기 위한 참고 사이트(빨간색 부분들만 잘 보셔도 이해가 빠를거에요~)
-
이득우 대표(언리얼저자) - http://www.inven.co.kr/webzine/news/?news=109193
- 언리얼 튜토리얼
https://docs.unrealengine.com/latest/KOR/Engine/Rendering/Materials/PhysicallyBased/index.html
-
2013 NDC 발표 자료(강추)
http://www.slideshare.net/jalnaga/ndc13ndc-2013-udk-19999169
-
물리 기반 렌더러의 기본 이론정리(카페가입 필수 및 강추)
http://cafe.naver.com/unrealfx/7128
-
2014 NDC 발표 자료
http://www.slideshare.net/jooeunpark501/ndc2015-1
-
쉐이더의 기본 이론(김포프)
http://kblog.popekim.com/2011/11/01-part-1.html
13. 쉐이더의 발전 흐름 계보
퐁 쉐이더 ?> 램버트 쉐이더(하프라이프) = 블린 퐁 쉐이더(98년 시그라프) -> 물리기반 쉐이더 --> 기억해 주심 좋을 듯^^
시대가 흐를수록 쉐이더가 좋아졌다고 하기 보다 기존 쉐이더들의 장점을 극대화 시켜 물리기반으로 정확히 계산하는 오차를 줄여왔다고 할 수 있다.
다시 한번 얘기하지만, 물리 기반 렌더러가 완벽한 렌더는 아니다. 실사 기반에서와 콘솔 게임(PC게임)에서는 톡톡히 역량을 발휘하지만, 카툰식이나 모바일에서는 아직 제 역할을 기대하기 힘든 수준이다. 그러나 항상 콘솔 -> PC게임 -> 모바일로 기술이 계승 되듯이 언젠가는 모바일의 물리 기반 렌더링 기술이 급속히 발달할 것이라 예상되며 언리얼도 모바일에서 다이렉트 라이트등 물리기반의 효과를 극대화 하기 위해 무단히 노력 중에 있다.
'SHADER' 카테고리의 다른 글
유니티 셰이더 - 서피스 셰이더에서 빛 연산을 안하기 위해서는 Albedo가 아닌 Emission을 사용하자. (0) | 2016.07.15 |
---|---|
유니티 셰이더 - Surface 셰이더에서 알파가 안빠지는 현상 (0) | 2016.07.14 |
유니티 서피스 셰이더를 UnLit으로 사용할 때 캐릭터가 하얗게 타는 현상. (0) | 2016.07.14 |
유니티 셰이더 익히기 - 1 기본 개념 파악 (0) | 2015.12.30 |
ShaderForge(쉐이더포지) (0) | 2015.12.10 |