자기 그림자 란 무엇입니까?
"셀프 섀도 잉"은 객체의 한 부분이 그림자를 드리 우는 상황을 설명하는 용어입니다. 셀프 섀도 잉의 예로는 광원이 위에서 올 때 얼굴이나 윗입술에 사람의 코에 의해 생기는 그림자 또는 의자의 다리에있는 의자의 좌석에 의해 생기는 그림자가 있습니다. 이 용어가 컴퓨터 그래픽, 특히 컴퓨터 그래픽 프로그래밍에 사용되는 경우 장면 자체의 3D (3D) 객체에 의해 투사 된 그림자 또는 동적 객체에 의해 투사 된 그림자 및 주변 객체에 대한 참조입니다. . 실시간 3D 컴퓨터 그래픽 프로그래밍의 특성으로 인해 많은 응용 프로그램에서 컴퓨터의 속도와 기능이 향상됨에 따라 실시간 자체 섀도 잉 방법이 있지만 다른 최적화를 선호하여 자체 섀도우 렌더링 가능성을 제거하는 기술을 자주 사용합니다. 더 접근하기 쉬워졌습니다. 실시간 셀프 섀도 잉 객체를 렌더링하는 방법에는 여러 가지가 있지만 하드웨어 제한으로 인해 부정확 한 그림자, 인위적으로 단단한 가장자리가있는 그림자 또는 매우 빠르지 않은 그래픽 카드에서 매우 느리게 렌더링되는 장면과 같은 단점이 있습니다. .
셀프 섀도 잉에 대해 이야기 할 때 한 가지 차이점은 실시간 그래픽에서 정적 객체와 동적 객체의 차이입니다. 정적 객체는 장면에서 움직이지 않고 렌더링 과정에서 형상의 일부가 변경되지 않은 3D 객체입니다. 반면에 동적 객체는 어떤 방식 으로든 장면에 직접 부착되지 않으며 프레임마다 다를 수있는 객체입니다. 대부분의 정적 객체와 비 실시간 장면은 렌더링 엔진 또는 사용할 수있는 다른 그래픽 트릭 때문에 자체 그림자를 수행합니다.
실시간 3D 그래픽을 렌더링하는 데 사용되는 여러 가지 최적화로 동적 셀프 섀도 잉을 구현하기가 어렵습니다. 일부 예에는 정적 배경에만 조명 효과를 적용하는 그래픽 엔진, 장면의 문자와 같은 동적 객체는 무시하거나 내부 지오메트리를 인식하지 않고 객체 만 실루엣으로 취급하는 엔진이 포함됩니다. 그래픽 프로세서 및 컴퓨터가 증가함에 따라 새로운 기술을 사용하면 자체 그림자가있는 객체를 실시간 장면에 표시 할 수 있지만 몇 가지 제한 사항과 균형이 있습니다.
섀도우 볼륨은 3D 장면에서 셀프 섀도 잉을 구현할 수있는 방법 중 하나입니다. 이 방법은 기본적으로 그림자가 캐스트 된 장면에서 닫힌 볼륨을 차지하는 3D 객체를 생성하여 렌더러 또는 셰이더가 그림자 볼륨 내에 포인트가 있는지 여부를 테스트하여 조명 방법을 결정합니다. 다른 방법은 그림자 맵 또는 꼭짓점 위치의 대략적인 그림자를 만들어 가장자리의 충실도를 반드시 따르지 않는 매우 확산 된 그림자를 만듭니다.
거의 모든 셀프 섀도 잉 방법은 허용 가능한 결과를 얻기 위해 속도 나 품질을 교환해야합니다. 일부 셀프 섀도우가 잘못되었거나 잘못 보일 수있는 빠르지 만 저해상도 또는 퍼지 기법을 사용하면 품질 문제가 발생할 수 있습니다. 사용 된 알고리즘이 프레임 당 너무 많은 오버 헤드를 요구하거나 그림자 투영을 너무 정확하게 계산하려고 할 때 속도 문제가 발생합니다. 단일 표준 자체 그림자 생성 알고리즘은 없지만 일부 그래픽 카드에는 일부 기법의 속도를 높일 수있는 다양한 방법에 대한 기본 가속 기능이 포함되어 있습니다.