JPH09212680A - 描画装置及び描画方法 - Google Patents

描画装置及び描画方法

Info

Publication number
JPH09212680A
JPH09212680A JP8020332A JP2033296A JPH09212680A JP H09212680 A JPH09212680 A JP H09212680A JP 8020332 A JP8020332 A JP 8020332A JP 2033296 A JP2033296 A JP 2033296A JP H09212680 A JPH09212680 A JP H09212680A
Authority
JP
Japan
Prior art keywords
texture
processing
polygon
data
memory
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP8020332A
Other languages
English (en)
Other versions
JP3645024B2 (ja
Inventor
Satoyuki Hiroi
聡幸 広井
Masaaki Oka
正昭 岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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
Priority to JP02033296A priority Critical patent/JP3645024B2/ja
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to US08/930,648 priority patent/US6157384A/en
Priority to CA002216915A priority patent/CA2216915C/en
Priority to KR1019970706721A priority patent/KR100422082B1/ko
Priority to DE69739337T priority patent/DE69739337D1/de
Priority to PCT/JP1997/000297 priority patent/WO1997029457A1/ja
Priority to EP97902600A priority patent/EP0820037B1/en
Priority to CN97190237A priority patent/CN1099655C/zh
Publication of JPH09212680A publication Critical patent/JPH09212680A/ja
Priority to MXPA/A/1997/007540A priority patent/MXPA97007540A/xx
Priority to US09/630,248 priority patent/US7081894B1/en
Application granted granted Critical
Publication of JP3645024B2 publication Critical patent/JP3645024B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three-dimensional [3D] modelling for computer graphics
    • 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)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【課題】 描画手段を停止させることなくテクスチャマ
