KR0165464B1 - 그래픽을 위한 스팬렌더링방법 및 장치 - Google Patents

그래픽을 위한 스팬렌더링방법 및 장치 Download PDF

Info

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
Application number
KR1019950039025A
Other languages
English (en)
Other versions
KR970022847A (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 김광호
Priority to KR1019950039025A priority Critical patent/KR0165464B1/ko
Publication of KR970022847A publication Critical patent/KR970022847A/ko
Application granted granted Critical
Publication of KR0165464B1 publication Critical patent/KR0165464B1/ko

Links

Classifications

    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

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)

  1. 스팬을 이용하여 그래픽을 위한 스팬렌더링 장치에 있어서, 삼각형의 렌더링명령을 받아 복수의 스팬들로 분할하고, 상기 스팬들을 적어도 2 이상의 그룹으로 분할하여 상기 각 그룹별로 스팬 정보들을 하나씩 순차적으로 동시에 출력하기 위한 스팬 발생수단, 상기 각 그룹별로 출력된 스팬정보를 각각 입력받아 스팬정보에 따라 각각 렌더링하기 위한 상기 그룹 속에 대응하는 복수의 스팬렌더링 수단 및 각 픽셀에 대한 관찰자로부터의 거리를 정규화한 값으로 저장하는 Z버퍼와, 스크린에 표시되는 화소의 색상을 저장하는 픽셀버퍼와 텍스춰매핑시 객체에 입혀질 이미지를 저장하는 텍스춰 이미지버퍼를 상기 그룹 수에 대응하여 각각 구비하는 저장수단을 포함하여, 상기 스팬 발생수단에서 발생된 복수의 스팬들을 병렬방식으로 동시에 렌더링 처리함을 특징으로 하는 그래픽을 위한 스팬렌더링 장치.
  2. 제1항에 있어서, 상기 스팬 발생수단은 스팬(수평성분)의 Y값에 따라 스팬을 분할함을 특징으로 하는 그래픽을 위한 스팬렌더링장치.
  3. 제1항에 있어서, 상기 스팬 발생수단에서의 스팬 분할수를 2로 하고, 하나는 짝수번째 `스팬을 그리고 다른 하나는 홀수번째 스팬을 번갈아 지정하여, 짝수번째 스팬 및 홀수번째 스팬에 대한 정보를 동시에 출력함을 특징으로 하는 그래픽을 위한 스팬 렌더링 장치.
  4. 제1항에 있어서, 상기 텍스춰 이미지 버퍼는 상기 스팬렌더링 수단에 대응하는 복수의 읽기 포트를 가진 하나의 메모리로 구성됨을 특징으로 하는 그래픽을 위한 스팬렌더링 장치.
KR1019950039025A 1995-10-31 1995-10-31 그래픽을 위한 스팬렌더링방법 및 장치 KR0165464B1 (ko)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100420856B1 (ko) * 2001-01-26 2004-03-02 학교법인연세대학교 순서 비의존 투명성을 하드웨어적으로 제공해주는 병렬 렌더링 가속기

Families Citing this family (4)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 그래픽스 처리장치와 처리방법, 및 그 기록 매체

Cited By (1)

* Cited by examiner, † Cited by third party
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