A-버퍼

A-buffer

컴퓨터 그래픽에서, 안티앨리어싱, 영역 평균화 또는 축적 버퍼로도 알려진 A-버퍼는 중간 규모의 가상 메모리 컴퓨터에 적합한 일반적인 숨겨진 표면 메커니즘이다.불투명, 투명 및 교차하는 객체의 임의 집합 간 가시성을 해결한다.계산하기 쉬운 푸리에 창(상자 필터)을 사용하여 Z-버퍼에 걸쳐 효과적인 이미지 해상도를 여러 번 높이며, 비용은 다소 증가한다.[1]

A버퍼 방식은 잘 알려진 Z버퍼의 후예로 적당한 시간에 좋은 품질의 결과를 제공한다.

사용하다

3-D 영상 합성 시스템에서는 항상 품질과 연산 비용 사이의 균형이 필요했다.각 픽셀에서 완전한 객체-정밀 가시 표면 알고리즘을 사용하는 것은 비용이 많이 든다.버퍼 방식은 중간 수준의 품질 결과를 연산 비용으로 제공한다.

A-buffer는 가시성 기법을 사용하는 데 도움을 주며 폴리곤, 패치, 사분면, 프랙탈 등 상상할 수 있는 모든 기하학적 모델링 원형을 지원한다.또한 투명도와 교차 표면(및 투명 교차 표면)을 처리하는 데 도움이 된다.

전략

카펜터의 A-버퍼 알고리즘은[1] Catmull의 픽셀 단위 객체-정밀 영역 샘플링과[2] 픽셀 단위 서브픽셀 그리드에서 수행되는 영상-정밀 연산을 근사화하여 이 문제를 해결한다.폴리곤은 우선 커버하는 각 정사각형 픽셀에 클리핑하여 스캔 라인 순서로 처리된다.이것은 각 정사각형 픽셀에 해당하는 잘려진 폴리곤 조각의 목록을 만든다.각 조각에는 그것이 덮고 있는 픽셀 부분의 4x8비트 마스크가 있다.[3]

파편의 비트 마스크는 각 파편의 가장자리를 나타내는 마스크들을 함께 배열하여 계산한다.픽셀과 교차하는 모든 다각형이 처리되었을 때, 픽셀의 가시 표면의 색상의 면적 가중 평균은 깊이 정렬된 순서로 파편을 선택하고 더 먼 파편의 파편을 클리핑하기 위해 비트 마스크를 사용하여 얻는다.

비트 마스크는 부울 연산을 통해 효율적으로 조작할 수 있다.예를 들어, 두 개의 조각 비트 마스크를 함께 추가하여 그것들 사이의 중첩을 결정할 수 있다.A-버퍼 알고리즘은 각 조각으로 소량의 추가 정보만 저장한다.예를 들면.파편의 z 범위는 포함되지만 파편의 어느 부분이 이러한 z 값과 연관되어 있는지에 대한 정보는 포함되지 않는다.따라서 알고리즘은 절편 비트 마스크가 z에서 겹치는 경우 하위 픽셀 기하학에 대한 가정을 해야 한다.

참조

  1. ^ a b Carpenter, Loren (July 1984). "The A-buffer, an Antialiased Hidden Surface Method". Computer Graphics. 18 (3): 103–108. CiteSeerX 10.1.1.210.5497. doi:10.1145/964965.808585.
  2. ^ Catmull, Edwin (August 1978). "A Hidden-Surface Algorithm with Anti-Aliasing" (PDF). Computer Graphics. 12 (3): 6–11. doi:10.1145/965139.807360. Archived from the original (PDF) on 2016-03-04. Retrieved 2015-06-19.
  3. ^ Foley, James D.; Feiner, Steven K.; van Dam, Andries; Hughes, John F. (1995). Computer Graphics: Principles and Practice in C (2nd ed.). Addison-Wesley. ISBN 978-0-201-84840-3.