ッピング処理やミップマッピング処理を行うとともに、
テクスチャメモリのアクセス回数及びアクセス時間を減
らして、全体の描画速度を上げることができるようにし
た描画装置及び描画方法を提供することにある。 【解決手段】 単位図形の組合せにより定義された画像
モデルを描画するための描画命令に基づいて、プリプロ
セッサ32における前処理によって描画処理に必要とす
るデータを生成し、このデータに基づいてテクスチャマ
ッピング処理により単位図形の画素データを生成してフ
レームバッファ18に描画するのに、描画エンジン33
で必要とするテクスチャデータを上記前処理の段階でフ
レームバッファ18上のテクスチャ領域から上記テクス
チャキャシュ33Fに転送し、上記プリプロセッサ32
と描画エンジン33をパイプラインで動作させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータを用
いた映像機器であるグラフィックコンピュータ、特殊効
果装置、ビデオゲーム機等に用いられる描画装置及び描
画方法に関する。
【0002】
【従来の技術】従来、家庭用TVゲーム機やパーソナル
コンピュータあるいはグラフィックコンピュータなどに
おいて、テレビジョン受像機やモニタ受像機あるいは陰
極線管(CRT: Cathode Ray Tube)ディスプレイ装置
などに出力して表示する画像のデータすなわち表示出力
画像データを生成する画像生成装置では、央演算処理装
置(CPU: Central Processing Unit)とフレームバ
ッファの間に専用の描画装置を設けることにより、高速
処理を可能にしている。
【0003】すなわち、上記画像生成装置において、C
PU側では、画像を生成する際に、直接フレームバッフ
ァをアクセスするのではなく、座標変換やクリッピン
グ、光源計算等のジオメトリ処理を行い、3角形や4角
形などの基本的な単位図形(ポリゴン)の組み合わせと
して3次元モデルを定義して3次元画像を描画するため
の描画命令を作成し、その描画命令を描画装置に送る。
例えば、3次元のオブジェクトを表示する場合は、オブ
ジェクトを複数のポリゴンに分解して、各ポリゴン対応
する描画命令をCPUから描画装置に転送する。そし
て、描画装置は、CPUから送られてきた描画命令を解
釈して、頂点の色データと奥行きを示すZ値から、ポリ
ゴンを構成する全ての画素の色とZ値を考慮して、画素
データをフレームバッファに書き込むレンダリング処理
を行い、フレームバッファに図形を描画する。なお、上
記Z値は、視点からの奥行き方向の距離を示す情報であ
る。
【0004】例えば、上記画像生成装置において、3次
元のオブジェクトを表示する場合は、オブジェクトを複
数のポリゴンに分解して、各ポリゴンに対応する描画命
令をCPUから描画装置に転送する。この際に、オブジ
ェクトをより実際に近く表現するするために、テクスチ
ャマッピングやミップマッピングと呼ばれる手法が採用
されている。さらに、色変換データを記憶したカラール
ックアップテーブル(CLUT:Color Lock Up Table)
を介して画像の色データを変換することにより、表示色
を変化させる手法も広く知られている。
【0005】ここで、テクスチャマッピングとは、テク
スチャソース画像として別に用意された2次元画像(絵
柄)すなわちテクスチャパターンを物体を構成するポリ
ゴンの表面に張り付ける技術である。また、ミップマッ
ピングは、3次元モデルに近づいたり、そから遠ざかっ
た場合に、ポリゴンの張り付ける絵柄が不自然にならな
いように画素データを補間するようにしたテクスチャマ
ッピングの手法の1つである。
【0006】
【発明が解決しようとする課題】ところで、画像の描画
速度は、描画エンジンにおける各ポリゴンに対するテク
スチャマッピングやミップマッピング等の処理速度に依
存する。また、画像の描画速度は、描画エンジンからフ
レームバッファへの書き込み速度に影響され、フレーム
バッファのアクセス速度が遅いと描画速度が低下するこ
とになる。従って、描画速度を高めるために高価な高速
メモリを大容量のフレームバッファに用いることはシス
テムの価格の高騰につながり、安価なダイナミックラン
ダムアクセスメモリ(DRAM: Dynamic Random Acces
s Memory)等のメモリを用いるとシステムの描画速度が
遅くなる、という欠点がある。
【0007】そこで、本発明は、上述したような実情に
鑑みてなされたものであり、次のような目的を有する。
【0008】すなわち、本発明の目的は、安価なDRA
M等のメモリをフレームバッファとして用いても、描画
速度を高速に維持できるような描画装置及び描画方法を
提供することにある。
【0009】また、本発明の他の目的は、描画手段によ
りテクスチャマッピング処理を行う描画装置において、
描画手段を停止させることなく描画処理を行うことがで
きるようにした描画装置及び描画方法を提供することに
ある。
【0010】さらに、本発明の他の目的は、描画手段に
よりミップマッピング処理を行う描画装置において、テ
クスチャメモリのアクセス回数及びアクセス時間を減ら
して、全体の描画速度を上げることができるようにした
描画装置及び描画方法を提供することにある。
【0011】
【課題を解決するための手段】本発明に係る描画装置
は、単位図形の組合せにより定義された画像モデルを描
画するための描画命令に基づいて、単位図形毎の描画処
理に必要とするデータを生成する前処理を行う前処理手
段と、上記前処理手段から与えられるデータに基づい
て、テクスチャマッピング処理により単位図形の画素デ
ータを生成して、画像メモリに描画する描画手段と、上
記描画手段がテクスチャマッピング処理に必要とするテ
クスチャデータを一時記憶するテクスチャキャシュとを
備え、上記描画手段がテクスチャマッピング処理に必要
とするテクスチャデータを上記前処理手段による前処理
の段階でテクスチャメモリから上記テクスチャキャシュ
に転送し、上記前処理手段と描画手段をパイプラインで
動作させることを特徴とする。
【0012】また、本発明に係る描画装置は、上記描画
手段が上記ミップマッピング処理を行う機能を有し、上
記描画手段がテクスチャマッピング処理を行うに必要と
なる解像度のデータを上記前処理手段による前処理の段
階でテクスチャメモリ上のテクスチャデータから選択し
て上記テクスチャキャシュに転送することを特徴とす
る。
【0013】また、本発明に係る描画方法は、単位図形
の組合せにより定義された画像モデルを描画するための
描画命令に基づいて、単位図形毎の描画処理に必要とす
るデータを生成する前処理を行い、この前処理により得
られたデータに基づいて、テクスチャマッピング処理に
より単位図形の画素データを生成して、画像メモリに描
画する描画処理を行うに当たり、上記描画処理における
テクスチャマッピング処理に必要とするテクスチャデー
タを上記前処理の段階でテクスチャメモリから上記テク
スチャキャシュに転送し、上記前処理と描画処理をパイ
プラインで行うことを特徴とする。
【0014】さらに、本発明に係る描画方法は、描画処
理においてミップマッピング処理により単位図形の画素
データを生成して、画像メモリに描画する描画処理を行
うに当たり、上記描画処理におけるミップマッピング処
理に必要となる解像度のデータを前処理の段階でテクス
チャメモリ上のテクスチャデータから選択して上記テク
スチャキャシュに転送することを特徴とする。
【0015】
【発明の実施の形態】以下、本発明の好ましい実施の形
態について、図面を参照しながら説明する。
【0016】本発明に係る描画装置は、例えば図1に示
すような構成のビデオゲーム装置に適用される。本発明
に係る描画方法は、このビデオゲーム装置において実施
される。
【0017】このビデオゲーム装置は、例えば光学ディ
スク等の補助記憶装置に記憶されているゲームプログラ
ムを読み出して実行することにより、使用者からの指示
に応じてゲームを行うものであって、図1に示すような
構成を有している。
【0018】すなわち、このビデオゲーム装置は、2種
類のバスすなわち、メインバス1とサブバス2を備え
る。
【0019】上記メインバス1とサブバス2は、バスコ
ントローラ10を介して接続されている。
【0020】そして、上記メインバス1には、マイクロ
プロセッサなどからなる主中央演算処理装置(メインC
PU:Central Processing Unit)11、ランダムアクセ
スメモリ(RAM: Random Access Memory)からなる主
記憶装置(メインメモリ)12、主ダイナミックメモリ
アクセスメモリコントローラ(メインDMAC:Dinamic
Memory Access Controller)13、MPEGデコーダ
(MDEC:MPEG Decorder)14及び画像処理装置
(GPU:Graphic Processing Unit)15が接続されて
いる。また、上記サブバス2には、マイクロプロセッサ
などからなる副中央演算処理装置(サブCPU:Central
Processing Unit)21、ランダムアクセスメモリ(R
AM:Random Access Memory)からなる副記憶装置(サブ
メモリ)22、副ダイナミックメモリアクセスメモリコ
ントローラ(サブDMAC:Dinamic Memory Access Con
troller )23、オペレーティングシステム等のプログ
ラムが格納されたリードオンリーメモリ(ROM: Read
Only Memory)24、音声処理装置(SPU:Sound Pro
cessing Unit)25、通信制御部(ATM:Asynchronou
s Transimission mode)26、補助記憶装置27及び入
力デバイス28が接続されている。
【0021】上記バスコントローラ10は、メインバス
1とサブバス2との間のスイッチングを行う上記メイン
バス1上のデバイスであって、初期状態ではオープンに
なっている。
【0022】また、上記メインCPU11は、上記メイ
ンメモリ12上のプログラムで動作する上記メインバス
1上のデバイスである。このメインCPU11は、起動
時には上記バスコントローラ10がオープンになってい
ることにより、上記サブバス2上のROM24からブー
トプログラムを読み込んで実行し、補助記憶装置27か
らアプリケーションプログラム及び必要なデータを上記
メインメモリ12や上記サブバス2上のデバイスにロー
ドする。このメインCPU11には、座標変換等の処理
を行うジオミトリトランスファエンジン(GTE:Geome
try Transfer Engine )17が搭載されている。上記G
TE17は、例えば複数の演算を並列に実行する並列演
算機構を備え、上記メインCPU11からの演算要求に
応じて座標変換,光源計算,行列あるいはベクトルなど
の演算を高速に行う。そして、上記メインCPU11
は、上記GTE17による演算結果に基づいて3角形や
4角形などの基本的な単位図形(ポリゴン)の組み合わ
せとして3次元モデルを定義して3次元画像を描画する
ための各ポリゴンに対応する描画命令を作成し、この描
画命令をパケット化してコマンドパケットとして上記G
PU15に送る。
【0023】また、上記メインDMAC13は、メイン
バス1上のデバイスを対象とするDMA転送の制御等を
行う上記メインバス1上のデバイスである。このメイン
DMAC13は、、上記バスコントローラ10がオープ
ンになっているときにはサブバス2上のデバイスも対象
とする。
【0024】また、上記GPU15は、レンダリングプ
ロセッサとして機能する上記メインバス1上のデバイス
である。このGPU15は、メインCPU11又はメイ
ンDMAC13からコマンドパケットとして送られてき
た描画命令を解釈して、頂点の色データと奥行きを示す
Z値から、ポリゴンを構成する全ての画素の色とZ値を
考慮して、画素データをフレームバッファ18に書き込
むレンダリング処理を行う。
【0025】また、上記MDEC14は、CPUと並列
に動作可能なI/O接続デバイスであって、画像伸張エ
ンジンとして機能する上記メインバス1上のデバイスで
ある。このMPEGデコーダ(MDEC: )14は、
離散コサイン変換などの直行変換により圧縮されて符号
化された画像データを復号化する。
【0026】また、上記サブCPU21は、上記サブメ
モリ22上のプログラムで動作する上記サブバス2上の
デバイスである。
【0027】また、上記サブDMAC23は、サブバス
2上のデバイスを対象とするDMA転送の制御等を行う
上記サブバス2上のデバイスである。このサブDMAC
23は、上記バスコントローラ10がクローズなってい
るときにのみバス権利を獲得することができる。
【0028】また、上記SPU25は、サウンドロセッ
サとして機能する上記サブバス2上のデバイスである。
このSPU25は、上記サブCPU21又はサブDMA
C23からコマンドパケットとして送られてくるサウン
ドコマンドに応じて、サウンドメモリ29から音声デー
タ読み出して出力する。
【0029】また、上記ATM26は、サブバス2上の
通信用デバイスである。
【0030】また、上記補助記憶装置27は、サブバス
2上のデータ入力デバイスであって、ディスクドライブ
などからなる。
【0031】さらに、上記入力デバイス28は、サブバ
ス2上のコントロールパッド、マウスなどのマンマシン
インターフェースや、画像入力、音声入力などの他の機
器からの入力用デバイスである。
【0032】すなわち、このビデオゲーム装置では、座
標変換やクリッピング、光源計算等のジオメトリ処理を
行い、3角形や4角形などの基本的な単位図形(ポリゴ
ン)の組み合わせとして3次元モデルを定義して3次元
画像を描画するための描画命令を作成し、各ポリゴンに
対応する描画命令をコマンドパケットとしてメインバス
1に送出するジオメトリ処理系が上記メインバス1上の
メインCPU11及びGTU17などにより構成され、
上記ジオメトリ処理系からの描画命令に基づいて各ポリ
ゴンの画素データを生成してフレームバッファ18に書
き込むレンダリング処理を行い、フレームバッファ18
に図形を描画するレンダリング処理系が上記GPU15
により構成されている。
【0033】以下、上述したGPU15について具体的
に説明する。
【0034】上記GPU15は、その具体的な構成を図
2に示してあるように、上記メインバス1に接続された
パケットエンジン31を備え、上記メインCPU11又
はメインDMAC13から上記メインバス1を介して上
記パケットエンジン31にコマンドパケットとして送ら
れてくる描画命令に従って、プリプロセッサ32と描画
エンジン33により各ポリゴンの画素データを上記フレ
ームバッファ18に書き込むレンダリング処理を行い、
上記フレームバッファ18に描画された画像の画素デー
タを読み出して表示制御部(CRTC:CRT Controler)
34を介してビデオ信号として図示しないテレビジョン
受像機やモニタ受像機に供給するようになっている。
【0035】上記パケットエンジン31は、上記メイン
CPU11又はメインDMAC13から上記メインバス
1を介して送られてくるコマンドパケットを上記パケッ
トエンジン31により図示しないレジスタ上に展開す
る。
【0036】また、上記プリプロセッサ32は、上記パ
ケットエンジン31にコマンドパケットとして送られて
きた描画命令に従ってポリゴンデータを生成して後述す
るポリゴンの分割処理などの所定の前処理をポリゴンデ
ータに施し、上記描画エンジン33が必要とする各ポリ
ゴンの頂点座標情報、テクスチャやミップマップテクス
チャのアドレス情報、ピクセルインターリーブの制御情
報などの各種データを生成する。
【0037】さらに、上記描画エンジン33は、上記プ
リプロセッサ32に接続されたN個のポリゴンエンジン
33A1,33A2・・・33ANと、各ポリゴンエン
ジン33A1,33A2・・・33ANに接続されたN
個のテクスチャエンジン33B1,33B2・・・33
BNと、各テクスチャエンジン33B1,33B2・・
・33BNに接続された第1のバススイッチャ33C
と、この第1のバススイッチャ33Cに接続されたM個
のピクセルエンジン33D1,33D2・・・33DM
と、各ピクセルエンジン33D1,33D2・・・33
DMに接続された第2のバススイッチャ33Eと、この
第2のバススイッチャ33Eに接続されたテクスチャキ
ャッシュ33Fと、このテクスチャキャッシュ33Fに
接続されたCLUTキャッシュ33Gを備える。
【0038】この描画エンジン33において、上記N個
のポリゴンエンジン33A1,33A2・・・33AN
は、上記プリプロセッサ32により前処理が施されたポ
リゴンデータに基づいて、上記N個のポリゴンエンジン
33A1,33A2・・・33ANは、描画命令に応じ
たポリゴンを順次生成してポリゴン毎にシェーディング
処理などを並列処理により行う。
【0039】また、上記N個のテクスチャエンジン33
B1,33B2・・・33BNは、上記ポリゴンエンジ
ン33A1,33A2・・・33ANにより生成された
ポリゴン毎に、上記テクスチャキャッシュ33Fからカ
ラールックアップテーブル(CLUT:Color Lock Up
Table)キャッシュ33Gを介して与えられるテクスチャ
データに基づいて、テクスチャマッピング処理やミップ
マップ処理を並列処理により行う。
【0040】ここで、上記テクスチャキャッシュ33F
には、上記N個のテクスチャエンジン33B1,33B
2・・・33BNが処理するポリゴンに張り付けるテク
スチャやミップマップテクスチャのアドレス情報が上記
プリプロセッサ32から事前に与えられ、上記アドレス
情報に基づいて上記フレームバッファ18上のテクスチ
ャ領域からテクスチャマッピング処理に必要なテクスチ
ャデータが転送されるとともに、該当するテクスチャデ
ータからミップマッピング処理に必要となる解像度のデ
ータのみが選択されてミップマップテクスチャデータと
して転送される。さらに、上記CLUTキャッシュ33
Gには、上記ポリゴンの描画を行なう際に参照すべきC
LUTデータが上記フレームバッファ18上のCLUT
領域から転送される。
【0041】上記N個のテクスチャエンジン33B1,
33B2・・・33BNによりテクスチャマッピング処
理やミップマップ処理が施されたポリゴンデータは、上
記第1のバススイッチャ33Cを介してM個のピクセル
エンジン33D1,33D2・・・33DMに転送され
る。
【0042】上記M個のピクセルエンジン33D1,3
3D2・・・33DMは、Zバッファ処理やアンチエリ
アシング処理等の各種画像処理を並列処理により行い、
M個の画素データを生成する。
【0043】そして、上記M個のピクセルエンジン33
D1,33D2・・・33DMで生成されたM個の画素
データは、この第2のバススイッチャ33Eを介して上
記フレームバッファ18に書き込まれる。
【0044】ここで、上記第2のバススイッチャ33E
は、上記プリプロセッサ32からピクセルインターリー
ブの制御情報が供給されており、上記M個のピクセルエ
ンジン33D1,33D2・・・33DMで生成された
M個の画素データのうちのL個の画素データを上記制御
情報に基づいて選択することにより、上記フレームバッ
ファ18上に描画するポリゴンの形状に応じたM個の記
憶場所をアクセス単位として画素データをM個づつ書き
込むピクセルインターリーブ処理を行う機能を有してい
る。
【0045】上記描画エンジン33は、上記プリプロセ
ッサ32により前処理が施されたポリゴンデータに基づ
いて、各ポリゴンの全ての画素データを生成して上記フ
レームバッファ18に書き込むことにより、上記描画命
令によりポリゴンの組合せとして定義された画像を上記
フレームバッファ18上に描画する。そして、上記フレ
ームバッファ18に描画された画像の画素データを読み
出してCRTC34を介してビデオ信号として図示しな
いテレビジョン受像機やモニタ受像機に供給する。
【0046】このような構成のGPU15において、上
記プリプロセッサ32は、例えば、ポリゴンの頂点座標
[(X0,Y0),(X1,Y1),(X2,Y2)]
やテクスチャ座標[(U0,V0),(U1,V1),
(U2,V2)]に基づいて、上記N個のテクスチャエ
ンジン33B1,33B2・・・33BNが処理するポ
リゴンに張り付けるテクスチャの先読みを行うためのア
ドレス情報を生成し、また、ポリゴンの辺の傾き[(X
1−X0)/(Y1−Y0),(X2−X0)/(Y2
−Y0),(X1−X2)/(Y1−Y2)]、テクス
チャアドレスの傾き[(U1−U0)/(Y1−Y
0),(U2−U0)/(Y2−Y0),(U1−U
2)/(Y1−Y2)],[(V1−V0)/(Y1−
Y0),(V2−V0)/(Y2−Y0),(V1−V
2)/(Y1−Y2)]・・・やポリゴンの面積などか
らミップマップの選択情報を再生して、これらの情報を
テクスチャキャッシュ33Fに供給する。また、ポリゴ
ンの頂点座標[(X0,Y0),(X1,Y1),(X
2,Y2)]を左エッジの頂点順(X0,Y0)→(X
1,Y1)→(X2,Y2)又は右エッジの頂点順(X
2,Y2)→(X1,Y1)→(X0,Y0)でソーテ
ィングしたり、両端点のスキャンやテクスチャアドレス
のスキャンを行う。
【0047】そして、上記プリプロセッサ32は、ポリ
ゴンデータを前処理した情報を図示しないワークメモリ
に蓄えておき、描画エンジン33が次のポリゴンを処理
できるようにになった段階で、1ポリゴンを処理できる
情報をワークメモリから上記N個のポリゴンエンジン3
3A1,33A2・・・33ANに転送する。これによ
り、上記描画エンジン33は、新たなポリゴンの描画処
理を開始する。
【0048】すなわち、このGPU15では、その基本
的な構成を図3に示すように、上記プリプロセッサ32
と描画エンジン33でパイプラインにより描画処理を行
い、描画命令によりポリゴンの組合せとして定義された
画像を上記フレームバッファ18上に描画する。
【0049】このパイプライン処理による描画処理を再
度説明する。
【0050】上記プリプロセッサ32は、上述のように
ポリゴンデータに所定前処理を施し、上記描画エンジン
33が必要とする各ポリゴンの頂点座標情報、テクスチ
ャやミップマップテクスチャのアドレス情報、ピクセル
インターリーブの制御情報などの各種データを上記描画
エンジン33に供給する。
【0051】上記描画エンジン33は、上記プリプロセ
ッサ32からデータを受け取り、必要とするテキスチャ
データをテキスチャキャッシュ33Dから読み出し、画
素データを生成して上記フレームバッファ18に書き込
む。上記テキスチャキャッシュ33Dは、上記プリプロ
セッサ32における前処理により算出された必要とする
テクスチャアドレスに対応するテクスチャ領域のテキス
チャデータを上記フレームバッファ18から読み出す。
テキスチャデータの読み出しは、描画エンジン33が実
際に必要とする前に完了するように行われる。また、ミ
ップマッッピング処理で必要とする解像度に対応するテ
クスチャデータのみを上記テクスチャ領域から読み込む
ことにより、上記テクスチャ領域のアクセス回数を減ら
すことができる。
【0052】なお、上記テキスチャキャッシュ33F内
のデータ構造は、その一例を図4に示してあるように、
テクスチャアドレスからなるタグ部TAG、必要となる
テクスチャデータが格納されておいる格納部DATA、
未だテクスチャデータが使用されていないことを示すフ
ラグLを有する。そして、上記テキスチャキャッシュ3
3は、フラグLがリセットされたエントリを使用すべ
く、上記フレームバッファ18のテクスチャ領域からテ
クスチャデータを読み込み、そのフラグLをセットす
る。描画エンジン33は、フラグLがセットされている
エントリから該当するテクスチャデータを読み出して描
画処理を行い、描画を終了してそのテクスチャデータを
もはや必要としなくなった段階でそのエントリのフラグ
lをリセットする。
【0053】このようにテクスチャマッピング処理を行
う描画装置において、プリプロセッサ32と描画エンジ
ン33をパイプラインで構成し、テクスチャメモリすな
わち上記フレームバッファ18上のテキスチャ領域から
上記描画エンジン33が必要とするテキスチャデータを
上記プリプロセッサ32による前処理の段階でキャッシ
ュメモリ33Fに転送することによって、上記描画エン
ジン33を停止させることなく描画処理を行うことがで
きる。また、ミップマッッピング処理で必要とする解像
度に対応するテクスチャデータのみを上記テクスチャ領
域から読み込むことにより、上記テクスチャ領域のアク
セス回数及びアクセス時間を減らすことができ、全体の
描画速度を上げることができる。
【0054】なお、上記プリプロセッサ32におけるポ
リゴンの分割処理は、例えば図5のに示すフローチャー
トに従って行われる。
【0055】すなわち、ポリゴンの分割処理は、ポリゴ
ンの数を示すポリゴンカウントCを1に初期設定して開
始される。
【0056】そして、第1の処理ステップS1では、ポ
リゴンを分割する必要があるか否かの判定処理を行う。
この処理ステップS1における判定処理では、例えば、
描画エンジン33においてこれから処理するポリゴンが
テクスチャキャッシュ33F内に収まる否かを判定す
る。この判定処理は、例えばポリゴンの頂点のテクスチ
ャ座標[(U0,V0),(U1,V1),(U2,V
2)]を算出して、全てが1テクスチャページ内に収ま
っているか否かを判定すればよい。
【0057】そして、上記処理ステップS1における判
定結果が「NO」すなわちポリゴンを分割する必要があ
る場合には、次の処理ステップS2に進んで、ポリゴン
のN分割処理を行う。この処理ステップS2におけるポ
リゴンのN分割処理は、例えば次に示すように、ポリゴ
ンの全ての辺を中点で分割することにより行われる。
【0058】X0’=(X0+X1)/2 Y0’=(Y0+Y1)/2 Z0’=(Z0+Z1)/2 X1’=(X1+X2)/2 Y1’=(Y1+Y2)/2 Z1’=(Z1+Z2)/2 X2’=(X2+X0)/2 Y2’=(Y2+Y0)/2 Z2’=(Z2+Z0)/2 U0’=(U0+U1)/2 V0’=(V0+V1)/2 Z0’=(Z0+Z1)/2 U1’=(U1+U2)/2 V1’=(V1+V2)/2 Z1’=(Z1+Z2)/2 U2’=(U2+U0)/2 V2’=(V2+V0)/2 Z2’=(Z2+Z0)/2 R0’=(R0+R1)/2 G0’=(G0+G1)/2 B0’=(B0+B1)/2 R1’=(R1+R2)/2 G1’=(G1+G2)/2 B1’=(B1+B2)/2 R2’=(R2+R0)/2 G2’=(G2+G0)/2 B2’=(B2+B0)/2 すなわち、この処理ステップS2におけるポリゴンのN
分割処理では、ポリゴンの全ての辺を中点で分割するこ
とにより、例えば三角形のポリゴンはN=4個の新たな
ポリゴンに分割される。
【0059】次の処理ステップS2では、ポリゴンカウ
ントCをC=C+N−1としてポリゴンの数を変更す
る。そして、最初の処理ステップS1に戻り、分割され
た新たなポリゴンをさらに分割する必要があるか否かの
判定処理を行い、分割した新たなポリゴンが上記テクス
チャキャシュ内に収まるようになるまで、上記各処理ス
テップS1〜S3を繰り返し行う。
【0060】また、上記処理ステップS1における判定
結果が「YES」すなわちポリゴンを分割する必要がな
い場合には次の処理ステップS4に進む。
【0061】この処理ステップS4では、ポリゴンエン
ジン33A1,33A2・・・33ANPに1ポリゴン
分の前処理情報を渡して、レンダリング処理を開始さ
せ、レンダリング処理の終了を待つことなく次の処理ス
テップS5に進む。
【0062】この処理ステップS5では、ポリゴンカウ
ントCをデクリメントする。
【0063】次の処理ステップS6では、ポリゴンカウ
ントCが「0」になったか否かの判定処理を行う。そし
て、この処理ステップS6における判定結果が「NO」
すなわちC≠0で処理すべきポリゴンがある場合には最
初の処理ステップS1に戻って、次のポリゴンの処理に
入る。また、この処理ステップS6における判定結果が
「YES」すなわち全てのポリゴンをレンダリングして
分割すべきポリゴンが無くなれば、処理を終了する。
【0064】すなわち、上記プリプロセッサ32では、
描画エンジン33においてこれから処理するポリゴンが
テクスチャキャッシュ33F内に収まる否か(以下、判
定条件1という)を判定し、その判定結果に基づいて分
割処理を行うことによって、分割した新たなポリゴンが
上記テクスチャキャシュ33F内に収まるように上記描
画命令に基づくポリゴンを複数に分割する。これによ
り、上記描画エンジン33において、テクスチャキャッ
シュ33FからCLUTチャッシュ33Gを介して読み
出されるテクスチャデータに基づいてテクスチャマッピ
グ処理を確実且つ効率よく行うことができる。
【0065】ここで、上記プリプロセッサ32における
ポリゴンの分割処理では、上述の最初の処理ステップS
1においてポリゴン内の画素数が規定値以下であるか否
か(以下、判定条件2という)によりポリゴンを分割す
る必要があるか否かを判定し、その判定結果に基づい
て、分割した新たなポリゴン内の画素数が上記規定値以
下となるように処理ステップS2で上記描画命令に基づ
くポリゴンを2次元空間で複数に分割しても良い。これ
により、上記描画エンジン33において処理するポリゴ
ンの大きさすなわち画素数を均等化することができる。
なお、上記ポリゴン内の画素数は、例えば、そのポリゴ
ンの頂点の外積値として面積を求め、その値が適正な値
よりも小さいか否かにより判定することができる。
【0066】また、上記プリプロセッサ32におけるポ
リゴンの分割処理では、上述の処理ステップS2におい
て上記描画命令に基づくポリゴンを3次元空間で複数に
分割するようにしても良い。
【0067】この場合、上述の処理ステップS1におい
て、ポリゴンの頂点のZ値の最小値と最大値との差が適
正な範囲内に収まっているか否か(以下、判定条件3と
いう)により、ポリゴンを分割する必要があるか否かを
判定し、その判定結果に基づいて、分割した新たなポリ
ゴン内の画素数が上記規定範囲内に収まるように上記処
理ステップS2で上記描画命令に基づくポリゴンを3次
元空間で複数に分割して、1ポリゴンの大きさを制限す
ることによって、テクスチャキャッシュ33FからCL
UTチャッシュ33Gを介して読み出されるテクスチャ
データに基づいてテクスチャの歪みの少ない状態でテク
スチャマッピグ処理を行うことができる。
【0068】また、この場合、上述の処理ステップS1
において、ポリゴンの頂点のZ値の最小値と最大値で参
照するミップマップテキスチャを跨いでいるか否か(以
下、判定条件4という)によりポリゴンを分割する必要
があるか否かを判定し、その判定結果に基づいて、分割
した新たなポリゴンがミップマップテキスチャを跨がな
いように、上記処理ステップS2で上記描画命令に基づ
くポリゴンを3次元空間で複数に分割して、1ポリゴン
の参照するミップマップテキスチャの参照範囲を制限を
制限することによって、テクスチャキャッシュ33Fか
らCLUTチャッシュ33Gを介して読み出されるミッ
プマップテクスチャデータに基づいてミップマッピング
処理を効率よく行うことができる。
【0069】さらに、この場合、上述の処理ステップS
1において、ポリゴン内の画素数が規定値以下であるか
否かにより、ポリゴンを分割する必要があるか否かを判
定し、その判定結果に基づいて、分割した新たなポリゴ
ン内の画素数が上記規定値以下となるように上記描画命
令に基づくポリゴンを上記処理ステップS2により3次
元空間で複数に分割するようにしても良い。
【0070】また、上述の処理ステップS1において、
ポリゴンに対する描画エンジン33に描画処理時間を例
えばポリゴン内の画素数に基づいて予測し、当該プリプ
ロセッサ32による前処理時間と上記描画エンジン33
による描画処理時間がバランスいるか否か(以下、判定
条件5という)により、ポリゴンを分割する必要がある
か否かを判定し、その判定結果に基づいて、当該プリプ
ロセッサ32による前処理時間と上記描画エンジン33
による描画処理時間がバランスするように上記描画命令
に基づくポリゴンを上記処理ステップS2で複数に分割
するようにしても良い。これにより、上記プリプロセッ
サ32と描画エンジン33の各処理時間のバランスを保
ち、上記プリプロセッサ32と描画エンジン33とパイ
プラインで構成して効率よく高速描画処理を行うことが
できる。
【0071】また、上述の処理ステップS1において、
描画エンジン33で処理するポリゴンがピクセルインタ
ーリーブ処理に適した形状であるか否か(以下、判定条
件6という)により、ポリゴンを分割する必要があるか
否かを判定し、その判定結果に基づいて、上記処理ステ
ップS2により上記描画命令に基づくポリゴンをピクセ
ルインターリーブ処理に適した形状の複数の新たなポリ
ゴンに分割するようにしても良い。これにより、描画エ
ンジン33でフレームバッファ18を効率よくアクセス
して高速の描画処理を行うことができる。
【0072】さらに、上述の処理ステップS1におい
て、上述の各種判定条件を組み合わせてポリゴンを分割
する必要があるか否かを判定して、その判定結果に基づ
いて、分割した新たなポリゴンが各種判定条件を満たす
ように上記描画命令に基づくポリゴンを上記処理ステッ
プS2により複数に分割するようにしても良い。
【0073】すなわち、上述の処理ステップS1におい
て、上記判定条件1と判定条件2を組み合わせてポリゴ
ンを分割する必要があるか否かを判定して、その判定結
果に基づいて、分割した新たなポリゴンが上記判定条件
1と判定条件2を満たすように上記描画命令に基づくポ
リゴンを上記処理ステップS2により複数に分割するこ
とにより、上記描画エンジン33において処理するポリ
ゴンの大きさすなわち画素数を均等化し、上記テクスチ
ャキャッシュ33FからCLUTチャッシュ33Gを介
して読み出されるテクスチャデータに基づいてテクスチ
ャマッピグ処理を確実且つ効率よく行うことができる。
【0074】また、上述の処理ステップS1において、
上記判定条件1と判定条件3を組み合わせてポリゴンを
分割する必要があるか否かを判定して、その判定結果に
基づいて、分割した新たなポリゴンが上記判定条件1と
判定条件3を満たすように上記描画命令に基づくポリゴ
ンを上記処理ステップS2により複数に分割することに
より、上記テクスチャキャッシュ33FからCLUTチ
ャッシュ33Gを介して読み出されるテクスチャデータ
に基づいてテクスチャの歪みの少ない状態でテクスチャ
マッピグ処理を確実且つ効率よく行うことができる。さ
らに、上記判定条件2を組み合わせるようにすれば、上
記描画エンジン33において処理するポリゴンの大きさ
すなわち画素数を均等化して、テクスチャマッピグ処理
を行うことができる。
【0075】また、上述の処理ステップS1において、
上記判定条件1と判定条件4を組み合わせてポリゴンを
分割する必要があるか否かを判定して、その判定結果に
基づいて、分割した新たなポリゴンが上記判定条件1と
判定条件4を満たすように上記描画命令に基づくポリゴ
ンを上記処理ステップS2により複数に分割することに
より、上記テクスチャキャッシュ33FからCLUTチ
ャッシュ33Gを介して読み出されるテクスチャデータ
に基づいて、ミップマッピング処理を確実且つ効率よく
行うことができる。さらに、上記判定条件2や判定条件
3を組み合わせて、上記描画エンジン33において処理
するポリゴンの大きさすなわち画素数を均等化したり、
テクスチャの歪みを軽減するようにしても良い。
【0076】また、上述の処理ステップS1において、
上記判定条件1と判定条件5を組み合わせてポリゴンを
分割する必要があるか否かを判定して、その判定結果に
基づいて、分割した新たなポリゴンが上記判定条件1と
判定条件5を満たすように上記描画命令に基づくポリゴ
ンを上記処理ステップS2により複数に分割することに
より、上記プリプロセッサ32と描画エンジン33の各
処理時間のバランスを保ちパイプラインで効率よく高速
のテクスチャマッピグ処理を行うことができる。さら
に、上記判定条件2や判定条件3を組み合わせて、上記
描画エンジン33において処理するポリゴンの大きさす
なわち画素数を均等化したり、テクスチャの歪みを軽減
するようにしても良い。上記判定条件4を組み合わせ
て、ミップマッピング処理を行うようにしても良い。
【0077】さらに、上述の処理ステップS1におい
て、上記判定条件1と判定条件6を組み合わせてポリゴ
ンを分割する必要があるか否かを判定して、その判定結
果に基づいて、分割した新たなポリゴンが上記判定条件
1と判定条件6を満たすように上記描画命令に基づくポ
リゴンを上記処理ステップS2により複数に分割するこ
とにより、描画エンジン33でテクスチャマッピグ処理
を確実且つ効率よく行UTOともに、フレームバッファ
18を効率よくアクセスして高速の描画処理を行うこと
ができる。さらに、上記判定条件2や判定条件3を組み
合わせて、上記描画エンジン33において処理するポリ
ゴンの大きさすなわち画素数を均等化したり、テクスチ
ャの歪みを軽減するようにしても良い。上記判定条件4
を組み合わせてミップマッピング処理を行うようにした
り、上記判定条件5を組み合わせてパイプラインによる
高速化を図るようにしても良い。
【0078】なお、上述した第2のバススイッチャ33
Eにおけるピクセルインターリーブ処理は、次のように
して行われる。
【0079】すなわち、第2のバススイッチャ33E
は、図6に示すように、上記図2に示したプリプロセッ
サ32の出力が供給される制御回路101と、制御回路
101の出力が供給されるセレクタ102と、セレクタ
102の出力が各々供給される複数のマルチプレクサ/
デマルチプレクサ(MUX:Multiplexer/DMUX:Dem
ultiplexer)103a,103b,103c,103
d,・・・とを備えている。
【0080】そして、MUX/DMUX103a,10
3b,103c,103d,・・・は、各々、上記図2
に示したフレームバッファ18と描画エンジン33に接
続されている。
【0081】ここで、フレームバッファ18は、複数の
メモリバンク[1],[2],・・・,[X],・・
・,[L]からなり、複数のメモリバンク[1],
[2],・・・,[X],・・・,[L]は、各々、1
6個のアドレスで現される短形(以下、インターリーブ
パターンと言う。)の各アドレスを同時にアクセスする
ことができるようになされている。
【0082】したがって、フレームバッファ18の、例
えば、メモリバンク[X]は、アドレスA0 〜A15をア
クセスするための16個の入出力ポートP0 〜P15を備
えており、複数のMUX/DMUX103a,103
b,103c,103d,・・・のうちの4個のMUX
/DMUX103a,103b,103c,103d
は、各々、16個の入出力ポートP0〜P15と接続され
ている。
【0083】また、4個のMUX/DMUX103a,
103b,103c,103dは、描画エンジン33の
4個のピクセルエンジン33DX1,33DX2,33
X3,33DX4と対応して接続されている。
【0084】なお、メモリバンク[X]以外の他の各メ
モリバンクは、上述したメモリバンク[X]と同様の構
成をしているため、その詳細な説明は省略する。また、
第2のバススイッチャ33Eが行う上記他の各メモリバ
ンクに対するアクセス処理についても、後述する第2の
バススイッチャ33Eが行うメモリバンク[X]に対す
るアクセス処理と同様であるため、以下の説明では、第
2のバススイッチャ33Eが行うメモリバンク[X]に
対するアクセス処理についてのみ説明する。
【0085】まず、第2のバススイッチャ33Eの一連
の動作について説明する。
【0086】例えば、メモリバンク[X]上に描画する
ポリゴンの形状が図7に示すような三角形TABC (第1
のポリゴンの形状)であった場合、先ず、プリプロセッ
サ32から制御回路101には、ピクセルインターリー
ブの制御情報が供給される。
【0087】制御回路101は、プリプロセッサ32か
らのピクセルインターリーブの制御情報に基いて、三角
形TABC 内部をアクセスする際に用いるインターリーブ
パターンを、例えば、(4×4)のインターリーブパタ
ーンPに切り換える。
【0088】なお、制御回路101におけるインターリ
ーブパターンの切換方法についての詳細は後述する。
【0089】そして、制御回路101は、(4×4)の
インターリーブパターンPを用いて、メモリバンク
[X]上に形成される複数のインターリーブパターンの
うち、アクセスすべきインターリーブパターン、すなわ
ち三角形TABC 内部を全てアクセスすることができるよ
うなインターリーブパターンを検出する。
【0090】したがって、三角形TABC では、メモリバ
ンク[X]上の各インターリーブパターンをP(x方向
のパターンインデックス,y方向のパターンインデック
ス)で示した場合、図8に示すように、 P(x,y)=P(3,1),P(4,1),P(1,
2),P(2,2),P(3,2),P(4,2),P
(1,3),P(2,3),P(3,3),P(4,
3),P(5,3),P(2,4),P(3,4),P
(4,4),P(5,4),P(3,5),P(4,
5),P(5,5),P(4,6),P(5,6) で示される合計20個のインターリーブパターンが検出
される。
【0091】そして、制御回路101は、上述のように
して検出した20個のインターリーブパターンを示すパ
ターン情報をインターリーブパターン単位でセレクタ1
02に供給する。また、1アドレス単位でメモリアクセ
スを行う場合には、制御回路101は、三角形TABC
形状に基いたマスク情報をセレクタ102に供給する。
【0092】セレクタ102は、制御回路101からイ
ンターリーブパターン単位で供給されたパターン情報に
基いて、アクセスすべき(4×4)のインターリーブパ
ターンPに対応したアドレスをMUX/DMUX103
a,103b,103c,103dに指定する。
【0093】また、セレクタ102は、制御回路101
からマスク情報が供給された場合には、そのマスク情報
に基いて、図9に示すように、(4×4)のインターリ
ーブパターンPのなかでマスクを行った結果得られるア
クセスすべきアドレスをMUX/DMUX103a,1
03b,103c,103dに指定する。したがって、
例えば、図10に示すように、上記図9に示したP
(4,1)で示されるインターリーブパターン内のアド
レスA0 〜A15において、マスクを行った結果得られる
アクセスすべきアドレスは、A4,A5,A6,A8,
A9,A10,A13,A14,A15(斜線部分)と
なる。
【0094】MUX/DMUX103a,103b,1
03c,103dは、各々、メモリバンク[X]のアド
レスA0 〜A15のうち、セレクタ102により指定され
たアドレスをアクセスする。
【0095】ここで、上述したように、ピクセルエンジ
ン33DX1,33DX2,33DX3,33DX4からMUX
/DMUX103a,103b,103c,103dに
は、各々、画素データが供給されるようになされてい
る。
【0096】そこで、例えば、MUX/DMUX103
aは、セレクタ102により指定されたアドレスをアク
セスすることにより、入出力ポートP0 〜P15のうち上
記アドレスに対応した入出力ポートを介して、ピクセル
エンジンXaからの画素データをメモリバンク[X]の
上記アドレスにより示される領域に書き込む。
【0097】また、MUX/DMUX103aは、セレ
クタ102により指定されたアドレスをアクセスするこ
とにより、入出力ポートP0 〜P15のうち上記アドレス
に対応した入出力ポートを介して、メモリバンク[X]
の上記アドレスにより示される領域に書き込まれている
データを読み出す。そして、MUX/DMUX103a
は、メモリバンク[X]から読み出したデータに対して
所定の処理を行う。
【0098】なお、MUX/DMUX103b〜103
dの動作については、上述したMUX/DMUX103
aの動作と同様であるため、その詳細な説明は省略す
る。
【0099】つぎに、上述した制御回路101における
インターリーブパターンの切換方法について具体的に説
明する。
【0100】まず、メモリバンク[X]上に描画するポ
リゴンの形状が、例えば、図11に示すようにな横長の
三角形TDEF (第2のポリゴンの形状)であり、三角形
DEF を(4×4)のインターリーブパターンPでアク
セスする場合のアクセス回数について説明する。
【0101】この場合、アクセスすべきインターリーブ
パターンの個数は、図12に示すように、 P(x,y)=P(1,1),P(2,1),P(3,
1),P(4,1),P(5,1),P(0,2),P
(1,2),P(2,2),P(3,2),P(4,
2),P(5,2),P(6,2),P(7,2),P
(8,2),P(7,3),P(8,3),P(9,
3) の合計17個となる。
【0102】すなわち、(4×4)のインターリーブパ
ターンPで三角形TDEF をアクセスする場合、三角形T
DEF 内部を全てアクセスするためのアクセス回数は、1
7回となる。
【0103】また、1アドレス単位でアクセスする場合
には、上述した三角形TABC のアクセス時と同様に、図
13に示すように、(4×4)のインターリーブパター
ンPのなかでマスクを行うことにより、必要なメモリア
ドレスのみをアクセスすることとなる。
【0104】つぎに、図14に示すように、三角形T
DEF を(8×2)のインターリーブパターンP1 でアク
セスする場合、アクセスすべきインターリーブパターン
の個数は、図15に示すように、 P1(x,y)=P1(1,2),P1(2,2),P
1(0,3),P1(1,3),P1(2,3),P
1(0,4),P1(1,4),P1(2,4),P
1(3,4),P1(1,5),P1(2,5),P
1(3,5),P1(4,5),P1(3,6),P
1(4,6) の合計15個となる。
【0105】すなわち、(8×2)のインターリーブパ
ターンP1 で三角形TDEF をアクセスする場合、三角形
DEF 内部を全てアクセスするためのアクセス回数は、
15回となる。
【0106】また、1アドレス単位でアクセスする場合
には、上述した三角形TABC のアクセス時と同様に、図
16に示すように、(8×2)のインターリーブパター
ンP1 のなかでマスクを行うことにより、必要なメモリ
アドレスのみをアクセスすることとなる。
【0107】つぎに、図17に示すように、三角形T
DEF を(16×1)のインターリーブパターンP2 でア
クセスする場合、アクセスすべきインターリーブパター
ンの個数は、図18に示すように、 P2(x,y)=P2(0,5),P2(1,5),P
2(0,6),P2(1,6),P2(0,7),P
2(1,7),P2(0,8),P2(1,8),P
2(0,9),P2(1,9),P2(0,10),P
2(1,10),P2(2,10),P2(1,11),
2(2,11),P2(1,12),P2(2,1
2),P2(2,13) の合計18個となる。
【0108】すなわち、(16×1)のインターリーブ
パターンP2 で三角形TDEF をアクセスする場合、三角
形TDEF 内部を全てアクセスするためのアクセス回数
は、18回となる。
【0109】また、1アドレス単位でアクセスする場合
には、上述した三角形TABC のアクセス時と同様に、図
19に示すように、(8×2)のインターリーブパター
ンP2 のなかでマスクを行うことにより、必要なメモリ
アドレスのみをアクセスすることとなる。
【0110】上述のように、(4×4)のインターリー
ブパターンPで三角形TDEF をアクセスする場合のアク
セス回数は17回、(8×2)のインターリーブパター
ンP1で三角形TDEF をアクセスする場合のアクセス回
数は15回、(16×1)のインターリーブパターンP
2 で三角形TDEF をアクセスする場合のアクセス回数は
18回となり、この結果、(8×2)のインターリーブ
パターンP1 で三角形TDEF をアクセスする場合のアク
セス回数が最少のアクセス回数となる。したがって、三
角形TDEF に対する適切なインターリーブパターンは、
(8×2)のインターリーブパターンP1ということが
わかる。
【0111】そこで、制御回路101は、メモリバンク
[X]をアクセスする際に用いるインターリーブパター
ンを、アクセスするポリゴンの形状に応じた適切なイン
ターリーブパターンに切り換えるために、以下のような
処理を行う。
【0112】例えば、メモリバンク[X]上に描画する
ポリゴンの形状が図20に示すような三角形THIJ であ
った場合、先ず、制御回路101には、上述したよう
に、プリプロセッサ32からピクセルインターリーブの
制御情報が供給される。このピクセルインターリーブの
制御情報は、例えば、三角形THIJのの3つの頂点H,
I,Jのxy座標H(Xh,Yh),I(Xi,Y
i),J(Xj,Yj)等の情報である。
【0113】次に、制御回路101は、上記図20に示
すように、プリプロセッサ32からのピクセルインター
リーブの制御情報を用いて、三角形THIJ の縦横比R
を、X方向の最大値MAXx及び最少値MINx、Y方
向の最大値MAXy及び最少値MINyを持って、 R=dy/dx =(MAXx−MINx)/(MAXy−MINy) なる演算により求める。
【0114】なお、三角形THIJ では、 MAXx=Xj MINx=Xi MAXy=Yh MINy=Yi となる。
【0115】そして、制御回路101は、上述のように
して求めた縦横比Rに応じて、図21に示すような、
(1×16)、(2×8)、(4×4)、(8×2)、
(16×1)の5種類のインターリーブパターンPa〜
Peのうち適切なインターリーブパターンを選出し、三
角形THIJ をアクセスする際に用いるインターリーブパ
ターンを、選出したインターリーブパターンに切り換え
る。
【0116】ここで、制御回路101は、表1に示すよ
うな、縦横比Rとインターリーブパターンと対応表から
なるテーブルを有している。このテーブルには、縦横比
Rに応じた適切なインターリーブパターン、すなわちア
クセス回数が最小となるようなインターリーブパターン
が予め設定されている。したがって、制御回路101
は、上記テーブルを用いることにより、上述のようにし
て得られた縦横比Rに基いた適切なインターリーブパタ
ーンを選出することとなる。
【0117】
【表1】
【0118】上述のように、第2のバススイッチャ33
Eでは、メモリバンク[X]上に描画するポリゴンの形
状に応じて、上記図21に示したような5種類のインタ
ーリーブパターンPa〜Peから適切なインターリーブ
パターンを選出し、選出したインターリーブパターンで
メモリバンク[X]をアクセスするため、最小のアクセ
ス回数でメモリバンク[X]上に上記ポリゴンを描画す
ることができる。したがって、第2のバススイッチャ3
3Eは、メモリアクセスを効率良く行うことができる。
【0119】また、GPU15は、上述のような、メモ
リアクセスの効率化を図った第2のバススイッチャ33
Eにより、フレームバッファ18をアクセスしてデータ
処理を行うため、そのデータ処理を効率良く行うことが
できる。
【0120】
【発明の効果】本発明に係る描画装置及び描画方法で
は、描画手段がテクスチャマッピング処理に必要とする
テクスチャデータを前処理手段による前処理の段階でテ
クスチャメモリからテクスチャキャシュに転送し、上記
前処理手段と描画手段をパイプラインで動作させること
によって、上記描画手段を停止させることなく描画処理
を行うことができる。
【0121】また、本発明に係る描画装置及び描画方法
では、描画手段がミップチャマッピング処理を行うに必
要となる解像度のデータを上記前処理手段による前処理
の段階でテクスチャメモリ上のテクスチャデータから選
択してテクスチャキャシュに転送することによって、上
記テクスチャメモリのアクセス回数及びアクセス時間を
減らすことができ、全体の描画速度を上げることができ
る。
【図面の簡単な説明】
【図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種類のインターリー
ブパターンを示したパターン図である。
【符号の説明】
1 メインバス、11 メインCPU、12 メインメ
モリ、13 メインDMAC、 15 GPU、17
GTE、18 フレームバッファ、31 パケットエン
ジン、32 プリプロセッサ、33 描画エンジン、3
3A1,33A2・・・33AN ポリゴンエンジン、
33B1,33B2・・・33BN テクスチャエンジ
ン、33C 第1のバススイッチャ、33D1,33D
2・・・33DM、33E 第2のバススイッチャ、3
3F テクスチャキャッシュ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 単位図形の組合せにより定義された画像
    モデルを描画するための描画命令に基づいて、単位図形
    毎の描画処理に必要とするデータを生成する前処理を行
    う前処理手段と、 上記前処理手段から与えられるデータに基づいて、テク
    スチャマッピング処理により単位図形の画素データを生
    成して、画像メモリに描画する描画手段と、 上記描画手段がテクスチャマッピング処理に必要とする
    テクスチャデータを一時記憶するテクスチャキャシュと
    を備え、 上記描画手段がテクスチャマッピング処理に必要とする
    テクスチャデータを上記前処理手段による前処理の段階
    でテクスチャメモリから上記テクスチャキャシュに転送
    し、上記前処理手段と描画手段をパイプラインで動作さ
    せることを特徴とする描画装置。
  2. 【請求項2】 上記描画手段はミップマッピング処理行
    う機能を有し、 上記描画手段がミップマッピング処理を行うに必要とな
    る解像度のデータを上記前処理手段による前処理の段階
    でテクスチャメモリ上のテクスチャデータから選択して
    上記テクスチャキャシュに転送することを特徴とする請
    求項1記載の描画装置。
  3. 【請求項3】 単位図形の組合せにより定義された画像
    モデルを描画するための描画命令に基づいて、単位図形
    毎の描画処理に必要とするデータを生成する前処理を行
    い、この前処理により得られたデータに基づいて、テク
    スチャマッピング処理により単位図形の画素データを生
    成して、画像メモリに描画する描画処理を行うに当た
    り、 上記描画処理におけるテクスチャマッピング処理に必要
    とするテクスチャデータを上記前処理の段階でテクスチ
    ャメモリから上記テクスチャキャシュに転送し、上記前
    処理と描画処理をパイプラインで行うことを特徴とする
    描画方法。
  4. 【請求項4】 描画処理においてミップマッピング処理
    により単位図形の画素データを生成して、画像メモリに
    描画する描画処理を行うに当たり、 上記描画処理におけるミップマッピング処理に必要とな
    る解像度のデータを記前処理の段階でテクスチャメモリ
    上のテクスチャデータから選択して上記テクスチャキャ
    シュに転送することを特徴とする請求項3記載の描画方
    法。
