Skip to content

지오메트리 셰이더(2)~지오메트리 셰이더의 가속적 활용(2)

[칼럼 핵심 요약]
3D 캐릭터에 머리카락을 낳는 '파(털) 쉐이더'(Fur Shader)라는 기술이 있다. 크게 나누어 두 가지 방법이 있지만, 하나는 머리카락을 그린 텍스처를 붙인 폴리곤을 3D 캐릭터에 이식하는 접근법의 '핀(Fin:지느러미)'법이다.

🌐 원문 링크: ジオメトリシェーダ(2)~ジオメトリシェーダのアクセラレーション的活用(2) (Mynavi News)
📅 원문 발행일: 2008-09-19 | ✍️ 저자: 西川善司 (니시카와 젠지 / Zenji Nishikawa)

NOTE

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

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

📖 본문 해설

[원문 리드문] > 3D 캐릭터에 털을 낳는 '퍼(털) 셰이더'(Fur Shader)라고 불리는 테크닉이 있다. 크게 나누어 두 가지 방법이 있지만, 하나는 머리카락을 그린 텍스처를 붙인 폴리곤을 3D 캐릭터에 이식하는 접근법의 '핀(Fin:지느러미)'법이다.

3D 캐릭터에 머리카락을 낳는 '파(털) 쉐이더'(Fur Shader)라는 기술이 있다.

이 퍼 쉐이더에는 크게 두 가지 방법이 있으며, 이들 중 하나 또는 둘 모두를 조합하여 활용하는 것이 일반적입니다.

지오메트리 셰이더의 가속적 활용(2)~퍼 셰이더를 가속한다

하나는 머리카락을 그린 텍스처를 붙인 폴리곤을 3D 캐릭터에 이식하는 접근법의 '핀(Fin:지느러미)'법이다.

"털 지느러미"를 이식하여 머리를 재현하는 핀법. 머리 지느러미를 연결시켜 긴 머리를 표현하는 경우도 있다"털 지느러미"를 이식하여 머리를 재현하는 핀법. 머리 지느러미를 연결시켜 긴 머리를 표현하는 경우도 있다

"털 지느러미"를 이식하여 머리를 재현하는 핀법. 머리 지느러미를 연결시켜 긴 머리를 표현하는 경우도 있다"털 지느러미"를 이식하여 머리를 재현하는 핀법. 머리 지느러미를 연결시켜 긴 머리를 표현하는 경우도 있다

이 수법에서는, 사전에 3D 캐릭터에 식모를 하도록(듯이) 모발 지느러미를 3D 캐릭터 본체에 이식해 둘 필요가 있다.

이 방법에서는 머리카락의 유무 등을 알기 어려울수록 시점에서 먼 위치의 3D 캐릭터에서도 GPU는 이식한 머리카락의 버텍스 처리나 픽셀 묘화를 할 필요가 있어 낭비가 많다.

지오메트리 셰이더를 사용하면 사전에 3D 모델에 대해 머리카락을 살려 둘 필요는 없고, 묘화시에 실시간으로 동적으로 "식모"할 수 있게 된다.

동적으로 생성함으로써 부차적인 장점도 생긴다.

예를 들면, 3D 모델 정보를 괴롭히지 않고, 1개의 3D 모델을 유용해, 머리의 길이나 머리 늘어선(털의 밀도)을 바꾼 3D 캐릭터 묘화를 실시할 수 있게 된다.

또, 시점에서 먼 캐릭터에 대해서는 모 지느러미의 이식 포함 개수를 적게 해 손을 뽑거나, 너무 먼 경우는 모 지느러미를 이식하지 않으면 실시한 LOD(Level of Detail:시점으로부터의 거리에 따라 고부하의 처리와 저부하의 처리를 구분하는 처리계)적인 구조를 실장할 수도 있을 것이다.

지느러미 방법 개념도지느러미 방법 개념도

핀법의 퍼 표현의 라이팅에 관해서는 다양한 것이 고안되고 있지만, 가장 단순한 것은 모 지느러미에 대해서 간이적인 버텍스 단위의 라이팅을 베푸는 것이 비교적 부하가 가볍고, 자주(잘) 이용되는 것 같다.

이것은 털 지느러미에 대하여 광원 방향에 가까운 방각으로부터 밝은 → 어둠과 그라데이션을 걸리는 것만으로 간단한 것이 된다. 털의 뿌리 쪽은 다른 털에 빛이 차단되어 있을 것인데, 이 간이 방법으로는 거기까지 대처할 수 없기 때문에, 하이라이트가 별로 털의 뿌리 쪽에 나오지 않는 궁리를 넣어 둘 필요가 있다. (계속)

지느러미 방법 머리카락의 간단한 조명지느러미 방법 머리카락의 간단한 조명

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


🔗 연관 지식 베이스 (Wiki)

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