KR100908580B1 - 효율적인 z 테스트 방법 및 컴퓨터 그래픽 렌더러 - Google Patents

효율적인 z 테스트 방법 및 컴퓨터 그래픽 렌더러 Download PDF

Info

Publication number
KR100908580B1
KR100908580B1 KR1020077015683A KR20077015683A KR100908580B1 KR 100908580 B1 KR100908580 B1 KR 100908580B1 KR 1020077015683 A KR1020077015683 A KR 1020077015683A KR 20077015683 A KR20077015683 A KR 20077015683A KR 100908580 B1 KR100908580 B1 KR 100908580B1
Authority
KR
South Korea
Prior art keywords
subspan
current
pixel
previous
pixels
Prior art date
Application number
KR1020077015683A
Other languages
English (en)
Other versions
KR20070088776A (ko
Inventor
토마스 피아자
에릭 샘슨
나세 아카보우네
디나카르 무나갈라
Original Assignee
인텔 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20070088776A publication Critical patent/KR20070088776A/ko
Application granted granted Critical
Publication of KR100908580B1 publication Critical patent/KR100908580B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Abstract

컴퓨터 그래픽 렌더링 중에 Z 테스트가 수행되는 방식으로 렌더링을 최적화한다. 촉진 불가인 픽셀의 상태는 픽셀 상태 어레이(PSA)를 사용하여 추적될 수 있다. 각 PSA 행은 픽셀의 촉진 불가 상태에 대응하는 비트를 포함할 수 있다. 각 행은 5개의 픽셀을 포함할 수 있는데, 이들 중 처음 4개는 서브스팬의 픽셀을 나타낸다. 행이 유효 서브스팬에 대응하는 경우, 서브스팬의 임의의 픽셀이 1로 표시되는지에 관해 판정될 수 있으며, 1은 픽셀이 촉진 불가임을 표시한다. 이 행은 렌더링 파이프라인 아래로 송신된 이전 서브스팬에 대응한다. 1이 존재하는 경우, 현재 서브스팬은 이전 서브스팬의 픽셀이 컬러 계산을 통과할 때까지 정지될 수 있다. 방금 판독된 행에서, 1로 표시되는 행이 없는 경우, 현재 서브스팬의 임의의 픽셀이 촉진 불가인지에 관해 판정될 수 있다. 촉진 불가인 경우, 현재 PSA 행의 대응 비트는 1로 설정될 수 있다. 촉진 가능인 경우, Z 테스트는 현재 서브스팬의 각 픽셀상에서 수행될 수 있다.

Description

효율적인 Z 테스트 방법 및 컴퓨터 그래픽 렌더러{EFFICIENT Z TESTING}
본 발명의 실시예는 컴퓨터 그래픽에 관한 것으로, 특히 렌더링에 관한 것이다.
일반적으로 말해, 컴퓨터 그래픽 렌더링은 그래픽 인스트럭션 및 데이터가 수신 및 처리되어 이미지 데이터가 생성될 수 있게 하는 프로세스이다. 이 이미지 데이터는 그 후 디스플레이와 같은 입출력(I/O) 장치로 송신될 수 있다. 렌더링은 이미지로서 디스플레이될 수 있는 데이터를 생성한다.
컴퓨터 그래픽 렌더링의 프로세스는 다수의 개별 동작을 포함할 수 있다. 예를 들어, 물체 또는 배경의 특정 컬러가 계산되어야 할 필요가 있을 수 있다. 또한, 텍스처(texture)가 주어진 표면에 적용되어야 할 필요가 있을 수 있다. 컴퓨터 그래픽 렌더링에서 수행될 수 있는 다른 동작은 주어진 물체가 다른 물체 또는 배경의 앞에 있는지를 판정하는 것이다. 전경(foreground) 물체가 불투명한 경우, 배경 물체는 가려질 수 있고, 배경 물체의 가려진 부분은 렌더링될 필요가 없을 수 있다. 일반적으로, 이 깊이 분석은 Z 테스팅이라 할 수 있다. 렌더링된 3차원 장면에서, 물체 또는 픽셀과 가정된(hypothtical) 카메라 또는 관찰자의 눈 사이의 거리가 결정될 수 있다. 유사하게, 카메라와 아마도 가려진 제 2 물체 또는 픽셀 사이의 비교 가능한 거리가 결정될 수 있다. 이들 거리는 가정된 Z축상에서 측정될 수 있으므로, "Z 테스팅"이라 한다. 더 근접한 물체가 불투명한 경우, 더 많은 떨어져 있는 픽셀 또는 물체가 렌더링될 필요가 없다.
그러나, Z 테스팅은 소정 구현에서 더 복잡할 수 있다는 것을 유의하자. 전경 물체가 예를 들어 반투명하거나 투명할 수 있다. 이러한 경우, 배경 물체는 렌더링되어야 한다. 또한, 이러한 조건은 Z 테스트로 프로그래밍될 수 있다.
전술한 바와 같이, Z 테스팅의 프로세스는 렌더링 중에 발생하는 여러 프로세스 중 단 하나일 수 있다. 또한, 이미지가 실시간으로 생성, 수정 및 디스플레이되어야 할 수 있다. 그러한 경우, 컴퓨터 그래픽 렌더링이 흔히 대량의 데이터의 프로세싱을 나타낸다고 하면, 렌더링 프로세스는 효율적이고 신속하게 발생되어야 한다. 그러므로, 스루풋이 최대화될 수 있도록 어떻게 이러한 프로세스를 최적으로 정렬하고 렌더링할지에 관한 설계 고려 사항이 생겨난다.
도 1은 본 발명의 일실시예에 따른 픽셀 상태 어레이의 표현이다.
도 2는 본 발명의 일실시예에 따른, 픽셀 상태 어레이를 사용하는 Z 테스팅을 수행하는 프로세스를 도시하는 흐름도이다.
도 3은 본 발명의 일실시예에 따른 픽셀 상태 어레이의 한 행의 빈 플랙상에 서 체크하고 기능하는 프로세스를 도시하는 흐름도이다.
도 4는 본 발명의 일실시예에 따른 컴퓨터 그래픽 렌더러를 도시하는 블록도이다.
첨부된 도면을 참조하여 본 발명을 설명할 것이다. 한 요소가 최초로 나타나는 도면은 대응 참조 번호의 가장 좌측 숫자에 의해 표시된다.
본 명세서에 개시되는 발명은, 예를 들어, 컴퓨터 그래픽 렌더링 동안 Z 테스팅을 수행하여 렌더링 스루풋 효율을 최적화하는 방법 및 시스템으로서 실시될 수 있다. 본 발명의 목적을 위해, 픽셀은 서브스팬(subspan)으로 배열될 수 있는데, 각 서브스팬은 컴퓨터 디스플레이상에 제공될 2픽셀×2픽셀의 어레이일 수 있다. 서브스팬은 더 큰 세트로 그룹화될 수 있는데, 본 명세서에서는 이를 빈(bin)이라 한다. 그러므로, 각 빈은 서브스팬 세트를 나타낼 수 있고, 컴퓨터 디스플레이상에 보여질 바와 같은 장면의 개별 영역을 나타낼 수 있다. 픽셀 일부는 촉진 불가(non-promotable)한 것으로 지정될 수 있다. 픽셀이 촉진 불가인 경우, 이는, 한 픽셀이 후방의 픽셀과 비교해서 전방에 존재하라도, 전방의 촉진 불가인 픽셀이 반드시 후방의 픽셀을 가리지는 않는다는 것을 의미한다. 촉진 불가인 픽셀은 예를 들어 투명 또는 반투명인 물체 또는 표면의 일부일 수 있다. 촉진 불가인 한 픽셀의 상태는 픽셀 상태 어레이(PSA)라는 데이터 구조를 사용하여 추적될 수 있다. 본 발명의 실시예에서, 픽셀 상태 어레이는 일정 수의 행으로 구성될 수 있다. 각 행은 다수의 비트를 포함할 수 있고, 각 비트는 픽셀의 촉진 불가 상태에 대응한다. 본 발명의 일실시예에서, PSA의 각 행은 5개의 비트를 포함할 수 있는데, 이 중 처음 4개는 단일 서브스팬의 픽셀을 나타낼 수 있다. 픽셀이 촉진 불가인 경우, PSA의 대응 비트는 그 픽셀의 서브스팬에 대응하는 행에서 설정될 수 있다. PSA는 하드웨어 또는 소프트웨어 또는 그 조합으로 구현될 수 있다.
본 발명의 실시예에서, 본 발명의 프로세싱은 PSA의 행을 판독하여 시작될 수 있다. 서브스팬의 유효성은, 예를 들어, 프로세스가 서브스팬이 적어도 하나의 픽셀을 포함하는지를 판정하여 결정될 수 있다. 행의 처음 4개의 위치 중 하나에서 1이 발생하는지에 관한 결정이 내려질 수 있다. 1은 대응 픽셀이 촉진 불가라는 것을 표시할 것이다. 이 행은 컬러 교정 및 기타 동작을 위해 렌더링 파이프라인으로 송신된 이전 픽셀 서브스팬에 대응할 수 있다. 1이 존재하는 경우, 이전 서브스팬의 픽셀이 컬러 계산을 통할 때까지 현재 서브스팬은 렌더링 파이프라인 이전에 정지될(stalled) 수 있다.
방금 판독된 행에서, 1로 표시되는 픽셀이 없는 경우, 현재 서브스팬의 임의의 픽셀이 촉진 불가인지에 관한 판정이 이루어질 수 있다. 촉진 불가인 경우, 현재 서브스팬에 대응하는 PSA 행의 대응 비트는 1로 설정될 수 있다. 촉진 불가가 아닌 경우, Z 테스팅이 현재 서브스팬의 4개의 픽셀 각각에서 수행될 수 있다. 이 방식에서, 촉진 가능으로 알려진 픽셀은 Z 테스트 동안 분석될 수 있으며 다른 픽셀에 의해 가려지는 것으로 발견되면 잠재적으로 드롭될 수 있다. 그러므로, 이러한 드롭된 픽셀은 컬러 계산과 같은 추가 프로세싱으로 절대 전송되지 않는다. 이는 프로세싱될 필요 없는 픽셀을 소거할 수 있다.
이제 첨부된 도면을 참조하여 본 발명의 실시예를 설명한다. 전술한 바와 같이, 주어진 픽셀은 촉진 가능 또는 촉진 불가인 것으로 고려될 수 있다. 주어진 픽셀의 촉진 가능성 또는 불가성은 PSA에서 추적될 수 있다. 본 발명에 따른 예시적 PSA가 도 1에 도시되어 있다. PSA는 2차원 어레이로서 구성될 수 있다. 어레이의 각 행은 픽셀의 서브스팬에 대응할 수 있다. 도시된 실시예에서, 각 서브스팬은 4개의 픽셀을 포함하여 PSA의 각 행은 4개의 비트를 포함하므로, 픽셀당 하나의 비트이고, 다섯 번째 비트가 이어진다. 이 행의 다섯 번째 비트는 빈 플래그로서 지칭될 수 있다. 빈 플래그의 목적을 보다 상세히 설명할 것이다. 그러므로, PSA의 각 행은 도시된 실시예의 5개의 비트 길이이다.
본 발명의 프로세스의 실시예가 도 2에 도시되어 있다. 이 프로세스는 블록(205)에서 시작할 것이다. 블록(210)에서, PSA의 행이 판독된다. PSA의 이 행은 렌더링 파이프라인을 통해 컬러 계산 프로세싱으로 이미 전송된 이전 픽셀 서브스팬과 연관될 수 있다. 블록(215)에서, 이 서브스팬이 유효로 판정되면, 프로세스는 블록(220)에서 계속될 것이다. 여기서, 현재 서브스팬이 고려될 수 있다. 이러한 서브스팬은 렌더링 파이프라인의 컬러 계산으로 전송되지 않았다. 블록(220)에서, 현재 서브스팬의 임의의 픽셀이 1로 나타나는지에 관한 결정이 이루어질 수 있다. 전술한 바와 같이, 1은 대응 픽셀이 촉진 불가임을 의미할 것이다. 1이 존재하는 경우, 블록(225)에서, 컬러 계산 논리가 이전 서브스팬의 분해(resolution)를 완료할 때까지 이 현재 서브스팬은 정지될(stalled) 수 있다. 1이 존재하지 않는 경우, 프로세스는 블록(230)에서 계속된다. 여기서, 현재 서브스팬의 임의의 픽셀은 촉진 불가이다. 촉진 불가인 경우, 프로세스는 블록(235)에서 계속된다. 여기서, 적합한 PSA 위치는 1로 설정될 수 있다. 현재 서브스팬에 촉진 불가인 픽셀이 존재하지 않는 경우, 프로세스는 블록(240)으로 계속된다. 여기서, Z 테스트가 현재 서브스팬의 픽셀에서 수행될 수 있다. 현재 서브스팬의 모든 픽셀이 촉진 가능이므로, 블록(230)에서 결정된 바와 같이, Z 테스트가 여기서 수행될 수 있다. 이 방식에서, 촉진 가능인 픽셀에 의해 가려지는 픽셀은 추가 프로세싱 없이 드롭될 수 있다. 그러므로, 블록(250)에서, Z 테스트를 통과했는지에 관한 결정이 이루어질 수 있다. 통과한 경우, 테스트된 픽셀은 렌더링 파이프라인을 통해 블록(270)의 컬러 계산 논리로 전송될 수 있다. 통과하지 못한 경우, 픽셀은 블록(260)에서 드롭될 수 있다.
본 발명의 실시예에서, 현재 서브스팬은 촉진 불가로 발견될 수 있고, 동시에 PSA에는 매칭 엔트리(matching entry)가 존재하지 않는다. 이 경우, Z 테스팅은 이 서브스팬의 픽셀에서 수행될 수 있다. Z 테스트가 통과되면, 대응 PSA 비트가 설정될 수 있고 현재 서브스팬은 렌더링 파이프라인을 통해 전송될 수 있다.
본 발명의 일실시예에서, PSA의 각 행은 빈 플래그를 포함할 수 있다. 빈 플래그는 PSA의 크기 제한을 지정하는 데 사용될 수 있다. 이상적으로는, PSA는 장면의 모든 서브스팬에 대해 행을 포함할 것이다. 이는 일반적으로 실용적이지 않으며, 특히 PSA가 하드웨어로 구현되는 경우에 그러하다. 이 문제를 해결하기 위해, 서브스팬은 빈으로 구성될 수 있는데, 여기서 각 빈은 주어진 이진 명칭(binary designation)일 수 있다. 그러므로, 각 빈은 홀수 또는 짝수로 보여질 수 있다. 빈의 명칭은 장면을 지나 변경될 수 있는데, 가령 주어진 빈이 홀수이면 그 인접 빈은 짝수로 고려된다. 이 이진 방안은 PSA의 0 또는 1로 인코딩될 수 있다. 따라서, 주어진 서브스팬에 대해, 그 빈은 빈 플래그에 의해 짝수 또는 홀수로서 식별될 수 있는데, 즉, 도 1의 예시적 PSA의 서브스팬과 연관되는 행의 다섯 번째 비트이다. PSA의 2개의 행이 주어지고, 각 빈 플래그가 상이한 경우, 대응 서브스팬이 상이한 빈과 연관된다는 것이 추론된다. 그러므로, 이들 서브스팬은 Z 테스트에서 서로에 대해 평가되지 않을 것이다. 그러므로, 이들 서브스팬 중 하나를 정지시키면서 다른 것들은 컬러 계산이 처리될 수 있는 지점은 존재하지 않는다.
이 프로세스에 대한 예외가 생길 수 있는데, 현재 서브스팬이 촉진 불가이고 픽셀과 중첩하는 다른 서브스팬이 예를 들어 컬러 계산 논리에서 렌더링 파이프라인 더 아래로 처리되는 경우이다. 이 경우에, 각 빈 플래그는 상이하더라도 현재 서브스팬이 정지될 수 있다.
본 발명의 일실시예에 따른 빈 플래그의 프로세싱이 도 3에 도시되어 있다. 이 프로세스는 블록(310)에서 시작한다. 블록(320)에서, 빈 플래그가 판독될 수 있다. 블록(330)에서, 빈 플래그가 이전 서브스팬의 빈 이외의 빈을 표시하는지에 관한 판정이 이루어진다. 표시하는 경우, 프로세싱은 블록(333)에서 계속될 수 있다. 여기서, 현재 서브스팬이 촉진 불가이고 이전 서브스팬과 중첩하는지에 관한 판정이 이루어질 수 있다. 중첩하는 경우, 블록(336)에서, 현재 서브스팬은 렌더링 파이프라인의 컬러 계산 논리가 이전 서브스팬을 분해할 때까지 정지될 수 있다. 중첩하지 않는 경우, 프로세스는 블록(340)에서 계속된다. 여기서, 현재 서브스팬은 렌더링 파이프라인을 통해 전송될 수 있다. 블록(330)에서, 동일한 서브스팬이 표시될 수 있다고 판정되면, 도 2에 도시된 바와 같이, 프로세싱은 블록(205)으로 진행할 수 있다.
본 발명은 컴퓨터 그래픽 렌더러에서 구현될 수 있으며, 그 중 한 예가 도 4에 도시되어 있다. 블록(410)은 렌더링 파이프라인으로서 보여질 수 있다. 도 2 및 3에 도시된 바와 같이, 본 발명은 블록(420)에서 중간 Z 유닛으로 포함될 수 있다. 전술한 바와 같이, 본 발명은 Z 테스트에 의해 결정되는 바와 같이 픽셀이 가려진 것으로 발견되면, 추가적인 프로세싱을 요구하지 않고 픽셀의 드롭을 허용한다. 도 4에 도시된 바와 같이, Z 테스트를 통과하는 픽셀은 최종적으로 다양한 프로세스를 통해 송신될 수 있고, 최종적으로 컬러 계산기(430)로 송신된다. 최종적으로 디스플레이되지 않을 픽셀을 소거함으로써, 본 발명은 디스플레이되지 않을 픽셀에 대한 불필요한 컬러 계산을 피하여 상당한 프로세싱을 절감할 수 있다.
본 발명을 특정 기능 및 그 관계를 설명하는 기능적 기본 원리 및 방법 단계로써 설명하였다. 이들 기능적 기본 원리 및 방법 단계는 설명의 편의를 위해 본 명세서에서 임의로 정의되었다. 특정 기능 및 그 관계가 적합하게 수행될 수 있는 한 다른 한도가 정의될 수 있다. 따라서, 임의의 그러한 한도가 청구된 발명의 범위 및 사상 내에 존재한다. 당업자는, 이들 기능적 기본 원리가 개별 구성 요소, 주문형 집적 회로, 적합한 소프트웨어를 실행하는 프로세서 및 그 임의의 조합에 의해 구현될 수 있다는 것을 인식할 것이다. 따라서, 본 발명의 범위 및 사상은 선술한 예시적 실시예에 의해 제한되어서는 안되며, 다음의 청구범위 및 그 균등물에 따라서만 정의되어야 한다.
본 발명의 다양한 실시예는 설명하였지만, 이는 예시적인 것이며 한정적인 것이 아니라는 것을 이해해야 한다. 형태와 세부 사항의 다양한 변경이 본 발명의 범위 및 사상을 벗어나지 않고 이루어질 수 있음은 당업자에게 명백할 것이다.

Claims (19)

  1. 현재 서브스팬(subspan) 및 이전 서브스팬이 상이한 빈(bins)과 연관되는지를 판정하기 위해, 픽셀 상태 어레이(a pixel status array, PSA)의 2개의 행의 빈 플래그(bin flags)를 판독하는 단계 - 상기 행은 상기 이전 서브스팬 및 상기 현재 서브스팬에 대응함 - 와,
    상기 현재 서브스팬이 촉진 불가(non-promotable) 픽셀을 포함하고 상기 이전 서브스팬과 중첩하는지를 판정하는 단계와,
    상기 현재 서브스팬 및 상기 이전 서브스팬이 상이한 빈과 연관되고, 상기 현재 서브스팬이 상기 촉진 불가 픽셀을 포함하고 상기 이전 서브스팬과 중첩하는 경우에는, 상기 이전 서브스팬이 렌더링 파이프라인(a rendering pipeline)의 컬러 계산 논리에 의해 프로세스된 이후에 상기 현재 서브스팬의 프로세싱을 개시하는 단계와,
    그렇지 않은 경우에는, 상기 현재 서브스팬을 상기 렌더링 파이프 라인을 통해 전송하는 단계를 포함하는
    Z 테스트를 위한 방법.
  2. 제 1 항에 있어서,
    상기 서브스팬은 2×2 어레이로 4개의 픽셀을 각각 포함하는
    Z 테스트를 위한 방법.
  3. 제 2 항에 있어서,
    상기 PSA의 각 행은 서브스팬을 나타내고, 상기 서브스팬의 4개의 개별 픽셀을 나타내는 4개의 비트를 포함하며, 상기 빈 플래그는 상기 서브스팬에 대응하는
    Z 테스트를 위한 방법.
  4. 이전 행이 픽셀 상태 어레이(PSA)에 존재하는지를 판정하는 단계 - 상기 이전 행은 이전 서브스팬에 대응함 - 와,
    촉진 불가 픽셀이 상기 PSA의 현재 행에 표시되는지를 판정하는 단계 - 상기 현재 행은 현재 서브스팬에 대응함 - 와,
    상기 픽셀 상태 어레이의 상기 이전 행 및 상기 현재 행의 빈 플래그를 판독하는 단계와,
    상기 현재 서브스팬이 촉진 불가 픽셀을 포함하고 상기 이전 서브스팬과 중첩하는지를 판정하는 단계와,
    상기 현재 서브스팬 및 상기 이전 서브스팬이 상이한 빈과 연관되고, 상기 현재 서브스팬이 상기 촉진 불가 픽셀을 포함하고 상기 이전 서브스팬과 중첩하는 경우, 상기 이전 서브스팬이 렌더링 파이프라인의 컬러 계산 논리에 의해 프로세스된 이후에 상기 현재 행에 대응하는 현재 서브스팬의 프로세싱을 개시하는 단계와,
    촉진 불가 픽셀이 표시되지 않는 경우, 상기 현재 서브스팬이 촉진 불가 픽셀을 포함하는지를 판정하는 단계와,
    상기 현재 서브스팬이 촉진 불가 픽셀을 포함하는 경우, 상기 현재 서브스팬의 상기 촉진 불가 픽셀에 대응하는 PSA 위치를 설정하는 단계와,
    상기 현재 서브스팬이 촉진 가능 픽셀만을 포함하는 경우, 상기 촉진 가능 픽셀 상에 Z 테스트를 수행하는 단계를 포함하는
    Z 테스트를 위한 방법.
  5. 제 4 항에 있어서,
    임의의 상기 촉진 가능 픽셀이 상기 Z 테스트를 통과하는 경우, 상기 렌더링 파이프라인을 통해 상기 촉진 가능 픽셀을 전송하는 단계와,
    상기 촉진 가능 픽셀이 상기 Z 테스트에 실패한 경우, 상기 촉진 가능 픽셀을 드롭하는 단계를 더 포함하는
    Z 테스트를 위한 방법.
  6. 제 4 항에 있어서,
    임의의 상기 촉진 불가 픽셀이 상기 Z 테스트를 통과하는 경우, 상기 렌더링 파이프라인을 통해 상기 촉진 불가 픽셀을 전송하는 단계와,
    상기 촉진 불가 픽셀이 상기 Z 테스트에 실패한 경우, 상기 촉진 불가 픽셀을 드롭하는 단계를 더 포함하는
    Z 테스트를 위한 방법.
  7. 제 4 항에 있어서,
    상기 Z 테스트는 상기 렌더링 파이프라인의 중간 Z 모듈에서 수행되는
    Z 테스트를 위한 방법.
  8. 제 4 항에 있어서,
    각 서브스팬은 2×2 어레이로 4개의 픽셀을 포함하는
    Z 테스트를 위한 방법.
  9. 제 8 항에 있어서,
    상기 PSA의 각 행은 서브스팬을 나타내고 상기 서브스팬의 4개의 개별 픽셀을 나타내는 4개의 비트를 포함하는
    Z 테스트를 위한 방법.
  10. 제 4 항에 있어서,
    상기 촉진 불가 픽셀에 대응하는 상기 PSA에 비트를 설정하는 단계와,
    상기 현재 서브스팬에 대응하는 상기 PSA의 행이 존재하지 않고 상기 현재 서브 스팬이 촉진 불가 픽셀을 포함하는 경우, 상기 촉진 불가 픽셀상에 상기 Z 테스트를 수행하는 단계를 더 포함하는
    Z 테스트를 위한 방법.
  11. 제 4 항에 있어서,
    상기 이전 행이 픽셀 상태 어레이(PSA)에 존재하는 경우, 상기 이전 행이 유효 서브스팬을 나타내는지를 판정하는 단계를 더 포함하되,
    촉진 불가 픽셀이 상기 PSA의 상기 현재 행에 표시되는지를 판정하기 전에 수행되는
    Z 테스트를 위한 방법.
  12. 중간 Z 유닛을 포함하는 Z 테스트를 위한 컴퓨터 그래픽 렌더러(a computer graphics renderer)로서,
    상기 중간 Z 유닛은,
    이전 행이 픽셀 상태 어레이(PSA)에 존재하는지를 판정하는 기능 - 상기 이전 행은 이전 서브스팬에 대응함 - 과,
    현재 서브스팬 및 이전 서브스팬이 상이한 빈과 연관되는지를 판정하기 위해, 상기 이전 행 및 현재 행의 빈 플래그를 판독하는 기능 - 상기 현재 행은 상기 현재 서브스팬에 대응함 - 과,
    상기 현재 서브스팬이 촉진 불가 픽셀을 포함하고 상기 이전 서브스팬과 중첩하는지를 판정하는 기능과,
    상기 현재 서브스팬 및 상기 이전 서브스팬이 상이한 빈과 연관되고, 상기 현재 서브스팬이 상기 촉진 불가 픽셀을 포함하고 상기 이전 서브스팬과 중첩하는 경우, 상기 이전 서브스팬이 렌더링 파이프라인의 컬러 계산 논리에 의해 프로세스된 이후에 상기 현재 행에 대응하는 현재 서브스팬의 프로세싱을 개시하는 기능과,
    촉진 불가 픽셀이 표시되지 않는 경우, 상기 현재 서브스팬이 촉진 불가 픽셀을 포함하는지를 판정하는 기능과,
    상기 현재 서브스팬은 상기 촉진 가능 픽셀을 포함하는 촉진 가능 픽셀 세트만을 포함하는 경우, 상기 촉진 가능 픽셀 상에 상기 Z 테스트를 개시하고, 그렇지 않은 경우, 상기 현재 서브스팬의 상기 촉진 불가 픽셀에 대응하는 PSA 위치를 설정하는 기능과,
    촉진 가능 픽셀상에 Z 테스트를 실행하는 기능과,
    상기 Z 테스트에 실패한 경우, 상기 촉진 가능 픽셀을 폐기하는 기능과,
    상기 Z 테스트가 통과되기만 하면 렌더링 파이프라인을 통해 상기 픽셀을 전송하는 기능을 수행하는
    Z 테스트를 위한 컴퓨터 그래픽 렌더러.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 현재 서브스팬 및 이전 서브스팬이 상이한 빈과 연관되는지를 판정하기 위해, 픽셀 상태 어레이(PSA)의 2개의 행의 빈 플래그를 판독하는 기능 - 상기 행은 상기 이전 서브스팬 및 상기 현재 서브스팬에 대응함 - 과,
    픽셀 상태 어레이(PSA)의 행을 판독하는 기능 - 상기 행은 상기 이전 서브스팬에 대응함 - 과,
    상기 현재 서브스팬 및 상기 이전 서브스팬이 상이한 빈과 연관되고, 상기 현재 서브스팬이 상기 촉진 불가 픽셀을 포함하고 상기 이전 서브스팬과 중첩하는 경우에는, 상기 이전 서브스팬이 렌더링 파이프라인의 컬러 계산 논리에 의해 프로세스된 이후에 상기 현재 서브스팬의 프로세싱을 개시하고, 그렇지 않은 경우에는, 상기 현재 서브스팬을 상기 렌더링 파이프 라인을 통해 전송하는 기능과,
    촉진 가능 픽셀상에 Z 테스트를 실행하는 기능과,
    상기 Z 테스트에 실패한 경우, 상기 촉진 가능 픽셀을 폐기하는 기능과,
    상기 Z 테스트가 통과되기만 하면 렌더링 파이프라인을 통해 상기 픽셀을 전송하는 기능을 수행하는
    중간 Z 유닛을 포함하는 Z 테스트를 위한 컴퓨터 그래픽 렌더러.
  18. 제 17 항에 있어서,
    상기 현재 및 이전 서브스팬은 2×2 어레이로 4개의 픽셀을 각각 포함하는
    Z 테스트를 위한 컴퓨터 그래픽 렌더러.
  19. 제 17 항에 있어서,
    상기 PSA의 각 행은 서브스팬에 대응하고 상기 서브스팬의 픽셀 각각에 대한 비트를 포함하는
    Z 테스트를 위한 컴퓨터 그래픽 렌더러.
KR1020077015683A 2004-12-29 2005-12-29 효율적인 z 테스트 방법 및 컴퓨터 그래픽 렌더러 KR100908580B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/023,639 2004-12-29
US11/023,639 US8072451B2 (en) 2004-12-29 2004-12-29 Efficient Z testing
PCT/US2005/047690 WO2006072108A1 (en) 2004-12-29 2005-12-29 Efficient z testing

Publications (2)

Publication Number Publication Date
KR20070088776A KR20070088776A (ko) 2007-08-29
KR100908580B1 true KR100908580B1 (ko) 2009-07-22

Family

ID=36176165

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077015683A KR100908580B1 (ko) 2004-12-29 2005-12-29 효율적인 z 테스트 방법 및 컴퓨터 그래픽 렌더러

Country Status (6)

Country Link
US (1) US8072451B2 (ko)
KR (1) KR100908580B1 (ko)
CN (1) CN1848179B (ko)
DE (1) DE112005003295B4 (ko)
TW (1) TWI296784B (ko)
WO (1) WO2006072108A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9214006B2 (en) 2013-06-04 2015-12-15 Arm Limited Hidden surface removal in graphics processing systems
CN103871095B (zh) * 2012-12-17 2018-07-17 Arm有限公司 图形处理系统中的隐藏面消除
US9153070B2 (en) 2012-12-17 2015-10-06 Arm Limited Hidden surface removal in graphics processing systems
CN109427084B (zh) * 2017-08-25 2022-05-24 腾讯科技(深圳)有限公司 一种地图显示方法、装置、终端及存储介质
GB2574361B (en) 2017-12-18 2021-03-24 Advanced Risc Mach Ltd Graphics Processing
US10726610B2 (en) 2018-08-29 2020-07-28 Arm Limited Efficient graphics processing using metadata

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6271851B1 (en) 1999-07-26 2001-08-07 Silicon Integrated Systems Corporation Z-buffer pre-test for 3D graphic performance enhancement
US20030080959A1 (en) 2001-10-29 2003-05-01 Ati Technologies, Inc. System, Method, and apparatus for early culling
KR20040052499A (ko) * 2001-11-27 2004-06-23 가부시키가이샤 소니 컴퓨터 엔터테인먼트 영상 처리 장치와 그의 구성요소, 렌더링 방법
KR20060118535A (ko) * 2003-12-09 2006-11-23 유지에스 코포레이션 투명 렌더링을 위한 시스템 및 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3096103B2 (ja) * 1991-08-30 2000-10-10 キヤノン株式会社 画像処理装置及び方法
JPH11515121A (ja) * 1995-07-26 1999-12-21 レイカー,インコーポレイティド スパンおよびサブスパン・ソーティング・レンダリング・システムのための方法および装置
US5864342A (en) * 1995-08-04 1999-01-26 Microsoft Corporation Method and system for rendering graphical objects to image chunks
US6166743A (en) 1997-03-19 2000-12-26 Silicon Magic Corporation Method and system for improved z-test during image rendering
US6219058B1 (en) * 1997-09-08 2001-04-17 Intel Corporation Bin-per-span based representation and communication of graphical data
JPH11259678A (ja) * 1998-03-12 1999-09-24 Sega Enterp Ltd 画像表示装置及びそれによる画像表示方法
US6456285B2 (en) * 1998-05-06 2002-09-24 Microsoft Corporation Occlusion culling for complex transparent scenes in computer generated graphics
US6559852B1 (en) 1999-07-31 2003-05-06 Hewlett Packard Development Company, L.P. Z test and conditional merger of colliding pixels during batch building
TW449729B (en) 1999-10-27 2001-08-11 Silicon Integrated Sys Corp Effective test ahead method and structure for Z buffer in 3D graphics
US6636214B1 (en) * 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US7268779B2 (en) 2002-12-24 2007-09-11 Intel Corporation Z-buffering techniques for graphics rendering

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6271851B1 (en) 1999-07-26 2001-08-07 Silicon Integrated Systems Corporation Z-buffer pre-test for 3D graphic performance enhancement
US20030080959A1 (en) 2001-10-29 2003-05-01 Ati Technologies, Inc. System, Method, and apparatus for early culling
KR20040052499A (ko) * 2001-11-27 2004-06-23 가부시키가이샤 소니 컴퓨터 엔터테인먼트 영상 처리 장치와 그의 구성요소, 렌더링 방법
KR20060118535A (ko) * 2003-12-09 2006-11-23 유지에스 코포레이션 투명 렌더링을 위한 시스템 및 방법

Also Published As

Publication number Publication date
WO2006072108A1 (en) 2006-07-06
CN1848179B (zh) 2014-07-09
US20060139366A1 (en) 2006-06-29
TW200636611A (en) 2006-10-16
CN1848179A (zh) 2006-10-18
TWI296784B (en) 2008-05-11
KR20070088776A (ko) 2007-08-29
DE112005003295B4 (de) 2010-08-12
DE112005003295T5 (de) 2008-04-17
US8072451B2 (en) 2011-12-06

Similar Documents

Publication Publication Date Title
US20210327124A1 (en) Using tiling depth information in hidden surface removal in a graphics processing system
US7683905B1 (en) Methods of processing graphics data including reading and writing buffers
CN101221653B (zh) 用于图形处理单元的性能监测方法和系统
US9299187B2 (en) Opacity testing for processing primitives in a 3D graphics processing system
US10957082B2 (en) Method of and apparatus for processing graphics
US7015913B1 (en) Method and apparatus for multithreaded processing of data in a programmable graphics processor
US7570266B1 (en) Multiple data buffers for processing graphics data
US7609273B1 (en) Pixel load instruction for a programmable graphics processor
US7425967B2 (en) Device for processing pixel rasterization and method for processing the same
KR100908580B1 (ko) 효율적인 z 테스트 방법 및 컴퓨터 그래픽 렌더러
US7538765B2 (en) Method and apparatus for generating hierarchical depth culling characteristics
KR20040093432A (ko) 화상 렌더링 디바이스 및 화상 렌더링 방법
GB2534567A (en) Processing primitives which have unresolved fragments in a graphics processing system
CN112116518A (zh) 合并单元、选择覆盖范围合并方案的方法和深度测试系统
CN106485646B (zh) 图形处理系统
US7053904B1 (en) Position conflict detection and avoidance in a programmable graphics processor
US7053893B1 (en) Position conflict detection and avoidance in a programmable graphics processor using tile coverage data
US7079133B2 (en) Superscalar 3D graphics engine
KR20230073222A (ko) 깊이 버퍼 프리-패스
EP1590769A2 (en) Method and system for compositing three-dimensional graphics images using associative decision mechanism
US8102393B1 (en) Cull streams for fine-grained rendering predication
EP1376474A2 (en) System for and method of performing an opacity calculation in a 3D graphics system
US6760025B1 (en) Z-buffer based interpenetrating object detection for antialiazing
US8179394B1 (en) Cull streams for fine-grained rendering predication
US8599208B2 (en) Shared readable and writeable global values in a graphics processor unit pipeline

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130701

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140701

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150630

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170704

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 10