KR100243181B1 - 3차원 그래픽 시스템의 라스터엔진의 신호처리방법 및 장치 - Google Patents

3차원 그래픽 시스템의 라스터엔진의 신호처리방법 및 장치 Download PDF

Info

Publication number
KR100243181B1
KR100243181B1 KR1019940017408A KR19940017408A KR100243181B1 KR 100243181 B1 KR100243181 B1 KR 100243181B1 KR 1019940017408 A KR1019940017408 A KR 1019940017408A KR 19940017408 A KR19940017408 A KR 19940017408A KR 100243181 B1 KR100243181 B1 KR 100243181B1
Authority
KR
South Korea
Prior art keywords
value
span
memory
pixel information
frame buffer
Prior art date
Application number
KR1019940017408A
Other languages
English (en)
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 KR1019940017408A priority Critical patent/KR100243181B1/ko
Application granted granted Critical
Publication of KR100243181B1 publication Critical patent/KR100243181B1/ko

Links

Landscapes

  • Image Generation (AREA)

Abstract

본 발명은 3차원 그래픽 시스템에 관한 것으로서, 특히 3차원 그래픽 시스템의 신호처리방법은 화면내의 각 폴리곤들을 스팬단위로 나누고 각 폴리곤들의 동일 라인의 스팬들로 스팬라인을 형성하고 형성된 스팬라인단위로 화소정보를 전달하는 단계; 상기 스팬라인단위로 프레임버퍼로부터 기존의 Z값을 독출하여 메모리영역에 저장하는 단계; 상기 전달된 스팬라인단위의 각 화소정보에 대해 컬러값과 Z값 및 좌표를 생성하는 단계; 생성된 Z값과 상기 메모리에 저장된 Z값을 비교하여 가까우면 새로운 Z값과 컬러값을 메모리에 저장하고 그렇지않으면 기존의 값을 그대로 유지하는 단계; 및 상기 메모리에 저장된 스팬라인 단위의 컬러값과 Z값들을 프레임버퍼에 기입하는 단계를 구비한다.
따라서, 본 발명은 화소정보를 스팬라인단위로 신호처리함으로써 프레임버퍼의 억세스동작을 줄일수 있어서 고속 그래픽스가 가능하다.

Description

3차원 그래픽시스템의 라스터엔진의 신호처리방법 및 장치
제1도는 본 발명에 의한 3차원 그래픽시스템의 신호처리흐름을 설명하기 위한 도면.
제2도는 본 발명에 의한 폴리곤과 스팬을 설명하기 위한 도면.
제3도는 본 발명에 의한 스팬라인을 설명하기 위한 도면.
제4도는 본 발명에 의한 라스터엔진의 구성을 설명하기 위한 블럭도.
본 발명은 3차원 그래픽 시스템에 관한 것으로, 특히 가상현실용 그래픽 시스템의 신호처리방법과 장치에 관한 것이다.
일반적으로 3차원 그래픽 시스템은 3차원 그래픽 처리를 위하여는 트랜스포메이션(Transformation), 클리핑(Clipping), 라이트(Light)계산, 프로젝션(Projection) 등의 부동소숫점 연산을 전담하는 지오미트리(Geometry) 엔진과, 각 화소의 컬러값과 Z값 및 좌표를 계산하는 라스터(raster)엔진과 각 화소의 컬러값과 Z값을 저장하는 프레임(frame)버퍼가 필요하다. 즉, 지오미트리 엔진(100)에서 그래픽스 프리미티브(primitive)인 폴리곤(polygon)정보를 라스터엔진에 전달하면 라스터엔진은 그 폴리곤을 구성하는 각 화소에 대하여 컬러값과 Z값 및 좌표를 구하고 이미 프레임버퍼에 저장되어 있는 기존의 Z값과 비교하여 새로운 화소의 Z값이 기존의 Z값보다 가까우면 새로운 컬러값과 Z값을 프레임버퍼에 기입하고 그렇지 않을 경우에는 기존의 컬러값과 Z값을 보존한다.
이와같은 종래의 라스터엔진에서는 각 화소마다 프레임버퍼에서 Z값을 불러다가 새로운 Z값과 비교하는 신호처리방식을 사용하고 있다. 그렇기때문에, 예를들어 1280*1024크기의 화면을 새로이 다시 그리기 위해서는 백만번이 넘는 프레임버퍼의 억세스 및 리드 모디파이 라이트(read-modify-write)동작이 필요하게 되고 이러한 매 화소마다 프레임버퍼의 억세스 및 리드 모디파이 라이트동작의 수행이 고속 그래픽스 처리의 병목현상의 원인이 되고 있다. 일반적으로 억세스속도가 80나노초인 메모리를 프레임버퍼로 사용할 경우에 한 화소를 처리하기 위해 걸리는 시간은 가장 빠른 페이지모드 리드 모디파이 라이트 사이클인 경우에도 약 200나노초 정도 걸리게 된다.
본 발명의 목적은 이와같은 종래 기술의 문제점을 해결하기 위하여 폴리곤들의 동일 스팬라인 단위로 전달받고 이들 스팬라인의 화소들 단위로 프레임버퍼에 기입독출함으로써 고속 그래픽스 처리가 가능한 3차원 그래픽 시스템의 신호처리방법 및 장치를 제공하는 데 있다.
상기 목적을 달성하기 위하여 본 발명의 방법은 화면내의 각 폴리곤들을 스팬단위로 나누고 각 폴리곤들의 동일 라인의 스팬들로 스팬라인을 형성하고 형성된 스팬라인단위로 화소정보를 전달하는 단계; 상기 스팬라인단위로 프레임버퍼로부터 기존의 Z값을 독출하여 메모리영역에 저장하는 단계; 상기 전달된 스팬라인단위의 각 화소정보에 대해 컬러값과 Z값 및 좌표를 생성하는 단계; 생성된 Z값과 상기 메모리에 저장된 Z값을 비교하여 가까우면 새로운 Z값과 컬러값을 메모리에 저장하고 그렇지않으면 기존의 값을 그대로 유지하는 단계; 및 상기 메모리에 저장된 스팬라인 단위의 컬러값과 Z값들을 프레임버퍼에 기입하는 단계를 구비한 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 장치는 화면내의 각 폴리곤들을 스팬단위로 나누고 각 폴리곤들의 동일 라인의 스팬들끼리 스팬라인을 형성하고 형성된 스팬라인 단위의 화소정보를 전달하는 지오미트리 엔진; 상기 스팬라인단위로 정보를 독출하고 기입하는 프레임버퍼; 및 상기 스팬라인단위로 프레임버퍼로부터 기존의 Z값을 독출하여 스팬라인용량을 가지는 메모리영역에 저장하고 상기 지오미트리엔진으로부터 전달된 스팬라인단위의 각 화소정보에 대해 컬러값과 Z값 및 좌표를 생성하는 단계; 생성된 Z값과 상기 메모리에 저장된 Z값을 비교하여 가까우면 새로운 Z값과 컬러값을 상기 메모리에 저장하고 그렇지않으면 기존의 값을 그대로 유지하고 상기 메모리에 저장된 스팬라인 단위의 컬러값과 Z값들을 프레임버퍼에 기입하는 라스터 엔진을 구비한 것을 특징으로 한다.
그러므로, 본 발명에서는 매 화소계산시 마다 프레임버퍼를 억세스하지 않고 스팬라인단위로 억세스함으로써 고속 그래픽 처리가 가능하다.
첨부한 도면을 첨부하여 본 발명을 보다 상세하게 설명하고자 한다.
제 1 도를 참조하면, 본 발명에 의한 3차원 그래픽 시스템은 3차원 그래픽 처리를 위하여는 트랜스포메이션(Transformation), 클리핑(Clipping), 라이트(Light)계산, 프로젝션(Projection) 등의 부동소숫점 연산을 전담하고 스팬라인단위로 화소정보를 전달하는 지오미트리(Geometry) 엔진(100)과, 스팬라인단위의 각 화소의 컬러값과 Z값 및 좌표를 계산하는 라스터(raster)엔진(200)과 각 화소의 컬러값과 Z값을 스팬라인단위로 기입하고 독출하는 프레임(frame)버퍼(300)를 포함한다. 따라서, 이러한 본 발명의 3차원 그래픽시스템에서의 신호처리방법은 화면내의 각 폴리곤들을 스팬단위로 나누고 각 폴리곤들의 동일 라인의 스팬들로 스팬라인을 형성하고 형성된 스팬라인단위로 화소정보를 전달하는 단계; 상기 스팬라인단위로 프레임버퍼로부터 기존의 Z값을 독출하여 메모리영역에 저장하는 단계; 상기 전달된 스팬라인단위의 각 화소정보에 대해 컬러값과 Z값 및 좌표를 생성하는 단계; 생성된 Z값과 상기 메모리에 저장된 Z값을 비교하여 가까우면 새로운 Z값과 컬러값을 메모리에 저장하고 그렇지않으면 기존의 값을 그대로 유지하는 단계; 및 상기 메모리에 저장된 스팬라인 단위의 컬러값과 Z값들을 프레임버퍼에 기입하는 단계를 포함한다.
제 2 도를 참조하면, 본 발명의 지오미트리 엔진(100)에서는 상기 지오화면내의 폴리곤들(10, 20, 30)들은 복수의 스팬들로 나누어 진다. 폴리곤(10)은 스팬(11, 12)로 나누어지며, 폴리곤(20)은 스팬(21, 22, 23 24)로 나누어지며, 폴리곤(30)은 스팬(31, 32, 33, 34)로 나누어진다.
이러한 폴리곤들의 스팬들은 제 3 도에 도시한 바와 같이 동일 라인의 스팬들끼리 모아서 스팬라인(1-6)을 형성하게 된다. 즉, 스팬라인(1)은 스팬(21)을 포함하고, 스팬라인(2)는 스팬(11, 22)을 포함하고, 스팬라인(3)은 스팬(12, 23, 31)을 포함하고, 스팬라인(4)는 스팬(24, 32)를 포함하고, 스팬라인(5)는 스팬(33)을 포함하고, 스팬라인(6)은 스팬(34)을 포함한다. 이와같이 형성된 스팬라인단위로 화소정보가 지오미트리 엔진(100)에서 라스터 엔진(200)으로 전달되게 된다.
제 4 도를 참조하면, 라스터 엔진(200)은 입력 레지스터(210), 컬러값생성기(220), Z값생성기(230), 좌표생성기(240), 컬러값 및 Z값 저장용 메모리(250) 및 메모리콘트롤러(260)를 구비한다.
그러므로, 라스터 엔진(200)에서는 지오미트리 엔진(100)으로부터 스팬라인단위로 화소정보를 입력 레지스터(210)로 전달받는다. 또한, 스팬라인단위로 프레임버퍼(300)로부터 기존의 Z값을 전달받아 메모리콘트롤러(260)의 제어하에 메모리(250)의 Z값 메모리영역(254)에 저장한다. 입력레지스터(210)에 입력된 스팬라인을 구성하는 각 스팬에 대해 차례대로 그 스팬에 해당하는 각 화소정보에 대해 컬러값과 Z값 및 좌표를 컬러값 생성기(220), Z값 생성기(230) 및 좌표생성기(240)에 의해 각각 생성하고 생성된 Z값과 상기 메모리(250)에 저장된 Z값을 비교하여 가까우면 새로운 Z값과 컬러값을 상기 메모리(250)의 Z값 메모리영역(254)와 컬러값 메모리영역(252)에 각각 저장하고 그렇지 않으면 기존의 값을 그대로 유지한다. 이와같은 방법으로 스팬라인에 있는 모든 스팬들에 대해 처리한 후에 상기 메모리(250)에 저장된 스팬라인 단위의 컬러값과 Z값들을 메모리콘트롤러(260)를 사용하여 프레임버퍼(300)에 기입한다.
이와같이 본 발명에서는 지오미트리 엔진(100)에서 화소정보를 폴리곤들의 동일라인의 스팬드로 이루어진 스팬라인단위로 라스터엔진(200)에 전달하고 라스터엔진에서는 프레임버퍼(300)에서 스팬라인단위로 기존의 화소정보를 억세스하고 억세스된 화소정보의 Z값과 새로이 생성된 Z값을 비교하여 그 결과에 따라서 각 화소의 컬러값과 Z값을 다시 프레임버퍼(300)에 기입하기 때문에 프레임버퍼의 억세스 횟수가 대폭적으로 줄게 되어 라스터엔진과 프레임버퍼간의 화소정보의 독출 및 기입동작에 따른 신호처리의 병목현상을 개선할 수 있게 된다.
따라서, 본 발명에서는 동일한 메모리 사용시 약 4배의 속도개선의 효과가 있으며 특수 메모리를 사용할 경우에는 수십배 고속으로 그래픽처리속도를 개선할 수가 있게 된다.

Claims (3)

  1. 화면내의 각 폴리곤들을 스팬단위로 나누고 각 폴리곤들의 동일 라인의 스팬들로 스팬라인을 형성하고 형성된 스팬라인단위로 화소정보를 전달하는 단계; 상기 스팬라인단위로 프레임버퍼로부터 기존의 Z값을 독출하여 메모리영역에 저장하는 단계; 상기 전달된 스팬라인단위의 각 화소정보에 대해 컬러값과 Z값 및 좌표를 생성하는 단계; 생성된 Z값과 상기 메모리에 저장된 Z값을 비교하여 가까우면 새로운 Z값과 컬러값을 메모리에 저장하고 그렇지않으면 기존의 값을 그대로 유지하는 단계; 및 상기 메모리에 저장된 스팬라인 단위의 컬러값과 Z값들을 프레임버퍼에 기입하는 단계를 구비한 것을 특징으로 하는 3차원 그래픽 시스템의 신호처리방법.
  2. 화면내의 각 폴리곤들을 스팬단위로 나누고 각 폴리곤들의 동일 라인의 스팬들끼리 스팬라인을 형성하고 형성된 스팬라인 단위의 화소정보를 전달하는 지오미트리 엔진; 상기 스팬라인단위로 정보를 독출하고 기입하는 프레임버퍼; 및 상기 스팬라인단위로 프레임버퍼로부터 기존의 Z값을 독출하여 스팬라인용량을 가지는 메모리영역에 저장하고 상기 지오미트리 엔진으로부터 전달된 스팬라인단위의 각 화소정보에 대해 컬러값과 Z값 및 좌표를 생성하고 생성된 Z값과 상기 메모리에 저장된 Z값을 비교하여 가까우면 새로운 Z값과 컬러값을 상기 메모리에 저장하고 그렇지않으면 기존의 값을 그대로 유지하고 상기 메모리에 저장된 스팬라인 단위의 컬러값과 Z값들을 프레임버퍼에 기입하는 라스터 엔진을 구비한 것을 특징으로 하는 3 차원 그래픽 시스템의 신호처리장치.
  3. 제2항에 있어서, 상기 라스터 엔진은 스팬라인단위의 화소정보를 입력하는 입력 레지스터; 상기 입력 레지스터에 입력된 각 화소 정보의 컬러값을 생성하는 컬러값 생성기; 상기 입력 레지스터에 입력된 각 화소정보의 Z값을 생성하는 Z값 생성기; 상기 입력 레지스터에 입력된 각 화소 정보의 상기 Z값생성기에 의해 생성된 Z값의 좌표를 생성하는 좌표 생성기; 상기 프레임버퍼로부터 스캔라인단위로 독출된 Z값을 저장하고 상기 생성된 컬러값과 Z값을 저장하기 위한 메모리; 및 상기 메모리를 콘트로 하기 위한 메모리 콘트롤러를 구비하는 것을 특징으로 하는 3차원 그래픽 시스템의 신호처리장치.
KR1019940017408A 1994-07-19 1994-07-19 3차원 그래픽 시스템의 라스터엔진의 신호처리방법 및 장치 KR100243181B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940017408A KR100243181B1 (ko) 1994-07-19 1994-07-19 3차원 그래픽 시스템의 라스터엔진의 신호처리방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940017408A KR100243181B1 (ko) 1994-07-19 1994-07-19 3차원 그래픽 시스템의 라스터엔진의 신호처리방법 및 장치

Publications (1)

Publication Number Publication Date
KR100243181B1 true KR100243181B1 (ko) 2000-02-01

Family

ID=19388326

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940017408A KR100243181B1 (ko) 1994-07-19 1994-07-19 3차원 그래픽 시스템의 라스터엔진의 신호처리방법 및 장치

Country Status (1)

Country Link
KR (1) KR100243181B1 (ko)

Similar Documents

Publication Publication Date Title
US6377266B1 (en) Bit BLT with multiple graphics processors
US5038297A (en) Method and apparatus for clearing a region of Z-buffer
US6977649B1 (en) 3D graphics rendering with selective read suspend
US5550961A (en) Image processing apparatus and method of controlling the same
US20030025701A1 (en) Graphics pixel packing for improved fill rate performance
JPH0348370A (ja) メモリアクセス制御回路
CA2053947A1 (en) High performance triangle interpolator
US6222552B1 (en) Systems and methods for caching depth information of three-dimensional images
US5454076A (en) Method and apparatus for simultaneously minimizing storage and maximizing total memory bandwidth for a repeating pattern
US6661424B1 (en) Anti-aliasing in a computer graphics system using a texture mapping subsystem to down-sample super-sampled images
US7791601B2 (en) Efficient object storage for zone rendering
US5621866A (en) Image processing apparatus having improved frame buffer with Z buffer and SAM port
US6924820B2 (en) Over-evaluating samples during rasterization for improved datapath utilization
KR980010878A (ko) 화상 생성 장치 및 그 방법
JPH0816797A (ja) グラフィックシステムの信号処理方法および装置
KR100243181B1 (ko) 3차원 그래픽 시스템의 라스터엔진의 신호처리방법 및 장치
JPH0714029A (ja) 線描画装置及び方法
EP0486194A2 (en) Memory system
KR0165464B1 (ko) 그래픽을 위한 스팬렌더링방법 및 장치
JPH0651937A (ja) データ処理システム及びデータ制御方法
KR100393305B1 (ko) 컴퓨터 판독 가능 기록 매체, 묘화 방법 및 그래픽 묘화장치
JP3548648B2 (ja) 描画装置及び描画方法
KR100243184B1 (ko) 가상 서브픽셀 메모리를 이용한 안티에일리어싱 그래픽스 장치
US6489967B1 (en) Image formation apparatus and image formation method
JPH07118006B2 (ja) 画像処理装置

Legal Events

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

Payment date: 20071030

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee