WinCNT

PBR(Physically Based Rendering) - BRDF 본문

게임 프로그래밍(학습 내용 정리)/3D Graphic Engine

PBR(Physically Based Rendering) - BRDF

WinCNT_SSS 2022. 7. 15. 20:21

Bidirectional Reflectance Distribution Function(BRDF)

BRDF는 한국어로 양방향(쌍방향) 반사(율) 분포 함수라고 할 수 있다

위키피디아에서의 BRDF의 정의는 다음과 같다

BRDF란 불투명한 표면에서 빛이 반사되는 방법을 정의하는 네 가지 실수 변수의 함수

빛과 관찰자의 값이 동일할 때 물체가 어느 정도의 반사도를 가지는가에 대한 그림

 

함수로 나타내면 다음과 같다

BRDF 함수

ω(오메가) = 파라미터, 함수의 입력 값

r = reflectance(반사)

i = incidence(입사),

즉 ωi 는 입사광 벡터(광원을 향하는 벡터)을, ωr 은 반사광 벡터(뷰를 향하는 벡터)를 의미함

 

위의 함수는 실제 식을 가지고 있지 않으며, 단순히 형태만을 정의한 것이다

즉 아래와 같은 조건을 만족하면 모두 BRDF라고 할 수 있다

(출처: https://lifeisforu.tistory.com/386?category=567143)

  • Bidirectional - 빛과 관찰자의 위치가 변경되어도 관계만 같으면 결과가 동일
  • Reflectance Distribution - 반사율 분포가 출력 값
  • Function - 함수(같은 입력에는 항상 하나의 같은 결과가 나옴)여야 함
  • 입력 파라미터 - 광원(을 향하는 벡터)과 시점(을 향하는 벡터)

실제 식에 대해서는 여러 모델이 존재한다

 

여기서 잠깐 PBR BRDF 관련 주제를 살펴보자

  • 에너지 보존 법칙
  • Diffuse를 좀 더 자세히 나타내기
    • Legacy, 확산, 산란, 반사, 거칠기
  • Diffuse와 Albedo, Base Color
  • Specular - 모든 것은 반사한다
    • Microfacet, Fresnel
  • Roughness(Smoothness), Metallic(Dielectric)

위의 주제들은 모두 연관되어 있다

 

사실 레거시 모델에서도 BRDF는 있었다

확산광(Diffuse)를 정의하는 램버트 모델과

반사광(Specular)를 정의하는 블린 - 퐁 반사 모델이 대표적인 예이다

 

하지만 이는 BRDF의 한 모델일 뿐이다

BRDF 모델은 다음과 같이 여러 분파가 존재한다

여기서 대표적인 모델이 바로 Cook-Torrance 모델이다

 

Diffuse BRDF과 Specular BRDF

실제 물리 현상으로 보면 Diffuse든 Specular든 빛의 반사이지만

BRDF는 Diffuse BRDF 와 Specular BRDF 로 나뉜다

(Diffuse와 Specular를 모두 아우르는 모델은 현재 없는 것 같다, 아마?)

 

Diffuse BRDF

램버트 반사율 : N dot L

사실 Diffuse에도 여러 종류가 있는데 대부분 비슷해서...

보통 램버트 반사율을 사용한다

 

물론 Legacy 모델처럼 N dot L을 그대로 사용하면 에너지 보존 법칙을 위반하는 경우가 생긴다

왜냐하면 N dot L은 시점(관찰자)가 아닌 쪽으로 가는 빛을 고려하지 않으며

단순히 빛과 표면(의 노멀)의 관계만을 고려한 것이기 때문이다

출처 : Optical PTFE from Lake Photonics.

따라서 나가는 빛의 양을 모두 합한 다음에 그것으로 나눠야 한다

그에 대한 밑은 다음과 같다

(자세한 증명은...미적분이 들어가므로 일단 스킵하자...)

 

이 외에도 금속, 비금속의 보정이 들어간다고 하는데 그것은 차차 알아봐야겠다

 

Specular BRDF

대표적인 것이 Cook-TorranceSpecular BRDF

D, G, F가 필요하므로 추가 설명이 필요하다

 

Distribution - 미세면의 분포

 

에너지 보존 법칙

빛이 들어온 만큼 빛난다!

물체는 들어온 빛 이상으로 반사할 수 없다

따라서 Specular의 성분이 커지면 Diffuse의 성분은 작아져야 한다

 

이 모든 것이 BRDF에 포함되어 있다

(애초에 그것을 설명하기 위해 만들어진 함수이기 때문)

 

https://lifeisforu.tistory.com/386?category=567143

 

[ PBR 이란 무엇인가 ] 19. Diffuse BRDF

주의 : 잘못된 내용이 포함되어 있을 수 있으므로 이상하면 참고자료를 확인하세요. [ PBR 이란 무엇인가 ] 19. BRDF 오늘은 BRDF 에 대해서 이야기해 보려 합니다. BRDF 는 "Bidirectional Reflectance Distribut..

lifeisforu.tistory.com

 

SSS