KR20040052499A - 영상 처리 장치와 그의 구성요소, 렌더링 방법 - Google Patents

영상 처리 장치와 그의 구성요소, 렌더링 방법 Download PDF

Info

Publication number
KR20040052499A
KR20040052499A KR10-2003-7013515A KR20037013515A KR20040052499A KR 20040052499 A KR20040052499 A KR 20040052499A KR 20037013515 A KR20037013515 A KR 20037013515A KR 20040052499 A KR20040052499 A KR 20040052499A
Authority
KR
South Korea
Prior art keywords
primitives
primitive
group
buffer
rendering
Prior art date
Application number
KR10-2003-7013515A
Other languages
English (en)
Other versions
KR100907154B1 (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 KR20040052499A publication Critical patent/KR20040052499A/ko
Application granted granted Critical
Publication of KR100907154B1 publication Critical patent/KR100907154B1/ko

Links

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
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 렌더링의 양이 감축될 수 있는 영상 처리 장치를 제공하기 위한 것이다. 다수의 프리미티브들은 프리미티브 버퍼에 있는 다수의 프리미티브들에 관한 데이터에 따라, XYZ 클리핑부, Z 테스팅부와 스텐실 테스팅부에 의해, 디스플레이에 표시되는 제 1 그룹의 프리미티브들과 디스플레이에 표시되지 않는 제 2 그룹의 프리미티브들로 분류된다. 2차원 영상은 프리미티브 버퍼에 있는 제 1 그룹의 프리미티브들에 관한 데이터를 사용하여 프레임 버퍼에서 그려진다.

Description

영상 처리 장치와 그의 구성요소, 렌더링 방법{Image processing apparatus and constituent parts thereof, rendering method}
디스플레이 장치에 대한 영상을 표현하는, 게임 콘솔이나 개인 컴퓨터들과 같은 영상 처리 장치의 영상 처리 용량은 처리 장치 속도의 최근의 증가와 함께 의미심장하게 증가해 왔다.
예를 들어, 2차원 스크린에 대한 고화질의 좋은 3차원 영상을 보여주기 위해 이용되는 2차원 영상은 거의 실시간으로 생성될 수 있다.
2차원 영상들은 3차원 영상에 포함된 가상객체(이하,"객체"라 한다)의 영상을 만드는 다각형과 같은 다수의 프리미티브들과, 그리고 모양, 크기, 색깔, 밝기와 같은 관련된 프리미티브의 속성들을 묘사하는 속성 데이터 집단으로 생성된다.
2차원 스크린에 대한 3차원 영상을 표현하는 영상 처리는 일반적으로 기하 처리와 렌더링으로 구분될 수 있다. 기하 처리는 프리미티브들의 한 그룹의 정점들의 좌표들을 변환하는 좌표 변환을 포함한다. 렌더링은 2차원 영상을 생성하기 위한 기하 처리의 결과로서 얻어진 기하 데이터로부터 예를 들면, 각 픽셀의 색깔을결정하는 데 사용되어진다.
이 명세서에서, (분포된 시스템과 반도체 장치를 포함하는) 렌더링 작업을 주로 수행하는 장치는 렌더링 처리 장치라고 한다. 렌더링 처리 장치는 영상 처리 장치의 일부분을 형성한다.
몇몇 렌더링 처리 장치들은 2번 이상 같은 프리미티브들을 표현하는 것에 의해 더 좋은 시각 효과를 위한 섬세한 그림과 같은 그래픽과 영상들을 표현할 수 있다. 2이상의 렌더링 패스를 구비한 렌더링은 "멀티패스 렌더링"이라고 칭해진다. 멀티패스 렌더링에서의 단일과정은 "패스"라고 칭해진다. 3개의 렌더링 패스를 구비한 멀티패스 렌더링에서, 다각형은 제 1 패스동안 어떤 텍스쳐를 혼합하지 않고 렌더링될 수 있으며, 한 텍스쳐가 제 2 패스동안 추가될 수 있으며, 그리고 다른 텍스쳐가 제 3 패스동안 추가될 수 있다.
통상의 렌더링 처리 장치들은 멀티패스 렌더링동안 모든 프리미티브들에 대해 여러 번 렌더링을 수행한다. 섬세한 그림의 그래픽이나 영상들이 표현될 때, 이것은 렌더링 작업의 개수, 즉 처리량을 증가시키며, 더 큰 처리 부담의 결과를 가져온다.
본 발명은 위에서 언급한 문제점들과 관련되어 만들어지며 본 발명의 목적은 3차원 영상에 대한 렌더링 작업이 더 적은 처리로 성취 될 수 있는 렌더링 처리 장치와 렌더링 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 어떤 오버헤드 없이도 더 좋은 시각효과를 위한 영상을 제공하는 영상 처리 장치와 그의 구성요소들을 제공하는 것이다.
본 발명은 디스플레이 장치와 같은 2차원 스크린에 대한 3차원 영상들의 효율적인 렌더링을 위한 영상 처리 기술에 관한 것이다.
도 1은 본 발명의 실시형태에 따른 영상 처리 장치의 하드웨어 구성을 도시한 도이고;
도 2는 프리미티브 버퍼에 있는 기하 데이터의 예를 도시한 도이고;
도 3은 트라이앵글 스트립을 도시하는 도이고;
도 4는 클리핑을 묘사하기 위해 이용되는 도이고;
도 5는 클리핑을 묘사하기 위해 이용되는 도이고;
도 6은 서브픽셀들을 도시하는 도이고;
도 7은 스텐실 테스트를 묘사하기 위해 이용되는 도이고;
도 8은 가시화된 플래그 제어부의 구성의 예시도이고;
도 9는 트라이앵글 스트립을 도시하는 도이고;
도 10은 프리미티브가 트라이앵글 스트립일 때 가시화된 플래그 테이블을 도시하는 도이고;
도 11은 본 발명의 실시형태에 따른 렌더링 과정을 도시하는 도이고;
도 12는 Z 버퍼 드로잉 과정을 도시하는 도이고;
도 13은 Z 버퍼 드로잉에 대한 데이터 흐름을 도시하는 도이고;
도 14는 테스트 패스에 대한 처리 과정을 예시하는 도이고;
도 15는 테스트 패스에 대한 데이터 흐름을 도시하는 도이고;
도 16은 디스플레이에 표시되지 않는 프리미티브들이 삭제될 때 데이터 흐름을 도시하는 도이고;
도 17은 멀티패스 렌더링 과정을 도시하는 도이고;
도 18은 멀티패스 렌더링에 대한 데이터 흐름을 도시하는 도이고;
도 19는 본 발명의 또 다른 실시형태에 따른 렌더링 처리 장치의 하드웨어 구성을 도시하는 도이고; 그리고
도 20은 프리미티브 커버리지를 묘사하기 위해 이용되는 도이다.
상술한 문제점들을 해결하는 본 발명에 따른 렌더링 처리 장치는, 2차원 스크린에 각각 다수의 프리미티브들로 구성되는 3차원 영상을 표현하는 렌더링 처리 장치이며, 각각의 속성 데이터 집단이 다수의 프리미티브들 중 1개의 속성들을 표현하며, 다수의 속성 데이터 집단들이 관련된 프리미티브들과 관련하여 쓰여지는 프리미티브 버퍼; 및 다수의 프리미티브들을 2차원 스크린에 표시되는 제 1 그룹의 프리미티브들과 스크린에 표시되지 않는 제 2 그룹의 프리미티브들로 분류하기 위해 프리미티브 버퍼 내에서 다수의 속성 데이터 집단들을 서로 비교하는 테스터를 포함하고, 렌더링 처리 장치는 테스터에 의해 분류된 제 1 그룹의 프리미티브들을 표현하고 그리고 제 2 그룹의 프리미티브들을 표현하지 않도록 구성됨을 특징으로 한다.
렌더링은 오직 하나의 렌더 패스를 구비한 텍스쳐를 사용하는 주어진 프리미티브를 표시하는 전형적인 단일 패스 렌더링이나 다른 텍스쳐를 사용하여 여러 번 같은 프리미티브를 표시하는 멀티패스 렌더링이 될 수 있다. 하여튼, 2차원 스크린에 실제로 표시되는 프리미티브들(제 1 그룹의 프리미티브들)이 표현된다. 3차원 영상을 생성하는 모든 프리미티브들을 표현하는 통상의 렌더링 처리 장치들과 비교하여, 작업처리량은 의미심장하게 향상된다.
"속성 데이터 집단"은, 데이터가 주어진 프리미티브가 2차원 스크린에 나타나는지 여부를 결정하는 데 사용되어질 수 있다면, 어떤 종류의 적합한 데이터도 될 수 있다. 일반적으로, 속성 데이터 집단들은, 프리미티브의 정점들에 관한 수치데이터(예컨대, 정점의 좌표, 정점의 밝기, 또는 텍스쳐의 좌표)와 같은 수치 데이터, 프리미티브의 크기, 색깔, 혹은 투명성이 될 수 있다. 정점들에 관한 수치 데이터는, 예를 들어, 기하 처리 결과로 얻어지는 기하 데이터가 될 수 있다.
프리미티브 버퍼 내에 기록된 프리미티브들의 개수는 하나의 스크린에 맞는 3차원 영상들이 2차원 스크린에 세워지는 프리미티브들의 개수와 적어도 같은 것이 바람직하다. 이것은 스크린 베이시스에 대한 효율적인 렌더링을 허용한다.
픽셀 베이시스에 더 효과적인 렌더링을 제공하기 위해, 렌더링 처리 장치는 프리미티브에 대한 공지의 속성 데이터 집단에 따라 픽셀들을 삽입하는 삽입 수단을 더 포함한다. 테스터는 픽셀들을 삽입하는 결과로 얻어지는 새로운 속성 데이터 집단을 서로 비교되는 속성 데이터 집단들로 추가하는 것에 의해 픽셀 베이시스에 대한 프리미티브들을 분류한다. 그러한 구성을 가지고, 2차원 스크린에 표시되는 프리미티브는 단 하나의 픽셀에서도 제 1 그룹의 프리미티브들로 분류된다.
더 높은 해상도를 가진 영상을 위해, 각각의 픽셀은 소정의 개수의 서브픽셀들로 나뉘어진다. 서브픽셀들 중 적어도 하나가 렌더링 하게 될 때, 삽입 수단은 프리미티브에 대한 공지의 속성 데이터 집단에 따라 서브픽셀들을 삽입하도록 구성된다. 테스터는 서브픽셀들의 삽입 결과로 얻어지는 새로운 속성 데이터 집단을 서로 비교되는 속성 데이터 집단들로 추가함으로써 서브픽셀 베이시스에 대한 프리미티브를 분류하도록 구성된다.
렌더링 처리 장치는 표현되는 주어진 프리미티브에 의해 커버되는 서브픽셀들의 개수 대 단일 픽셀을 생성하는 서브픽셀들의 전체 개수의 비율을 계산하는 커버리지 계산 수단을 더 포함할 수 있고, 서브픽셀에 대한 속성 데이터 집단은 커버리지 계산 수단에 의한 계산의 결과에 근거하여 결정될 수 있다. 이것은 더 빠른 안티알리아싱(anti-aliasing)을 제공한다.
안티알리아싱을 허용하기 위해, 상기 테스터는 2개 이상의 프리미티브들이 픽셀에서 그려질 때 프리미티브들의 경계에서 픽셀들을 분류하지 않도록 구성될 수 있다.
프리미티브 버퍼 내에서의 각각의 속성 데이터 집단은 3차원 영상에서의 관련 프리미티브의 위치를 표현하는 좌표 값들(X, Y, 및 Z)과 같은 위치 정보를 포함할 수 있으며, 테스터는 프리미티브들을 제 1 및 제 2 그룹의 프리미티브들로 분류하기 위하여 속성 데이터 집단들 내에 포함된 위치 정보를 비교하도록 구성될 수 있고, 이때 제 1 그룹의 프리미티브들은 2차원 스크린을 통하여 보는 사람의 전망에 가장 가까운 프리미티브들이 되며, 제 2 그룹의 프리미티브들은 제 1 그룹의 프리미티브들로 분류된 것과 다른 프리미티브들이다. 이 구성은 다른 프리미티브나 프리미티브들 뒤에 숨겨진 프리미티브들의 렌더링을 제거한다.
각각의 프리미티브는 2차원 스크린에 표시되는 것이 허용된 허용 영역과 스크린에 표시되는 것이 허용되지 않는 비허용 영역을 포함하는 스텐실 데이터에 놓여지기에 적합할 수 있고, 스텐실 데이터는 표시되는 영상이나 영상들의 투명성과 모양을 표현한다. 이 경우, 테스터는 제 1 및 제 2 그룹의 프리미티브들로 프리미티브들을 분류하며, 이때 제 1 그룹의 프리미티브들은 그 영역의 적어도 일부분이 허용 영역이나 비허용 영역 위에 놓여지는 프리미티브들이며, 제 2 그룹의 프리미티브들은 제 1 그룹의 프리미티브들로 분류된 것과 다르게 남은 프리미티브들이다.
렌더링 속도를 증가시키는 시점으로부터, 테스터는 주어진 프리미티브가 제 1 그룹의 프리미티브 내 또는 제 2 그룹의 프리미티브 내에 있는지 여부를 묘사하는 플래그를 렌더링 내에서 참조되는 소정의 가시화된 플래그 테이블 내에 기록하도록 구성된다. 플래그는 주어진 프리미티브에 대한 속성 데이터 집단과 관련되어 기록된다. 그러한 구성은 단지 가시화된 플래그 테이블에서 플래그를 체크하는 것에 의해, 렌더링 처리 장치가 주어진 속성 데이터 집단이 제 1 그룹의 프리미티브들이나 제 2 그룹의 프리미티브들 내에 있는지 여부를 결정하도록 허용한다. 플래그는 각각의 프리미티브에 대해 다른 값을 가지는 수치 플래그가 될 수 있으며, 플래그 값은 2차원 스크린에 표시되는 프리미티브에 의해 커버된 픽셀들의 개수에 근거하여 갱신된다.
렌더링 처리 장치는 가시화된 플래그 테이블에 기록된 관련된 프리미티브에 대한 플래그를 참조하고 그리고 제 2 그룹의 프리미티브들에 대하여 프리미티브 버퍼로부터 속성 데이터 집단들의 판독을 제한하는 데 적합한 편집 수단을 더 포함한다. 제 2 그룹의 프리미티브들의 사용을 더욱 적극적으로 피하는 시점으로부터, 편집 수단은 제 2 그룹의 프리미티브들로 분류된 프리미티브들에 대한 속성 데이터 집단들을 프리미티브 버퍼로부터 삭제하는 데 적합하다.
상술한 문제점들을 해결하는 본 발명에 따른 영상 처리 장치는 크기가 2차원 스크린 내의 디스플레이 영역의 크기와 같은 프레임 버퍼; 3차원 영상에 대한 기하 데이터를 생성하기 위하여 3차원 영상을 묘사하는 다수의 프리미티브들의 기하 처리를 수행하는 데 적합한 제 1 처리 장치; 생성된 기하 데이터에 따라 프레임 버퍼에서 3차원 영상들에 대응하는 2차원 영상들을 표현하는 제 2 처리 장치; 그리고 디스플레이 영역에서 표현된 2차원 영상을 표시하는데 사용하는 제어기를 포함하는 영상 처리 장치이다.
제 2 처리 장치는 2차원 스크린에 표시되는 제 1 그룹의 프리미티브들과 2차원 스크린에 표시되지 않는 제 2 그룹의 프리미티브들로 다수의 프리미티브들을 분류하고 제 2 그룹의 프리미티브들과 다른 제 1 그룹의 프리미티브들로 구성되는 2차원 영상을 프레임 버퍼 내에 표현하기 위하여, 다수의 속성 데이터 집단들을 서로 비교한다. 각각의 속성 데이터 집단은 제 1 처리 장치로부터 얻어진 기하 데이터에 의해 특정된 다수의 프리미티브들 중 1개의 속성들을 표현한다.
바람직한 실시형태에서, 버퍼 메모리가 제 1 처리 장치와 제 2 처리 장치의 사이에 제공되고, 그리고 제 1 처리 장치에 의해 생성된 기하 데이터가 버퍼 메모리를 경유하여 제 2 처리 장치로 전송된다.
영상 처리 장치는 외부 장치로부터 처리되는 3차원 영상들을 수신하고, 그리고 그것들을 제 1 처리 장치로 공급하는 영상 수신 매커니즘을 더 포함하여 구성된다.
상술한 다른 문제점들을 해결하는 본 발명에 따른 렌더링 방법은 2차원 스크린에 3차원 영상을 표현하기 위한 장치에 의해 수행되는 렌더링 방법이며, 3차원 영상들은 각각 다수의 프리미티브들로 구성되며, 장치는 프리미티브들이 영상들의 형성을 위해 기록되는 프리미티브 버퍼를 가진다. 즉, 이 장치는 테스트 패스와 렌더링 패스를 다음의 순서로 진행하며, 테스트 패스는 관련된 프리미티브들과 관련하여 프리미티브 버퍼 내의 다수의 속성 데이터 집단들을 쓰기 위한 것이며, 이때 각각의 속성 데이터 집단은 3차원 영상들을 생성하는 다수의 프리미티브들 중 1개의 속성들을 표현하며, 그리고 테스트 패스는 2차원 스크린에 표시되는 제 1 그룹의 프리미티브들과 스크린에 표시되지 않는 제 2 그룹의 프리미티브들로 다수의 프리미티브들을 분류하기 위해 다수의 기록된 속성 데이터 집단들을 서로 비교하기 위한 것이며, 반면에 렌더링 패스는 프리미티브 버퍼로부터 판독된 제 1 그룹의 프리미티브들을 표현하기 위하여, 테스트 패스에서 분류된 제 2 그룹의 프리미티브들과 다른 제 1 그룹의 프리미티브들을 판독하기 위한 것이다.
렌더링 패스는 같은 프리미티브에 대해 2번 이상 다른 텍스쳐를 표현하며 2번 이상 수행될 수 있다.
상술한 문제점을 해결하기 위해, 본 발명은 또한 반도체 장치와 컴퓨터 프로그램을 제공한다.
본 발명의 반도체 장치는 2차원 스크린을 갖는 디스플레이가 연결된 컴퓨터 위에 장착되는 반도체 장치이며, 반도체 장치는 컴퓨터의 다른 구성요소들과 협력하여 컴퓨터 상에 다음 특징을 만드는 데 적용되며, 특징은 각각의 속성 데이터 집단이 3차원 영상을 만드는 다수의 프리미티브들 중 1개의 속성들을 표현하며, 다수의 속성 데이터 집단들이 관련된 프리미티브들과 관련하여 기록되는 프리미티브 버퍼; 다수의 프리미티브들을 2차원 스크린에 표시되는 제 1 그룹의 프리미티브들과 스크린에 표시되지 않는 제 2 그룹의 프리미티브들로 분류하기 위하여 프리미티브버퍼 내에서 다수의 속성 데이터 집단들을 서로 비교하는 테스터; 그리고 2차원 스크린에 표시되는 2차원 영상을 생성하기 위하여 테스터에 의해 분류된 제 2 그룹의 프리미티브들과 다른 제 1 그룹의 프리미티브들을 표현하는 렌더링 처리 수단을 포함한다.
본 발명의 컴퓨터 프로그램은 다음의 작업들을 수행하기 위해 컴퓨터에 지시를 하는 데 이용되는 컴퓨터 프로그램으로서, 컴퓨터는 프리미티브들이 영상들의 형성을 위해 기록되는 프리미티브 버퍼와 2차원 스크린을 갖는 디스플레이에 연결되고, 상기 작업들은 각각의 속성 데이터 집단이 3차원 영상을 만드는 다수의 프리미티브들 중 1개의 속성을 표현하며, 관련된 프리미티브들과 관련하여 프리미티브 버퍼 내에 다수의 속성 데이터 집단들을 기록하는 단계; 다수의 프리미티브들을 2차원 스크린에 표시되는 제 1 그룹의 프리미티브들과 2차원 스크린에 표시되지 않는 제 2 그룹의 프리미티브들로 분류하기 위해 프리미티브 버퍼에 있는 다수의 속성 데이터 집단들을 서로 비교하는 단계; 그리고 2차원 스크린에 표시되는 2차원 영상을 생성하기 위해 분류된 제 2 그룹의 프리미티브들과 다른 제 1 그룹의 프리미티브들을 표현하는 단계를 포함한다. 이 컴퓨터 프로그램은 컴퓨터 판독 가능한 저장 매체에 기록될 때 이행된다.
멀티패스 렌더링을 지지하는 영상 처리 장치에 본 발명이 적용되는 실시형태가 묘사된다.
도 1은 이 실시형태에 따른 영상 처리 장치의 하드웨어 구성을 도시한다.
영상 처리 장치(1)는 렌더링 처리 장치의 한 예인 렌더링 처리 장치(16)를 포함한다. 영상 처리 장치(1)는 실시간으로 디스플레이(41)의 스크린과 같은 2차원 스크린에 대한 더 좋은 시각 효과들을 위한 3차원 영상들을 표현하는 멀티패스 렌더링을 수행한다. 멀티패스 렌더링에서 이하에서 묘사된 테스트 패스는 예를 들면, 다른 프리미티브나 프리미티브들 뒤에 숨겨진 것 때문에 디스플레이(41)에 표시되지 않는 제 2 그룹의 프리미티브들을 분류하는 것보다 우선한다. 렌더링 패스는 그 다음에 테스트 패스에서 분류된 것들과 다른 프리미티브들을 위해 수행된다. 그러므로 영상 처리 장치(1)는 디스플레이(41)에 표시되지 않는 프리미티브들을 표현하는 쓸모 없는 작업들을 제거하고, 렌더링 작업들의 효율을 향상시킨다.
영상 처리 장치(1)는 CD-ROM이나 DVD-ROM과 같은 디스크 매체(15)가 로드되는 디스크 드라이브(10), 외부 장치와의 유선이나 무선 통신들을 수립하는 통신 제어부(11), 기하 처리 장치(12), 메모리(13), CPU(14)와 렌더링 처리 장치(16)를 포함하고, 이것들은 모두 버스에 의해 서로 연결되어 서로 데이터를 교환할 수 있다.
디스플레이 제어기(40)는 디스플레이(41)로 비디오 신호들과 같은 영상 신호들을 공급하기 위해 렌더링 처리 장치(16)에 연결된다.
디스크 드라이브(10)는 디스크 매체(15)로부터 영상 처리를 위한 데이터와 프로그램들을 로드하고, 메모리(13) 내에 데이터와 프로그램들을 저장한다. 영상 처리를 위한 데이터는 예를 들면, 프리미티브들에 대한 도형 데이터가 될 수 있다. 이 실시형태 내의 도형 데이터는 예를 들면, 프리미티브의 정점의 좌표 값들(X, Y, Z), 정점의 밝기 값(R, G, B), 벡터 값, 그리고 정점들이 어떻게 결합되는 지를 묘사하는 결합 정보를 포함한다.
통신 제어부(11)는 외부 장치로부터, 영상 처리를 위한 상술한 데이터와 프로그램들을 얻으며, 그리고 메모리(13) 내에 데이터와 프로그램들을 저장한다. 다른 말로, 통신 제어부(11)는 외부 장치로부터, 디스크 드라이브(10)가 디스크 매체(15)로부터 얻는 데이터와 유사한 데이터를 얻고 메모리(13) 내에 데이터를 저장한다.
이런 구성을 가지고, 영상 처리 장치(1)는 적어도 하나의 디스크 드라이브(10)와 통신 제어부(11)로부터 영상 처리를 위한 데이터와 프로그램들을 얻을 수 있다.
기하 처리 장치(12)는 어파인(affine) 변환과 광원과 관련된 정점 처리와 같은, 메모리(13)에 저장된 도형 데이터의 기하 처리를 CPU(14)의 제어 하에서 수행한다. 기하 처리의 결과로 얻어지는 기하 데이터는 프리미티브의 정점의 좌표 값들(X, Y, Z), 각 정점의 텍스쳐 좌표 값들(S, T, Q)과 정점의 밝기(R, G, B, A)와 같은 주어진 프리미티브의 속성들을 표현하는 데이터로 구성된다. 정점의 밝기의 심벌 "A" 는 공지의 알파블렌딩에 대해 사용되어지는 불투명도이다.
메모리(13)는 적어도 하나의 디스크 드라이브(10)와 통신 제어부(11)로부터 얻어지는 영상 처리에 대한 데이터와 프로그램들을 저장한다. 메모리(13)는 또한 영상 처리 장치(1)의 작업동안 생성된 다양한 데이터를 저장한다. 그러므로, 메모리(13)는 영상 처리 장치(1) 내에서 주 메모리로서도 역시 사용되어 질 수 있다.
CPU(14)는 구성요소들 사이의 데이터의 교환을 제어한다. 예를 들어, CPU(14)는 버퍼로서 사용된 메모리(13)와 함께 렌더링 처리 장치(16)로 기하 처리 장치(12)에 의해 생성된 기하 데이터의 전송을 제어한다.
이 실시형태 내에서, 기하 처리 장치(12)는 CPU(14)로부터 분리된 구성요소로서 제공된다. 그러나, 기하 처리 장치(12)와 CPU(14)는 단일 장치로서 결합될 수 있고 CPU(14)도 역시 기하 처리 장치(12)로서 역할을 한다.
렌더링 처리 장치(16)는 기하 처리 장치(12)에 의해 생성되는 기하 데이터에 근거한 멀티패스 렌더링을 수행한다.
디스플레이 제어기(40)는 렌더링의 결과로 생성되는 2차원 영상을 디스플레이(41)에 표시될 수 있는 영상 신호로 전환하여 영상 신호를 디스플레이(41)에 공급한다. 영상은 이런 영상 신호를 이용하여 디스플레이(41)에 표시된다.
렌더링 처리 장치(16)는 프리미티브 버퍼(21), 멀티패스 제어부(22), XYZ 클리핑부(23), 셋업 DDA부(24; setup Digital Differential Analyzer section; 이하 "SU/DDA부"라 한다), Z 테스팅부(25), Z 버퍼(26), 스텐실 테스팅부(27), 스텐실 버퍼(28), 가시화된 플래그 제어부(29), 프리미티브 편집부(30), 텍스쳐 매핑부(31), 그리고 프레임 버퍼(32)를 포함한다.
Z 테스팅부(25), 스텐실 테스팅부(27), 가시화된 플래그 제어부(29), 그리고 프리미티브 편집부(30)는 본 발명에 따른 테스터의 구성요소들이다.
이 구성요소들은 예를 들어, 반도체 장치들을 사용함으로써 개별적으로 이행될 수 있다. 선택적으로, 처리 장치들이 컴퓨터 프로그램(들)을 로드하고 실행시킬 수 있도록, 구성요소들은 컴퓨터 프로그램이나 프로그램들을 이용하여 일반적인 목적의 디지털 신호 처리 장치(DSP)나 그래픽 처리 장치(GP)를 조합함으로써 이행될 수 있다.
프리미티브 버퍼(21)는 프리미티브들에 대한 속성 데이터 집단들의 예로서 적어도 한 그룹의 프리미티브들에 대한 기하 데이터를 저장한다. 한 그룹의 프리미티브들은 디스플레이(41)의 단일 스크린 상의 영상이나 단일 객체를 형성하는 한 집단의 프리미티브들이 될 수 있다. 각각의 프리미티브는 프리미티브들을 식별하는 식별 정보로서 식별 숫자(이하, "프리미티브 넘버"라 한다)를 가지고 할당된다. 프리미티브 넘버는 속성 데이터 집단 내에 포함된다.
도 2는 프리미티브 버퍼(21) 내에 저장된 기하 데이터와 기하 데이터에 할당된 프리미티브 넘버들(PN1, PN2, ...) 사이의 관계를 도시하는 도이다. 선택적으로 또는 도시된 예에 덧붙여, 기하 데이터는 주어진 기하 데이터가 멀티패스 렌더링에 대해 사용되어 질지 여부를 표현하는 플래그들과 제휴할 수 있다.
기하 데이터가 삼각형 모양을 묘사하는 소위 트라이앵글 스트립 데이터일 때, 기하 데이터는 트라이앵글 스트립 내의 각각의 정점에 대해 생성된다. 그러므로, 렌더링 처리 장치(16)는 프리미티브 넘버를 각각의 정점의 기하 데이터에 할당하고 기하 데이터를 프리미티브 버퍼(21)에 저장한다.
도 3은 트라이앵글 스트립 데이터를 이용한 트라이앵글 스트립의 예를 도시한다. 도면 내에서의 수치 값들 "0"부터 "7"은 정점들을 가리킨다. 도 3에서 도시된 트라이앵글 스트립 데이터에 대해, 프리미티브 넘버들은 각각의 정점들 0, 1, 2, ...7로 배당된다. 유사한 프리미티브 버퍼(21)는 역시 트라이앵글 팬들에 대해 사용되어 질 수 있다.
프리미티브 버퍼(21)는 기하 처리 장치(12)와 렌더링 처리 장치(16) 사이의 멀티패스 렌더링의 각각의 패스에 대한 기하 데이터의 전송을 피하기 위해 제공된다. 프리미티브 버퍼(21)와 함께, 오버헤드는 기하 처리 장치(12)와 렌더링 처리 장치 사이에 감축될 수 있다.
이 실시형태 내에서 프리미티브 버퍼(21)는 렌더링 처리 장치(16)에서 제공되는 반면, 프리미티브 버퍼는 렌더링 처리 장치(16)와 독립적으로 제공될 수 있다. 선택적으로, 프리미티브 버퍼(21)는 메모리(13) 내에 제공될 수 있다.
멀티패스 제어부(22)는 멀티패스 렌더링을 제어한다. 예를 들어, 멀티패스 제어부(22)는 렌더링 처리 장치(16) 내의 구성요소들에게 Z 버퍼 드로잉, 테스트 패스와 멀티패스 렌더링 중 어느 것이 수행되어져야 할 지를 알린다. 멀티패스 제어부(22)는 프리미티브 버퍼(21)로부터 표현된 프리미티브들의 기하 데이터와 그러한 기하 데이터에 대한 프리미티브 넘버들을 판독하며, 기하 데이터와 프리미티브 넘버들을 XYZ 클리핑부(23)로 공급한다.
멀티패스 렌더링동안, 멀티패스 제어부(22)는 필요할 때 기하 데이터를 변경한다. 예를 들어, 각각의 패스에 대한 하나의 프리미티브(예를 들면, 다각형)로 다른 텍스쳐들을 매핑하기 위해, 텍스쳐 좌표 값의 스케일 팩터는 변화되거나 이동될 수 있다.
멀티패스 제어부(22)는 또한 필요할 때, 텍스쳐의 원점 좌표들을 이동시키는 양을 변경한다. 이 변화는 렌더링 처리 장치(16)가 각각의 텍스쳐 좌표 축에 대한 선형 변환을 수행하는 것을 허용한다. 게다가, 멀티패스 제어부(22)는 필요할 때, 선택적으로 정점의 밝기 값들(R, G, B, A)을 고정된 값으로 전환한다. 이것은 예를 들어, 제 2 패스 이후 동안 렌더링 처리 장치(16) 내에서 정점의 밝기 값들을 다시 전달하는 손실을 제거한다.
XYZ 클리핑부(23)는 앞서 제공된 클립 데이터에 근거하여, 멀티패스 제어부 (22)로부터 제공된 기하 데이터를 이용하여 프리미티브의 3차원 클리핑을 수행한다. 클립 데이터는 디스플레이(41) 내의 디스플레이 영역을 묘사한다. 클리핑은 클립 데이터에 의해 정의된 디스플레이 영역의 바깥에 떨어진 프리미티브나 프리미티브들의 일부분을 자르거나 일부분이 디스플레이 영역의 바깥에 떨어지는 프리미티브나 프리미티브들의 모양을 변경하는 것이다.
이제, 클리핑 작업들은 도 4와 5를 참조하여 더욱 명확하게 묘사된다.
도 4는 정점들의 좌표들 (X1, Y1), (X2, Y2), 그리고 (X3, Y3)에 의해 묘사된 프리미티브(51)와 디스플레이(41) 내의 디스플레이 영역(50) 사이의 관계를 도시한다. XYZ 클리핑부(23)는 그것의 일부분이 디스플레이 영역(50) 바깥으로 떨어질 때, 클리핑에 의해 프리미티브(51)의 모양을 변경한다. 도 5는 변경된 모양을가진 프리미티브(52)와 디스플레이 영역(50) 사이의 관계를 도시한다.
XYZ 클리핑부(23)는 도 5에서 도시된 대로 일부분이 디스플레이 영역(50) 바깥으로 떨어지는 프리미티브(51)의 모양을 변경한다. XYZ 클리핑부(23)는 그 다음 정점들의 좌표들 (X3, Y3), (X6, Y6), (X5, Y5), (X4, Y4)와 (X7, Y7)에 의해 정의된 새로운 프리미티브(52)를 생성한다. 새로운 프리미티브(52)의 프리미티브 넘버는 모양의 변화 전에 프리미티브(51)에 할당된 것과 같은 것이다.
XYZ 클리핑부(23)는 클리핑을 한 후 기하 데이터와 프리미티브 넘버를 SU/DDA부(24)에 공급한다.
SU/DDA부(24)는 셋업과 DDA 작업들을 수행한다.
셋업 작업은 XYZ 클리핑부(23)로부터 공급되는 클리핑 이후에 기하 데이터에 따라, DDA 작업에서 사용되어지는 초기 좌표 값들과 경사 값을 계산하기 위한 것이다.
DDA 작업은 셋업 작업에서 계산된 초기 좌표 값들과 경사 값에 따라, 프리미티브를 형성하는 픽셀들의 좌표 값들(X, Y, Z), 밝기 값들(R, G, B, A), 그리고 텍스쳐 매핑을 위한 텍스쳐 좌표 값(S, T, Q)을 포함하는 삽입 데이터를 얻기 위하여, 프리미티브의 정점들 사이의 선형 삽입과 프리미티브 안의 삽입을 위한 것이다.
예를 들어, 도 5에서 도시된 프리미티브(52)의 경우에 대해, 삽입 데이터는 해칭된 부분 내의 각각의 픽셀에 대해 얻어진다. Z 버퍼 드로잉과 밑에서 묘사된 테스트 패스 내에서, SU/DDA부(24)는 오직 픽셀들의 좌표 값들을 삽입할 수 있다.
각각의 픽셀에 대한 삽입 데이터는 프리미티브 넘버와 함께 Z 테스팅부(25)로 제공된다.
Z 테스팅부(25)는 Z 버퍼 드로잉과 테스트 패스에 대해 다른 작업들을 수행한다.
Z 버퍼 드로잉에 대해, Z 테스팅부(25)는 픽셀 베이시스 상에서 SU/DDA부(24)로부터 공급된 삽입 데이터에 포함되는 Z 값과 Z 버퍼(26) 내에 저장된 Z 값을 비교한다. Z 테스팅부(25)는 그 다음에 비교의 결과에 따라 Z 버퍼(26)로 이러한 Z 값들 중 1개를 기록한다. 예를 들어, Z 테스팅부(25)는 시점에 더 가까운 Z 값을 선택하고 Z 버퍼(26)로 이 Z 값을 기록한다. SU/DDA부(24)로부터 공급된 Z 값이 선택될 때, 이 Z 값은 Z 버퍼(26) 내의 관계된 픽셀의 Z 값을 갱신하는데 이용된다. Z 버퍼(26) 내에 저장된 Z 값이 선택될 때, Z 버퍼(26)는 갱신되지 않는다.
그러나, 하나의 픽셀에 대한 Z 버퍼를 가지고, 전체 픽셀 영역을 커버하지 않는 프리미티브의 배경 내에 디스플레이에 필요한 다른 프리미티브나 프리미티브들이 존재할 수 있다. 이런 면에서, 안티알리아싱에 대해, Z 테스팅부(25)는 이 픽셀의 Z 값을 Z 버퍼(26)로 기록하지 않는다. 프리미티브가 투명하거나 반투명일 때, 어떠한 Z 값도 유사한 이유들로 Z 버퍼(26) 내에 기록되지 않는다.
이에 반하여, 테스트 패스에 대해, Z 버퍼(26) 내에 저장된 것과 같은 Z 값을 가진 삽입 데이터를 선택하기 위해 Z 테스팅부(25)는 픽셀 베이시스 상에서 Z 버퍼(26) 내에 저장된 Z 값과 SU/DDA부(24)로부터 공급된 삽입 데이터를 비교한다. Z 테스팅부(25)는 그 다음에 프리미티브 넘버와 함께 선택된 삽입 데이터를 스텐실 테스팅부(27)로 공급한다. 위에서 묘사된 대로, Z 버퍼(26)가 Z 버퍼(26)안에 저장된 어떤 Z 값도 가지고 있지 않을 때, Z 테스팅부(25)는 시점에 가장 가까운 Z 값을 가진 삽입 데이터를 선택하고 그리고 프리미티브 넘버와 함께 그것들을 스텐실 테스팅부(27)로 제공한다.
시점에 가장 가까운 프리미티브의 Z 값은 Z 버퍼 드로잉의 결과로서 각각의 픽셀에 대해 Z 버퍼(26)로 기록된다.
렌더링 패스는 더 높은 해상도의 영상들을 표현하기 위해 픽셀 베이시스 상에서보다는 서브픽셀 베이시스 상에서 수행되어질 수 있다. 그러한 경우에, 서브픽셀들에 대한 Z 버퍼가 사용되어진다. 영상들은 그 다음에 서브픽셀들의 렌더링의 완성 후에 실제적인 픽셀들을 얻기 위해 크기에서 감축된다.
도 6은 3행 2열의 픽셀들의 행렬이 서브픽셀들을 사용하여 묘사되는 예를 도시한다. 도 6에서, 각각의 픽셀은 4행 4열의 서브픽셀들로 나누어진다. 이 예에서, 상향의 사선이 그려진다. 오른쪽 밑의 픽셀은 전형적인 픽셀들이 사용되어 질 때 어떤 해칭도 그려지지 않는 픽셀로서 결정된다. 그러나, 서브픽셀들이 사용되어질 때 해칭이 하나의 서브픽셀 위에 그려진다. 그러므로 사선은 오른쪽 아래에 있는 픽셀에 영향을 미친다. 이런 식으로, 서브픽셀 베이시스 상의 Z 값들을 기록하는 것에 의해, 하나의 픽셀이 둘 이상의 프리미티브들을 포함할 때에도, 디스플레이는 모든 프리미티브들을 고려하여 생성될 수 있다.
많은 스토리지 공간을 가지는 Z 버퍼(26)를 이용하여, Z 값들의 프리미티브들에 할당된 프리미티브 넘버들은 Z 값들에 추가하여 저장될 수 있다.
스텐실 테스팅부(27)는 스텐실 버퍼(28)에 저장된 스텐실 데이터에 따라 스텐실 테스팅을 수행한다.
스텐실 테스팅의 개요가 도 7을 참조하여 묘사된다.
도 7에서 보여지는 대로, 스텐실 데이터는 디스플레이(41) 상에 표시되는 것이 허용되지 않는 비허용 영역(53)과 디스플레이 상에 표시되는 것이 허용되는 허용 영역(54)을 표현한다. 이 실시형태에 따른 스텐실 테스팅은 예를 들어, Z 테스팅부(25)로부터 공급되는 삽입 데이터의 좌표 값들과 프리미티브(52)가 허용 영역 (54) 내에 표시될 지 여부 즉, 허용 영역(54) 내에 삽입 데이터가 있는 지 여부를 결정하기 위한 스텐실 데이터의 좌표 값들을 비교하기 위한 것이다. 표시되는 프리미티브(52)의 프리미티브 넘버는 가시화된 플래그 제어부(29)에 공급된다.
멀티패스 렌더링에 대해, 표시되는 프리미티브의 삽입데이터는 텍스쳐 매핑부(31)로 공급된다.
스텐실 버퍼(28)는 스텐실 데이터를 저장하고 스텐실 테스팅부(27)로부터 요구될 때 스텐실 데이터를 판독하기 위해 구성된다. 스텐실 버퍼(28) 내에 저장된 스텐실 데이터는 예를 들어, 버스를 경유하여 메모리(13)로부터 공급된다.
프리미티브들은 XYZ 클리핑부(23), Z 테스팅부(25), 그리고 스텐실 테스팅부(27)에 의해, 디스플레이(41)에 표시되는 픽셀들을 포함하는 프리미티브들과 디스플레이에 표시되지 않는 픽셀들을 포함하는 프리미티브들로 그룹지어진다.
디스플레이(41)에 표시되는 픽셀들을 포함하는 프리미티브의 프리미티브 넘버는 스텐실 테스팅부(27)로부터 가시화된 플래그 제어부(29)로 공급된다.
가시화된 플래그 제어부(29)는 도 8에서 도시된 대로, 어드레스 제어부(61)와 가시화된 플래그 테이블(62)을 포함한다.
가시화된 플래그 테이블(62)은 프리미티브에 따른 어드레스들(NA1, NA2, ...)이 디스플레이(41)에 표시되는지 여부를 가리키는 가시화된 플래그들을 저장한다.
어드레스들은 프리미티브 버퍼(21) 내에 저장된 프리미티브 데이터에 할당된 프리미티브 넘버들(PN1, PN2, ...)에 대응한다.
어드레스 제어부(61)는 가시화된 플래그 테이블(62)을 초기화하고, 가시화된 플래그 테이블(62)의 어드레스들을 계산하며, 그리고 가시화된 플래그들을 변경한다. 예를 들어, Z 버퍼 드로잉이 모든 프리미티브들에 대해 완성될 때 어드레스 제어부(61)는 가시화된 플래그를 "0"으로 소거한다(초기화). 그 다음에 어드레스 제어부(61)는 스텐실 테스팅부(27)로부터 공급된 프리미티브 넘버들을 가시화된 플래그 테이블(62)의 어드레스들로 전환하며 그리고 "0"으로부터 "1"로 그러한 어드레스들에 대응하여 가시화된 플래그들을 변경한다.
1의 값이 저장된 가시화된 플래그의 어드레스들은 디스플레이(41)에 표시되는 프리미티브들의 프리미티브 넘버들에 대응한다. 게다가, "0"의 값이 포함된 가시화된 플래그의 어드레스들은 디스플레이(41)에 표시되는 어떤 픽셀도 가지고 있지 않은 프리미티브들의 프리미티브 넘버들에 대응한다.
어드레스들은 상술한 프리미티브 넘버들과 같을 수 있다.
프리미티브가 도 9에서 도시된 트라이앵글 스트립일 때, 가시화된 플래그 테이블(62)은 도 10에서 도시된 바와 같다. 도 9에 도시된 예에서, 어떤 프리미티브도 정점들 2, 3, 4에 의해 정의된 트라이앵글을 위해 형성되지 않는다.
더 명확하게, 가시화된 플래그들은 정점들 0, 1, 2, ... 7의 프리미티브 넘버들에 대응한 어드레스들에서 디스플레이가 생성될지 여부를 가리키며 저장된다. 트라이앵글 스트립에 대해, 정점들에 대한 기하 데이터는 트라이앵글 프리미티브들을 형성하기 위해 0으로부터의 순서로 판독된다. 예를 들어, 정점들 0 및 1에 대한 기하 데이터가 판독된 후에, 정점 2에 대한 기하 데이터가 판독된다. 이것은 정점들 0, 1 및 2에 의해 정의된 트라이앵글 프리미티브를 형성한다. 정점들 0 및 1에 대한 가시화된 플래그들은 "Not Active" 하며, 그리고 정점들 0 및 1은 가시화된 플래그들에 의해 영향을 받지 않는다.
도 10에서 도시된 예에서, 어드레스 NA4에 대응되는 프리미티브 넘버 4를 가지는 정점 4는 표시되지 않는다. 이것은 정점 4의 기하 데이터가 렌더링동안 판독될 때에 어떤 트라이앵글도 정점들 2, 3, 4로 형성되지 않는 것을 의미한다. 그것은 정점 4와 관련된 어떤 트라이앵글도 형성되지 않는다는 것을 의미하지는 않는다. 다른 말로, 정점들 2, 3, 및 4를 가진 트라이앵글은 형성되지 않지만 정점들 3, 4, 및 5를 가진 트라이앵글과 정점들 4, 5, 6을 가진 트라이앵글이 형성된다. 유사한 가시화된 플래그 테이블(62)은 트라이앵글 팬들에 대해 역시 사용되어 질 수 있다.
가시화된 플래그는 단일 값이나 이진수 값이 될 수 있고, 또는 그것은 정수가 될 수 있다. 이 사건에서의 어드레스 제어부(61)는 연속적으로 스텐실 테스팅부(27)로부터 공급되는 픽셀들의 프리미티브 넘버들을 가시화된 플래그 테이블(62)의 어드레스로 전환하며 그리고 관련되는 어드레스에 대응하여 가시화된 플래그의 값을 연속적으로 증가시킨다. 결과적으로, 가시화된 플래그는 모든 프리미티브에 대해 디스플레이(41)에 표시되는 픽셀들의 개수에 근거한 값을 가진다.
가시화된 플래그 제어부(29)에 의해 가시화된 플래그 테이블(62)로 기록하는 것은 몇몇 비트들의 크기에 의해 생성된다. 페이지 브레이킹은 프레임 버퍼(32) 내에서 기록된 것과 비교하면 덜 자주 초래된다. 그러므로, 테스트 패스는 더 높은 속도로 생성될 수 있다.
프리미티브 편집부(30)는 본 발명의 편집 수단의 한 예이다. 프리미티브 편집부(30)는 가시화된 플래그 제어부(29)의 가시화된 플래그 테이블(62)에 따라, 디스플레이(41)에서 표시되지 않는 프리미티브의 프리미티브 넘버를 체크한다. 다음에, 그것은 식별된 프리미티브 넘버에 대응하는 기하 데이터가 프리미티브 버퍼 (21)로부터 판독되지 않는 것을 확신시킨다.
예를 들어, 프리미티브 편집부(30)는 가시화된 플래그 테이블(62)의 가시화된 플래그가 "0"을 가리키는 어드레스에 대응하는 프리미티브 넘버를 체크한다. 프리미티브 편집부(30)는 이 프리미티브 넘버에 대응하는 프리미티브가 멀티패스 렌더링동안 프리미티브 버퍼(21)로부터 판독되지 않는다는 것을 확신시킨다. 프리미티브 버퍼(21) 내의 기하 데이터는 데이터가 멀티패스 렌더링동안 사용되어지는지 여부를 가리키는 플래그들과 함께 할당될 때, 이 플래그는 멀티패스 렌더링동안 프리미티브를 판독되는 것으로부터 금지하는 데 사용되어진다. 기하 데이터는 프리미티브 버퍼(21)로부터 삭제될 수 있다.
텍스쳐 매핑부(31)는 패스들의 개수에 대응한 사이클들의 개수에 의해 렌더링을 수행한다. 예를 들어, 텍스쳐 매핑부(31)는 각각의 패스에 대해 같은 프리미티브로 다른 텍스쳐들을 매핑한다. 이 매핑은 프레임 버퍼(32) 내에 표시되는 영상을 표현한다.
프레임 버퍼(32)는 디스플레이(41)에 대한 메모리 공간을 포함한다. 픽셀들이 디스플레이(41) 내의 2차원 평면에서 채우는 그러한 방법으로 메모리 공간에서 픽셀들이 그려진다. 프레임 장치들의 프레임 버퍼(32) 내에서 그려진 영상들은 디스플레이(41)로 공급되며, 그리고 디스플레이 제어기(40)를 통해 영상 신호들로서 디스플레이에 표시된다.
다음으로, 상술한 구성을 갖는 영상 처리 장치(1)의 작업이 특히, 렌더링 처리 장치(16)에 의해 성취된 렌더링 방법이 명확하게 묘사된다.
기하 처리 장치(12)에 의해 수행된 기하 처리의 결과들인 기하 데이터는 속성 데이터 집단의 예로서 렌더링 처리 장치(16) 내의 프리미티브 버퍼(21) 내에 저장되는 것으로 가정된다.
도 11은 이 렌더링 방법을 도시하는 개요도이다.
렌더링 처리 장치(16)는 프리미티브 버퍼(21) 내에 저장된 모든 기하 데이터에 대한 Z 버퍼 드로잉을 수행하며, 그리고 Z 버퍼 내에 시점에 가까운 Z 값(들)을 기록한다(단계 S10). Z 버퍼 드로잉의 완성 후에, 렌더링 처리 장치(16)는 모든 가시화된 플래그들을 "0"으로 놓기 위해 가시화된 플래그 제어부(29)의 가시화된 플래그 테이블(62)을 소거한다(단계 S20). 그 다음에, 테스트 패스가 수행되어지고 그리고 가시화된 플래그 테이블(62) 내의 가시화된 플래그가 테스트 패스의 결과에 근거하여 변경된다(단계 S30). 테스트 패스동안, 프리미티브들이 디스플레이(41)에 표시되는 프리미티브들이나 상기 디스플레이에 표시되지 않는 프리미티브들이라는 것을 가리키는 플래그들이 가시화된 플래그 테이블(62)에 공급된다. 렌더링 처리 장치(16)는 가시화된 플래그 테이블(62)을 체크하고 그리고 프리미티브 버퍼(21) 내에 저장된 기하 데이터로부터 디스플레이(41)에 표시되지 않는 프리미티브들의 기하 데이터를 삭제한다. 바꿔 말하면, 관련된 프리미티브들은 삭제된다(단계 S40). 프리미티브들의 삭제 이후에, 렌더링 처리 장치(16)는 디스플레이(41)에 표시되는 프리미티브들에 대한 멀티패스 렌더링을 수행한다(단계 S50).
이런 방식으로, 렌더링은 어떤 손실도 없이 생성될 수 있다.
다음으로, 도 11에서의 처리 단계들은 더 명확하게 묘사된다.
[Z 버퍼 드로잉: 단계 S10]
도 12는 Z 버퍼 드로잉 동안의 과정을 도시하며 반면에 도 13은 Z 버퍼 드로잉에 대한 데이터 흐름을 도시한다.
Z 버퍼 드로잉 동안, 멀티패스 제어부(22)는 프리미티브 버퍼로부터 프리미티브 넘버와 함께 기하 데이터를 판독하며 그리고 기하 데이터를 XYZ 클리핑부(23)에 공급한다(단계 S11). XYZ 클리핑부(23)는 멀티패스 제어부(22)로부터 공급되는 프리미티브 데이터에 따라 프리미티브의 클리핑을 수행한다. XYZ 클리핑부(23)는디스플레이(41)의 디스플레이 영역(50)의 바깥으로 떨어지는 프리미티브들의 일부분을 자르거나 변형시킨다. 절단이나 변형 작업들의 결과들은 기하 데이터로 반영된다(단계 S12). 클리핑 후의 기하 데이터는 프리미티브 넘버와 함께 SU/DDA부(24)로 공급된다. 클리핑동안 제거된 프리미티브들의 부분에 대한 기하 데이터는 SU/DDA부(24)로 공급되지 않는다.
SU/DDA부(24)는 프리미티브를 형성하는 픽셀들의 좌표 값들을 생성하기 위해 클리핑 이후의 기하 데이터에 따라 삽입을 수행한다(단계 S13). SU/DDA부(24)는 프리미티브 넘버와 함께 삽입 데이터로서 생성된 좌표 값들을 Z 테스팅부(25)로 공급한다.
Z 테스팅부(25)는 SU/DDA부(24)로부터 공급된 픽셀들에 대한 삽입 데이터를 사용한 Z 테스팅을 수행한다(단계 S14). Z 테스팅부(25)는 Z 버퍼(26)로부터 관련된 픽셀의 Z 값을 판독한다. Z 테스팅부(25)는 그 다음에 시점에 더 가까운 것을 선택하기 위해 Z 값과 삽입 데이터에 포함된 Z 값을 비교한다. Z 버퍼(26)로부터 판독된 Z 값이 시점에 더 가까울 때 Z 버퍼(26)는 변형되지 않으며(단계 S14: 갱신되지 않음), 반면에 삽입 데이터에 포함된 Z 값이 시점에 더 가까울 때 Z 버퍼(26)의 Z 값이 갱신된다(단계 S14: 갱신됨, 단계 S15).
상술한 일련의 작업들은 프리미티브 버퍼(21)에 저장된 모든 기하 데이터에 대해 행해진다(단계 S16). 이것은 Z 버퍼 드로잉을 완성한다.
Z 버퍼 드로잉의 완성 후에, Z 버퍼(26)는 각각의 픽셀에 대한 시점에 가장 가까운 프리미티브의 Z 값을 포함한다. 프리미티브가 전체 픽셀 영역에서 채워지지않을 때 혹은 프리미티브가 투명하거나 반투명일 때에 Z 값이 픽셀 내에 기록되지 않는 것이 주목된다.
[테스트 패스: 단계 S30]
도 14 및 15는 테스트 패스동안의 과정을 묘사하는데 사용되는 도들이다. 테스트 패스에 대해, 멀티패스 제어부(22)는 프리미티브 버퍼로부터 프리미티브 넘버와 함께 기하 데이터를 판독하며, 기하 데이터를 XYZ 클리핑부(23)에 공급한다(단계 S31). XYZ 클리핑부(23)는 디스플레이(41)의 디스플레이 영역 바깥에 떨어지는 프리미티브의 일부분을 자르거나 변형하기 위해 멀티패스 제어부(22)로부터 공급되는 기하 데이터에 따라 프리미티브들을 클립한다(단계 S32). XYZ 클리핑부(23)는 그 다음에 절단이나 변형 작업들의 결과들을 기하 데이터로 반영한다. 클리핑 기하 데이터는 프리미티브 넘버와 함께 SU/DDA부(24)로 공급된다. 클리핑에 의해 절단된 프리미티브의 일부분에 대한 기하 데이터는 SU/DDA부(24)로 공급되지 않는다.
SU/DDA부(24)는 프리미티브를 형성하는 픽셀들의 좌표 값들을 생성하는 클리핑 이후에 기하 데이터에 따라 삽입을 수행한다(단계 S33). SU/DDA부(24)는 생성된 좌표 값들을 프리미티브 넘버와 함께 삽입 데이터로서 Z 테스팅부(25)로 공급한다.
Z 테스팅부(25)는 테스트 패스에 대한 작업들을 수행한다. 테스트 패스에 대한 작업들에서, Z 테스팅부(25)는 SU/DDA부(24)로부터 공급되는 삽입 데이터에 포함되는 Z 값을 Z 버퍼(26)에 저장되는 Z 값과 비교한다. 서로 합치하는 삽입 데이터와 프리미티브 넘버에 대해 Z 테스팅부(25)는 삽입 데이터와 프리미티브 넘버를 스텐실 테스팅부(27)로 공급한다(단계 S34: 합치됨). 값들이 합치하지 않을 때, 렌더링 처리 장치(16)는 테스트 패스가 프리미티브 버퍼(21) 내에 저장된 기하 데이터에 대해 완성되는 지를 결정한다(단계 S34: 합치하지 않음, 단계 S37).
Z 값이 Z 버퍼(26) 내에 저장되지 않는 픽셀들에 대해, 시점에 가장 가까운 Z 값을 가지는 삽입 데이터와 프리미티브 넘버는 스텐실 테스팅부(27)에 공급된다.
스텐실 테스팅부(27)는 Z 테스팅부(25)로부터 공급되는 삽입 데이터에 대하여 스텐실 테스팅을 수행한다(단계 S35). 스텐실 테스팅의 결과, 삽입 데이터에 의해 가리켜진 픽셀이 허용 영역(54) 내에 위치될 때, 이 픽셀은 표시되어야 한다. 따라서, 프리미티브 넘버는 가시화된 플래그 제어부(29)로 공급된다(단계 S35; 표시됨). 삽입 데이터에 의해 가리켜진 픽셀이 비허용 영역(53)에 있을 때, 렌더링 처리 장치(16)는 테스트 패스가 프리미티브 버퍼(21) 내에 저장된 모든 기하 데이터에 대해 완성되는지 여부를 결정한다(단계 S35: 표시되지 않음, 단계 S37).
가시화된 플래그 제어부(29)는 스텐실 테스팅부(27)로부터 공급되는 프리미티브 넘버에 응답하여 프리미티브 넘버에 대응하는 어드레스에서 가시화된 플래그를 "1"로 갱신한다(단계 S36).
상술한 작업들은 프리미티브 버퍼(21) 내에 저장된 모든 기하 데이터에 대해 행해진다(단계 S37). 이것은 테스트 패스를 완성한다.
Z 버퍼 드로잉과 테스트 패스는 디스플레이(41)에 표시되지 않는 프리미티브들을 분류하기 위해 사용되어진다. 더욱 명확하게, XYZ 클리핑부(23)는 디스플레이 영역(50) 바깥으로 떨어지는 프리미티브의 일부분을 클립하고 분리한다. Z 테스팅부(25)는 Z 테스팅에 의해 다른 프리미티브나 프리미티브들 뒤에 숨겨진 프리미티브들을 분류한다. 스텐실 테스팅부(27)는 비허용 영역(53) 내 프리미티브들을 스텐실 테스팅에 의해 분류한다.
가시화된 플래그들은 위에 묘사된 대로 분류되는 프리미티브들의 프리미티브 넘버들에 대응하여 가시화된 플래그 제어부(29) 내의 어드레스들에 "0" 값을 가진다. 이러한 프리미티브는 디스플레이(41)에 표시되지 않는다.
다른 말로, XYZ 클리핑부(23), Z 테스팅부(25), 및 스텐실 테스팅부(27)는 프리미티브들을 디스플레이(41)에 표시되는 프리미티브들과 디스플레이에 표시되지 않는 프리미티브들로 분류하는 역할을 한다. 가시화된 플래그 제어부(29) 내의 가시화된 플래그들은 디스플레이에 표시될 예정인 프리미티브들에 대해서만 "1"로 놓여진다. 가시화된 플래그는 XYZ 클리핑부(23), Z 테스팅부(25), 및 스텐실 테스팅부(27) 중 적어도 하나에 의해 표시되지 않는다고 결정되는 프리미티브들에 대해 "0"으로 남는다.
도시된 Z 테스팅은 테스트 패스로부터 다른 패스와 함께 수행된다. 그러나, Z 버퍼(26)가 많은 스토리지 공간을 가질 때 Z 테스팅은 같은 패스와 함께 수행되어질 수 있다. 그러한 경우에, Z 테스팅에 대해, 시점에 가장 가까운 프리미티브를 식별하기 위해 Z 값과 그 Z 값의 프리미티브 넘버는 Z 버퍼(26)에 기록된다. Z 테스팅의 결과로서, Z 버퍼(26)에 저장된 프리미티브 넘버들을 사용하여 프리미티브들을 분류하는 것이 가능하다. Z 버퍼 드로잉 및 테스트 패스는 단일한 패스와 함께 수행되어 질 수 있다.
이런 실시형태에서, 가시화된 플래그 테이블(62)의 가시화된 플래그는 테스트 패스를 수행하기 위해 단계 S30에서 "0"으로 놓여진다. 그러나, 이 단계는 제거될 수 있다. 그러한 경우에, Z 버퍼 드로잉 및 테스트 패스는 프리미티브들을 디스플레이(41)에 표시되는 프리미티브들과 표시되지 않는 프리미티브들로 분류하고 그리고 가시화된 플래그를 "0" 이나 "1"로 놓는다.
선택적으로, XYZ 클리핑부(22), Z 테스팅부(25), 및 스텐실 테스팅부(27) 각각은 디스플레이(41)에 표시되지 않도록 결정되는 프리미티브들의 분류된 개수를 가시화된 플래그 제어부(29)로 전송할 수 있다.
[ 프리미티브 삭제: 단계 S40 ]
렌더링 처리 장치(16)는 가시화된 플래그 제어부(29)의 가시화된 플래그 테이블(62)에 따라, 멀티패스 렌더링에서 판독되는 것으로부터, 프리미티브 버퍼(21)에 저장되는 기하 데이터의 디스플레이(41)에 표시되지 않는 프리미티브들의 기하 데이터를 금지한다(단계 S40). 도 16은 프리미티브들을 삭제하는 것에서 렌더링 처리 장치(16)에 의해 수행된 작업들을 묘사하기 위해 사용되어지는 도면이다.
프리미티브 편집부(30)는 디스플레이(41)에 표시되는 프리미티브들과 상기 디스플레이에 표시되지 않는 프리미티브들을 체크하고, 이때 가시화된 플래그 제어부(29)의 가시화된 플래그 테이블(62)의 가시화된 플래그들을 사용한다. 예를 들어, 도 8의 가시화된 플래그 테이블(62)에서 가시화된 플래그가 "0"으로 놓여진 어드레스에 대응한 프리미티브 넘버를 가진 프리미티브들은 표시되지 않는 프리미티브들이다. 가시화된 플래그가 "1"로 놓여진 어드레스에 대응한 프리미티브 넘버를 가진 프리미티브들은 표시되는 프리미티브들이다.
프리미티브 편집부(30)는 프리미티브 버퍼(21)로부터, 표시되지 않는 것으로 결정되는 프리미티브들의 기하 데이터를 삭제한다.
이것은 멀티패스 렌더링과 관련하여 렌더링 처리 장치로의 로드를 감소시키며, 멀티패스 렌더링동안 오직 디스플레이(41)에 표시되는 프리미티브들에 대한 기하 데이터가 처리된다는 것을 확신시킨다.
예를 들어, 트라이앵글 스트립에 대해서, 모든 기하 데이터가 사용되어지기 때문에 기하 데이터는 삭제될 수 없다. 따라서, 플래그들이 멀티패스 렌더링동안 사용되어질 지 여부를 가리키기 위해 모든 기하 데이터에 플래그들이 추가될 수 있다. 이 플래그들은 디스플레이(41)에 표시되지 않는 프리미티브들을 식별하기 위해 사용되어진다. 물론, 그러한 플래그들은 기하 데이터의 삭제 없이 트라이앵글 스트립과 다른 것들에 대해 사용되어 질 수 있다.
[멀티패스 렌더링: 단계 S50]
도 17과 18은 멀티패스 렌더링에 대한 과정을 묘사하는데 사용되어지는 도면들이다.
멀티패스 렌더링동안, 멀티패스 제어부(22)는 프리미티브 버퍼로부터 프리미티브 넘버와 함께 기하 데이터를 판독하며 그리고 기하 데이터를 XYZ 클리핑부(23)에 공급한다(단계 S51).
XYZ 클리핑부(23)는 디스플레이(41)의 디스플레이 영역 바깥으로 떨어지는 프리미티브의 일부분을 자르거나 변형하기 위해 멀티패스 제어부(22)로부터 공급되는 기하 데이터에 따라 프리미티브들을 클립한다(단계 S52). XYZ 클리핑부(23)는절단이나 변형과정의 결과들을 기하 데이터로 반영한다. 클리핑 기하 데이터는 프리미티브 넘버와 함께 SU/DDA부(24)로 공급된다.
프리미티브를 형성하는 픽셀의 좌표 값, 밝기 값, 텍스쳐 좌표 값들을 포함하는 삽입 데이터를 생성하기 위해 SU/DDA부(24)는 클리핑후의 기하 데이터에 따라 삽입을 수행한다(단계 S53). SU/DDA부(24)는 프리미티브 넘버와 함께 생성된 삽입 데이터를 Z 테스팅부(25)로 공급한다.
Z 테스팅부(25)는 픽셀 베이시스에 대해, SU/DDA부(24)로부터 공급되는 삽입 데이터에 포함되는 Z 값을 Z 버퍼(26)에 저장된 Z 값과 비교한다. Z 테스팅부(25)는 서로 간에 합치하는 삽입 데이터 및 프리미티브 넘버에 대해 삽입 데이터 및 프리미티브 넘버를 스텐실 테스팅부(27)로 공급한다(단계 S54: 합치함). 값들이 합치되지 않을 때, 작업은 단계 S57로 간다.
Z 값이 Z 버퍼(26) 내에 저장되지 않는 픽셀들에 대해, 시점에 가장 가까운 Z 값을 가지는 삽입 데이터와 프리미티브 넘버는 스텐실 테스팅부(27)로 공급된다.
스텐실 테스팅부(27)는 Z 테스팅부(25)로부터 공급되는 삽입 데이터에 대한 스텐실 테스팅을 수행한다(단계 S55). 스텐실 테스팅의 결과로서, 삽입 데이터에 의해 가리켜진 픽셀이 허용 영역(54) 내에 위치될 때, 이 픽셀이 표시될 것이다. 따라서, 삽입 데이터는 텍스쳐 매핑부(31)로 전송된다(단계 S55: 표시됨). 삽입 데이터에 의해 가리켜진 픽셀이 비허용 영역(53)에 있을 때, 작업은 단계 S57로 간다.
텍스쳐 매핑부(31)는 스텐실 테스팅부(27)로부터 공급되는 삽입 데이터에 따라 프레임 버퍼(32) 내에서 프리미티브를 그린다(단계 S56). 이것은 하나의 프리미티브에 대한 드로잉을 완성한다.
드로잉이 관련된 프리미티브를 형성하는 모든 픽셀들에 대해 완성될 때까지 렌더링 처리 장치(16)는 단계들 S54에서 S56까지의 작업들을 수행한다(단계 S57).
하나의 프리미티브의 드로잉의 완성 후에, 다른 프리미티브들의 드로잉이 종료되는지 여부가 결정된다(단계 S58). 드로잉이 종료되지 않는 프리미티브가 남는다면, 작업은 단계 S51로 되돌아간다(단계 S58: 아니오). 드로잉이 모든 프리미티브들에 대해 완성될 때(단계 S58: 예), 드로잉이 패스들의 소정의 개수와 함께 행해질 지 여부가 결정된다(단계 S59). 패스들의 소정의 개수가 행해지지 않는다면, 작업은 단계 S51로 되돌아간다(단계 S59: 아니오). 소정의 패스들이 모든 프리미티브들에 대해 행해진다면, 멀티패스 렌더링이 종료된다(단계 S59: 예).
상술한 작업들의 결과로서, 디스플레이(41)에 표시되는 2차원 영상들은 프레임 버퍼(32) 내에 그려진다(도 1 참조). 그 다음, 디스플레이 제어기(40)는 프레임 버퍼(32) 내에 그려진 2차원 영상들을 영상 신호로 전환하며 그리고 신호를 디스플레이(41)로 전송한다. 디스플레이(41)는 영상 신호를 표시한다.
위에서 밝혀진 대로, 이 실시형태의 영상 처리 장치(1)에 따라, 멀티패스 렌더링 내에서 프리미티브 버퍼(21)로부터 판독되는 기하 데이터는 필요한 미니멈으로 제한되고, 이때 렌더링과 관련된 로드를 감소시킨다.
선택적으로, 렌더링 처리 장치(16)는 도 19에서 도시되는 구성을 가질 수 있다.
도 19의 렌더링 처리 장치(16)는 커버리지 계산부(33)가 Z 테스팅부(25) 앞에서 제공된다는 점에서 도 1의 렌더링 처리 장치와 다르다.
커버리지 계산부(33)는 표현된 주어진 프리미티브에 의해 커버되는 서브픽셀들의 개수 대 단일한 픽셀을 만드는 서브픽셀들의 전체 개수의 비율(커버리지)을 계산하기 위한 것이다. 커버리지는 예를 들어, 일본 특허 공개공보 제2002-140722호에서 공개된 장치 및 방법(미국 특허 공개공보 제2002/101435A1호에 대응하는, 안티알리아싱된 영상을 표현하는 장치 및 방법)을 사용하여 얻어질 수 있다. 도 20은 하나의 픽셀 내에서 프리미티브들의 커버리지를 묘사하기 위해 이용되는 도이다. 도 20에서, 3개의 프리미티브들 a, b, 및 c는 하나의 픽셀을 커버한다. 하나의 픽셀 내의 이 프리미티브들의 커버리지는 프리미티브들 a, b, 및 c에 대해 2 : 3 : 7이다.
렌더링 처리 장치(18)는 이 픽셀의 대표적인 프리미티브를 얻기 위해 비율에 따라, 프리미티브들 a, b, 및 c를 혼합한다.
프리미티브들 a, b, 및 c가 픽셀에 대해 표현되기 때문에, Z 버퍼(26)는 이 픽셀에 대한 프리미티브들 a, b, c에 의해 갱신되는 것으로부터 금지된다. 상술한 특징을 가지는 렌더링 처리 장치(16)는 들쭉날쭉함을 효과적으로 감소시킨다. 그러므로, 이 방법은 또한 안티알리아싱 목적들을 위해 사용되어질 수 있다.
커버리지가 모든 하나의 픽셀에 대해 계산되는 방법에 있어서, Z 버퍼는 커버리지가 1과 같은 영역(불투명하거나 또는 프리미티브 안에 있는) 내에서만 행해진다. Z 버퍼는 커버리지가 1보다 작은 경계들에 대해서는 행해지지 않는다. 이것을 고려하면, 경계의 부자연스러움을 제거하기 위해, Z 소팅(Z 값들의 소팅)은 Z 버퍼가 사용되는 사실에 관계없이 수행된다. 값들은 가장 먼 곳으로부터 가장 가까운 곳까지의 거리의 순서로 프레임 버퍼(32) 내에 기록된다. 이 사건에서, 다른 프리미티브 또는 프리미티브들 뒤에 숨겨진 프리미티브들은 제거된다.
본 발명이 이와 같이 멀티패스 렌더링의 경우와 결부되어 묘사되어진 동안, 테스트 패스는 주어진 프리미티브를 표현하는 전형적인 렌더링을 위해 수행되어 질 수 있고 이때 디스플레이(41)에 표시되는 프리미티브들만을 표현하기 위해 오직 하나의 패스를 가진 텍스쳐를 사용한다.
위에서 밝혀진 대로, 본 발명에 따르면, 통상의 방법들과 비교하여, 행해지는 작업들의 양은 렌더링, 특히 멀티패스 렌더링에서 의미심장하게 감소될 수 있다.
본 발명에 따르면, 3차원 영상에 대한 렌더링 과정이 통상의 과정보다 더 적은 처리로 성취될 수 있는 렌더링 방법을 제공하며, 그리고 어떤 오버헤드 없이도 더 좋은 시각 효과를 위한 영상을 제공할 수 있다.

Claims (20)

  1. 2차원 스크린에 대해 각각 다수의 프리미티브들로 구성되는 3차원 영상들을 표현하는 렌더링 처리 장치에 관한 것이며, 상기 장치는:
    각각의 속성 데이터 집단이 다수의 프리미티브들 중 1개의 속성들을 표현하며, 다수의 속성 데이터 집단들이 관련된 프리미티브들과 관련하여 쓰여지는 프리미티브 버퍼; 및
    다수의 프리미티브들을 2차원 스크린에 표시되는 제 1 그룹의 프리미티브들과 상기 스크린에 표시되지 않는 제 2 그룹의 프리미티브들로 분류하기 위해 상기 프리미티브 버퍼 내에서 다수의 속성 데이터 집단들을 서로 비교하는 테스터를 포함하고,
    상기 테스터에 의해 분류된 제 1 그룹의 프리미티브들을 표현하고 그리고 제 2 그룹의 프리미티브들을 표현하지 않도록 구성됨을 특징으로 하는 렌더링 처리 장치.
  2. 제 1 항에 있어서, 상기 프리미티브 버퍼 내에 기록된 프리미티브들의 개수가 1개의 스크린에 맞는 3차원 영상들이 2차원 스크린에 세워지는 프리미티브들의 개수와 최소한 같은 것을 특징으로 하는 렌더링 처리 장치.
  3. 제 1 항에 있어서, 프리미티브에 대한 공지의 속성 데이터 집단에 따라 픽셀들을 삽입하는 삽입 수단을 더 포함하고,
    상기 테스터가 서로 비교되는 속성 데이터 집단들에 픽셀들의 삽입의 결과로 얻어지는 새로운 속성 데이터 집단을 추가함으로써 픽셀 베이시스에 대한 프리미티브들을 분류하는 것을 특징으로 하는 렌더링 처리 장치.
  4. 제 3 항에 있어서, 각각의 픽셀이 소정의 개수의 서브픽셀들로 나누어지며,
    상기 서브픽셀들 중 적어도 1개가 표현될 때 상기 삽입 수단이 프리미티브에 대한 공지의 속성 데이터 집단에 따라 서브픽셀들을 삽입하며,
    상기 테스터가 서로 비교되는 속성 데이터 집단들에 서브픽셀들의 삽입의 결과로 얻어지는 새로운 속성 데이터 집단을 추가함으로써 서브픽셀 베이시스에 대한 프리미티브들을 분류하는 것을 특징으로 하는 렌더링 처리 장치.
  5. 제 4 항에 있어서, 표현되는 주어진 프리미티브에 의해 커버되는 서브픽셀들의 개수 대 단일 픽셀을 만드는 서브픽셀들의 전체 개수의 비율을 계산하는 커버리지 계산 수단을 더 포함하고, 상기 서브픽셀에 대한 속성 데이터 집단은 상기 커버리지 계산 수단에 의한 계산 결과에 근거하여 결정되는 것을 특징으로 하는 렌더링 처리 장치.
  6. 제 1 항에 있어서, 2개 이상의 프리미티브들이 픽셀에 그려질 때, 상기 테스터가 프리미티브들의 경계에서 상기 픽셀들을 분류하지 않는 것을 특징으로 하는렌더링 처리 장치.
  7. 제 1 항에 있어서, 상기 프리미티브 버퍼 내 각각의 속성 데이터 집단이 3차원 영상 내 관련된 프리미티브의 위치를 표현하는 위치 정보를 포함하며, 그리고
    상기 테스터가 프리미티브들을 2차원 스크린을 통해 보는 사람의 전망에 가장 가까운 프리미티브들인 제 1 그룹의 프리미티브들, 제 1 그룹의 프리미티브들로 분류된 것과 다른 프리미티브들인 제 2 그룹의 프리미티브들로 분류하기 위하여, 상기 속성 데이터 집단에 포함된 위치 정보를 비교하는 것을 특징으로 하는 렌더링 처리 장치.
  8. 제 1 항에 있어서, 각각의 프리미티브는 2차원 스크린에 표시되도록 허용된 허용 영역과 표시되지 않도록 허용되지 않는 비허용 영역을 포함하는 스텐실 데이터에 놓여지기에 적합하며, 이때 상기 스텐실 데이터는 표시되는 영상 또는 영상들의 투명성과 모양을 표현하고,
    상기 테스터는 상기 프리미티브들의 상기 스텐실 데이터의 허용 영역이나 비허용 영역에 놓여지는 프리미티브들인 제 1 그룹의 프리미티브들과 제 1 그룹의 프리미티브들로 분류된 것과 다른 나머지 프리미티브들인 제 2 그룹의 프리미티브들로 분류하는 것을 특징으로 하는 렌더링 처리 장치.
  9. 제 1 항에 있어서, 상기 테스터는 렌더링에서 참조되는 소정의 가시화된 플래그 테이블에 주어진 프리미티브가 제 1 그룹의 프리미티브인지 또는 제 2 그룹의 프리미티브인지를 기술하는 플래그를 기록하고, 이때 상기 플래그는 주어진 프리미티브에 대한 속성 데이터 집단과 관련하여 기록되는 것을 특징으로 하는 렌더링 처리 장치.
  10. 제 9 항에 있어서, 상기 플래그가 각각의 프리미티브에 대해 다른 값을 가지는 수치 플래그이고, 상기 플래그의 값이 2차원 스크린에 표시되는 프리미티브에 의해 커버된 픽셀들의 개수에 기초하여 갱신되는 것을 특징으로 하는 렌더링 처리 장치.
  11. 제 9 항에 있어서, 상기 가시화된 플래그 테이블에 기록된 관련된 프리미티브에 대한 플래그를 참조하고 상기 제 2 그룹의 프리미티브들에 대하여 상기 프리미티브 버퍼로부터 속성 데이터 집단들의 판독을 제한하기에 적합한 편집 수단을 더 포함하는 것을 특징으로 하는 렌더링 처리 장치.
  12. 제 11 항에 있어서, 상기 편집 수단은 상기 프리미티브 버퍼로부터 상기 제 2 그룹의 프리미티브들로 분류되는 프리미티브들에 대한 속성 데이터 집단들을 삭제하기에 적합한 것을 특징으로 하는 렌더링 처리 장치.
  13. 영상 처리 장치에 있어서, 상기 장치는:
    크기가 2차원 스크린에 있는 디스플레이 영역의 크기와 같은 프레임 버퍼;
    3차원 영상에 대한 기하 데이터를 생성하기 위하여 상기 3차원 영상을 묘사하는 다수의 프리미티브들의 기하 처리를 수행하는데 적용되는 제 1 처리 장치;
    생성된 기하 데이터에 따라 상기 프레임 버퍼 내에서 3차원 영상들에 대응하는 2차원 영상들을 표현하는 제 2 처리 장치; 및
    상기 디스플레이 영역에서 표현된 2차원 영상들을 표시하는 것에서의 사용을 위한 제어기를 포함하고,
    상기 제 2 처리 장치는 상기 2차원 스크린에 표시되는 제 1 그룹의 프리미티브들과 상기 2차원 스크린에 표시되지 않는 제 2 그룹의 프리미티브들로 다수의 프리미티브들을 분류하고 상기 제 2 그룹의 프리미티브들과 다른 상기 제 1 그룹의 프리미티브들로 구성되는 2차원 영상을 상기 프레임 버퍼 내에 표현하기 위하여 다수의 속성 데이터 집단들을 서로 비교하며, 각각의 속성 데이터 집단이 상기 제 1 처리 장치로부터 얻어진 기하 데이터에 의해 특정된 다수의 프리미티브들 중 1개의 속성들을 표현하는 것을 특징으로 하는 영상 처리 장치.
  14. 제 13 항에 있어서, 버퍼 메모리가 상기 제 1 처리 장치와 상기 제 2 처리 장치의 사이에 제공되고, 상기 제 1 처리 장치에 의해 생성된 기하 데이터가 상기 버퍼 메모리를 경유하여 상기 제 2 처리 장치로 전송되는 것을 특징으로 하는 영상 처리 장치.
  15. 제 13 항에 있어서, 외부 장치로부터 처리되는 3차원 영상들을 수신하고 그리고 수신된 영상들을 상기 제 1 처리 장치로 공급하는 영상 수신 메커니즘을 더 포함하는 것을 특징으로 하는 영상 처리 장치.
  16. 2차원 스크린에 3차원 영상을 표현하는 장치에 의해 이 순서로 수행되는 테스트 패스와 렌더링 패스를 포함하는 렌더링 방법이며, 상기 3차원 영상들이 각각 다수의 프리미티브들로 구성되고, 상기 장치는 프리미티브들이 영상들의 형성에 쓰여지는 프리미티브 버퍼를 가지며, 이 방법은
    상기 테스트 패스가 관련된 프리미티브들과 관련하여 프리미티브 버퍼에 있는 다수의 속성 데이터 집단들을 쓰기 위한 것이며, 이때 각각의 속성 데이터 집단은 상기 3차원 영상들을 생성하는 다수의 프리미티브들 중 1개의 속성들을 표현하며, 그리고 상기 2차원 스크린에 표시되는 제 1 그룹의 프리미티브들과 표시되지 않는 제 2 그룹의 프리미티브들로 다수의 프리미티브들을 분류하기 위해 다수의 기록된 속성 데이터 집단들을 서로 비교하기 위한 것이며,
    상기 렌더링 패스는 상기 프리미티브 버퍼로부터 판독된 제 1 그룹의 프리미티브들을 표현하기 위하여, 상기 테스트 패스에서 분류된 제 2 그룹의 프리미티브들과 다른 제 1 그룹의 프리미티브들을 판독하기 위한 것임을 특징으로 하는 렌더링 방법.
  17. 제 16 항에 있어서, 상기 장치가 같은 프리미티브에 대해 2번 이상 다른 텍스쳐를 표현하기 위해 2이상의 사이클의 렌더링 패스를 수행하는 것을 특징으로 하는 렌더링 방법.
  18. 2차원 스크린을 가진 디스플레이가 연결된 컴퓨터 위에 장착되고, 상기 컴퓨터의 다른 구성요소들과 협력하여 컴퓨터 위에서 다음 특징을 만드는 데 적용되는 반도체 장치로서, 상기 특징은:
    각각의 속성 데이터 집단이 3차원 영상을 만드는 다수의 프리미티브들 중 1개의 속성들을 표현하며, 다수의 속성 데이터 집단들이 관련된 프리미티브들과 관련하여 쓰여지는 프리미티브 버퍼;
    다수의 프리미티브들을 상기 2차원 스크린에 표시되는 제 1 그룹의 프리미티브들과 상기 스크린에 표시되지 않는 제 2 그룹의 프리미티브들로 분류하기 위하여, 상기 프리미티브 버퍼 내에서 다수의 속성 데이터 집단들을 서로 비교하는 테스터; 그리고
    상기 2차원 스크린에 표시되는 2차원 영상을 만들어 내기 위하여 상기 테스터에 의해 분류된 제 2 그룹의 프리미티브들과 다른 제 1 그룹의 프리미티브들을 표현하는 렌더링 처리 수단을 포함하는 것을 특징으로 하는 반도체 장치.
  19. 다음의 작업들을 수행하기 위해 컴퓨터에 지시를 하는 데 이용되는 컴퓨터 프로그램으로서, 상기 컴퓨터는 프리미티브들이 영상들의 형성을 위해 기록되는 프리미티브 버퍼와 2차원 스크린을 갖는 디스플레이에 연결되고, 상기 작업들은:
    각각의 속성 데이터 집단이 3차원 영상을 만드는 다수의 프리미티브들 중 1개의 속성을 표현하며, 관련된 프리미티브들과 관련하여 상기 프리미티브 버퍼 내에 다수의 속성 데이터 집단들을 기록하는 단계;
    다수의 프리미티브들을 2차원 스크린에 표시되는 제 1 그룹의 프리미티브들과 상기 2차원 스크린에 표시되지 않는 제 2 그룹의 프리미티브들로 분류하기 위해, 상기 프리미티브 버퍼에 있는 다수의 속성 데이터 집단들을 서로 비교하는 단계; 그리고
    상기 2차원 스크린에 표시되는 2차원 영상을 생성하기 위해 분류된 상기 제 2 그룹의 프리미티브들과 다른 상기 제 1 그룹의 프리미티브들을 표현하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  20. 제 19 항에 따른 컴퓨터 프로그램이 저장되는 컴퓨터 판독 가능한 저장 매체.
KR1020037013515A 2001-11-27 2002-11-22 영상 처리 장치와 그의 구성요소, 렌더링 방법 KR100907154B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2001361351 2001-11-27
JPJP-P-2001-00361351 2001-11-27
JP2002337966A JP3761085B2 (ja) 2001-11-27 2002-11-21 画像処理装置及びその構成部品、レンダリング処理方法
JPJP-P-2002-00337966 2002-11-21
PCT/JP2002/012214 WO2003046836A1 (en) 2001-11-27 2002-11-22 Image processing apparatus and constituent parts thereof, rendering method

Publications (2)

Publication Number Publication Date
KR20040052499A true KR20040052499A (ko) 2004-06-23
KR100907154B1 KR100907154B1 (ko) 2009-07-09

Family

ID=26624715

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037013515A KR100907154B1 (ko) 2001-11-27 2002-11-22 영상 처리 장치와 그의 구성요소, 렌더링 방법

Country Status (7)

Country Link
US (1) US6961065B2 (ko)
EP (1) EP1450308A4 (ko)
JP (1) JP3761085B2 (ko)
KR (1) KR100907154B1 (ko)
CN (1) CN1288603C (ko)
TW (1) TWI245235B (ko)
WO (1) WO2003046836A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100899488B1 (ko) * 2006-05-08 2009-05-27 엔비디아 코포레이션 초기 z-모드를 이용한 구성가능한 그래픽 렌더링파이프라인의 최적화
KR100908580B1 (ko) * 2004-12-29 2009-07-22 인텔 코포레이션 효율적인 z 테스트 방법 및 컴퓨터 그래픽 렌더러

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8768642B2 (en) 2003-09-15 2014-07-01 Nvidia Corporation System and method for remotely configuring semiconductor functional circuits
US8775997B2 (en) 2003-09-15 2014-07-08 Nvidia Corporation System and method for testing and configuring semiconductor functional circuits
US8732644B1 (en) 2003-09-15 2014-05-20 Nvidia Corporation Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits
US8711161B1 (en) 2003-12-18 2014-04-29 Nvidia Corporation Functional component compensation reconfiguration system and method
US8723231B1 (en) 2004-09-15 2014-05-13 Nvidia Corporation Semiconductor die micro electro-mechanical switch management system and method
US8711156B1 (en) 2004-09-30 2014-04-29 Nvidia Corporation Method and system for remapping processing elements in a pipeline of a graphics processing unit
GB0425204D0 (en) * 2004-11-15 2004-12-15 Falanx Microsystems As Processing of 3-dimensional graphics
JP4218840B2 (ja) * 2005-05-27 2009-02-04 株式会社ソニー・コンピュータエンタテインメント 描画処理装置および描画処理方法
TWI319166B (en) * 2006-03-06 2010-01-01 Via Tech Inc Method and related apparatus for graphic processing
FR2901049B1 (fr) * 2006-05-12 2008-11-21 Techviz Soc Par Actions Simpli Procede de codage et systeme d'affichage sur un ecran d'une maquette numerique d'un objet sous forme d'une image de synthese
US8633927B2 (en) * 2006-07-25 2014-01-21 Nvidia Corporation Re-render acceleration of frame with lighting change
US8232991B1 (en) * 2006-11-03 2012-07-31 Nvidia Corporation Z-test result reconciliation with multiple partitions
KR101239965B1 (ko) 2006-11-08 2013-03-06 연세대학교 산학협력단 렌더링 장치 및 방법
CN102263259A (zh) * 2006-12-28 2011-11-30 Agc清美化学股份有限公司 含锂复合氧化物及其制造方法
CN102063732B (zh) * 2009-11-18 2015-05-27 新奥特(北京)视频技术有限公司 一种背景图像的呈现方法和装置
CN101923724B (zh) * 2009-12-31 2012-10-10 北京书生国际信息技术有限公司 一种页面裁剪方法
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
US8659611B2 (en) * 2010-03-17 2014-02-25 Qualcomm Mems Technologies, Inc. System and method for frame buffer storage and retrieval in alternating orientations
CN102034221B (zh) * 2010-11-22 2012-05-23 长沙景嘉微电子有限公司 图形芯片设计中图形像素生成算法的硬件实现
JP2012221092A (ja) * 2011-04-06 2012-11-12 Sony Corp 画像処理装置、画像処理方法およびプログラム
CN102737410B (zh) * 2011-05-06 2017-09-12 新奥特(北京)视频技术有限公司 一种三维图元在二维图文编播系统中的显示方法和装置
US9361715B2 (en) 2011-06-02 2016-06-07 Microsoft Technology Licensing, Llc Global composition system
US9858709B2 (en) 2012-11-29 2018-01-02 Samsung Electronics Co., Ltd. Apparatus and method for processing primitive in three-dimensional (3D) graphics rendering system
JP5661134B2 (ja) * 2013-03-12 2015-01-28 株式会社Takumi 画像処理装置及び画像処理方法
US9542906B2 (en) 2013-05-10 2017-01-10 Microsoft Technology Licensing, Llc Shared compositional resources
GB2520288B (en) 2013-11-14 2020-07-29 Advanced Risc Mach Ltd Forward Pixel Killing
CN103810745A (zh) * 2013-11-21 2014-05-21 广州菲动软件科技有限公司 3d引擎中的对象渲染方法和系统
US10521877B2 (en) 2017-05-23 2019-12-31 Samsung Electronics Co., Ltd Apparatus and method for speculative buffer reservations with cancellation mechanism
CN111797153A (zh) * 2020-07-01 2020-10-20 广联达科技股份有限公司 Bim模型预览方法、装置、计算机设备和可读存储介质
CN111783007B (zh) * 2020-07-31 2022-05-24 迈普通信技术股份有限公司 一种显示渲染方法、装置、电子设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5798762A (en) * 1995-05-10 1998-08-25 Cagent Technologies, Inc. Controlling a real-time rendering engine using a list-based control mechanism
US5790130A (en) * 1995-06-08 1998-08-04 Hewlett-Packard Company Texel cache interrupt daemon for virtual memory management of texture maps
US5852443A (en) * 1995-08-04 1998-12-22 Microsoft Corporation Method and system for memory decomposition in a graphics rendering system
JP4035649B2 (ja) * 1998-03-24 2008-01-23 株式会社セガ 画像処理装置及び画像処理方法
US6320580B1 (en) * 1997-11-07 2001-11-20 Sega Enterprises, Ltd. Image processing apparatus
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
US6259461B1 (en) * 1998-10-14 2001-07-10 Hewlett Packard Company System and method for accelerating the rendering of graphics in a multi-pass rendering environment
JP3350473B2 (ja) * 1999-03-17 2002-11-25 富士通株式会社 オクルージョンカリングを行う3次元グラフィックス描画装置および方法
JP2002039848A (ja) * 2000-07-19 2002-02-06 Ishida Co Ltd 計量器の振り分け機構
JP2001266166A (ja) * 2001-02-19 2001-09-28 Namco Ltd 画像生成システム及び情報記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100908580B1 (ko) * 2004-12-29 2009-07-22 인텔 코포레이션 효율적인 z 테스트 방법 및 컴퓨터 그래픽 렌더러
KR100899488B1 (ko) * 2006-05-08 2009-05-27 엔비디아 코포레이션 초기 z-모드를 이용한 구성가능한 그래픽 렌더링파이프라인의 최적화

Also Published As

Publication number Publication date
US6961065B2 (en) 2005-11-01
CN1288603C (zh) 2006-12-06
EP1450308A4 (en) 2010-06-09
JP2003228733A (ja) 2003-08-15
US20030117589A1 (en) 2003-06-26
KR100907154B1 (ko) 2009-07-09
EP1450308A1 (en) 2004-08-25
CN1527990A (zh) 2004-09-08
TWI245235B (en) 2005-12-11
JP3761085B2 (ja) 2006-03-29
TW200304626A (en) 2003-10-01
WO2003046836A1 (en) 2003-06-05

Similar Documents

Publication Publication Date Title
KR100907154B1 (ko) 영상 처리 장치와 그의 구성요소, 렌더링 방법
JP3840014B2 (ja) グラフィックス表示システムの走査変換実施装置
US6529207B1 (en) Identifying silhouette edges of objects to apply anti-aliasing
US8659589B2 (en) Leveraging graphics processors to optimize rendering 2-D objects
KR960016886B1 (ko) 다수의 3차원 객체로부터 가시 객체를 픽크하는 장치 및 방법과 그를 이용한 비디오 디스플레이 시스템
CN100357972C (zh) 计算机绘图之颜色资料的压缩系统及方法
US6424345B1 (en) Binsorter triangle insertion optimization
US6411294B1 (en) Image display apparatus and image display method
US20040027358A1 (en) Image data generating apparatus
US5877769A (en) Image processing apparatus and method
US6184893B1 (en) Method and system for filtering texture map data for improved image quality in a graphics computer system
JP3086189B2 (ja) テクスチャーマップパッキング
KR20040004393A (ko) 고속의 범프 매핑을 실현하기 위한 화상 처리 방법, 화상처리 장치, 컴퓨터 프로그램 및 반도체 디바이스
WO1998053425A1 (fr) Processeur d'image et procede correspondant
JP4311877B2 (ja) 副標本化テクスチャ端縁部のアンチエイリアシング
US7372461B2 (en) Image processing apparatus and method of same
EP0921498A2 (en) Data conversion apparatus and image generation apparatus
US6518969B2 (en) Three dimensional graphics drawing apparatus for drawing polygons by adding an offset value to vertex data and method thereof
KR100544803B1 (ko) 영상 프리미티브의 고속 처리
US7064752B1 (en) Multi-function unit of a graphics system for updating a hierarchical Z buffer
US7372466B2 (en) Image processing apparatus and method of same
US8576219B2 (en) Linear interpolation of triangles using digital differential analysis
US6624820B2 (en) Graphic processing method for determining representative texture data for a plurality of pixels and apparatus for same
CN116704146A (zh) 一种基于游戏渲染引擎的三维电子地图动态加载方法
JP4610394B2 (ja) Zソート処理回路およびこれを用いた3次元画像描画装置

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: 20130621

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140626

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150618

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160617

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170616

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180619

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190619

Year of fee payment: 11