Skip to content

3D 모델의 변형까지가 가능한 동적 PRT(2)~SH Log와 SH Exp란?

[칼럼 핵심 요약]
SH Log의 Log는 로그를 나타냅니다. 그리고 SH Exp의 Exp는 지수를 나타낸다. 고등학교 수학에서 배운 공식에 복수의 곱셈(곱)은 그 수의 Log의 총합(가산)을 Exp의 값과 같다고 하는 것이 있다. 이 지수와 로그의 법칙을 SH Triple Product에 적용한 것이 SH Log와 SH Exp의 계산이 된다.

🌐 원문 링크: 3Dモデルの変形までが可能な動的PRT(2)~SH LogとSH Expとは? (Mynavi News)
📅 원문 발행일: 2009-07-25 | ✍️ 저자: 西川善司 (니시카와 젠지 / Zenji Nishikawa)

NOTE

💡 현대 그래픽스 관점에서의 발전사 (Modern Retrospective)

  • 본 칼럼에서 다루는 핵심 렌더링 기법은 현대 실시간 렌더링 엔진(DirectX 12, Vulkan, Unreal Engine, Unity)의 기초 이론을 구성하고 있으며, 최신 하드웨어 가속 기법 및 컴퓨트 셰이더와 결합하여 고도화되었습니다.

📖 본문 해설

[원문 리드문] > SH Log의 Log는 로그를 나타내고 있다. 그리고 SH Exp의 Exp는 지수를 나타낸다. 고등학교 수학에서 배운 공식에 복수의 곱셈(곱)은 그 수의 Log의 총합(가산)을 Exp의 값과 같다고 하는 것이 있다. 이 지수와 로그의 법칙을 SH Triple Product에 적용한 것이 SH Log와 SH Exp의 계산이 된다.

SH Log와 SH Exp이란?

SH Log의 Log는 로그를 나타냅니다. 그리고 SH Exp의 Exp는 지수를 나타낸다.

고등학교 수학에서 배운 공식에 복수의 곱셈(곱)은 그 수의 Log의 총합(가산)을 Exp의 값과 같다고 하는 것이 있다.

예를 들어 25×46=1150. Exp(Ln25+Ln46) 혹은 10^(Log25+Log46)을 Windows 표준 부속의 계산기나 함수 계산기로 계산해 보자. 제대로 1150이 될 것입니다.예를 들어 25×46=1150. Exp(Ln25+Ln46) 혹은 10^(Log25+Log46)을 Windows 표준 부속의 계산기나 함수 계산기로 계산해 보자. 제대로 1150이 될 것입니다.

이 지수와 로그의 법칙을 SH Triple Product에 적용한 것이 SH Log와 SH Exp의 계산이 된다.

즉, 차폐계수 벡터끼리의 SH Triple Product 연산부하를 저감하기 위해 먼저 로그(Log)의 합을 계산하고, 그 값에 대해 지수(Exp)를 취하여 SH Triple Product를 계산한 것이 아닌가……라는 셈이다. 이것이 성립되면 부하가 높은 SH Triple Product의 반복을 단순한 가산에 떨어뜨릴 수 있게 된다. 이 증명은 매우 복잡하기 때문에 여기서는 생략하지만, 이것은 성립한다고 하는 것으로, 사용해 좋은 것이 되고 있다.

SHEXP 기법에서 사전 계산의 연구

SHEXP 기법에서의 동적 PRT에서는 등장하는 3D 모델을 모두 구체로 해 버리는 관계로, 자기 차폐나 Shadow Fields의 사전 계산을 단일의 구, 1개로 한정할 수 있다. 여기서 이후의 연산을 행하기 쉽게 하기 위한 궁리를 실시한다.

PSF 기법에서는 구면조화함수(Spherical Harmonics)의 스케일링 계수로 이루어진 차폐 계수 벡터를 유지하고 있었지만, SHEXP 기법에서는, SH Log와 SH Exp의 구조를 활용하기 위해서, 이 계수에 대해서 미리 SH Log 연산을 실시해, SH Log 공간의 값으로서 가지도록(듯이) 한다.

이 궁리에 의해, 차폐 구조의 합성(통합) 처리의 중간 계산을 부하가 높은 SH Triple Product가 아니라, 가산만으로 처리할 수 있게 된다. 마지막으로 SH Exp 연산을 실시하여 원래의 공간으로 되돌려 셰이딩(Shading)(휘도 계산)를 실시하도록 한다.

무거운 처리의 일부를 실시간으로 실시하지 않고, 사전에 가 둔다는 이미지다. 이것에 의해 PSF 기법에서는 매우 고부하였던 SH Rotation이나 SH Triple Product의 연산의 부하가 내려가는 것으로, 구가 다수 등장하는 구 근사를 이용하는 SH Exp 기법에서도 적당한 퍼포먼스를 전망할 수 있게 된다. (계속)

PSF 기법과 마찬가지로 Shadow Fields를 산출하더라도 그 결과를 구면조화함수(Spherical Harmonics)의 계수 벡터의 상태로 유지하지 않고 SH Log 연산을 수행한다.PSF 기법과 마찬가지로 Shadow Fields를 산출하더라도 그 결과를 구면조화함수(Spherical Harmonics)의 계수 벡터의 상태로 유지하지 않고 SH Log 연산을 수행한다.

SHEXP 기술의 개념적 이미지. 고부하인 계산을 SH Log 공간에서 가산에 떨어뜨려 그것을 다시 SH Exp 연산으로 원래의 공간으로 되돌린다는 발상이 포인트가 된다SHEXP 기술의 개념적 이미지. 고부하인 계산을 SH Log 공간에서 가산에 떨어뜨려 그것을 다시 SH Exp 연산으로 원래의 공간으로 되돌린다는 발상이 포인트가 된다

(트라이Z 니시카와 젠지)


🔗 연관 지식 베이스 (Wiki)

Based on Zenji Nishikawa's 3D Graphics Maniax series. Translated & Knowledge-Based for Korean Game Developers.