Deferred Shading Rendering Path
Legacy Deferred Lighting Rendering Path

Forward Rendering Path Details

이 페이지에서는 ForwardRendering Path에 대해 자세히 설명합니다.

Forward Rendering 패스는 각 오브젝트를 오브젝트에 작용하는 라이트에 따라 하나 또는 그 이상의 패스에 렌더링합니다. 라이트 자체는 설정 및 강도에 따라 Forward Rendering에 의해 따로 따로 처리됩니다.

구현의 세부정보(Implementation Details)

Forward Rendering에서는 각 오브젝트에 작용하는 몇 가지 가장 밝은 빛은 전체 픽셀 라이팅 모드로 렌더링됩니다. 다음으로 최대 4개의 포인트 라이트가 정점마다 계산됩니다. 다른 라이트은 구면 조화(Spherical Harmonics)로 계산되어 근사치가 되지만 더 빨라집니다. 빛이 픽셀 라이팅이되는지 여부는 다음 사항에 따라 달라집니다 :

  • Render Mode를 Important으로 설정한 라이트는 항상 픽셀 라이팅입니다.
  • 가장 밝은 지향성 라이트는 항상 픽셀 단위로 합니다.
  • Render Mode를 Important으로 설정한 라이트는 항상 픽셀 라이팅입니다.
  • 만약 위의 결과에 따라 현재 Pixel Light CountQuality Setting보다 더 적은 라이트의 수가 되었을 경우, 밝기를 억제하기 위해 더 많은 빛이 픽셀 라이팅됩니다.

각 오브젝트의 라이팅은 다음과 같이 이루어집니다 :

  • Base Pass는 하나의 픽셀 당 지향성 라이트와 모든 정점마다/SH 라이트를 적용합니다.
  • 다른 픽셀 라이트는 Additional Pass(추가 패스)로 렌더링되어 하나의 라이트마다 하나의 패스를 사용합니다.

예를 들어, 만약 여러 라이트에 의해 영향을 받는 오브젝트가 있는 경우는 아래와 같습니다.(아래 그림에서 동그라미 부분이 라이트 A에서 H로 작용되고 있다) :

라이트 A에서 H가 같은 색상과 강도인 것으로 가정하면, 모두 자동 렌더링 모드이기 때문에 이 오브젝트에 있어서, 이 순서대로 정렬됩니다. 가장 밝은 빛(A에서 D)은 픽셀 라이팅으로 렌더링되고, 네 개의 라이트(D에서 G)가 정점 라이팅 되며, 마지막으로 나머지 라이트(G에서 H)가 구면 조화(SH)됩니다.

라이트 그룹은 중복되는 점에 유의하십시오, 예를 들어, 마지막 픽셀 라이팅은 정점 라이팅 모드에 블렌드하기 때문에, 오브젝트와 라이트가 움직일 때 “Light Popping”(갑작스런 라이트의 변화)은 줄어듭니다.

Base Pass

기본 패스는 오브젝트를 하나의 픽셀 지향성 라이트와 나머지 모든 SH 라이트로 렌더링합니다. 이 패스는 또 다른 라이트 맵 ambient 라이팅 및 emissive 라이팅을 추가합니다. 이 패스에서 렌더링되는 지향성 라이트는 그림자가 있을수 있습니다. 라이트 매핑된 오브젝트는 SH 라이트에서 조명되지 않는다는 점에 유의하십시오.

Additional Passes

Additional Passes(추가 패스)가 오브젝트에 작용하는, 각각의 추가된 픽셀 라이트로 렌더링됩니다. 이러한 패스의 빛은 그림자를 가질 수 없습니다(결과로써 Forward Rendering을 지원하는 것은 하나의 지향성 빛과 그림자입니다).

퍼포먼스 고려 사항

Spherical Harmonic는 매우 빠르게 렌더링됩니다. CPU 비용이 매우 작으며, GPU를 적용하는 경우도 사실상 비용이 없습니다 (즉, Base Pass는 항상 SH 라이팅을 계산합니다, 그러나 SH 라이트의 성질에서 몇 가지 SH 라이트가 있어도 비용은 완전히 동일합니다).

SH 라이트의 단점 :

  • 오브젝트의 픽셀이 아닌 정점에서 계산됩니다. 이에 따라 Light Cookie와 법선 맵은 지원하지 않습니다.
  • SH 라이트는 매우 낮은 주기입니다. 갑작스런 라이팅의 전환은 불가능합니다. 또한 diffuse 라이팅밖에 작용하지 않습니다(specular 하이라이트에는 매우 주기가 낮습니다).
  • SH 라이트는 로컬이 없습니다. 표면에 가깝기에 지점이나 장소의 SH 라이트는 “뭔가 잘못된 것처럼 보입니다”.

정리하면, SH 라이트는 작은 동적 오브젝트에는 충분하지 않습니다.

Deferred Shading Rendering Path
Legacy Deferred Lighting Rendering Path