실루엣 가장자리

Silhouette edge

컴퓨터 그래픽스에서 2D 평면(디스플레이 평면)에 투영된 3D 본체의 실루엣 가장자리는 외부 표면 법선이 뷰 벡터에 수직인 점들의 집합입니다.표면 노멀의 단절로 인해 실루엣 엣지는 전면과 후면 엣지를 분리하는 엣지이기도 하다.일반적으로 이 가장자리는 일반성이 손실되지 않고 면의 가장 가까운 가장자리로 선택되므로 병렬 뷰에서 이 가장자리가 원근 뷰의 동일한 모서리에 해당합니다.따라서 정면과 측면 사이에 엣지가 있고 측면과 후면 사이에 다른 엣지가 있으면 가까운 쪽을 선택한다.간단한 예는 면 법선이 뷰 벡터와 동일선상에 있는 방향으로 큐브를 보는 것입니다.

첫 번째 유형의 실루엣 가장자리는 CAD 모델의 물리적 가장자리와 반드시 일치하지 않기 때문에 처리하기가 어려울 수 있습니다.이것이 문제가 될 수 있는 이유는 프로그래머가 새로운 실루엣 엣지를 문제에 도입함으로써 원래 모델을 손상시킬 수 있기 때문입니다.또한 에지가 모델 및 뷰 벡터의 방향에 따라 크게 달라지기 때문에 알고리즘에 수치적 불안정성이 발생할 수 있습니다(예: 정밀도 희석 등의 트릭이 고려되는 경우).

계산

물체의 실루엣 가장자리를 결정하기 위해서는 먼저 모든 면의 평면 방정식을 알아야 한다.그런 다음, 광원에서 각 면까지의 점 평면 거리의 부호를 검사하여

이 결과를 사용하여 얼굴이 앞면인지 뒷면인지를 판단할 수 있습니다.

실루엣 가장자리는 전면과 후면 면을 구분하는 모든 가장자리로 구성됩니다.

유사 기술

전면/후면 검출의 편리하고 실용적인 구현은 평면의 단위 법선(어차피 조명 효과를 위해 일반적으로 사전 계산됨)을 사용한 다음, 조명 위치의 도트 곱을 평면의 단위 법선에 적용하고 평면 방정식의 D 성분(스칼라 값)을 추가하는 것입니다.

여기서 평면_D는 평면의 단위 법선을 사용하여 평면 도트 곱의 점으로 쉽게 계산됩니다.

참고: 이 계산에 항상 L_w와 d가 필요한 것은 아닙니다.

이 계산을 수행한 후 표시기가 실제로 평면에서 조명 위치까지의 부호 있는 거리인 것을 알 수 있습니다.거리 표시기는 얼굴 뒤에 있으면 음수이고 얼굴 앞에 있으면 양수입니다.

이는 2002년 SIGGRAPH 논문 "하드웨어 가속 렌더링을 위한 실용적이고 견고한 스텐실 섀도 볼륨"에서도 사용된 기술입니다.

외부 링크