여기에 간단한 버전의 PBR 구현을 써서 학습의 흔적을 남기다.
Phong 은 1975 에서 퐁 반사 모델을 제안했습니다.
/Blinn-0/977 의 블린 보정 퐁 모델, 즉 나중에 널리 사용되는 블린 퐁 반사 모델:
간단한 물리학 기반 블린 퐁 (Blinn-Phong;);
물리학에서 방사선 측정의 기본량과 그 관계 (기호는 입체각, 편도수 등 나에 의해 단순화됨)
방사율은 한 방향으로 방사되는 빛의 크기나 강도를 수량화하는 데 사용되며 거리에 따라 변하지 않습니다. 이것은 사람의 눈에 보이는 색상 강도의 측정 단위입니다.
PBR 의 렌더링 방정식 (반사 방정식) 은 일반적으로 다음과 같습니다.
V 는 관측 방향이고 l 은 조명 방향입니다.
Sum 에는 RGB 의 세 가지 구성요소가 포함되어 있기 때문에 일부 문장 사용, 즉 벡터의 구성요소를 곱합니다.
방사율과 복사도 사이의 관계는 다음과 같이 정의됩니다.
양방향 반사 분포 함수 BRDF 는 다음과 같이 정의됩니다.
일반 적분 방정식은 몬테카를로 방법으로 대략적으로 계산됩니다. 그럼에도 불구하고 실시간으로 계산할 수 없으며, 일반적으로 오프라인 사전 처리입니다. 아는 몇 가지 방법
이상적인 라이트 (포인트 라이트, 원거리 라이트 등) 의 경우. ), 무의미합니다. 예를 들어, 방향 광과 같이 한 방향만 가치가 있고 가치는 무한합니다.
이상적인 광원으로 조명된 오브젝트의 경우 복사도가 의미가 있으며 렌더링 방정식은 다음과 같이 퇴화됩니다.
이 방정식은 셰이더에서 실시간으로 계산할 수 있습니다.
다음 모델은 쿡 토랜스 BRDF 모형이라고 불립니다.
먼저 BRDF 는 분산 반사와 반사 반사로 구분됩니다.
계수는 에너지 보존을 제어하는 데 사용됩니다.
N 은 표면 법선입니다.
H 는 앞서 언급한 반각 벡터로, 여기에 또 다른 의미, 미세 표면 법선이 있습니다.
α는 표면의 거칠기 (UE 의 문장 정의로 인해 작성된 일부 오류, 여기서는 직접 거칠기) 이고, N 은 표면 법선입니다. 이 방정식은 큰 사장이 특별히 개발한 것이다.
프레넬 현상은 방목각이 클수록 반사가 강해져 가장자리 하이라이트 현상을 나타낸다.
금속과 비금속을 구별하는 표면 기초 반사도를 나타냅니다. 금속은 0.5 보다 크고, 비금속은 0.2 보다 작고, 일반 비금속은 0.04 보다 작다.
이 값은 일반적으로 금속이 지도를 통해 입력되고 비금속이 직접 0.04 로 설정됩니다.
앞의 계수와.
에너지 보존 (거울 반사+분산) 을 실현할 수 있습니다
방안은 다양하고 디즈니, 유니티, unity 의 렌더링 방정식은 모두 다르다.
이것은 단지 실행 가능한 방안일 뿐이다.
두 가지 상황이 있습니다.
PBR 의 렌더링에는 합성 간접 라이트가 있어야 좋은 결과를 얻을 수 있습니다.
PBR 은 선형 공간 계산이 필요하며, 서로 다른 라이트를 선형으로 추가할 수 있습니다. 결과 >; 1, 정규화를 위한 특수 알고리즘이 있습니다.
노출은 기본적으로 1 이며 이전 프레임의 평균 밝기에 따라 설정하거나 부드럽게 전환할 수 있습니다.
LearnOpenGL 의 설명 영역을 볼 수 있습니다.
하나만 구현되고 하나의 방향 라이트만 지원됩니다.
추가로 Unity 의 내장 기능인 그림자, SH 주변 라이트, SkyBox 를 사용했습니다.
표준 캡슐체의 렌더링은 표준에 가깝기 때문에 이런 느낌이 든다.
환경에서 간접광을 얻는 부분은 정말 ~ ~ ~ ~ 다음에 이해합니다.