JP02033296A 1996-02-06 1996-02-06 描画装置及び描画方法 Expired - Lifetime JP3645024B2 (ja)

Priority Applications (10)

Application Number Priority Date Filing Date Title
JP02033296A JP3645024B2 (ja) 1996-02-06 1996-02-06 描画装置及び描画方法
CN97190237A CN1099655C (zh) 1996-02-06 1997-02-06 图像绘制装置及图像绘制方法
KR1019970706721A KR100422082B1 (ko) 1996-02-06 1997-02-06 묘화장치및묘화방법
DE69739337T DE69739337D1 (de) 1996-02-06 1997-02-06 Apparat und verfahren zum zeichnen
PCT/JP1997/000297 WO1997029457A1 (en) 1996-02-06 1997-02-06 Apparatus and method for drawing
EP97902600A EP0820037B1 (en) 1996-02-06 1997-02-06 Apparatus and method for drawing
US08/930,648 US6157384A (en) 1996-02-06 1997-02-06 Apparatus and method for drawing
CA002216915A CA2216915C (en) 1996-02-06 1997-02-06 Picture drawing apparatus and picture drawing method
MXPA/A/1997/007540A MXPA97007540A (es) 1996-02-06 1997-10-01 Aparato y metodo para dibujar imagenes
US09/630,248 US7081894B1 (en) 1996-02-06 2000-08-01 Picture drawing apparatus and picture drawing method

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPH09212680A true JPH09212680A (ja) 1997-08-15
JP3645024B2 JP3645024B2 (ja) 2005-05-11

