이는 지연 음영을 사용하는 게임의 투명도에 대한 매우 일반적인 접근 방식입니다. 하나의 표면 데이터 (깊이, 법선 벡터, 색상 등) 만 각 픽셀에 저장 될 수 있고 적절한 투명도는 픽셀에서 겹치는 여러 표면을 포함하기 때문에 적절한 음영이 지연된 쉐이딩에서 전혀 효과가 없습니다. 조명.
게임 엔진이이를 처리 할 수있는 몇 가지 방법이 있습니다.
- 투명한 표면에는 순방향 음영 처리 (조명 모델 감소)를 사용하고 불투명 한 표면에는 지연 음영 처리를 사용하십시오. 투명 표면은 전후 정렬로 별도의 패스로 그려야합니다.
- 픽셀 링당 하나의 표면 만 제공하기 때문에 지연 음영 처리와 함께 작동하는 스티 플링 또는 스크린 도어 투명도라고하는 디더링을 사용하십시오. 이는 LOD 전환에 특히 효과적입니다. LOD 전환은 보통 고정 된 시간 내에 완료되므로 stippling이 표시되는 시간을 제한합니다. 예를 들어 건물의 유리창에는 적합하지 않습니다.
- 스태 플링을 사용할 수도 있지만 점묘 픽셀을 다시 결합하는 포스트 프로세스 블러를 적용하여 적절한 투명도를 대략적으로 얻을 수 있습니다. 볼리 션은 " 유추 조명 " 이라는 이름으로 Saints Row the Third (그리고 아마도 다른 게임들)에서도 이것을 합니다. 이것은 꽤 좋아 보일 수 있지만 포스트 프로세스 블러는 비쌉니다.
- 물론 순서에 관계없이 모든 투명성 방법이 있지만 그 방법을 사용하는 게임은 몰라요. 지금까지 기술 데모 용입니다.
유리창을위한 순방향 음영 처리 및 LOD 전환을위한 스티 플링과 같은 이러한 접근법의 조합을 사용할 수도 있습니다.
또한 일부 게임은 부드러운 그림자를 위해 stippling을 사용한다는 점도 주목할 가치가 있습니다. 이것은 성능 트레이드 오프입니다. 그림자가 좋을수록 픽셀 쉐이더에 더 많은 텍스처 샘플이 필요하지만 더 오래 걸리지 만 샘플 수를 줄이고 위치를 임의로 오프셋하여 괜찮은 결과를 얻을 수 있습니다. 임의의 오프셋은 흔들림 효과를 생성합니다.