Skip to content

3D 모델의 변형까지가 가능한 동적 PRT(4)~SH Log 연산과 SH Log 차원에서의 차폐의 통합

[칼럼 핵심 요약]
SHEXP 기법의 근간이 되는 테크닉인 SH Log 연산과 SH Exp 연산에 대해 다시 한번 주목해 보기로 한다. 수학적 도출은 생략하지만, 이미지적으로는 SH Log와 SH Exp는 구면조화함수(Spherical Harmonics) 공간에서의 로그, 지수의 계산이라고 한다.

🌐 원문 링크: 3Dモデルの変形までが可能な動的PRT(4)~SH Log演算とSH Log次元における遮蔽の統合 (Mynavi News)
📅 원문 발행일: 2009-08-07 | ✍️ 저자: 西川善司 (니시카와 젠지 / Zenji Nishikawa)

NOTE

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

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

📖 본문 해설

[원문 리드문] > SHEXP 기법의 근간이 되는 테크닉인 SH Log 연산과 SH Exp 연산에 대해 다시 한번 주목해 보기로 한다. 수학적 도출은 생략하지만, 이미지적으로는 SH Log와 SH Exp는 구면조화함수(Spherical Harmonics) 공간에서의 로그, 지수의 계산이라고 한다.

SH Log 연산과 SH Log 차원에서 차폐의 통합

SHEXP 기법의 근간이 되는 테크닉인 SH Log 연산과 SH Exp 연산에 대해 다시 한번 주목해 보기로 한다.

수학적 도출은 생략하지만, 이미지적으로는 SH Log와 SH Exp는 구면조화함수(Spherical Harmonics) 공간에서의 로그, 지수의 계산이라고 한다.

행렬의 대수나 지수의 계산은, 우선, 그 행렬을, 쌍이 되는 직교 행렬, 대각 행렬로 분해하고, 그 대각 행렬의 각 성분에 대수나 지수의 계산을 행한 값이 된다는 성질이 있다. 구면조화함수(Spherical Harmonics) 공간에서의 로그 및 지수의 계산도이 특성을 적용하여 수행됩니다.

그림그림

행렬의 대수나 지수의 계산은, 우선, 그 행렬을, 쌍이 되는 직교 행렬, 대각 행렬로 분해해, 그 대각 행렬의 각 성분에 대수나 지수의 계산을 행한 값이 된다는 성질이 있다행렬의 대수나 지수의 계산은, 우선, 그 행렬을, 쌍이 되는 직교 행렬, 대각 행렬로 분해해, 그 대각 행렬의 각 성분에 대수나 지수의 계산을 행한 값이 된다는 성질이 있다

차폐 계수 벡터의 로그는 이와 같이 된다.차폐 계수 벡터의 로그는 이와 같이 된다.

그런데, 반복이 되지만, 원하는 것은 임의의 방향의 Log 공간에 있어서의 차폐 계수 벡터이다.

실제의 실장에서는, 전단에서도 조금 흔들린, 사전 계산을 행한 ZH 계수 테이블에 대해서 Log(대수)를 취해 둔다(Log ZH 계수 테이블). 따라서, 임의의 방향의 Log 공간의 차폐 계수 벡터는 그 방향의 구면조화함수(Spherical Harmonics)의 값에 Log ZH 계수 테이블을 곱하는 것만으로 구해진다.

임의 방향의 Log 공간에서 차폐 계수 벡터를 구하는 방법은 이론이나 도출은 몇 번이지만 구현은 거기까지 어렵지 않다.임의 방향의 Log 공간에서 차폐 계수 벡터를 구하는 방법은 이론이나 도출은 몇 번이지만 구현은 거기까지 어렵지 않다.

SH Log 공간에서의 차폐 계수 벡터가 구해지면, 이번은 그 차폐의 통합을 실시하는 스텝으로 이동한다.

버텍스 단위의 처리가 되는 것은 지금까지의 PRT와 같다. 어느 버텍스에서의 SH Log 공간에서의 차폐 계수 벡터는, 이하와 같은 흐름이 된다.

우선, 그 버텍스으로부터 대상으로 하는 구의 중심으로 연장되는 선분과, 그 버텍스으로부터 대상으로 하는 구에의 접선이 짜는 각도를 키로 하여, Log ZH 계수 테이블을 참조한다(도면). 앞서 말한 '일정 거리가 아니라 각도를 키로 한 테이블 작성'은 여기서 편리하게 느껴지는 것이다. 이 Log ZH 계수에 그 각도의 구면조화함수(Spherical Harmonics)를 곱하면 그 버텍스에서의 SH Log 공간의 차폐 계수 벡터가 구해진다.

그리고, 이 SH Log 공간의 차폐 계수 벡터의 통합은, 전술한 바와 같이 Log 공간에서의 이점을 살려 합산만으로 계산할 수 있다.

최종적인 합계가 구해지면, 통상 공간으로 되돌리기 위해서, 로그(Log)의 역함수인 지수(Exp)를 실시해 할 필요가 있다. 그래, SH Exp 연산이다. (계속)

그림그림


🔗 연관 지식 베이스 (Wiki)

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