Family

ID=12024191

Family Applications (1)

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

Country Status (8)

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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002063594A (ja) * 2000-08-23 2002-02-28 Nintendo Co Ltd 内部フレームバッファと主メモリ間でのコピーアウト変換を有するグラフィクスシステム
JP2003030677A (ja) * 2001-07-19 2003-01-31 Namco Ltd 画像表示装置、画像表示方法、情報記憶媒体および画像表示プログラム
JP2008502979A (ja) * 2004-06-16 2008-01-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 逆テクスチャマッピング3dグラフィックスシステム
US9064347B2 (en) 2006-11-23 2015-06-23 Samsung Electronics Co., Ltd. Method, medium, and system rendering 3 dimensional graphics data considering fog effect

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
NZ513144A (en) * 1999-02-05 2003-05-30 Samsung Electronics Co Ltd Image texture retrieving method and apparatus thereof
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
JP3838086B2 (ja) * 2001-12-12 2006-10-25 ソニー株式会社 画像処理装置およびその方法
JP2005100176A (ja) * 2003-09-25 2005-04-14 Sony Corp 画像処理装置およびその方法
USD529506S1 (en) * 2005-04-11 2006-10-03 Microsoft Corporation Image for a portion of a display screen
USD528549S1 (en) * 2005-04-11 2006-09-19 Microsoft Corporation Transitional image for a portion of a display screen
USD529035S1 (en) * 2005-04-11 2006-09-26 Microsoft Corporation Image for a portion of a display screen
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 深圳市蓝韵实业有限公司 一种医学影像最大密度投影生成方法
KR101427408B1 (ko) * 2008-05-30 2014-08-07 어드밴스드 마이크로 디바이시즈, 인코포레이티드 스케일링가능하고 통합된 컴퓨팅 시스템
US20090309896A1 (en) * 2008-05-30 2009-12-17 Advanced Micro Devices, Inc. Multi Instance Unified Shader Engine Filtering System With Level One and Level Two Cache
US8502832B2 (en) 2008-05-30 2013-08-06 Advanced Micro Devices, Inc. Floating point texture filtering using unsigned linear interpolators and block normalizations
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
US5222205A (en) * 1990-03-16 1993-06-22 Hewlett-Packard Company Method for generating addresses to textured graphics primitives stored in rip maps
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
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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002063594A (ja) * 2000-08-23 2002-02-28 Nintendo Co Ltd 内部フレームバッファと主メモリ間でのコピーアウト変換を有するグラフィクスシステム
JP2003030677A (ja) * 2001-07-19 2003-01-31 Namco Ltd 画像表示装置、画像表示方法、情報記憶媒体および画像表示プログラム
JP2008502979A (ja) * 2004-06-16 2008-01-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 逆テクスチャマッピング3dグラフィックスシステム
US9064347B2 (en) 2006-11-23 2015-06-23 Samsung Electronics Co., Ltd. Method, medium, and system rendering 3 dimensional graphics data considering fog effect

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH09212680A (ja) 描画装置及び描画方法
JP3519199B2 (ja) 画像生成装置
JP4061697B2 (ja) 画像表示方法及びそれを実行する画像表示装置
JPH08161525A (ja) 画像情報生成方法及び画像情報処理装置、並びに記録媒体
US7170512B2 (en) Index processor
EP1312047B1 (en) Apparatus and method for rendering antialiased image
JPH09212146A (ja) アドレス発生装置及び画像表示装置
JPH10334273A (ja) 3次元画像処理装置及び3次元画像処理方法
KR100471905B1 (ko) 메모리액세스방법및데이터처리장치
JP2005332195A (ja) テクスチャユニット、画像描画装置、テクセル転送方法
US6992673B2 (en) Memory access device, semiconductor device, memory access method, computer program and recording medium
JP3548648B2 (ja) 描画装置及び描画方法
US7372461B2 (en) Image processing apparatus and method of same
JP3971448B2 (ja) 描画装置及び描画方法
JP3934111B2 (ja) 描画装置及び描画方法
JP3910259B2 (ja) 画像処理装置および方法、並びにレンダリング装置および方法
JP3468985B2 (ja) グラフィック描画装置、グラフィック描画方法
JP3306139B2 (ja) 画像処理装置およびゲーム機
JPH08171657A (ja) 画像情報生成方法、及び記録媒体
JP2003022696A (ja) テスト回路および画像処理装置
JPH11161816A (ja) データ記憶装置、データ記憶装置の制御装置とその方法および画像生成装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040910

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050104

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050202

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080210

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090210

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100210

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100210

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110210

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120210

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120210

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130210

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term