왜 일부 게임은 투명성을 위해 전통적인 알파 대신 디더링 패턴을 사용합니까?


24

최근에 나는 투명도 / 알파를 시뮬레이션하기 위해 GTA IV일종의 정렬 된 디더링 을 사용 하는 3D 게임 (예 :) 을 보았다 .

다각형은 평소처럼 투명하지 않지만 대신 왼쪽에서 오른쪽으로 점차 전환되어 투명도를 시뮬레이션하는 디더링 텍스처를 렌더링합니다.

여기에 이미지 설명을 입력하십시오

그 효과는 처음에는 불쾌하지 않고 오히려 놀랍습니다 (전통적인 알파 블렌딩)

시각적 미적 효과를 제외하고는 일부 게임이 더 나은 성능, 대역폭 절약 또는 내가 생각하지 않는 다른 이유가 있습니까?

웹에서 검색했지만이 기술에 대한 정보를 찾을 수 없습니다.


아마도 그것은 픽셀 아트 스타일과 함께 온 것 같습니다.
MichaelHouse

@ Byte56 픽셀 아트 스타일? GTA IV? 응?
Nathan Reed

@NathanReed Heh, GTA IV에는 없습니다. OP는 최근 게임에서 그것을보고 언급했다.
MichaelHouse

1
가까운 평면에 너무 가까워지는 3D 객체를 페이딩 할 때이 기술이 알파 블렌딩보다 더 즐겁습니다.
Andreas

답변:


27

이는 지연 음영을 사용하는 게임의 투명도에 대한 매우 일반적인 접근 방식입니다. 하나의 표면 데이터 (깊이, 법선 벡터, 색상 등) 만 각 픽셀에 저장 될 수 있고 적절한 투명도는 픽셀에서 겹치는 여러 표면을 포함하기 때문에 적절한 음영이 지연된 쉐이딩에서 전혀 효과가 없습니다. 조명.

게임 엔진이이를 처리 할 수있는 몇 가지 방법이 있습니다.

  • 투명한 표면에는 순방향 음영 처리 (조명 모델 감소)를 사용하고 불투명 한 표면에는 지연 음영 처리를 사용하십시오. 투명 표면은 전후 정렬로 별도의 패스로 그려야합니다.
  • 픽셀 링당 하나의 표면 만 제공하기 때문에 지연 음영 처리와 함께 작동하는 스티 플링 또는 스크린 도어 투명도라고하는 디더링을 사용하십시오. 이는 LOD 전환에 특히 효과적입니다. LOD 전환은 보통 고정 된 시간 내에 완료되므로 stippling이 표시되는 시간을 제한합니다. 예를 들어 건물의 유리창에는 적합하지 않습니다.
  • 스태 플링을 사용할 수도 있지만 점묘 픽셀을 다시 결합하는 포스트 프로세스 블러를 적용하여 적절한 투명도를 대략적으로 얻을 수 있습니다. 볼리 션은 " 유추 조명 " 이라는 이름으로 Saints Row the Third (그리고 아마도 다른 게임들)에서도 이것을 합니다. 이것은 꽤 좋아 보일 수 있지만 포스트 프로세스 블러는 비쌉니다.
  • 물론 순서에 관계없이 모든 투명성 방법이 있지만 그 방법을 사용하는 게임은 몰라요. 지금까지 기술 데모 용입니다.

유리창을위한 순방향 음영 처리 및 LOD 전환을위한 스티 플링과 같은 이러한 접근법의 조합을 사용할 수도 있습니다.

또한 일부 게임은 부드러운 그림자를 위해 stippling을 사용한다는 점도 주목할 가치가 있습니다. 이것은 성능 트레이드 오프입니다. 그림자가 좋을수록 픽셀 쉐이더에 더 많은 텍스처 샘플이 필요하지만 더 오래 걸리지 만 샘플 수를 줄이고 위치를 임의로 오프셋하여 괜찮은 결과를 얻을 수 있습니다. 임의의 오프셋은 흔들림 효과를 생성합니다.


지연된 음영 처리 기술에 대해 몰랐습니다 (여기 설명 : en.wikipedia.org/wiki/Deferred_shading ). 또한 가능한 알파 문제에 대해서도 이야기합니다. 지금 이해하세요. 답변 주셔서 감사합니다
tigrou

0

단순한 성능 균형입니다. 알파 블렌딩은 현재 컬러 버퍼에서 읽어야하는 반면, 이런 종류의 디더링은 쓰기 전용 (물론 폐기 전용)입니다.

이 기술을 멀티 샘플링과 혼합 한 다음 알파-커버리지 라고 합니다.


어떤 종류의 "성능 절충"에 대해 이야기하고 있습니까? 셰이더에서 버리기를 사용하면 Early-Z가 꺼집니다. 블렌딩은 하드웨어에서 수행되며 빠릅니다.
Tara

실제로 방금 엔진에서 고해상도로 적절한 장면에서 테스트했습니다. 모든 지오메트리에 대해 블렌딩을 활성화 / 비활성화하면 성능 차이가 전혀 없었습니다. 디더링은 일반적으로 지연 렌더링에 사용되므로 Nathan Reed의 대답은 정확합니다.
Tara
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.