[GGP] 15. Physically Based Rendering (PBR)

Cherish·2023년 6월 11일

Game Graphic Programming

목록 보기
14/14
post-thumbnail

☁️ PBR

= 빛의 물리적인 특성과 메테리얼의 물리적인 특성을 렌더링해준다.
= 3d와 video를 굉장히 현실적으로 만들어주는 렌더링 기술

  • PBR의 핵심 : BRDF, energy conservation(E보존법칙)

🔎 Phong lighting vs PBR

  • Phong : 고전적인 방식 / ex) diffuse - 난반사한다.. 어쩌구.. 대충 잘 동작하게 만듦
    reflected light이 cosine 함수로 적당히 버무려진다.
  • PBR : 물리적 특성을 고려. light interaction도 고려. material마다 고려

🔎 BRDF

  • 수학적인 함수이다. microfacet model(미소입자평면)을 사용한다.
  • phong에서는 빛이 들어오면 normal하나만 고려했다.
  • microfacet model : light와 material 사이 관계를 설명해준다.
  • microfacet을 사용하면 나머지 조밀한 면까지 고려해서 반사시킨다 -> 더욱 사실적인 렌더링

🔎 Energy Conservation

PBR은 incoming light의 E를 계산해서 처리후의 E가 보존되도록 계산해준다.



☁️ BRDF

= opaque surface(not metallic, nor transparent)에서의 반사 정의

  • wi = incoming light
  • wr = outgoing light
  • n = surface normal

Photon-surface interaction

  • Uniform diffuse contribution
    entire hemisphere / 어떤 방향으로 photon이 들어올 때, uncorrelated(무작위)하게 방향을 바꿔준다
  • Specular contribution
    거울에 반사된 것 처럼 / 같은 방향으로 오는 photon은 같은 방향으로 나간다.
  • Directional diffuse contribution
    반구를 기준으로 반사가 되는데, 방향성을 가지고 뻗어나간다. correlated way

🔎 BRDF - Diffuse reflection

  • Lambertian diffuse model
    isotropic(방향성 없이 전방향으로 균일하게) , Lambert’s cosine law를 따르며
    대부분의 현실 물체에서 잘 동작하며 간단하다.

  • Lambert’s cosine law
    부채꼴의 넓이로 광자량을 정의 -> 밝기 고려


🔎 BRDF - Specular Reflection

= microfacet-based models 사용
= material 표면에서의 complex light interaction 때 사용

popular microfacet-based models

  • Cook Torrance
  • GGX

🔎 microfacet-based models

  1. Normal Distribution Term (D) = shape of the specular highlight
  2. Geometric Attenuation Term (G)
  3. Fresnel Term (F)

  • L : light direction
  • H : half vector
  • V : view vector

1. D(N,H)

= 내가 half vector을 기준으로 빛이 어떻게 들어왔는지를 고려해서 반사될 애를 결정

2. G

= 그림자지지도 occuled 되지 않는 것의 비율이 어느정도인지를 파악

  • Smith model을 사용
    • Shadowing effect: this occurs when one facet blocks light.
    • Masking effect: this occurs when one facet obscure the microfacets from the viewer’s perspective.

수식들의 디테일까지 설명할 필요는 없지망~

3. F

= 얼마나 많은 light가 surface로부터 reflection 될지
= Fresnel equation에 기반함

두개의 서로다른 매질이 있을 때 어떻게 통과 or 반사할 것이냐!

90도에서 들어오면 모두 반사 / 아니면 뭐.. 더 파고들고 우짜고


🔎 BRDF - Combining diffuse & specular

= E보존법칙도 지키고, 물리적으로 그럴듯한 결과를 낼 수 있다.



☁️ Energy Conservation

= first law of thermodynamics : 열역학 제1법칙
= 이론상 E의 loss는 있을 수 있지만

  • White furnace test
  • Hemisphere balance test
  • Non-negative radiance test



☁️ PBR Challenges

🔎 Handling complex materials

= translucents, fabrics, anisotropic materials

  • Translucent object
    어느정도 통과 & 반사
    잘 하려면 subsurface가 필요하다
  • Fabrics
    = Fabric은 짜임 구조와 microscale fibers로 인해 복잡한 빛 처리가 필요하다.
    = 정확하게 렌더링하기 위해서는 빛과 micro-geometry of fibers 모델링하고, multiple scattering events, shadowing , masking between fibers 등을 고려해야 한다.
    = 게다가 anisotropic reflections이 경우 렌더링이 더 복잡해진다.
  • Anisotropic materials
    = brushed metal or hair = 특이한 표면 미세 구조로 인해 빛이 입사 및 관찰 각도에 따라 다르게 동작
    = 방향에 따라 다른 특성을 가진다. 어디서 보느냐에 따라 다른 결과. 빛의 반사 & 산란에 영향을 미친다.
    = 일반적인 PBR로 표현하기 힘들기 때문에 model의 확장이 필요하다.

🔎 homogeneous participating media

ex) 안개

  • 굉장히 작은 particle들로 이루어져있고 영역이 확실하지 않고 바뀐다.
  • 정확한 각도와 interaction 지점을 찾기가 힘듦
    -> 실시간으로 렌더링하기 어려움

🔎 Handling homogeneous participating media

  • PBR을 빨리하기 위해서 approximation을 많이 함.
  • 확률론을 많이 사용함. 연속된 surface에서 값의 차이가 많이 나면 noise가 생김.
  • 해상도가 부족하거나, 고주파 feature가 포함되어있을 때, 간접광이 많을 때 이런 현상이 일어남.



☁️ 요약

PBR - 두가지가 main component

  • BRDF : 입사각 반사각 노말로 구성
    세가지 contribution이 연관되어있음
    평면에 빛이 입사됐을 떄 어떻게 반사가 될지를 정의해줘야함.
    아주작은 microfacet으로 이루어진 평면을 다룸 -> cook GGX
    또 수학적으로 잘 뭉개줌..
    어느정도로 반사?굴절?흡수? -> schliks apporox 사용

0개의 댓글