Appearance
한정 조건부 동적 PRT(2)~PSF 기법에 있어서의 라이팅
[칼럼 핵심 요약]
버텍스 단위의 셰이딩(Shading)가 되는 것은 전출의 정적 PRT와 같다. 즉, 실제 렌더링 시에는 3D 모델의 각 버텍스에 대해 라이팅을 실행하게 된다. 구체적으로는, 그 라이팅을 행하는 버텍스에 있어서의 자기 차폐 정보를 배려해, 한층 더 그 버텍스에 영향을 미치는 타자 오브젝트의 Shadow Fields를 배려한다, 라는 흐름이 된다.🌐 원문 링크: 限定条件付き動的PRT(2)~PSF技法におけるライティング (Mynavi News)
📅 원문 발행일: 2009-07-13 | ✍️ 저자: 西川善司 (니시카와 젠지 / Zenji Nishikawa)
NOTE
💡 현대 그래픽스 관점에서의 발전사 (Modern Retrospective)
- 본 칼럼에서 다루는 핵심 렌더링 기법은 현대 실시간 렌더링 엔진(DirectX 12, Vulkan, Unreal Engine, Unity)의 기초 이론을 구성하고 있으며, 최신 하드웨어 가속 기법 및 컴퓨트 셰이더와 결합하여 고도화되었습니다.
📖 본문 해설
[원문 리드문] > 버텍스 단위의 셰이딩(Shading)가 되는 것은 전출의 정적 PRT와 같다. 즉, 실제 렌더링 시에는 3D 모델의 각 버텍스에 대해 라이팅을 실행하게 된다. 구체적으로는, 그 라이팅을 행하는 버텍스에 있어서의 자기 차폐 정보를 배려해, 한층 더 그 버텍스에 영향을 미치는 타자 오브젝트의 Shadow Fields를 배려한다, 라는 흐름이 된다.
PSF 기술의 조명
버텍스 단위의 셰이딩(Shading)가 되는 것은 전출의 정적 PRT와 같다. 즉, 실제 렌더링 시에는 3D 모델의 각 버텍스에 대해 라이팅을 실행하게 된다. 구체적으로는, 그 라이팅을 행하는 버텍스에 있어서의 자기 차폐 정보를 배려해, 한층 더 그 버텍스에 영향을 미치는 타자 오브젝트의 Shadow Fields를 배려한다, 라는 흐름이 된다. 덧붙여 타자의 동심구상으로 늘어선 복수의 Shadow Fields로부터 어느 것을 선택하는지이지만, 이것은 그 라이팅 대상 버텍스으로부터 가장 가까운 8개의 후보를 선택해 가중치가 있는 선형 보간을 실시해, 그 결과를 채택한다.
PSF 기술의 조명
물론, 자신과 타자는 기준으로 하는 좌표계가 다르기 때문에, 타자의 Shadow Fields 정보를 글로벌 좌표계에 가지런히 하는 처리를 하지 않으면, 이쪽으로부터 타자 Shdaow Fields를 이용할 수 없다.
알기 쉽게 앞의 그림을 끌어들여서 말하면, 찻주전자와 토끼가 회전하고 있고 다른 방향이 되어 있었을 경우, 찻주전자에서 보고 토끼는 상대적으로 다른 방향을 향하고 있는 것으로, 토끼의 「다른 사람에의 차폐 정보=Shadow Fields」를 이쪽에 반영시키려면 그 Shad Fields의 방향(좌표계)까지를 갖추어야 갈 수 있다는 것이다.
이 Shdow Fields의 정렬 처리(좌표계 변환 처리)가 SH Rotation이라고 하는 처리다. SH는 Spherical Harmonics(구면조화함수(Spherical Harmonics))의 머리글자의 2문자를 취한 것. 간단히 말하면, 구면조화함수(Spherical Harmonics)로 근사해 만든 차폐 구조 데이터를, 그 스케일링 계수만을 이용해 좌표축 회전을 해 버리는 것이 SH Rotation이다.
구면조화함수(Spherical Harmonics)의 스케일링 계수로 이루어지는 계수 벡터만으로 좌표계의 회전을 행하는 처리가 「SH Rotation」이다.
그리고 계속해서 좌표계를 가지런히 한 타인의 Shdow Fields를 이쪽의 자기 차폐에 통합(반영)시키는 처리를 실시하는 것이지만, 이것에는 SH Triple Product(고도의 복수회에 걸친 내적 연산)라고 하는 연산을 실시한다.
SH Rotation과 SH Triple Product의 실제 이굴이나 처리계에 대해서는 복잡하며, 지면의 사정에 의해 여기서는 생략한다. 양쪽 모두 계수 벡터 차원에서 행하는 계산으로, 게다가 고속화를 배려한 수법이며, 구면조화함수(Spherical Harmonics) 등과 마찬가지로 「있는 것」적인 툴로서 활용해도 좋다고 되어 있다. 그러나 계산 부하는 그렇게 높습니다.
또한, SH Rotation과 SH Triple Product의 이론이나 구현에 대해서는 「Spherical Harmonic Lighting: The Gritty Details」(SH Rotation의 구현 방법), 「Code Generation and Factoring for Fast Evaluation of Low-order Spherical Harmonic Products and Squares」(SH Triple Product의 구현 방법) 등의 논문이나,
처리중인 버텍스에 대한 타인 개체의 영향의 유무에 대한 조사는 그 장면에 등장하는 모든 타사 오브 셰크트에 대해 실시한다. 영향이 있는지 여부는 전출의 바운딩 스피어의 8.0r의 거리를 기준으로 하면 된다. 8.0r 이상의 거리가 떨어진 타자에 대해서는 영향이 없다고 무시를 하고, 반대로 8.0r의 거리 이하의 타자 오브 셰크트에 대해서는 영향이 있다고 하는 것이다. 영향이 있다면 그 Shadow Fields를 통합해 간다(계산에 포함한다).
모든 버텍스에 대해 차폐 구조를 산출할 수 있다면 나머지 음영 연산(휘도 계산)은 정적 PRT와 같다. 다시 말할 필요도 없겠지만, 그 차폐 계수 벡터와 광원 계수 벡터의 내적을 구할 뿐이다. (계속)
PSF 기술에 의한 동적 PRT는 개별 3D 객체의 변형은 허용되지 않지만 위치 이동이나 회전은 허용된다
PSF 기술에 의한 동적 PRT는 개별 3D 객체의 변형은 허용되지 않지만 위치 이동이나 회전은 허용된다
피라미드 사에 의한 PSF의 실장 예. 마치 레이 트레이싱에 의한 오프라인 렌더링된 것처럼 부드러운 음영의 오브젝트들이 움직인다. 여기까지 움직일 수 있게 되면, 특정 타입의 게임이라면 실용 가능할지도 모른다
피라미드 사에 의한 PSF의 실장 예. 마치 레이 트레이싱에 의한 오프라인 렌더링된 것처럼 부드러운 음영의 오브젝트들이 움직인다. 여기까지 움직일 수 있게 되면, 특정 타입의 게임이라면 실용 가능할지도 모른다
(트라이Z 니시카와 젠지)