KR0165464B1 - 그래픽을 위한 스팬렌더링방법 및 장치 - Google Patents
그래픽을 위한 스팬렌더링방법 및 장치 Download PDFInfo
- Publication number
- KR0165464B1 KR0165464B1 KR1019950039025A KR19950039025A KR0165464B1 KR 0165464 B1 KR0165464 B1 KR 0165464B1 KR 1019950039025 A KR1019950039025 A KR 1019950039025A KR 19950039025 A KR19950039025 A KR 19950039025A KR 0165464 B1 KR0165464 B1 KR 0165464B1
- Authority
- KR
- South Korea
- Prior art keywords
- span
- rendering
- spans
- buffer
- pixel
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
본 발명은 3차원 그래픽가속기에서 렌더링 속도를 향상시킬 수 있는 새로운 방식의 스팬렌더링 방법 및 장치에 관한 것으로, 본 발명에 의한 그래픽을 위한 스팬렌더링방법은, 삼각형의 렌더링명령을 받아서, 복수의 스팬으로 분할하는 제1과정, 상기 분할된 스팬에 대하여 각각의 렌더링작업을 동시에 수행하는 제2과정, 상기 스팬렌더링에 의하여 구한색상 값을 각각의 픽셀버퍼에 동시에 기록하는 제3과정 및 상기 복수의 픽 셀버퍼에 기록된 데이터를 동시에 처리하여 스크린에 표시할 픽셀 데이터를 발생하는 제4과정을 포함함을 특징으로 한다.
본 발명에 의하면, 화면의 절대 Y값에 따라 Z버퍼 및 픽섹버퍼를 2N(N = 1, 2, 3,........) 개의 메모리 블록으로 분할하여 복수의 스팬을 병렬적으로 렌더링함으로써, 메모리블럭 및 가속기와의 인터페이스 방법을 개선하여 스팬렌더링속도를 향상시킬 수 있다.
Description
제1도는 본 발명에 의한 멀티스팬 랜더링 장치의 구성 블록도.
제2도는 복수의 스팬 렌더링 블럭들을 구비한 멀티스팬 렌더링 장치의 구성 블록도
제3도는 본 발명에 의한 스팬 렌더링 방법을 설명하기 위한 흐름도.
본 발명은 프레임버퍼가 내장된 3차원 그래픽 가속기에 관한 것으로, 특히 랜더링 속도를 향상시킬 수 있는 새로운 방식의 스팬렌더링 방법 및 장치에 관한 것이다.
3차원 그래픽의 렌더링은 삼각형으로 모델링된 3차원 객체를 각 삼각형의 렌더링에 의하여 원하는 이미지를 얻는다. 종래에는 각 삼각형의 렌더링 명령을 받아서 그 삼각형을 스팬(수평성분)으로 분할하여 하나의 스팬단위로 랜더링작업을 수행한다. 3차원 객체에 대한 쉐이딩(shading)이나 텍스춰매핑(texture mapping) 등을 수행함에 있어 렌더링 작업을 보다 고속으로 하기 위한 방법이 요구된다.
따라서, 본 발명의 목적은 3차원 그래픽에서 복수의 스팬을 병렬적으로 랜더링하여 렌더링 속도를 향상시키기 위한 스팬렌더링 방법을 제공하는데 있다. 본 발명의 다른 목적은 3차원 그래픽에서 복수의 스팬을 병렬적으로 렌더링하여 렌더링 속도를 향상시키기 위한 멀티스팬 렌더링장치를 제공하는데 있다.
상기의 목적을 달성하기 위한 본 발명에 의한 그래픽을 위한 스팬 렌더링방법은, 삼각형의 렌더링 명령을 받아서, 복수의 스팬으로 분할하는 제1과정, 상기 분할된 스팬에 대하여 각각의 렌더링 작업을 동시에 수행하는 제2과정, 상기 스팬렌더링에 의하여 구한 색상값을 각각의 픽셀버퍼에 동시에 기록하는 제3과정 및 상기 복수의 픽셀버퍼에 기록된 데이터를 동시에 처리하여 스크린에 표시할 픽셀데이타를 발생하는 제4과정을 포함함을 특징으로 한다.
상기의 다른 목적을 달성하기 위한 본 발명에 의한 그래픽을 위한 스팬렌더링 장치는, 삼각형의 렌더링명령을 받아 적어도 2 이상의 스팬으로 분할하고, 분할된 각 스팬에 대한 정보를 동시에 출력하기 위한 스팬발생수단, 상기 분할된 스팬에 대한 정보가 각각 입력되어 입력된 스팬을 상기 정보에 따라 각각 렌더링 하기 위한 상기 스팬 분할수에 대응하는 복수의 스팬 렌더링수단 및 상기 스팬 렌더링수단에 의한 스팬 렌더링에 따라 스크린에 나타낼 픽셀 데이터를 저장하기 위한, 상기 스팬렌더링 수단에 대응하는 복수의 저장 수단을 구비하여, 상기 스팬발생 수단에서 발생된 복수의 스팬들을 병렬방식으로 동시에 렌더링 처리함을 특징으로 한다.
이하에서 첨부한 도면을 참조하여, 본 발명을 더욱 자세하게 설명하고자 한다.
제3도는 본 발명에 의한 스팬 렌더링 방법을 설명하기 위한 흐름도를 도시한 도면이다.
삼각형의 렌더링 명령(11)을 받아서 스팬(수평성분)의 Y값에 따라 복수의 스팬으로 분할한다(32). 분할된 스팬에 대하여 각각의 랜더링 작업을 동시에 수행한다(33). 스팬랜더링에 의하여 구한 색상값을 픽셀버퍼에 기록하고, 그 데이터를 처리하여 스크린에 표시할 픽셀데이타를 발생한다(34).
본 발명은 삼각형의 집합으로 모델링된 3차원 객체(object)의 고속 팬더링을 위하여 삼각형으로부터 스팬(span)을 생성하고 이를 2N(N=1, 2, 3,........) 개의 스팬랜더링 블록에 보내어 병렬방식으로 스팬랜더링을 수행한다. 여기서 스팬이란 삼각형의 모든 Y값에 대한 양끝 X좌표로 이루어진 수평선분을 말하며, 이 선분들을 모두 랜더링하면 한 개의 삼각형을 랜더링할 수 있다.
제1도는 본 발명에 의한 멀티스팬 랜더링장치의 구성 블록도를 도시한 도면이다. 본 예는 Z버퍼 및 픽셀버퍼를 두 개의 독립적인 메모리 블록으로 구성한 경우이다.
도면에서 11은 삼각형 렌더링명령, 12는 스팬의 Y값에 따라 스팬을 분할하고 스팬에 대한 정보를 생성하는 스팬발생기(Span Generator), 131과 132는 입력되는 스팬정보를 순차적으로 출력하는 FIF0(First-In First-Out)메모리, 141과 142는 스팬정보에 따라 렌더링 작업을 수행하는 스팬 렌더링 블록, 151과 152는 Depth버퍼로서 각 화소에 대한 관찰자로부터의 거리를 정규화한 값으로 저장하며, 은면(hidden surface)이나 은선(hidden line)제거에 사용되는 Z버퍼, 161과 162는 각 스크린에 표시될 화소의 색상을 저장하는 픽셀버퍼(Fixel Buffer), 17은 텍스춰매핑시 객체에 입혀질 마루바닥의 나뭇결과 같은 이미지를 저장하는 텍스춰이미지버퍼(Texture Image Buffer), 그리고 18은 픽셀버퍼의 내용을 스크린에 나타내주기 위해 데이터를 처리하는 스크린 리프레쉬블럭이다.
스팬 발생기(12)는 삼각형의 랜더링명령(11)을 받아서 스팬(수평성분)의 Y값에 따라 짝수스팬과 홀수스팬으로 분할하고, 그 스팬들에 대한 정보들을 각각 스팬짝수FIFO(SPAN EVEN FIFO)(131)과 스팬홀수FIFO(SPAN ODD FIFO)(132)로 출력한다. 이 때, 각 스팬에 대한 정보는 X 좌표값 뿐만 아니라 3차원 랜더링에 필요한 각종 파라미터 값들을 포함한다.
짝수 스팬랜더링 블록(141) 및 홀수 스팬랜더링 블록(142)은 각각 짝수 스팬 및 홀수 스팬에 대한 정보가 입력되어 입력된 스팬에 대한 랜더링 작업을 수행한다. 이 때 고런드쉐이딩(Gouraud Shading)이나 텍스춰매핑(Texture Mapping)과 같은 작업을 수행하기 위한 인터폴레이션(Interpolation)이 이루어진다. 그리고 스팬랜더링 블록(141, 142)은 Z버퍼(151, 152) 및 텍스춰 이미지버퍼(17)의 데이터를 필요에 따라 참조하고, 픽셀버퍼(161, 162)로 스팬 렌더링블럭(141, 142)에서 구한 색상값을 삼각형의 해당 주소에 써 넣는다. 그러면, 스크린 리프레쉬블럭(18)은 제1 및 제2 픽셀버퍼(161, 162)에 저장된 내용을 처리하여 스크린에 표시할 픽셀데이터를 발생한다.
텍스춰 이미지버퍼(17)을 구현함에 있어서, 동시에 두 개의 스팬을 랜더링하기 위해서는 스팬랜더링블럭(141, 142)이 각각 독립적으로 텍스춰이미지의 읽기가 가능해야 하므로, 두 개의 읽기 포트를 가진 메모리(Dual Read Port Memory)나 동일한 이미지 데이터를 가지고 있는 두 개의 독립적인 메모리 블록으로 구성될 필요가 있다.
스팬의 Y값을 기준으로 프레임버퍼를 나누었을 때의 장점은 스팬 렌더링블럭의 렌더링 동작이 DRAM의 페이지모드의 장점을 충분히 이용할 수 있어 고속 렌더링이 가능하다는 점이다. 이러한 구성에 의하여 단일 스팬렌더링 블록을 갖는 경우에 비하여 최대 약 2배의 렌더링 성능을 얻을 수 있다. 이러한 프레임버퍼 구조에서 한가지 고려해야 할 사항은 화면 리프레쉬(screen refresh) 데이터를 스팬의 Y값에 따라 각 메모리 블록으로부터 번갈아 가져와야 한다는 것이다.
본 발명에 의하면 스팬발생기에서 출력된 복수의 스팬을 병렬방식으로 동시에 렌더링 할 수 있다. 이 때 스팬발생기의 속도는 스팬랜더링블럭의 스팬렌더링 속도보다 최소한 2배 이상 빨라야 원하는 병렬성(parallelism)을 확보할 수 있다. 일반적으로 스팬 발생기는 삼각형의 변을 따라서 스팬의 시작 X값에 대한 파라미터들을 구하므로 스팬을 생성하는 속도는 스팬을 랜더링하는 속도보다 충분히 빠르다.
제2도는 복수의 스팬렌더링 블록들을 구비한 멀티스팬 렌더링장치의 구성블럭도를 도시한 도면이다.
예를 들어 N=2 일 때, 즉 4개의 스팬렌더링 블록을 사용할 때, 스팬발생기(22)는 스팬의 Y값을 4로 나누어서 그 나머지값(0, 1, 2 또는 3)에 따라 각 스팬렌더링 블록(241-24M)에 스팬을 할당하고, 그에 따라 프레임버퍼메모리도 각각 4개의 Z버퍼(251-25M) 및 4개의 픽셀버퍼(261-26M)를 구비한다. 텍스춰이미지 버퍼(271-27M)도 전술한 바와 같이 다수의 읽기 포트를 가진 메모리나 동일한 이미지 데이터를 저장하고 있는 다수 개의 독립적인 프레임버퍼 메모리 블록으로 구성된다.
스크린 리프레쉬 블록(28)은 제1-제M픽셀버퍼(261-26M)에 저장된 내용을 처리하여 스크린에 표시할 픽셀데이타를 발생한다. 이와 같은 구성을 한 경우에는 한 개의 스팬렌더링 블록을 갖는 구성을 한 경우에 비해서 최대 약 4배의 렌더링 성능을 달성 할 수 있다.
마찬가지로 스팬 분할 수를 적절히 설정하여 그에 따른 스팬렌더링의 증설 및 메모리 블록의 분할에 의하여 렌더링 성능을 계속 향상시킬 수 있다.
본 발명에 의하면, 화면의 절대 Y값에 따라 Z버퍼 및 픽셀버퍼를 2N(N=1,2,3,.......) 개의 메모리 블록으로 분할하여 복수의 스팬을 병렬적으로 렌더링 함으로써, 메모리블록 및 가속기와의 인터페이스방법을 개선하여 스팬렌더링 속도를 향상시킬 수 있다.
본 발명에 의한 구성은 프레임버퍼 메모리를 그래픽 가속기와 함께 단일 칩에 집적시켰을 때 특히 유용하다. 왜냐하면 멀티스팬 랜더링이 가능하려면 다수의 스팬렌더링 블록마다 Z버퍼, 픽셀버퍼, 텍스춰버퍼를 각각 구비하여야 하는데, 이러한 버퍼들이 단일 칩에 집적된 경우에는 칩의 핀수에 대한 제약을 받지 않고 멀티스팬 렌더링을 구현할 수 있기 때문이다.
본 발명은 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명이 속한 기술 분야에서 통상의 지식을 갖는 자에 의해 가능함은 명백하다.
Claims (4)
- 스팬을 이용하여 그래픽을 위한 스팬렌더링 장치에 있어서, 삼각형의 렌더링명령을 받아 복수의 스팬들로 분할하고, 상기 스팬들을 적어도 2 이상의 그룹으로 분할하여 상기 각 그룹별로 스팬 정보들을 하나씩 순차적으로 동시에 출력하기 위한 스팬 발생수단, 상기 각 그룹별로 출력된 스팬정보를 각각 입력받아 스팬정보에 따라 각각 렌더링하기 위한 상기 그룹 속에 대응하는 복수의 스팬렌더링 수단 및 각 픽셀에 대한 관찰자로부터의 거리를 정규화한 값으로 저장하는 Z버퍼와, 스크린에 표시되는 화소의 색상을 저장하는 픽셀버퍼와 텍스춰매핑시 객체에 입혀질 이미지를 저장하는 텍스춰 이미지버퍼를 상기 그룹 수에 대응하여 각각 구비하는 저장수단을 포함하여, 상기 스팬 발생수단에서 발생된 복수의 스팬들을 병렬방식으로 동시에 렌더링 처리함을 특징으로 하는 그래픽을 위한 스팬렌더링 장치.
- 제1항에 있어서, 상기 스팬 발생수단은 스팬(수평성분)의 Y값에 따라 스팬을 분할함을 특징으로 하는 그래픽을 위한 스팬렌더링장치.
- 제1항에 있어서, 상기 스팬 발생수단에서의 스팬 분할수를 2로 하고, 하나는 짝수번째 `스팬을 그리고 다른 하나는 홀수번째 스팬을 번갈아 지정하여, 짝수번째 스팬 및 홀수번째 스팬에 대한 정보를 동시에 출력함을 특징으로 하는 그래픽을 위한 스팬 렌더링 장치.
- 제1항에 있어서, 상기 텍스춰 이미지 버퍼는 상기 스팬렌더링 수단에 대응하는 복수의 읽기 포트를 가진 하나의 메모리로 구성됨을 특징으로 하는 그래픽을 위한 스팬렌더링 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950039025A KR0165464B1 (ko) | 1995-10-31 | 1995-10-31 | 그래픽을 위한 스팬렌더링방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950039025A KR0165464B1 (ko) | 1995-10-31 | 1995-10-31 | 그래픽을 위한 스팬렌더링방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970022847A KR970022847A (ko) | 1997-05-30 |
KR0165464B1 true KR0165464B1 (ko) | 1999-01-15 |
Family
ID=19432522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950039025A KR0165464B1 (ko) | 1995-10-31 | 1995-10-31 | 그래픽을 위한 스팬렌더링방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0165464B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100420856B1 (ko) * | 2001-01-26 | 2004-03-02 | 학교법인연세대학교 | 순서 비의존 투명성을 하드웨어적으로 제공해주는 병렬 렌더링 가속기 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3763136B2 (ja) * | 1996-12-27 | 2006-04-05 | ソニー株式会社 | 描画方法および描画装置 |
KR100382107B1 (ko) * | 2000-08-26 | 2003-05-01 | 학교법인연세대학교 | 고성능 3 차원 그래픽 가속기를 위한 일관성 버퍼의 방법및 장치 |
KR100441080B1 (ko) * | 2002-07-31 | 2004-07-21 | 학교법인연세대학교 | 3차원 그래픽 가속기에서 픽셀 캐쉬 구조의 동작방법 |
KR100703709B1 (ko) * | 2005-06-02 | 2007-04-06 | 삼성전자주식회사 | 그래픽스 처리장치와 처리방법, 및 그 기록 매체 |
-
1995
- 1995-10-31 KR KR1019950039025A patent/KR0165464B1/ko not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100420856B1 (ko) * | 2001-01-26 | 2004-03-02 | 학교법인연세대학교 | 순서 비의존 투명성을 하드웨어적으로 제공해주는 병렬 렌더링 가속기 |
Also Published As
Publication number | Publication date |
---|---|
KR970022847A (ko) | 1997-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8068119B2 (en) | System and method for multi-sampling primitives to reduce aliasing | |
US5898437A (en) | Method for fast rendering of three-dimensional objects by generating lists of like-facing coherent primitives | |
EP0464907B1 (en) | Generating an image | |
US5734806A (en) | Method and apparatus for determining graphical object visibility | |
EP0433373A1 (en) | EFFECTIVE METHOD FOR UPDATING A TIME INTERLOCKING WORKING SINGLE-GATE Z-BUFFER. | |
JPS61288276A (ja) | 画像表示方法および装置 | |
WO1996031844A1 (fr) | Systeme graphique | |
JP2001195050A (ja) | グラフィックアクセラレータ | |
JPH0916144A (ja) | 二次元でインターリーブされるフレームバッファを備えた、三角形ラスタ化のためのシステム及び方法 | |
EP1125252B1 (en) | Shading and texturing 3-dimensional computer generated images | |
JPS6380375A (ja) | テクスチヤマツピング装置 | |
EP1026636B1 (en) | Image processing | |
KR0165464B1 (ko) | 그래픽을 위한 스팬렌더링방법 및 장치 | |
US7372461B2 (en) | Image processing apparatus and method of same | |
US7372466B2 (en) | Image processing apparatus and method of same | |
US8576219B2 (en) | Linear interpolation of triangles using digital differential analysis | |
US5903280A (en) | Image display apparatus that reduces necessary memory capacity for operation | |
US6489967B1 (en) | Image formation apparatus and image formation method | |
JPH0683977A (ja) | 描画方式 | |
US20050156936A1 (en) | Image processing apparatus and method of same | |
JP2718728B2 (ja) | 三次元図形処理装置 | |
JPH02166573A (ja) | 隠れ面処理装置 | |
JPH081657B2 (ja) | グラフィック・ディスプレイ装置 | |
JPS6315288A (ja) | 3次元図形表示装置 | |
JPS61187083A (ja) | 画素情報記憶装置 |
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: 20080904 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |