KR100422082B1 - 묘화장치및묘화방법 - Google Patents

묘화장치및묘화방법 Download PDF

Info

Publication number
KR100422082B1
KR100422082B1 KR1019970706721A KR19970706721A KR100422082B1 KR 100422082 B1 KR100422082 B1 KR 100422082B1 KR 1019970706721 A KR1019970706721 A KR 1019970706721A KR 19970706721 A KR19970706721 A KR 19970706721A KR 100422082 B1 KR100422082 B1 KR 100422082B1
Authority
KR
South Korea
Prior art keywords
texture
polygon
data
rendering
processing
Prior art date
Application number
KR1019970706721A
Other languages
English (en)
Other versions
KR19980703317A (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 KR19980703317A publication Critical patent/KR19980703317A/ko
Application granted granted Critical
Publication of KR100422082B1 publication Critical patent/KR100422082B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

다각형의 조합에 의해 정의된 화상모델을 묘화하기 위한 묘화 명령에 기초하여, 프리프로세서(32)에 있어서의 전처리에 의해서 묘화 처리에 필요한 데이터를 생성하여, 이 데이터에 근거하여 텍스처 맵핑 처리에 의해 다각형의 화소 데이터를 생성하여 프레임 버퍼(18)에 묘화하는데, 묘화 엔진(33)에서 필요로 하는 텍스처 데이터를 상기 전처리의 단계에서 프레임 버퍼(18)상의 텍스처 영역에서 상기 텍스처 캐시(33F)로 전송하여, 상기 프리프로세서(32)와 묘화 엔진(33)을 파이프라인으로 동작시킨다. 이것에 의해, 묘화 수단을 정지시키지 않고 텍스처 맵핑 처리나 밉맵핑 처리를 행함과 동시에, 텍스처 메모리의 액세스 회수 및 액세스 시간을 절감하여, 전체의 묘화 속도를 올릴 수 있다.

Description

묘화 장치 및 묘화 방법
가정용 TV 게임기나 퍼스널 컴퓨터 또는 그래픽 컴퓨터 등에 있어서, 텔레비젼 수상기나 모니터 수상기 또는 음극선관(CRT: Cathode Ray Tube) 디스플레이 장치 등에 출력하여 표시하는 화상의 데이터 즉, 표시 출력 화상 데이터를 생성하는 화상생성 장치에서는 중앙 연산처리 장치(CPU: Central Processing Unit)와 프레임 버퍼 사이에 전용 묘화 장치를 설치함으로써, 고속처리를 가능하게 하고 있다.
즉, 상기 화상 생성 장치에 있어서 , CPU측에서는 화상을 생성할 때에, 직접 프레임 버퍼를 액세스하지 않고, 좌표 변환이나 클리핑, 광원 계산 등의 기하학적 처리를 행하여, 3각형이나 4각형 등의 기본적인 단위 도형(다각형)의 조합으로서 3차원 모델을 정의하여 3차원 화상을 묘화하기 위한 묘화 명령을 작성하고, 그 묘화 명령을 묘화 장치로 보낸다. 예를 들면, 3차원의 오브젝트를 표시하는 경우는 오브젝트를 다수의 다각형으로 분해하여, 각 다각형에 대응하는 묘화 명령을 CPU에서 묘화 장치로 전송한다. 그리고, 묘화 장치는 CPU로부티 보내온 묘화 명령을 해석하여, 정점의 색 데이터와 깊이를 나타내는 Z값으로부터, 다각형을 구성하는 모든 화소색과 Z값을 고려하여, 화소 데이터를 프레임 버퍼에 기록하는 렌더링 처리를 행하고, 프레임 버퍼에 도형을 묘화한다. 또, 상기 Z값은 시점(視点)으로부터의 깊이 방향의 거리를 나타내는 정보이다.
예를 들면, 상기 화상 생성 장치에 있어서, 3차원의 오브젝트를 표시하는 경우는 오브젝트를 다수의 다각형으로 분해하여, 각 다각형에 대응하는 묘화 명령을 CPU에서 묘화 장치로 전송한다. 이 때에, 오브젝트를 보다 실제에 가깝게 표현하기 위해서, 텍스처 맵핑(texture mapping)이나 밉맵핑(MIP mapping)이라 불리는 방법이 채용되고 있다. 또한, 색변환 데이터를 기억한 컬러 룩 업 테이블(CLUT: Color Look Up Table)을 통해 화상의 색 데이터를 변환함으로써, 표시색을 변화시키는 방법도 널리 알려져 있다.
여기에서, 텍스처 맵핑이란, 텍스처 소스 화상으로서 별도로 준비된 2차원 화상(그림무늬) 즉, 텍스처 패턴을, 물체를 구성하는 다각형의 표면에 부착하는 기술이다. 또한, 밉맵핑은, 3차원 모델이 시점으로부터 가까이 가거나, 거기에서 멀어진 경우에, 다각형이 부착하는 화상이 부자연스럽지 않도록 화소 데이터를 보간하도록 한 텍스처 맵핑 방법 중의 하나이다.
그런데, 화상의 묘화 속도는 묘화 엔진(drawing engine)에 있어서의 각 다각형에 대한 텍스처 맵핑이나 밉맵핑 등의 처리속도에 의존한다. 또한, 화상의 묘화 속도는 묘화 엔진으로부터 프레임 버퍼의 기록속도에 영향을 받아서, 프레임 버퍼의 액세스 속도가 느리면 묘화 속도가 저하하게 된다. 따라서, 묘화 속도를 높이기 위해서 비싼 고속 메모리를 대용량의 프레임 버퍼에 사용하는 것은 시스템의 가격앙등으로 연결되며, 저렴한 다이나믹 랜덤 액세스 메모리(DRAM: Dynamic Random Access Mermory) 등의 메모리를 사용하면 시스템의 묘화 속도가 느리게 된다고 하는 결점이 있다.
본 발명은 컴퓨터를 이용한 영상 기기인 그래픽 컴퓨터, 특수 효과 장치, 비디오 게임기 등에 사용되는 묘화 장치 및 묘화 방법에 관한 것이다.
도 1은 본 발명을 적용한 비디오 게임 장치의 구성을 도시한 블럭도.
도 2는 상기 비디오 게임 장치에 있어서의 GPU의 구체적인 구성을 도시한 블럭도.
도 3은 상기 GPU의 기본적인 구성을 도시한 블럭도.
도 4는 상기 GPU에 있어서의 텍스처 캐시내의 데이터 구조의 일례를 도시한 도면.
도 5는 상기 GPU에 있어서의 프리프로세서에 의한 다각형의 분할 처리를 도시한 흐름도.
도 6은 상기 비디오 게임 장치에 있어서의 제2의 버스 스위치의 구성을 도시한 블럭도.
도 7은 상기 비디오 게임 장치에 있어서의 프레임 버퍼의 메모리 뱅크상에 묘화하는 제1의 다각형의 형상 내부를 액세스하는 경우에 대하여 설명하기 위한 도면.
도 8은 상기 제1의 다각형의 형상 내부를 액세스할 때의 액세스해야 할 인터리브 패턴을 설명하기 위한 도면.
도 9는 상기 제1의 다각형의 형상 내부를 액세스할 때에, 1어드레스 단위로 액세스하는 경우의 마스크 처리에 대하여 설명하기 위한 도면.
도 10은 상기 마스크 처리에 의해 얻어진 액세스 어드레스를 설명하기 위한 도면.
도 11는 상기 프레임 버퍼의 메모리 뱅크상에 묘화하는 제2의 다각형의 형상 내부를 (4×4)의 인터리브 패턴으로 액세스하는 경우에 대하여 설명하기 위한 도면.
도 12는 상기 제2의 다각형의 형상 내부를 (4×4)의 인터리브 패턴으로 액세스하는 경우의 액세스해야 할 인터리브 패턴을 설명하기 위한 도면.
도 13은 상기 제2의 다각형의 형상 내부를 (4×4)의 인터리브 패턴내에서 1어드레스 단위로 액세스하는 경우의 마스크 처리에 대하여 설명하기 위한 도면.
도 14는 상기 제2의 다각형의 형상 내부를 (8×2)의 인터리브 패턴으로 액세스하는 경우에 대하여 설명하기 위한 도면.
도 15는 상기 제2의 다각형의 형상 내부를 (8×2)의 인터리브 패턴으로 액세스하는 경우의 액세스해야 할 인터리브 패턴을 설명하기 위한 도면.
도 16은 상기 제2의 다각형의 형상 내부를 (8×2)의 인터리브 패턴내에서 1어드레스 단위로 액세스하는 경우의 마스크 처리에 대하여 설명하기 위한 도면.
도 17은 상기 제2의 다각형의 형상 내부를 (16×1)의 인터리브 패턴으로 액세스하는 경우에 대하여 설명하기 위한 도면.
도 18은 상기 제2의 다각형의 형상 내부를 (16×1)의 인터리브 패턴으로 액세스하는 경우의 액세스해야 할 인터리브 패턴을 설명하기 위한 도면.
도 19는 상기 제2의 다각형의 형상 내부를 (16×1)의 인터리브 패턴중에서 1어드레스 단위로 액세스하는 경우의 마스크 처리에 대하여 설명하기 위한 도면.
도 20은 상기 프레임 버퍼의 메모리 뱅크상에 묘화하는 다각형의 형상의 종횡비를 산출하는 처리를 설명하기 위한 도면.
도 21은 16어드레스를 갖는 5종류의 인터리브 패턴을 도시한 패턴도.
도 22는 본 발명을 적용한 비디오 게임 장치의 평면도.
도 23은 상기 비디오 게임 장치의 배면도.
도 24는 상기 비디오 게임 장치의 측면도이다.
도 25는 상기 비디오 게임 장치에 장착되는 CD-ROM의 평면도.
그리하여, 본 발명은 상술한 바와 같은 실정을 감안하여 이루어진 것으로서, 다음과 같은 목적을 갖는다.
즉, 본 발명의 목적은 염가의 DRAM 등의 메모리를 프레임 버퍼로서 사용하여도, 묘화 속도를 고속으로 유지할 수 있도록 한 묘화 장치 및 묘화 방법을 제공하는 것에 있다.
또한, 본 발명의 다른 목적은 묘화 수단에 의해 텍스처 맵핑 처리를 행하는 묘화 장치에 있어서, 묘화 수단을 정지시키지 않고 묘화 처리를 행할 수 있도록 한 묘화 장치 및 묘화 방법을 제공하는 것에 있다.
또한, 본 발명의 다른 목적은 묘화 수단에 의하여 밉맵핑 처리를 행하는 묘화 장치에 있어서, 화상 메모리의 액세스 회수 및 액세스 시간을 절약하여, 전체의 묘화 속도를 올릴 수 있도록 한 묘화 장치 및 묘화 방법을 제공하는 것에 있다.
본 발명과 관계되는 묘화 장치는 단위도형의 조합에 의하여 정의된 화상 모델을 묘화하기 위한 묘화 명령에 근거하여, 단위도형마다 묘화 처리에 앞서서, 상기 묘화 처리에 필요한 데이터를 생성하는 전 처리 수단과, 상기 묘화 명령에 따라서, 텍스처 맵핑 처리에 의해 단위도형의 화소 데이터를 생성하여, 화상 메모리에 묘화하는 묘화 수단과, 상기 묘화 수단이 텍스처 맵핑 처리에 필요로 하는 텍스처데이터를 일시 기억하는 기억수단과, 상기 묘화 수단이 텍스처 맵핑 처리에 필요로 하는 텍스처 데이터를 상기 전 처리 수단으로부터 출력되는 데이터에 따라서 상기 기억수단으로 공급하는 공급수단을 갖는다.
본 발명과 관계되는 묘화 장치에 있어서, 상기 묘화 수단은 밉맵핑 처리를 행하는 기능을 갖고, 상기 전 처리 수단으로부터 출력되는 데이터에 따라서 원하는 해상도의 텍스처 데이터로부터 선택하여 상기 기억수단에 공급하는 것으로 할 수 있다.
본 발명과 관계되는 묘화 방법은 단위도형의 조합에 의해 정의된 화상 모델을 묘화하기 위한 묘화 명령에 근거하여, 단위도형마다 묘화 처리에 관련된 데이터를 생성하는 단계와, 이 데이터에 근거하여, 상기 묘화 처리에 있어서의 텍스처 맵핑 처리에 필요로 하는 텍스처 데이터를 기억수단으로 공급하는 단계와, 텍스처 맵핑 처리에 의해 단위도형의 화소 데이터를 생성하여, 화상 메모리에 묘화하는 단계를 갖는다.
본 발명과 관계되는 묘화 방법에 있어서, 상기 텍스처 데이터를 기억수단으로 공급하는 단계는 상기 묘화 처리에 관련된 데이터에 따라서, 상기 묘화 처리에 있어서의 밉맵핑 처리에 필요로 하는 해상도의 텍스처 데이터를 공급하는 단계를 포함할 수 있다.
본 발명과 관계되는 묘화 장치 및 묘화 방법에서는 묘화 수단이 텍스처 맵핑 처리에 필요로 하는 텍스처 데이터를 전 처리 수단에 의한 전 처리의 단계에서 텍스처 메모리로부터 텍스처 캐시로 전송하여, 상기 전 처리 수단과 묘화 수단을 파이프라인으로 동작시킴으로써, 상기 묘화 수단을 정지시키지 않고 묘화 처리를 행할 수 있다.
또한, 본 발명과 관계되는 묘화 장치 및 묘화 방법에서는 묘화 수단이 밉맵핑 처리를 행하는 데 필요한 해상도의 데이터를 상기 전 처리 수단에 의한 전 처리의 단계에서 텍스처 메모리상의 텍스처 데이터로부터 선택하여 텍스처 캐시로 전송함으로써, 상기 텍스처 메모리의 액세스 회수 및 액세스 시간을 줄일 수 있어, 전체의 묘화 속도를 올릴 수 있다.
이하, 본 발명의 바람직한 실시예에 대하여, 도면을 참조하면서 설명한다. 본 발명과 관계되는 묘화 장치는 예를 들면 도 1에 도시된 바와 같은 구성의 비디오 게임 장치에 적용된다. 본 발명과 관계되는 묘화 방법은 이 비디오 게임 장치에서 실시된다.
이 비디오 게임 장치는 예를 들면 광디스크 등의 보조 기억장치에 기억되어 있는 게임 프로그램을 판독하여 실행함으로써, 사용자로부터의 지시에 따라서 게임을 행하는 것으로, 도 1에 도시된 바와 같은 구성을 갖고 있다.
즉, 이 비디오 게임 장치는 2종류의 버스 즉, 메인 버스(1)와 서브버스(2)를 구비한다.
상기 메인 버스(1)와 서브버스(2)는 버스 제어기(16)를 통해 접속되어 있다.
그리고, 상기 메인 버스(1)에는 마이크로 프로세서 등으로 이루어진 주 중앙연산 처리장치(메인 CPU: Central Processing Unit)(11), 랜덤 액세스 메모리(RAM: Random Access Memory)로 이루어진 주기억장치(메인 메모리)(12), 주 다이렉트 메모리 액세스 메모리 제어기(메인 DMAC: Direct Memory Access Controller)(13), MPEG 디코더(MDEC: MPEG Decoder)(14) 및 화상처리장치(GPU: Graphic Processing Unit)(15)가 접속되어 있다. 또한, 상기 서브 버스(2)에는 마이크로 프로세서 등으로 이루어진 부 중앙연산 처리장치(서브 CPU: Central Processing Unit)(21), 랜덤 액세스 메모리(RAM: Random Access Memory)로 이루어진 부 기억장치(서브메모리)(22), 부 다이렉트 메모리 액세스 제어기(서브 DMAC: Direct Memory Access Controller)(23), 오퍼레이팅 시스템 등의 프로그램이 격납된 판독 전용 메모리(ROM: Read Only Memory)(24), 음성 처리장치(SPU: Sound Processing Unit)(25), 통신 제어부(ATM: Asynchronous Transmission mode)(26), 보조기억장치(27), 입력 디바이스(28) 및 CD-ROM 드라이버(30)가 접속되어 있다.
상기 버스 제어기(16)는 메인 버스(1)와 서브버스(2)사이의 스위칭을 행하는 상기 메인 버스(1)상의 디바이스로서, 초기 상태에서는 오픈되어 있다.
또한, 상기 메인 CPU(11)는 상기 메인 메모리(12)상의 프로그램으로 동작하는 상기 메인 버스(1)상의 디바이스이다. 이 메인 CPU(11)는 기동시에는 상기 버스 제어기(16)가 오픈됨으로써, 상기 서브버스(2)상의 ROM(24)으로부터 부트 프로그램을 판독하여 실행하고, CO-ROM 드라이버(30)에 의해 CD-ROM에서 응용 프로그램 및 필요한 데이터를 재생하여 상기 메인 메모리(12)나 상기 서브버스(2)상의 디바이스에 기록한다. 이 메인 CPU(11)에는 좌표변환 등의 처리를 행하는 기하학적 트랜스퍼 엔진(GTE: Geometry Transfer Engine)(17)이 탑재되어 있다. 상기 GTE(17)는 예를 들면 다수의 연산을 병렬로 실행하는 병렬연산 기구를 구비하며, 상기 메인 CPU(11)로부터의 연산요구에 따라서 좌표변환, 광원계산, 행렬 또는 벡터 등의 연산을 고속으로 행한다. 그리고, 상기 메인 CPU(11)는 상기 GTE(17)에 의한 연산결과에 근거하여 3각형이나 4각형 등의 기본적인 단위도형(다각형)의 조합으로서 3차원 모델을 정의하여 3차원 화상을 묘화하기 위한 각 다각형에 대응하는 묘화 명령을 작성하여, 이 묘화 명령을 패킷화하여 커맨드 패킷으로서 상기 GPU(15)에 보낸다.
또한, 상기 메인 DMAC(13)는 메인 버스(1)상의 디바이스를 대상으로 하는 DMA 전송의 제어 등을 행하는 상기 메인 버스(1)상의 디바이스이다. 이 메인 DMA(13)는 상기 버스 제어기(16)가 오픈되어 있을 때에는 서브버스(2)상의 디바이스도 대상으로 한다.
또한, 상기 GPU(15)는 렌더링 프로세서로서 기능하는 상기 메인 버스(1)상의 디바이스이다. 이 GPU(15)는 메인 CPU(11) 또는 메인 DMAC(13)로부터 커맨드 패킷으로서 이송되어 온 묘화 명령을 해석하여, 정점의 색 데이터와 깊이를 나타내는 Z값으로부터, 다각형을 구성하는 모든 화소색과 Z값을 고려하여, 화소 데이터를 프레임 버퍼(18)에 기록하는 렌더링 처리를 행한다.
또한, 상기 MDEC(14)는 CPU와 병렬로 동작 가능한 I/O 접속 디바이스로서, 화상 신장 엔진으로서 기능하는 상기 메인 버스(1)상의 디바이스이다. 이 MDEC(14)는 이산코사인 변환 등의 직행 변환에 의해 압축되어 부호화된 화상 데이터를 복호화한다.
또한, 상기 서브 CPU(21)는 상기 서브메모리(22)상의 프로그램으로 동작하는 상기 서브버스(2)상의 디바이스이다.
또한, 상기 서브 DMAC(23)는 서브버스(2)상의 디바이스를 대상으로 하는 DMA 전송의 제어 등을 행하는 상기 서브버스(2)상의 디바이스이다. 이 서브 DMAC(23)는 상기 버스 제어기(16)가 폐쇄되어 있을 때에만 버스권리를 획득할 수 있다.
또한, 상기 SPU(25)는 사운드 프로세서로서 기능하는 상기 서브버스(2)상의 디바이스이다. 이 SPU(25)는 상기 서브 CPU(21) 또는 서브 DMAC(23)로부터 커맨드 패킷으로서 보내온 사운드 커맨드에 따라서, 사운드 메모리(29)로부터 음원 데이터를 판독하여 출력한다.
또한, 상기 ATM(26)은 서브버스(2)상의 통신용 디바이스이다.
또한, 상기 보조기억장치(27)는 서브버스(2)상의 데이터 입출력 디바이스로서 플래시 메모리 등의 불휘발성 메모리 등으로 이루어진다. 이 보조기억장치(27)는 게임의 진행경과나 스코어 등의 데이터를 일시 기억한다.
또한, 상기 CD-ROM 드라이버(30)는 서브버스(2)상의 데이터 입력 디바이스로서 CD-ROM에서 응용 프로그램 및 필요한 데이터를 재생한다.
또한, 상기 입력 디바이스(28)는 서브버스(2)상의 제어 패드, 마우스 등의 다른 맨머신 인터페이스나, 화상입력, 음성입력 등의 다른 기기로부터의 입력용 디바이스이다.
즉, 상기 비디오 게임 장치에서는 좌표변환이나 클리핑, 광원계산 등의 기하학적 처리를 행하고, 3각형이나 4각형 등의 기본적인 단위도형(다각형)의 조합으로서 3차원 모델을 정의하여 3차원 화상을 묘화하기 위한 묘화 명령을 작성하고, 각 다각형에 대응하는 묘화 명령을 커맨드 패킷으로서 메인 버스(1)에 송출하는 기하학적 처리 시스템이 상기 메인 버스(1)상의 메인 CPU(11) 및 GTE(17) 등에 의해 구성되며, 상기 기하학적 처리 시스템으로부터의 묘화 명령에 근거하여 각 다각형의 화소 데이터를 생성하여 프레임 버퍼(18)에 기록하는 렌더링 처리를 행하고, 프레임 버퍼(18)에 도형을 묘화하는 렌더링 처리 시스템이 상기 GPU(15)에 의해 구성되어 있다.
이하, 상술한 GPU(15)에 대하여 구체적으로 설명한다.
상기 GPU(15)는 그 구체적인 구성을 도 2에 도시된 바와 같이, 상기 메인 버스(1)에 접속된 패킷 엔진(31)을 구비하여, 상기 메인 CPU(11) 또는 메인 DMAC(13)로부터 상기 메인 버스(1)를 통해 상기 패킷 엔진(31)에 커맨드 패킷으로서 보내온 묘화 명령에 따라서, 프리프로세서(32)와 묘화 엔진(33)에 의해 각 다각형의 화소 데이터를 상기 프레임 버퍼(18)에 기록하는 렌더링 처리를 행하고, 상기 프레임 버퍼(18)에 묘화된 화상의 화소 데이터를 판독하여 표시 제어부(CRTC: CRTController)(34)를 통해 비디오 신호로서 도시하지 않은 텔레비젼 수상기나 모니터 수상기로 공급하게 되어 있다.
상기 패킷 엔진(31)은 상기 메인 CPU(11) 또는 메인 DMAC(13)로부터 상기 메인 버스(1)를 통해 보내온 커맨드 패킷을 상기 패킷 엔진(31)에 의해 도시하지 않은 레지스터 상에 전개한다.
또한, 상기 프리프로세서(32)는 상기 패킷 엔진(31)에 커맨드 패킷으로서 이송되어온 묘화 명령에 따라서 다각형 데이터를 생성하고 후술하는 다각형의 분할처리 등의 소정의 전처리를 다각형 데이터에 실시하고, 상기 묘화 엔진(33)이 필요로하는 각 다각형의 정점좌표 정보, 텍스처나 밉맵 텍스처의 어드레스 정보, 픽셀 인터리브의 제어정보 등의 각종 데이터를 생성한다.
또한, 상기 묘화 엔진(33)은 상기 프리프로세서(32)에 접속된 N개의 다각형 엔진(33A1, 33A2 … 33AN)과, 각 다각형 엔진(33A1, 33A2 … 33AN)에 접속된 N개의 텍스처 엔진(33B1, 33B2 … 33BN)과, 각 텍스처 엔진(33B1, 33B2 … 33BN)에 접속된 제1의 버스 스위쳐(33C)와, 이 제1의 버스 스위치(33C)에 접속된 M개의 픽셀 엔진(33D1, 33D2 … 33DM)과, 각 픽셀 엔진(33D1, 33D2 … 33DM)에 접속된 제2의 버스 스위쳐(33E)와, 이 제2의 버스 스위치(33E)에 접속된 텍스처 캐시(33F)와, 이 텍스처 캐시(33F)에 접속된 CLUT 캐시(33G)를 구비한다.
이 묘화 엔진(33)에 있어서, 상기 N개의 다각형 엔진(33A1, 33A2 … 33AN)은 상기 프리프로세서(32)에 의해 전처리가 행해진 다각형 데이터에 근거하여, 상기 N개의 다각형 엔진(33A1, 33A2 … 33AN)은 묘화 명령에 따른 다각형을 순차 생성하여 다각형마다 셰이딩 처리 등을 병렬 처리에 의해 행한다.
또한, 상기 N개의 텍스처 엔진(33B1, 33B2 … 33BN)은 상기 다각형 엔진(33A1, 33A2 … 33AN)에 의해 생성된 다각형마다, 상기 텍스처 캐시(33F)에서 컬러 룩 업 테이블(CLUT : Color Lock Up Table) 캐시(33G)를 통해 주어지는 텍스처 데이터에 근거하여, 텍스처 맵핑 처리나 밉맵처리를 병렬처리에 의해 행한다.
여기에서, 상기 텍스처 캐시(33F)에는 상기 N개의 텍스처 엔진(33B1, 33B2 … 33BN)이 처리하는 다각형에 부착하는 텍스처나 밉맵 텍스처의 어드레스 정보가 상기 프리프로세서(32)로부터 사전에 주어지고, 상기 어드레스 정보에 근거하여 상기 프레임 버퍼(18)상의 텍스처 영역에서 텍스처 맵핑 처리에 필요한 텍스처 데이터가 전송됨과 동시에, 해당하는 텍스처 데이터로부터 밉맵핑 처리에 필요로하는 해상도의 데이터만이 선택되어 밉맵 텍스처 데이터로서 전송된다. 또한, 상기 CLUT 캐시(33G)에는 상기 텍스처의 묘화를 행할 때에 참조해야 할 CLUT 데이터가 상기 프레임 버퍼(18)상의 CLUT 영역에서 전송된다.
상기 N개의 텍스처 엔진(33B1, 33B2 … 33BN)에 의해 텍스처 맵핑 처리나 밉맵처리가 행해진 다각형 데이터는 상기 제1의 버스 스위쳐(33C)를 통해 M개의 픽셀 엔진(33D1, 33D2 … 33DM)으로 전송된다.
상기 M개의 픽셀 엔진(33D1, 33D2 … 33DM)은 Z 버퍼처리나 앤티얼라이징 처리 등의 각종 화상처리를 병렬처리에 의해 행하여, M개의 화소 데이터를 생성한다.
그리고, 상기 M개의 픽셀 엔진(33D1, 33D2 … 33DM)에서 생성된 M개의 화소 데이터는 이 제2의 버스 스위쳐(33E)를 통해 상기 프레임 버퍼(18)에 기록된다.
여기에서, 상기 제2의 버스 스위쳐(33E)는 상기 프리프로세서(32)로부터 픽셀 인터리브의 제어정보가 공급되어 있고, 상기M개의 픽셀 엔진(33D1, 33D2 … 33DM)에서 생성된 M개의 화소 데이터 중의 L개의 화소 데이터를 상기 제어정보에 근거하여 선택함으로써, 상기 프레임 버퍼(18)상에 묘화하는 다각형의 형상에 따른 M개의 기억장소를 액세스 단위로서 화소 데이터를 M개씩 기록하는 픽셀 인터리브 처리를 행하는 기능을 갖고 있다.
상기 묘화 엔진(33)은 상기 프리프로세서(32)에 의해 전처리가 실시된 다각형 데이터에 근거하여, 각 다각형의 모든 화소 데이터를 생성하여 상기 프레임 버퍼(18)에 기록함으로써, 상기 묘화 명령에 의해 다각형의 조합으로서 정의된 화상을 상기 프레임 버퍼(18)상에 묘화한다. 그리고, 상기 프레임 버퍼(18)에 묘화된 화상의 화소 데이터를 판독하여 CRTC(34)를 통해 비디오 신호로서 도시하지 않은 텔레비젼 수상기나 모니터 수상기로 공급한다.
이러한 구성의 GPU(15)에 있어서, 상기 프리프로세서(32)는 예를 들면, 다각형의 정점좌표[(X0, Y0), (X1, Y1), (X2, Y2)]나 텍스처 좌표[(U0, V0), (U1, V1), (U2, V2)]에 근거하여, 상기 N개의 텍스처 엔진(33B1, 33B2 … 33BN)이 처리하는 다각형에 부착하는 텍스처의 선판독을 행하기 위한 어드레스 정보를 생성하고, 또한, 다각형의 근처의 경사[(X1-X0)/(Y1-Y0), (X2-X0)/(Y2-Y0), (X1-X2)/(Y1-Y2)], 텍스처 어드레스의 경사[(U1-U0) /(Y1-Y0), (U2-U0)/(Y2-Y0), (U1-U2)/(Y1-Y2)], [(V1-V0)/ (Y1-Y0), (Y2-V0)/(Y2-Y0), (V1-V2)/(Y1-Y2)] … 나 다각형의 면적 등으로부터 밉맵의 선택정보를 재생하여, 이들의 정보를 텍스처 캐시(33F)로 공급한다.또한, 다각형의 정점좌표[(X0, Y0), (X1, Y1), (X2, Y2)]를 왼쪽 에지의 정점순(X0, Y0)→(X1, Y1)→(X2, Y2) 또는 오른쪽 에지의 정점순(X2, Y2)→(X1, Y1)→(X0, Y0)으로 소팅하거나, 양단점의 스캔이나 텍스처 어드레스의 스캔을 행한다.
그리고, 상기 프리프로세서(32)는 다각형 데이터를 전처리한 정보를 도시하지 않은 워크 메모리에 저장해 두고, 묘화 엔진(33)이 다음 다각형을 처리할 수 있도록 된 단계에서, 1다각형을 처리할 수 있는 정보를 워크 메모리로부터 상기 N개의 다각형 엔진(33A1, 33A2 … 33AN)으로 전송한다. 이것에 의해, 상기 묘화 엔진(33)은 새로운 다각형의 묘화 처리를 개시한다.
즉, 이 GPU(15)에서는 그 기본적인 구성을 도 3에 도시된바와 같이, 상기 프리프로세서(32)와 묘화 엔진(33)에서 파이프라인에 의해 묘화 처리를 행하고, 묘화 명령에 의해 다각형의 편성으로서 정의된 화상을 상기 프레임 버퍼(18)상에 묘화한다.
이 파이프라인 처리에 의한 묘화 처리를 재차 설명한다.
상기 프리프로세서(32)는 상술한 바와 같이 다각형 데이터에 소정의 전처리를 실시하고, 상기 묘화 엔진(33)이 필요로 하는 각 다각형의 정점좌표 정보, 텍스처나 밉맵 텍스처의 어드레스 정보, 픽셀 인터리브의 제어정보 등의 각종 데이터를 상기 묘화 엔진(33)으로 공급한다.
상기 묘화 엔진(33)은 상기 프리프로세서(32)로부터 데이터를 받아들여, 필요로 하는 텍스처 데이터를 텍스처 캐시(33D)에서 판독하고, 화소 데이터를 생성하여 상기 프레임 버퍼(18)에 기록한다. 상기 텍스처 캐시(33D)는 상기 프리프로세서(32)에 있어서의 전처리에 의해 산출된 필요로 하는 텍스처 어드레스에 대응하는 텍스처 영역의 텍스처 데이터를 상기 프레임 버퍼(18)로부터 판독한다. 텍스처 데이터의 판독은 묘화 엔진(33)이 그 텍스처 데이터를 이용한 묘화를 개시하기 전에 완료하도록 행해진다. 또한, 밉맵핑 처리로 필요로 하는 해상도에 대응하는 텍스처 데이터만을 상기 텍스처 영역에서 판독함으로써, 상기 텍스처 영역의 액세스 회수를 줄일 수 있다.
또한, 상기 텍스처 캐시(33F)내의 데이터 구조는 그 일례를 도 4에 도시된 바와 같이, 텍스처 어드레스로 이루어진 태그부 TAG, 필요로 하는 텍스처 데이터가 격납되어 있는 격납부 DATA, 아직 텍스처 데이터가 사용되지 않는 것을 나타내는 플래그(L)를 갖는다. 그리고, 상기 텍스처 캐시(33)는 플래그(L)가 리세트된 엔트리를 사용해야 하고, 상기 프레임 버퍼(18)의 텍스처 영역에서 텍스처 데이터를 판독하고, 그 플래그(L)를 세트한다. 묘화 엔진(33)은 플레그(L)가 세트되어 있는 엔트리로부터 해당하는 텍스처 데이터를 판독하여 묘화 처리를 행하며, 묘화를 종료하여 그 텍스처 데이터를 이미 필요로 하지 않는 단계에서 그 엔트리의 플래그1을 리셋한다.
이와 같이 텍스처 맵핑 처리를 행하는 묘화 장치에 있어서, 프리프로세서(32)와 묘화 엔진(33)을 파이프라인으로 구성하여, 텍스처 메모리 즉, 상기 프레임 버퍼(18)상의 텍스처 영역에서 상기 묘화 엔진(33)이 필요로 하는 텍스처 데이터를 상기 프리프로세서(32)에 의한 전처리의 단계에서 캐시 메모리(33F)로 전송함으로써, 상기 묘화 엔진(33)을 정지시키지 않고 묘화 처리를 행할 수 있다. 또한, 밉맵핑 처리로 필요로 하는 해상도에 대응하는 텍스처 데이터만을 상기 텍스처 영역에서 판독함으로써, 상기 텍스처 영역의 액세스 회수 및 액세스 시간을 감소하지 않고 줄일 수 있고, 전체의 묘화 속도를 올릴 수 있다.
또, 상기 프리프로세서(32)에 있어서의 다각형의 분할처리는 예를 들면 도 5에 도시한 흐름도에 따라서 행해진다.
즉, 다각형의 분할처리는 다각형의 수를 나타내는 다각형 카운트(C)를 1에 초기 설정하여 개시된다.
그리고, 제1의 처리스텝 S1에서는 다각형을 분할할 필요가 있는지의 여부의 판정처리를 행한다. 이 처리 스텝 S1에 있어서의 판정처리에서는 예를 들면, 묘화 엔진(33)에 있어서 이제부터 처리하는 다각형이 텍스처 캐시(33F)내에 들어가는지의 여부를 판정한다. 이 판정처리는 예를 들면 다각형의 정점의 텍스처 좌표[(U0, V0), (U1, V1), (U2, V2)]를 산출하여, 전부가 1 텍스처 페이지 내에 들어있는지의 여부를 판정하면 된다.
그리고, 상기 처리스텝 S1에 있어서의 판정결과가 「NO」 즉 다각형을 분할할 필요가 있는 경우에는 다음 처리스텝 S2로 진행하여, 다각형의 N 분할 처리를 행한다. 이 처리스텝 S2에 있어서의 다각형의 N 분할처리는 예를 들면 다음에 나타낸 바와 같이, 다각형의 모든 주변을 중점으로 분할함으로써 행해진다.
Figure pct00001
Figure pct00002
즉, 이 처리스텝 S2에 있어서의 다각형의 N 분할처리로서는 다각형의 모든 부근을 중점으로 분할함으로써, 예를 들면 삼각형의 다각형은 N=4개가 새로운 다각형으로 분할된다.
다음 처리스텝 S2에서는 다각형 카운트(C)를 C=C+N-1로서 다각형의 수를 변경한다. 그리고, 최초의 처리스텝 S1로 되돌아가, 분할된 새로운 다각형을 또한 분할할 필요가 있는지의 여부의 판정처리를 행하고, 분할한 새로운 다각형이 상기 텍스처 캐시내에 들어가게 될 때까지, 상기 각 처리스텝 S1 내지 S3을 반복하여 행한다.
또한, 상기 처리스텝 S1에 있어서의 판정결과가 「YES」 즉, 다각형을 분할할 필요가 없는 경우에는 다음 처리스텝 S4로 진행한다.
이 처리스텝 S4에서는 다각형 엔진(33A1, 33A2 … 33AN)에 1다각형분의 전처리 정보의 처리를 거쳐서, 렌더링 처리를 개시시키고, 렌더링 처리의 종료를 기다리지 않고 다음 처리 스텝 S5로 진행한다.
이 처리스텝 S5에서는 다각형 카운트(C)를 디크리멘트한다.
다음 처리스텝 S6에서는 다각형 카운트(C)가 「0」 인지의 여부의 판정 처리를 행한다. 그리고, 이 처리스텝 S6에 있어서의 판정결과가 「NO」 즉 C≠0으로 처리해야 할 다각형이 있는 경우에는 최초의 처리스텝 S1로 되돌아가, 다음 다각형의 처리로 들어간다. 또한, 이 처리스텝 S6에 있어서의 판정결과가 「YES」 즉, 모든 다각형을 렌더링하여 분할해야 할 다각형이 없어지면, 처리를 종료한다,
즉, 상기 프리프로세서(32)로서는 묘화 엔진(33)에 있어서 이제부터 처리하는 다각형이 텍스처 캐시(33F)내에 들어가는지의 여부(이하, 판정조건 1이라 한다)를 판정하여, 그 판정결과에 근거하여 분할처리를 행함으로써, 분할한 새로운 다각형이 상기 텍스처 캐시(33F)내에 들어가도록 상기 묘화 명령에 근거한 다각형을 다수로 분할한다. 이것에 의해, 상기 묘화 엔진(33)에 있어서, 텍스처 캐시(33F)에서 CLUT 캐시(33C)를 통해 판독되는 텍스처 데이터에 근거하여 텍스처 맵핑 처리를 확실하고 또한 효율성 있게 행할 수 있다.
여기에서, 상기 프리프로세서(32)에 있어서의 다각형의 분할처리에서는 상술의 최초의 처리스텝 S1에 있어서 다각형내의 화소수가 규정치 이하인지의 여부(이하, 판정조건 2라 한다)에 따라 다각형을 분할할 필요가 있는지의 여부를 판정하고, 그 판정결과에 근거하여, 분할한 새로운 다각형내의 화소수가 상기 규정치 이하가 되도록 처리스텝 S2에서 상기 묘화 명령에 근거하는 다각형을 2차원 공간에서 다수로 분할해도 된다. 이것에 의해, 상기 묘화 엔진(33)에 있어서 처리하는 다각형의 크기 즉, 화소수를 균등화할 수 있다. 또, 상기 다각형내의 화소수는 예를 들면, 그 다각형의 정점의 외적치로서 면적을 구하고, 그 값이 적정한 값보다도 작은지의 여부에 의해 판정할 수 있다.
또한, 상기 프리프로세서(32)에 있어서의 다각형의 분할처리에서는 상술의 처리스텝 S2에 있어서 상기 묘화 명령에 근거하는 다각형을 3차원 공간에서 다수로 분할하도록 해도 된다.
상기의 경우, 상술의 처리스텝 S1에 있어서, 다각형의 정점의 Z값의 최소치와 최대치의 차가 적정한 범위내에 들어있는지의 여부(이하, 판정조건 3이라 한다)에 따라, 다각형을 분할할 필요가 있는지의 여부를 판정하고, 그 판정결과에 근거하여, 분할한 새로운 다각형내의 화소수가 상기 규정범위 내에 들어가도록 상기 처리스텝 S2에서 상기 묘화 명령에 근거하는 다각형을 3차원 공간에서 다수로 분할하여, 1다각형의 크기를 제한함으로써, 텍스처 캐시(33F)에서 CLUT 캐시(33G)를 통해 판독되는 텍스처 데이터에 근거하여 텍스처의 변형이 적은 상태로 텍스처 맵핑 처리를 행할 수 있다.
또한, 상기의 경우, 상술의 처리스텝 S1에 있어서, 다각형중의 정점의 Z값의 최소치와 최대치로 참조하는 밉맵 텍스처를 걸치고 있는지의 여부(이하, 판정조건 4라 한다)에 의해 다각형을 분할할 필요가 있는지의 여부를 판정하여, 그 판정결과에 근거하여, 분할된 새로운 다각형이 밉맵 텍스처를 걸치지 않도록, 상기 처리스텝 S2에서 상기 묘화 명령에 근거한 다각형을 3차원 공간에서 다수로 분할하여, 1다각형의 참조하는 밉맵 텍스처 데이터의 참조범위를 제한함으로써, 텍스처 캐시(33F)에서 CLUT 캐시(33G)를 통해 판독되는 밉맵 텍스처 데이터에 근거하여 밉맵핑 처리를 효율성 있게 행할 수 있다.
또한, 이 경우, 상술의 처리스텝 S1에 있어서, 다각형내의 화소수가 규정치 이하인지 아닌지에 의해, 다각형을 분할할 필요가 있는지 아닌지를 판정하여, 그 판정결과에 근거하여, 분할한 새로운 다각형내의 화소수가 상기 규정치 이하가 되도록 상기 묘화 명령에 근거하는 다각형을 상기 처리스텝 S2에 의해 3차원 공간에서 다수로 분할하도록 해도 된다.
또한, 상술의 처리스텝 S1에 있어서, 다각형에 대한 묘화 엔진(33)에 묘화 처리 시간을 예를 들면 다각형내의 화소수에 근거하여 예측하고, 해당 프리프로세서(32)에 의한 전처리시간과 상기 묘화 엔진(33)에 의한 묘화 처리 시간이 균형이 있는지의 여부(이하, 판정조건 5라 한다)에 의해, 다각형을 분할할 필요가 있는지의 여부를 판정하고, 그 판정결과에 근거하여, 해당 프리프로세서(32)에 의한 전처리 시간과 상기 묘화 엔진(33)에 의한 묘화 처리 시간이 균형있게 상기 묘화 명령에 근거한 다각형을 상기 처리스텝 S2에서 다수로 분할하도록 해도 된다. 이것에 의해, 상기 프리프로세서(32)와 묘화 엔진(33)의 각 처리시간의 균형을 유지하여 상기 프리프로세서(32)와 묘화 엔진(33)과 파이프라인으로 구성하여 효율성 있게 고속 묘화 처리를 행할 수 있다.
또한, 상술의 처리스텝 S1에 있어서, 묘화 엔진(33)에서 처리하는 다각형이 픽셀 인터리브 처리에 알맞은 형상인지의 여부(이하, 판정조건 6이라 한다)에 의해, 다각형을 분할할 필요가 있는지의 여부를 판정하여, 그 판정결과에 근거하여, 상기 처리스텝 S2에 의해 상기 묘화 명령에 근거한 다각형을 픽셀 인터리브 처리에 알맞은 형상의 다수가 새로운 다각형으로 분할하도록 해도 된다. 이것에 의해, 묘화엔진(33)에서 프레임 버퍼(18)를 효율성 있게 액세스하여 고속의 묘화 처리를 행할 수 있다.
또한, 상술의 처리스텝 S1에 있어서, 상술의 각종 판정조건을 조합하여 다각형을 분할할 필요가 있는지의 여부를 판정하여, 그 판정결과에 근거하여, 분할한 새로운 다각형이 각종 판정조건을 만족하도록 상기 묘화 명령에 근거한 다각형을 상기 처리스텝 S2에 의해 다수로 분할하도록 해도 된다.
즉, 상술의 처리스텝 S1에 있어서, 상기 판정조건 1과 판정조건 2를 조합하여 다각형을 분할할 필요가 있는지의 여부를 판정하여, 그 판정결과에 근거하여, 분할한 새로운 다각형이 상기 판정조건 1과 판정조건 2를 만족하도록 상기 묘화 명령에 근거한 다각형을 상기 처리스텝 S2에 의해 다수로 분할함으로써, 상기 묘화엔진(33)에 있어서 처리하는 다각형의 크기 즉 화소수를 균등화하고. 상기 텍스처 캐시(33F)에서 CLUT 캐시(33G)를 통해 판독되는 텍스처 데이터에 근거하여 텍스처 맵핑 처리를 확실하고 또한 효율성 있게 행할 수 있다.
또한, 상술의 처리스텝 S1에 있어서, 상기 판정조건 1과 판정조건 3을 조합하여 다각형을 분할할 필요가 있는지의 여부를 판정하여, 그 판정결과에 근거하여,분할한 새로운 다각형이 상기 판정조건 1과 판정조건 3을 만족하도록 상기 묘화 명령에 근거하는 다각형을 상기 처리스텝 S2에 의해 다수로 분할함으로써, 상기 텍스처 캐시(33F)에서 CLUT 캐시(33G)를 통해 판독되는 텍스처 데이터에 근거하여 텍스처의 변형이 적은 상태로 텍스처 맵핑 처리를 확실하고 또한 효율성 있게 행할 수 있다. 또한, 상기 판정조건 2를 조합하도록 하면, 상기 묘화 엔진(33)에 있어서 처리하는 다각형의 크기 즉, 화소수를 균등화하여, 텍스처 맵핑 처리를 행할 수 있다.
또한, 상술의 처리스텝 S1에 있어서, 상기 판정조건 1과 판정조건 4를 조합하여 다각형을 분할할 필요가 있는지의 여부를 판정하고, 그 판정결과에 근거하여, 분할한 새로운 다각형이 상기 판정조건 1과 판정조건 4를 만족하도록 상기 묘화 명령에 근거한 다각형을 상기 처리스텝 S2에 의해 다수로 분할함으로써, 상기 텍스처 캐시(33F)에서 CLUT 캐시(33G)를 통해 판독되는 텍스처 데이터에 근거하여, 밉맵핑 처리를 확실하고 또한 효율성 있게 행할 수 있다. 또한, 상기 판정조건 2나 판정조건 3을 조합하여, 상기 묘화 엔진(33)에 있어서 처리하는 다각형의 크기 즉, 화소수를 균등화하거나, 텍스처의 변형을 경감하도륵 해도 된다.
또한, 상술의 처리스텝 S1에 있어서, 상기 판정조건 1과 판정조건 5를 조합하여 다각형을 분할할 필요가 있는지의 여부를 판정하여, 그 판정결과에 근거하여, 분할한 새로운 다각형이 상기 판정조건 1과 판정조건 5를 만족하도록 상기 묘화 명령에 근거한 다각형을 상기 처리스텝 S2에 의해 다수로 분할함으로써, 상기 프리프로세서(32)와 묘화 엔진(33)의 각 처리시간의 균형을 유지하여 파이프라인으로 효율성 있게 고속의 텍스처 맵핑 처리를 행할 수 있다. 또한, 상기 판정조건 2나 판정조건 3을 조합하여, 상기 묘화 엔진(33)에 있어서 처리하는 다각형의 크기 즉, 화소수를 균등화하거나, 텍스처의 변형을 경감하도록 해도 된다. 상기 판정조건 4를 조합하여, 밉맵핑 처리를 행하도록 해도 된다.
또한, 상술의 처리스텝 S1에 있어서, 상기 판정조건 1과 판정조건 6을 조합하여 다각형을 분할할 필요가 있는지의 여부를 판정하여, 그 판정결과에 근거하여, 분할한 새로운 다각형이 상기 판정조건 1과 판정조건 6을 만족하도록 상기 묘화 명령에 의거한 다각형을 상기 처리스텝 S2에 의해 다수로 분할함으로써, 묘화 엔진(33)에서 텍스처 맵핑 처리를 확실하고 또한 효율성 있게 행함과 동시에, 프레임 버퍼(18)를 효율성 있게 액세스하여 고속의 묘화 처리를 행할 수 있다. 또한, 상기 판정조건 2나 판정조건 3을 조합하여, 상기 묘화 엔진(33)에 있어서 처리하는 다각형의 크기 즉, 화소수를 균등화하거나, 텍스처의 변형을 경감하도록 해도 된다. 상기 판정조건 4을 조합하여 밉맵핑 처리를 행하도록 하거나, 상기 판정조건 5를 조합하여 파이프라인에 의한 고속화를 도모하도록 해도 된다.
또, 상술한 제2의 버스 스위쳐(33E)에서의 픽셀 인터리브처리는 다음과 같이 행해진다.
즉, 제2의 버스 스위쳐(33E)는 도 6에 도시된 바와 같이, 상기 도 2에 도시된 프리프로세서(32)의 출력이 공급되는 제어회로(101)와, 제어회로(101)의 출력이 공급되는 셀렉터(102)와, 셀렉터(102)의 출력이 각각 공급되는 다수의 멀티플렉서/디멀티플렉서(MUX: Multiplexer/DMUX: Demultiplexer)(103a, 103b, 103c, 103d, …)를 구비하고 있다. 그리고, MUX/DMUX(103a, 103b, 103c, 103d …)는 각각, 상기 도 2에 도시된 프레임 버퍼(18)와 묘화 엔진(33)에 접속되어 있다.
여기에서, 프레임 버퍼(18)는 다수의 메모리 뱅크[1], [2] ‥, [X], ‥, [L]로 이루어지고, 다수의 메모리 뱅크[1], [2] …, [X], …, [L]은 각각, 16개의 어드레스로 나타나는 직사각형(이하, 인터리브 패턴이라 한다)의 각 어드레스를 동시에 액세스할 수 있도록 이루어져 있다.
따라서, 프레임 버퍼(18)의 예를 들면, 메모리 뱅크[X]는 어드레스(A0내지 A15)를 액세스하기 위한 16개의 입출력 포트(P0내지 P15)를 구비하고 있고, 다수의 MUX/DMUX(103a, 103b, 103c, 103d, …)중의 4개의 MUX/DMUX(103a, 103b, 103c, 103d)는 각각, 16개의 입출력포트(P0내지 P15)와 접속되어 있다.
또한, 4개의 MUX/DMUX(103a, 103b, 103c, 103d)는 묘화 엔진(33)의 4개의 픽셀 엔진(33Dx1, 33Dx2, 33Dx3, 33Dx4)과 대응하여 접속되어 있다.
또한, 메모리 뱅크[X] 이외의 다른 각 메모리 뱅크는 상술한 메모리 뱅크[X]와 같은 구성을 하고 있기 때문에, 그 상세한 설명은 생략한다. 또한, 제2의 버스 스위쳐(33E)가 행하는 상기 다른 각 메모리 뱅크에 대한 액세스 처리에 대하여도, 후술하는 제2의 버스 스위쳐(33E)가 행하는 메모리 뱅크[X]에 대한 액세스처리와 같기 때문에, 이하의 설명에서는 제2의 버스 스위쳐(33E)가 행하는 메모리 뱅크[X]에 대한 액세스 처리에 대해서만 설명한다.
우선, 제2의 버스 스위쳐(33E)의 일련의 동작에 대하여 설명한다.
예를 들면, 메모리 뱅크 [X]상에 묘화하는 다각형의 형상이 도 7에 도시한 바와 같은 삼각형 TABC(제1의 다각형의 형상)인 경우, 우선, 프리프로세서(32)로부터 제어회로(101)에는, 픽셀 인터리브의 제어정보가 공급된다. 제어회로(101)는 프리프로세서(32)로부터의 픽셀 인터리브의 제어정보에 의거하여, 삼각형 TABC내부를 액세스할 때에 사용하는 인터리브 패턴을, 예를 들민, (4×4)의 인터리브 패턴(P)으로 전환한다.
또, 제어회로(101)에 있어서의 인터리브 패턴의 전환방법에 대한 상세한 설명은 후술한다.
그리고, 제어회로(101)는 (4×4)의 인터리브 패턴(P)을 사용하여, 메모리 뱅크[X]상에 형성되는 다수의 인터리브 패턴 중, 액세스해야 할 인터리브 패턴, 즉 삼각형 TABC내부를 모두 액세스할 수 있도록 한 인터리브 패턴을 검출한다.
따라서, 삼각형 TABC에서는 메모리 뱅크 [X]상의 각 인터리브 패턴을 P(x방향의 패턴 인덱스, y방향의 패턴 인덱스)로 나타낸 경우, 도 8에 도시된 바와 같이,
Figure pct00003
로 나타내는 합계 20개의 인터리브 패턴이 검출된다.
그리고, 제어회로(101)는 상술한 바와 같이 하여 검출한 20개의 인터리브 패턴을 나타내는 패턴 정보를 인터리브 패턴 단위로 셀렉터(102)로 공급한다. 또한, 1어드레스 단위로 메모리 액세스를 행하는 경우에는 제어회로(101)는 삼각형 TABC의 형상에 기인한 마스크 정보를 셀렉터(102)로 공급한다.
셀렉터(102)는 제어회로(101)로부터 인터리브 패턴 단위로 공급된 패턴정보에 의거하여, 액세스해야 할 (4×4)의 인터리브 패턴(P)에 대응한 어드레스를 MUX/DMUX(103a, 103b, 103c, 103d)에 지정한다.
또한, 셀렉터(102)는 제어회로(101)로부터 마스크 정보가 공급된 경우에는 그 마스크 정보에 의거하여, 도 9에 도시된 바와 같이, (4×4)의 인터리브 패턴(P) 중에서 마스크를 행한 결과 얻어지는 액세스해야 할 어드레스를 MUX/DMUX(103a,103b, 103c, 103d)에 지정한다. 따라서, 예를 들면, 도 10에 도시된 바와 같이, 상기 도 9에 도시된 P(4, 1)로 나타내는 인터리브 패턴내의 어드레스(A0 내지 A15)에 있어서, 마스크를 행한 결과 얻어지는 액세스해야 할 어드레스는 A4, A5, A6, A8, A9, A10, A13, A14, A15(사선부분)로 된다.
MUX/DMUX(103a, 103b, 103c, 103d)는 각각, 메모리 뱅크[X]의 어드레스(A0내지 A15) 중, 셀렉터(102)에 의해 지정된 어드레스를 액세스한다.
여기에서, 상술한 바와 같이, 픽셀 엔진(33Dx1, 33Dx2, 33Dx3, 33Dx4)으로부터 MUX/DMUX(103a, 103b, 103c, 103d)에는 각각, 화소 데이터가 공급되도록 이루어져 있다.
그리하여, 예를 들면, MUX/DMUX(103a)는 셀렉터(102)에 의해 지정된 어드레스를 액세스함으로써, 입출력포트(P0내지 P15) 중, 상기 어드레스에 대응한 입출력 포트를 통해, 픽셀엔진 (Xa)에서의 화소 데이터를 메모리 뱅크[X]의 상기 어드레스로 나타내는 영역에 기록한다.
또한, MUX/DMUX(103a)는 셀렉터(102)에 의해 지정된 어드레스를 액세스함으로써, 입출력포트(P0내지 P15) 중, 상기 어드레스에 대응한 입출력 포트를 통해, 메모리 뱅크[X]의 상기 어드레스에 의해 나타나는 영역에 기록되어 있는 데이터를 판독한다. 그리고, MUX/DMUX(103a)는 메모리 뱅크[X]로부터 판독된 데이터에 대하여 소정의 처리를 행한다.
또한, MUX/DMUX(103b 내지 103d)의 동작에 관해서는 상술된 MUX/DMUX(103a)의 동작과 같기 때문에, 그 상세한 설명은 생략한다.
다음에, 상술된 제어회로(101)에 있어서의 인터리브 패턴의 전환방법에 대하여 구체적으로 설명한다.
우선, 메모리 뱅크 [X]상에 묘화하는 다각형의 형상이, 예를 들면, 도 11에 도시된 바와 같은 횡 길이의 삼각형 TDEF(제2의 다각형의 형상)이고, 삼각형 TDEF를 (4×4)의 인터리브 패턴(P)에서 액세스하는 경우의 액세스 회수에 대하여 설명한다.
상기의 경우, 액세스해야 할 인터리브 패턴의 개수는 도 12에 도시된 바와 같이,
Figure pct00004
Figure pct00005
의 합계 17개로 된다.
즉, (4×4)의 인터리브 패턴(P)으로 삼각형 TDEF를 액세스하는 경우, 삼각형 TDEF내부를 모두 액세스하기 위한 액세스 회수는 17회가 된다.
또한, 1어드레스 단위로 액세스하는 경우에는 상술한 삼각형 TABC의 액세스시와 같이, 도 13에 도시된 바와 같이, (4×4)의 인터리브 패턴(P)중에서 마스크를 행함으로써, 필요한 메모리 어드레스만을 액세스하게 된다.
다음에, 도 14에 도시된 바와 같이, 삼각형 TDEF를 (8×2)의 인터리브 패턴(P1)으로 액세스하는 경우, 액세스해야 할 인터리브 패턴의 개수는 도 15에 도시된 바와 같이,
Figure pct00006
Figure pct00007
의 합계 15 개가 된다.
즉, (8×2)의 인터리브 패턴(P1)에서 삼각형 TDEF를 액세스하는 경우, 삼각형 TDEF내부를 모두 액세스하기 위한 액세스 회수는 15회가 된다.
또한, 1어드레스 단위로 액세스하는 경우에는 상술한 삼각형 TAsc의 액세스시와 같이, 도 16에 도시된 바와 같이, (8×2)의 인터리브 패턴(P1)중에서 마스크를 행함으로써, 필요한 메모리 어드레스만을 액세스하게 된다.
다음에, 도 17에 도시된 바와 같이, 삼각형 TDEF를 (16×1)의 인터리브 패턴(P2)으로 액세스하는 경우, 액세스해야 할 인터리브 패턴의 개수는 도 18에 도시된 바와 같이,
Figure pct00008
의 합계 18 개가 된다.
즉, (16×1)의 인터리브 패턴(P2)으로 삼각형 TDEF를 액세스하는 경우, 삼각형 TDEF내부를 모두 액세스하기 위한 액세스회수는 18회가 된다.
또한, 1어드레스 단위로 액세스하는 경우에는 상술한 삼각형 TABC의 액세스시와 같이, 도 19에 도시된 바와 같이, (8×2)의 인터리브 패턴(P2) 중에서 마스크를 행함으로써, 필요한 메모리어드레스만을 액세스하게 된다.
상술한 바와 같이, (4×4)의 인터리브 패턴(P)에서 삼각형TDEF를 액세스하는 경우의 액세스 회수는 17회, (8×2)의 인터리브 패턴(P1)에서 삼각형 TDEF를 액세스하는 경우의 액세스 회수는 15회, (16×1)의 인터리브 패턴(P2)으로 삼각형 TDEF를 액세스하는 경우의 액세스 회수는 18회로 되며, 이 결과, (8×2)의 인터리브 패턴(P1)에서 삼각형 TDEF를 액세스하는 경우의 액세스 회수가 최소의 액세스 회수가 된다. 따라서, 삼각형 TDEF에 대한 적절한 인터리브 패턴은 (8×2)의 인터리브 패턴(P1)이라는 것을 알았다.
그리하여, 제어회로(101)는 메모리 뱅크[X]를 액세스할 때에 사용하는 인터리브 패턴을, 액세스하는 다각형의 형상에 따른 적절한 인터리브 패턴으로 전환하기 위해서, 이하와 같은 처리를 행한다.
예를 들면, 메모리 뱅크 [X]상에 묘화하는 다각형의 형상이 도 20에 도시한 바와 같은 삼각형 THIJ인 경우, 우선, 제어회로(101)에는 상술한 바와 같이, 프리프로세서(32)로부터 픽셀 인터리브의 제어정보가 공급된다. 이 픽셀 인터리브의 제어정보는 예를 들면, 삼각형 THIJ의 3개의 정점(H, I, J)의 Xy 좌표 H(Xh, Yh), I(Xi, Yi), J(Xj, Yj) 등의 정보이다.
다음에, 제어회로(101)는 상기 도 20에 도시된 바와 같이, 프리프로세서(32)로부터의 픽셀 인터리브의 제어정보를 사용하여, 삼각형 THIJ의 종횡비(R)를, X방향의 최대치 MAXx 및 최소치MINx, Y방향의 최대값 MAXy 및 최소치 MINy를 갖고,
Figure pct00009
로 되는 연산에 의해 구한다.
또, 삼각형 THIJ에서는
Figure pct00010
로 된다.
그리고, 제어회로(101)는 상술한 바와 같이 하여 구한 종횡비(R)에 따라서, 도 21에 도시한 바와 같은 (1×16), (2×8), (4×4), (8×2), (16×1)의 5종류의 인터리브 패턴(Pa 내지 Pe) 중 적절한 인터리브 패턴을 선출하여, 삼각형 THIJ를 액세스할 때에 사용하는 인터리브 패턴을, 선출한 인터리브 패턴으로 전환한다.
여기에서, 제어회로(101)는 표 1에 나타낸 바와 같은 종횡비(R)와 인터리브 패턴과 대응표로 이루어진 테이블을 갖고 있다. 이 테이블에는 종횡비(R)에 따른 적절한 인터리브 패턴, 즉 액세스 회수가 최소가 되도록 한 인터리브 패턴이 미리 설정되어 있다. 따라서, 제어회로(101)는 상기 테이블을 사용함으로써, 상술한 바와 같이 하여 얻어진 종횡비(R)에 의거한 적절한 인터리브 패턴을 선출하게 된다.
Figure pct00011
상술한 바와 같이, 제2의 버스 스위쳐(33E)에서는 메모리뱅크 [X]상에 묘화하는 다각형의 형상에 따라서, 상기 도 21에 도시된 바와 같은 5종류의 인터리브 패턴(Pa 내지 Pe)에서 적절한 인터리브 패턴을 선출하여, 선출한 인터리브 패턴으로 메모리뱅크[X]를 액세스하기 위해, 최소의 액세스 회수로 메모리 뱅크[X]상에 상기 다각형을 묘화할 수 있다. 따라서, 제2의 버스 스위쳐(33E)는 메모리 액세스를 효율성 있게 행할 수 있다.
또한, GPU(15)는 상술한 바와 같은 메모리 액세스의 효율화를 도모한 제2의 버스 스위쳐(33E)에 의해, 프레임 버퍼(18)를 액세스하여 데이터 처리를 행하기 위해서, 그 데이터 처리를 효율성 있게 행할 수 있다.
이러한 본 발명을 적용한 비디오 게임장치는 예를 들면, 도 22의 평면도, 도 23의 정면도 및 도 24의 측면도에 도시한 바와 같은 구성으로 되어 있다.
즉, 이 비디오 게임장치(201)는 도 22에 도시된 바와 같이, 기본적으로, 장치본체(202)와, 이 장치본체(202)에 대하여 케이블(227)을 통해 접속되는 조작장치(217)에 의해 구성되어 있다. 장치본체(202)의 상면의 중앙부에는 디스크장착부(203)가 설치되고, 그 내부에 도 25에 도시한 바와 같은 CD-ROM(251)이 장착되도록 이루어져 있다. 디스크 장착부(203)의 좌측에는 장치의 전원을 온 또는 오프할 때에 조작되는 전원스위치(205)와, 게임을 일단 리셋할 때에 조작되는 리셋 스위치(204)가 마련되어 있다. 또한, 디스크 장착부(203)의 우측에는 디스크 장착부(203)에 대하여 CD-ROM(251)을 착탈할 때에 조작되는 디스크 조작스위치(206)가 마련되어 있다.
또한, 장치본체(202)의 정면에는 도 23에 도시된 바와 같이, 접속부(207A, 207B)가 마련되어 있다. 이들의 접속부(207A, 207B)에는 조작장치(217)로부터 도출된 케이블(227)의 선단에 마련되어 있는 접속 단자부(226)와, 메모리 카드 등으로 구성되는 기록 장치(228)를 접속하기 위해서 접속단자 삽입부(212)와 기록 삽입부(208)가 각각 마련되어 있다 즉, 이 장치본체(202)에는 조작장치(217)와 기록장치(228)가 각각 2개 접속할 수 있도록 이루어져 있다.
여기에서, 도 23의 정면도에는 우측의 접속부(207B)에 접속 단자부(226)와 기록장치(228)가 장착되고, 좌측의 접속부(207A)에는 접속 단자부(226)와 기록 장치(228) 중의 어느 하나가 장착되지 않은 상태가 도시되어 있다. 이 도 23에 도시된 바와 같이, 기록 장치(228)를 장착하는 기록삽입부(208)에는 셔터(209)가 설치되어 있고, 기록 장치(228)를 장치본체(202)에 대하여 장착할 때에, 기록 장치(228)의 선단에서, 이 셔터(209)를 밀어 넣도록 하여, 장착이 이루어지고 있다.
또한, 접속 단자부(226)의 파지부(231A)와 기록 장치(228)와 파지부(242A)에는 각각 예를 들면 널리드 가공 등에 의한 미끄럼 방지 가공이 실시되어 있다. 또, 도 24의 측면도에 도시된 바와 같이, 접속 단자부(226)와 기록 장치(228)의 길이(L)는 거의 동일한 길이로 되어 있다.
조작장치(27)에는 좌우의 손으로 파지되는 지지부(220, 221)가 설치되고, 지지부(220, 221)의 선단에는 조작부(218, 219)가 형성되어 있다. 조작부(224, 225)는 좌우의 손의 집게손가락으로 조작되어, 조작부(218, 219)는 좌우의 엄지손가락으로 조작되도록 되어 있다.
조작부(218, 219) 사이에는 게임 중에 있어 셀렉트 조작을 행할 때에 조작되는 셀렉트 스위치(222)와, 게임을 개시할 때에 조작되는 스타트 스위치(223)가 마련되어 있다.
이러한 비디오 게임 장치(201)에서는 상기 디스크 장착부(203)에 장착된 CD-ROM(251)이 상술의 CD-ROM 드라이버(30)에 의해 재생된다. 또한, 상기 조작장치(217)는 상술의 입력 디바이스(28)에 상당하는 것으로, 또한, 상기 기록 장치(228)는 상술의 보조기억장치(27)에 상당하는 것이다.

Claims (4)

  1. 단위도형의 조합에 의해 정의된 화상 모델을 묘화하기 위한 묘화 명령에 기초하여, 단위도형마다 묘화 처리에 앞서서, 해당 묘화 처리에 필요한 데이터를 생성하는 전 처리수단과,
    상기 묘화 명령에 따라, 텍스처 맵핑 처리에 의해 단위도형의 화소 데이터를 생성하여, 화상 메모리에 묘화하는 묘화 수단과,
    상기 묘화 수단이 텍스처 맵핑 처리에 필요로 하는 텍스처 데이터를 일시 기억하는 기억수단과,
    상기 묘화 수단이 텍스처 맵핑 처리에 필요로 하는 텍스처 데이터를 상기 전처리 수단으로부터 출력되는 데이터에 따라서 상기 기억수단으로 공급하는 공급수단을 구비하는 것을 특징으로 하는 묘화 장치.
  2. 제 1 항에 있어서,
    상기 묘화 수단은 밉맵핑 처리(MIP mapping processing)를 행하는 기능을 가지며, 상기 전 처리 수단으로부터 출력되는 데이터에 따라서 원하는 해상도의 텍스처 데이터로부터 선택하여 상기 기억수단으로 공급하는 것을 특징으로 하는 묘화 장치.
  3. 단위도형의 조합에 의해 정의된 화상모델을 묘화하기 위한 묘화 명령에 기초하여, 단위도형마다 묘화 처리와 관련하는 데이터를 생성하는 단계와,
    상기 데이터에 기초하여, 상기 묘화 처리에 있어서의 텍스처 맵핑 처리에 필요한 텍스처 데이터를 기억수단으로 공급하는 단계와,
    텍스처 맵핑 처리에 의해 단위도형의 화소 데이터를 생성하여, 화상 메모리에 묘화하는 단계를 구비하는 것을 특징으로 하는 묘화 방법.
  4. 제 3 항에 있어서,
    상기 텍스처 데이터를 기억수단으로 공급하는 단계는, 상기 묘화 처리와 관련하는 데이터에 따라, 상기 묘화 처리에 있어서의 밉맵핑 처리에 필요하게 되는 해상도의 텍스처 데이터를 공급하는 단계를 구비하는 것을 특징으로 하는 묘화 방법.
KR1019970706721A 1996-02-06 1997-02-06 묘화장치및묘화방법 KR100422082B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP96-20332 1996-02-06
JP02033296A JP3645024B2 (ja) 1996-02-06 1996-02-06 描画装置及び描画方法

Publications (2)

Publication Number Publication Date
KR19980703317A KR19980703317A (ko) 1998-10-15
KR100422082B1 true KR100422082B1 (ko) 2004-06-04

Family

ID=12024191

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970706721A KR100422082B1 (ko) 1996-02-06 1997-02-06 묘화장치및묘화방법

Country Status (8)

Country Link
US (2) US6157384A (ko)
EP (1) EP0820037B1 (ko)
JP (1) JP3645024B2 (ko)
KR (1) KR100422082B1 (ko)
CN (1) CN1099655C (ko)
CA (1) CA2216915C (ko)
DE (1) DE69739337D1 (ko)
WO (1) WO1997029457A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3645024B2 (ja) * 1996-02-06 2005-05-11 株式会社ソニー・コンピュータエンタテインメント 描画装置及び描画方法
JP4314655B2 (ja) 1998-03-04 2009-08-19 ソニー株式会社 画像処理装置
US6445386B1 (en) * 1999-01-15 2002-09-03 Intel Corporation Method and apparatus for stretch blitting using a 3D pipeline
KR100444778B1 (ko) * 1999-02-05 2004-08-18 삼성전자주식회사 영상 텍스쳐 추출 방법 및 그 장치
US7583270B2 (en) 1999-03-02 2009-09-01 Sony Corporation Image processing apparatus
JP2001079263A (ja) * 1999-09-16 2001-03-27 Sega Corp ゲーム装置、データ処理方法、及び情報記録媒体
JP2001118082A (ja) * 1999-10-15 2001-04-27 Toshiba Corp 描画演算処理装置
US6894693B1 (en) * 2001-02-09 2005-05-17 Vicarious Visions Inc. Management of limited resources in a graphics system
GB2374775B (en) * 2001-04-19 2005-06-15 Discreet Logic Inc Rendering animated image data
JP2003030677A (ja) * 2001-07-19 2003-01-31 Namco Ltd 画像表示装置、画像表示方法、情報記憶媒体および画像表示プログラム
JP3838086B2 (ja) * 2001-12-12 2006-10-25 ソニー株式会社 画像処理装置およびその方法
JP2005100176A (ja) * 2003-09-25 2005-04-14 Sony Corp 画像処理装置およびその方法
WO2005124693A2 (en) * 2004-06-16 2005-12-29 Koninklijke Philips Electronics N.V. Inverse texture mapping 3d graphics system
US7348988B2 (en) * 2005-05-06 2008-03-25 Via Technologies, Inc. Texture cache control using an adaptive missing data table in a multiple cache computer graphics environment
CN101174331B (zh) * 2006-11-01 2011-07-27 深圳市蓝韵实业有限公司 一种医学影像最大密度投影生成方法
KR100818286B1 (ko) 2006-11-23 2008-04-01 삼성전자주식회사 안개 효과를 고려하여 3차원 그래픽스 데이터를 렌더링하는방법 및 장치
US8502832B2 (en) 2008-05-30 2013-08-06 Advanced Micro Devices, Inc. Floating point texture filtering using unsigned linear interpolators and block normalizations
EP2297723A4 (en) * 2008-05-30 2015-08-19 Advanced Micro Devices Inc EVOLVING AND UNIFIED CALCULATION SYSTEM
US8195882B2 (en) * 2008-05-30 2012-06-05 Advanced Micro Devices, Inc. Shader complex with distributed level one cache system and centralized level two cache
US8754895B2 (en) * 2008-09-09 2014-06-17 Sony Corporation Pipelined image processing engine
CN102034263B (zh) * 2010-11-03 2012-11-28 北京航空航天大学 一种基于错切变形的并行体绘制系统
US20120232988A1 (en) * 2011-03-08 2012-09-13 Ruiduo Yang Method and system for generating dynamic ads within a video game of a portable computing device
KR102282189B1 (ko) 2014-07-02 2021-07-27 삼성전자 주식회사 밉맵 생성 방법 및 장치
CN108287718B (zh) * 2017-05-27 2022-05-17 深圳市创梦天地科技有限公司 基于游戏引擎的特效编辑方法及装置
CN108242070A (zh) * 2017-10-09 2018-07-03 北京车和家信息技术有限公司 一种图像绘制方法、图像绘制装置和计算机设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5361386A (en) * 1987-12-04 1994-11-01 Evans & Sutherland Computer Corp. System for polygon interpolation using instantaneous values in a variable
US5251296A (en) * 1990-03-16 1993-10-05 Hewlett-Packard Company Methods and apparatus for generating arbitrarily addressed, arbitrarily shaped tiles in computer graphics systems
US5222205A (en) * 1990-03-16 1993-06-22 Hewlett-Packard Company Method for generating addresses to textured graphics primitives stored in rip maps
US5179638A (en) * 1990-04-26 1993-01-12 Honeywell Inc. Method and apparatus for generating a texture mapped perspective view
US5307450A (en) * 1991-02-19 1994-04-26 Silicon Graphics, Inc. Z-subdivision for improved texture mapping
US5388206A (en) * 1992-11-13 1995-02-07 The University Of North Carolina Architecture and apparatus for image generation
JPH06251166A (ja) * 1993-02-25 1994-09-09 Toshiba Corp 画像処理装置
GB2278524B (en) * 1993-05-28 1997-12-10 Nihon Unisys Ltd Method and apparatus for rendering visual images employing area calculation and blending of fractional pixel lists for anti-aliasing and transparency
JPH07230555A (ja) * 1993-12-22 1995-08-29 Matsushita Electric Ind Co Ltd ミップマップ画像生成装置および生成方法
US5461712A (en) * 1994-04-18 1995-10-24 International Business Machines Corporation Quadrant-based two-dimensional memory manager
US5815168A (en) * 1995-06-23 1998-09-29 Cirrus Logic, Inc. Tiled memory addressing with programmable tile dimensions
US6111584A (en) * 1995-12-18 2000-08-29 3Dlabs Inc. Ltd. Rendering system with mini-patch retrieval from local texture storage
JP3645024B2 (ja) * 1996-02-06 2005-05-11 株式会社ソニー・コンピュータエンタテインメント 描画装置及び描画方法
JPH09212146A (ja) * 1996-02-06 1997-08-15 Sony Computer Entertainment:Kk アドレス発生装置及び画像表示装置
US6222561B1 (en) * 1998-09-17 2001-04-24 International Business Machines Corporation Render optimization using page alignment techniques

Also Published As

Publication number Publication date
MX9707540A (es) 1997-11-29
DE69739337D1 (de) 2009-05-14
US7081894B1 (en) 2006-07-25
EP0820037B1 (en) 2009-04-01
CA2216915C (en) 2008-04-22
EP0820037A1 (en) 1998-01-21
JP3645024B2 (ja) 2005-05-11
WO1997029457A1 (fr) 1997-08-14
KR19980703317A (ko) 1998-10-15
US6157384A (en) 2000-12-05
EP0820037A4 (en) 2002-04-17
CN1099655C (zh) 2003-01-22
CN1183154A (zh) 1998-05-27
JPH09212680A (ja) 1997-08-15
CA2216915A1 (en) 1997-08-14

Similar Documents

Publication Publication Date Title
KR100422082B1 (ko) 묘화장치및묘화방법
KR100422265B1 (ko) 화상생성장치
EP0715277A2 (en) Method of producing image data, image data processing apparatus, and recording medium
US6069635A (en) Method of producing image data and associated recording medium
KR100427520B1 (ko) 화상표시장치및화상표시방법
US7170512B2 (en) Index processor
KR100471905B1 (ko) 메모리액세스방법및데이터처리장치
EP1312047B1 (en) Apparatus and method for rendering antialiased image
US6992673B2 (en) Memory access device, semiconductor device, memory access method, computer program and recording medium
US6151035A (en) Method and system for generating graphic data
JP3548648B2 (ja) 描画装置及び描画方法
JP3971448B2 (ja) 描画装置及び描画方法
JP3934111B2 (ja) 描画装置及び描画方法
JP3468985B2 (ja) グラフィック描画装置、グラフィック描画方法
MXPA97007540A (es) Aparato y metodo para dibujar imagenes
MXPA97007536A (en) Apparatus for general directions, apparatus for exhibiting images, method for generating addresses and method for exhibiting image

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

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140204

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150130

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160127

Year of fee payment: 13

EXPY Expiration of term