JP2000259840A - レンダリングプロセッサへのデータ転送方法、レンダリング処理前データ転送装置、システムおよびレンダリング処理前データ生成プロセッサ - Google Patents

レンダリングプロセッサへのデータ転送方法、レンダリング処理前データ転送装置、システムおよびレンダリング処理前データ生成プロセッサ

Info

Publication number
JP2000259840A
JP2000259840A JP6553099A JP6553099A JP2000259840A JP 2000259840 A JP2000259840 A JP 2000259840A JP 6553099 A JP6553099 A JP 6553099A JP 6553099 A JP6553099 A JP 6553099A JP 2000259840 A JP2000259840 A JP 2000259840A
Authority
JP
Japan
Prior art keywords
data
rendering
type
memory
processor
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.)
Pending
Application number
JP6553099A
Other languages
English (en)
Inventor
Masayuki Imanishi
政之 今西
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP6553099A priority Critical patent/JP2000259840A/ja
Publication of JP2000259840A publication Critical patent/JP2000259840A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 定率のレイテンシが確保できるとともに、ア
プリケーションに応じて、CPU側のメモリリソースお
よびデータ転送パフォーマンスの最適化を実現すること
のできる、レンダリングプロセッサへのデータ転送方法
を提供する。 【解決手段】(a)レンダリング処理前データを生成す
るステップ14と、(b)前記生成されたレンダリング
処理前データが第1種に属するか第2種に属するかを判
定するステップと、(c)前記判定の結果、前記第1種
に属すると判定された第1種のレンダリング処理前デー
タを直接的に、レンダリングプロセッサ24,28に転
送するステップと、(d)前記判定の結果、前記第2種
に属すると判定された第2種のレンダリング処理前デー
タをバッファ16,47を介して、前記レンダリングプ
ロセッサに転送するステップとを備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、レンダリングプロ
セッサへのデータ転送方法、レンダリング処理前データ
転送装置、システムおよびレンダリング処理前データ生
成プロセッサに関する。
【0002】
【従来の技術】この種の技術については、特開平7−3
20070号公報(公知文献1)に開示された以下に示
すものが知られている。上記公知文献1に記載されたグ
ラフィックスシステムは、CPUシステムにシステムバ
スを介してグラフィックス専用ハードウェアを設けたも
ので、グラフィックス処理のうちの幾何変換を中心とし
たジオメトリ処理を前記CPUシステムで行い、グラフ
ィックス処理のうちの1画素ずつ画素を生成するレンダ
リング処理を前記グラフィックス専用ハードウェアで行
うものである。上記公知文献1には、前記CPUシステ
ムから前記グラフィックス専用ハードウェアへのデータ
伝送をバスの1回のバースト転送単位で断続的に時間的
に分散して行うことが記載されている。
【0003】特開平10−97635号公報(公知文献
2)には、画素パラメータが、ディスプレイリストのか
たちでグラフィックスシステムに供給され、そのディス
プレイリストがグラフィックスプロセッサによりレンダ
リングされるべきプリミティブのパラメータを規定する
旨が記載されている。上記公知文献2には、ディスプレ
イリストが、グラフィックスプロセッサに対して、ポリ
ゴン、線、点およびその他のグラフィックスプリミティ
ブを描画するように指令を与えるとともに、プリミティ
ブをレンダリングするのに必要な、利用可能な各種パラ
メータに対して開始値および勾配値を与える旨が記載さ
れている。
【0004】レンダリングエンジン(レンダラ)の高性
能化に伴い、ディスプレイリスト型のレンダラは、画像
を構成するために、より多くの描画パラメータを必要と
されるようになった。特に、3次元(3D)の画像の処
理を行う3Dレンダラにおいては、この傾向が顕著であ
り、効率の良いデータ転送を行ってCPUの負荷を軽減
し、最大のパフォーマンスを得ることが求められてい
る。
【0005】以下、図14から図21を参照して、従来
のグラフィックスシステムについて説明する。
【0006】図14に示すように、従来のグラフィック
スシステム1Aは、CPU1と、ピクセルパターンメモ
リ2と、レンダラ(スプライトエンジンなど)3と、フ
レームバッファ4と、DAC部5と、モニタ6とを備え
ている。
【0007】CPU1は、モデルデータ(固有座標系を
持つ3Dデータ)をジオメトリ変換(ワールド座標系へ
移す)してディスプレイリスト(3Dデータ)を生成
(ワールド座標上での位置データ。各データの不透明、
半透明情報を含む。)する(シーン定義,図16の符号
7参照)。このディスプレイリストの生成は、垂直帰線
区間前後のブランキング突入時(図16の符号9で示す
VBLANK−IN)までに行われる(図15のステッ
プSK1、SK2)。
【0008】図14に示すように、CPU1は、生成し
たディスプレイリストをレンダラ3に出力する。レンダ
ラ3は、入力したディスプレイリストおよびピクセルパ
ターンメモリ2に格納されているピクセルパターンに基
づいて、描画データを生成する。レンダラ3は、生成し
た描画データをフレームバッファ4に出力して格納す
る。その後、描画データは、フレームバッファ4から読
み出されて、DAC部5を介してモニタ6に画像として
表示される。
【0009】上記したステップのうち、ディスプレイリ
ストをCPU1からレンダラ3に出力するステップか
ら、レンダラ3が描画データをフレームバッファ4に格
納するステップまでの各ステップは、図16に示すVB
LANK−IN9の時から、ブランキング解除時(VB
LANK−OUT8a)までの期間内に行われていた
(図15のステップSK2,3および4、図16の符号
10参照)。
【0010】その後、VBLANK OUT8aの時よ
り、前記描画データの読み出し・表示ステップが行われ
ていた(図15のステップSK5,図16の符号11参
照)。
【0011】なお、図16の符号10で示す期間内に、
上記の所定のステップが終了しない場合(ステップSK
4−Y)には、ディスプレイリストオーバーのエラー処
理をした上で、前記描画データの読み出し・表示作業が
行われる(ステップSK6,SK5)。
【0012】以下、上記において用いた用語の意味につ
いて説明する。
【0013】モデルデータは、例えば、CD−ROMに
格納されている。モデルデータは、固有座標系を有し、
その固有座標系での座標データ(モデルの原点からの相
対位置を示すデータ)を有している。モデルデータは、
上記の固有座標系での座標データの他、マテリアルデー
タを有している。マテリアルデータとは、そのモデルデ
ータの色、輝度、そのモデルデータに貼ってあるもの
(テクスチャー)、そのモデルデータが不透明/半透明
であるか,を示すデータ(例えばフラグ)などである。
【0014】CRTのような表示装置に表示するため、
モデルデータは、ワールド座標系の適切な位置に投影さ
れた状態で、さらに表示装置の2次元座標に投影され、
表示装置に表示される。
【0015】CPU1は、各モデルデータのワールド座
標上での位置データをリスト形式で生成する。ここで、
生成されたデータは、ディスプレイリストと呼ばれる。
ここでのディスプレイリストは、3次元(3D)データ
とする。
【0016】ディスプレイリストに基づいて、画像が表
示装置に表示されるときに用いられる描画データが生成
される。ディスプレイリストには、描画データの生成に
必要な各種データとして、各モデルデータの3次元位置
座標を示すデータと、各モデルデータの色を示すデータ
と、各モデルデータが半透明/不透明であるかを示すデ
ータと、各モデルデータのテクスチュアを示すデータが
含まれる。
【0017】シーンとは、表示装置で表示されるそれぞ
れの場面を意味している。例えば、表示装置において、
車が爆発する画像が表示される場合、爆発前のシーンと
爆発後のシーンとがそれぞれ存在することになる。
【0018】ジオメトリ変換とは、CPU1が、モデル
データをワールド座標系に座標変換することである。
【0019】シーン定義とは、モデルデータをワールド
座標系に座標変換(ジオメトリ変換)して、モデルデー
タについてのワールド座標上での位置データを、ディス
プレイリストとして生成する作業のことである。
【0020】CPU1は、3Dデータであるディスプレ
イリストを、レンダラ3に出力する。レンダラ3は、描
画データを生成するときに、3Dデータとしてのディス
プレイリストを、2Dデータに変換する。ここでの3D
−2Dデータ変換の代表的なものに、陰面消去(重ね合
わせ)と呼ばれる処理がある。陰面消去とは、例えば、
立方体の背部のように3Dでは存在するものの2Dでは
見えない部分が、表示装置上で表示されないように、該
背部についてのデータを削除することである。
【0021】レンダラ3は、入力したディスプレイリス
トに基づいて、描画処理を行い、2Dで見える部分を切
り出しフレームバッファ4に出力する。
【0022】レンダラ3は、描画データを生成するとき
に、ディスプレイリストに含まれる半透明データのデー
タ合成を行う。半透明データのデータ合成とは、例え
ば、赤い半透明の第1ガラスと青い半透明の第2ガラス
の各一部が重なり合っている画像についての描画データ
を生成する場合、重なっている部分を半透明の紫色にす
るとともに、重なっている部分と重なっていない部分と
を含めた全体の画像(第1および第2ガラスを示す画
像)の背部側に、他の画像が透けて見えるようにするこ
とである。なお、半透明データのデータ合成(半透明処
理)については、後述する。
【0023】以下、図17および図14を参照して、入
力装置(入力キー)を操作してから、そのキー操作に対
応した画像が表示されるまでの各ステップについて説明
する。
【0024】入力装置のキーを操作すると、CPU1
は、そのキーの操作を検知して、そのキー操作に対応し
た画像のためのディスプレイリストを生成する(ここの
ステップまでが、前記シーン定義である)。
【0025】CPU1は、生成したディスプレイリスト
をレンダラ3に出力する。レンダラ3は、入力したディ
スプレイリストに対応する描画データを生成するととも
に、その描画データをフレームバッファ4に書き込む。
フレームバッファ4に書き込まれた描画データが読み出
されて、表示装置に画像として表示される。上記のキー
操作から画像の表示までのサイクル時間をレイテンシと
呼ぶ。
【0026】近年、ディスプレイリストの増大に伴い、
せいぜい〜2ms程度のVBLANK期間(図16の符
号10の期間)中に、シーン定義された全てのディスプ
レイリストを転送することは、甚だ困難となってきた。
【0027】図18に示すように、ブランキング区間
に、CPUが生成したディスプレイリストをレンダラに
出力し、レンダラがディスプレイリストに従って画像を
生成するまでの処理を行うことは、困難になってきてい
る。
【0028】ここで、ブランキング区間とは、図18に
示すように、ある描画データ(第1描画データ)をフレ
ームバッファ4から読み出して表示をしている期間(D
isp0)の終了時(VBLANK−IN)から、第2
描画データをフレームバッファ4から読み出している期
間(Disp1)に移行する時(VBLANK−OU
T)までの間における、垂直帰線区間(Vsync)を
含んだ非表示区間のことである。なお、図18に示すよ
うに、1フィールドは、例えば1/60secである。
【0029】また、近年、非同期制御によるレンダリン
グ制御が使用される事が一要因となって、レイテンシが
一定化されない場合がある。
【0030】WindowsなどのOSでは、それぞれ
のハードウェアリソース(CPU、DMA装置、レンダ
ラ、フレームバッファ)を独立でコントロールし、調停
をとりながらレンダリングパイプラインを実現する非同
期制御が行われている。しかしながら、この場合、シー
ン定義から表示までの区間(レイテンシ)が一定しな
い。
【0031】特に、ゲーム機などでは、キーによる入力
から画面の変更を経て画面の更新までの時間が一定しな
いと、キー反応時間などにばらつきが生じてしまい、操
作感覚に重大な影響を及ぼしてしまう。このため、VB
LANKに同期したレンダリングパイプラインで定率の
レイテンシを確保しつつ、簡便な方法で同期制御を行う
ことが求められている。
【0032】ところで、前述した半透明データのデータ
合成に際しては、半透明データを、その奥行き方向(Z
方向)の順序で並び替える(ソート)処理を行う必要が
ある。前述したように、半透明データのデータ合成はレ
ンダラ3が行っているが、従来は、それに先立って半透
明データのZ方向のソート処理は、CPU1がディスプ
レイリストの生成時またはディスプレイリストに基づい
て行い、レンダラ3は、そのソート結果に基づいて半透
明データのデータ合成を行っていた。
【0033】近時では、前記半透明データのZ方向のソ
ート処理を、CPU1ではなく、レンダラ3で行うもの
が提案されている。CPU1の負荷を軽減するためであ
る。この提案されたものによれば、レンダラ3に入力さ
れるパラメータ(不透明のディスプレイリストか、半透
明のディスプレイリストか)を分ける必要がある。以
下、詳細に説明する。
【0034】図19を参照して、2つの不透明の三角形
11,12の一部が重なっている場合について説明す
る。三角形11が奥に位置しており、三角形12が手前
に位置しているとする。手前の三角形12が不透明であ
ることから、2つの三角形11,12の重なり合ってい
る部分Eは、見えない状態になっている。
【0035】ここで、描画データの生成に際して、奥の
三角形11を先に描いて手前の三角形12を後に描く場
合、前記重なりの部分Eについては、手前の三角形12
を奥の三角形11に対して上書きする。逆に、手前の三
角形12を先に描いて奥の三角形11を後に描く場合に
は、前記重なりの部分Eについては奥の三角形11を描
かないことにする。
【0036】すなわち、奥の三角形11か手前の三角形
12かを問わず、「既に先に描かれている三角形」に対
して、「描かれる順番が後になる三角形(後の三角
形)」を描くときには、その「後の三角形」に含まれる
重なり部分Eが「先に描かれた三角形」よりも、手前に
あるか奥にあるかを判断する。その判断の結果、その部
分Eが「先に描かれた三角形」よりも、手前にあると判
断された場合には、「先に描かれた三角形」(奥の三角
形)に対してその部分Eを上書きする。前記判断の結
果、奥にあると判断された場合には、その部分Eを描か
ないことにする。
【0037】図20を参照して、2つの半透明の三角形
13,14Aの一部が重なっている場合について説明す
る。この場合には、2つの三角形13,14Aの重なり
の部分Gが見えることから、上記図19の不透明の場合
の方法(後の三角形に含まれる重なり部分が先の三角形
よりも手前か奥かを判断する方法)をそのまま適用する
ことができない。
【0038】図21に示すように、Zを、その図形が配
置される奥行き方向の位置を示す値とする。Zの値が大
きいほど奥に位置しているとする。いま、Z=1.0の
半透明の青の第1三角形15Aと、Z=2.0の不透明
の赤の第2三角形16Aと、Z=3.0の半透明の緑の
第3三角形17Aとが互いに重なり合っているとする。
【0039】ここで、第1〜第3三角形15A,16
A,17Aを描く順番を、最初(1番)が第1三角形1
5A、2番が第2三角形16A、最後が第3三角形17
Aとして、上記図19の不透明の場合の方法をそのまま
適用する。上記方法によれば、第2三角形16Aは、先
に描かれた第1三角形15Aに比べて奥に位置している
ため、第2三角形16Aは描かれないことになる。とこ
ろが、第1三角形15Aは半透明であり、第1三角形1
5Aを介して第2三角形16Aを見ることができること
から、第2三角形16Aは描かれる必要がある。
【0040】そこで、半透明データを含む場合には、描
く前に描く順番を並び替える必要があった。並び替え
(ソート)は、Zの値が大きいものが先に描かれるよう
に行う。この例では、第3三角形17Aを最初に、第2
三角形16Aを2番に、第1三角形15Aを最後に描く
ようにソートする。すると、第3三角形17Aは、不透
明の第2三角形16Aによって隠され、第2三角形16
Aの上に半透明の第1三角形15Aが描かれて、第1〜
第3三角形15A〜17Aの全体として所望の描画デー
タが生成されることになる。前述したように、この描く
順番のソートは、CPU1が行っている。
【0041】この場合、不透明の第2三角形16Aの奥
に位置する第3三角形17Aは、第2三角形16Aに隠
れて見えない状態となる。見えない状態となる第3三角
形17Aについては、表示されないようにそのデータが
削除される。よって、データが削除される第3三角形1
7Aについては、もともと、そのソート処理およびデー
タ合成処理を行わないほうが処理効率がよいことにな
る。
【0042】このことから、レンダラ3が半透明データ
のソート処理およびデータ合成処理を行う場合、半透明
データよりも先に不透明データの処理を行うと、その不
透明データよりも奥に位置するデータ(見えないとして
削除されるデータ)の処理をしないで済む。
【0043】したがって、従来のCPU1に代わって、
レンダラ3が半透明データのソート処理を行う場合に、
レンダラ3には、半透明データと不透明データとが分け
られた状態でディスプレイリストが入力される必要があ
る。
【0044】上記のように、近年、3Dレンダラにおい
て半透明処理を行う場合、従来CPU1によってユーザ
がZ順序をソートしていた処理を、レンダラ3のような
ハードウェアが行い、半透明処理を高速化する手法が用
いられ出している。
【0045】この場合、不透明データのディスプレイリ
ストと半透明データのディスプレイリストを分離してレ
ンダラ3に送出する必要があり、この場合のデータバッ
ファリング、送出手法にも最適化を行う必要が出てき
た。
【0046】
【発明が解決しようとする課題】本発明は、上記の事情
に鑑みてなされたもので、定率のレイテンシが確保でき
るとともに、アプリケーションに応じて、CPU側のメ
モリリソースおよびデータ転送パフォーマンスの最適化
を実現することのできる、レンダリングプロセッサへの
データ転送方法、レンダリング処理前データ転送装置、
システムおよびレンダリング処理前データ生成プロセッ
サを提供することを目的としている。
【0047】
【課題を解決するための手段】本発明のレンダリングプ
ロセッサへのデータ転送方法は、(a)レンダリング処
理前データを生成するステップ(14)と、(b)前記
生成されたレンダリング処理前データが第1種に属する
か第2種に属するかを判定するステップと、(c)前記
判定の結果、前記第1種に属すると判定された第1種の
レンダリング処理前データを直接的に、レンダリングプ
ロセッサ(24,28)に転送するステップと、(d)
前記判定の結果、前記第2種に属すると判定された第2
種のレンダリング処理前データをバッファ(16,4
7)を介して、前記レンダリングプロセッサ(24,2
8)に転送するステップとを備えている。
【0048】本発明のレンダリングプロセッサへのデー
タ転送方法において、前記(a)、(b)、(c)およ
び(d)のステップはいずれも、同一の単位期間(V)
内に行われるものである。
【0049】本発明のレンダリングプロセッサへのデー
タ転送方法は、(g)レンダリング処理前データを生成
するステップ(14)と、(h)前記生成されたレンダ
リング処理前データが第1種に属するか第2種に属する
かを判定するステップと、(i)前記判定の結果、前記
第1種に属すると判定された第1種のレンダリング処理
前データをバッファを介して、レンダリングプロセッサ
(24,28)に転送するステップと、(j)前記判定
の結果、前記第2種に属すると判定された第2種のレン
ダリング処理前データをバッファを介して、前記レンダ
リングプロセッサ(24,28)に転送するステップと
を備えている。
【0050】本発明のレンダリングプロセッサへのデー
タ転送方法において、更に、(e)前記判定の結果、前
記第1種に属すると判定された第1種のレンダリング処
理前データを、バッファを介して前記レンダリングプロ
セッサ(24,28)に転送するステップと、(f)前
記(c)のステップおよび前記(e)のステップのうち
のいずれかを選択的に行うステップとを備えたものであ
る。
【0051】本発明のレンダリング処理前データ転送装
置は、第1種および第2種のいずれかに属するレンダリ
ング処理前第1データを生成する第1データ生成部(1
4)と、前記レンダリング処理前第1データを格納する
ための第1のメモリ(16)と、前記レンダリング処理
前第1データに基づいて、レンダリング処理前第2デー
タを生成する第2データ生成部(20)と、前記レンダ
リング処理前第2データを格納するための第2のメモリ
(28)と、前記第2のメモリ(28)から出力された
前記レンダリング処理前第2データにレンダリング処理
を行うレンダリング部(21,22,23)とを備え、
前記第1種に属するレンダリング処理前第1データは、
前記第1データ生成部(14)から直接、前記第2デー
タ生成部(20)に転送され、前記第2種に属するレン
ダリング処理前第1データは、前記第1データ生成部
(14)から前記第1のメモリ(16)に格納された後
に、前記第2データ生成部(20)に転送されるもので
ある。
【0052】本発明のレンダリング処理前データ転送装
置は、第1種および第2種のいずれかに属するレンダリ
ング処理前第1データを生成する第1データ生成部(1
4)と、前記レンダリング処理前第1データを格納する
ための第1のメモリ(16)と、前記レンダリング処理
前第1データに基づいて、レンダリング処理前第2デー
タを生成する第2データ生成部(20)と、前記レンダ
リング処理前第2データを格納するための第2のメモリ
(28)と、前記第2のメモリ(28)から出力された
前記レンダリング処理前第2データにレンダリング処理
を行うレンダリング部(21,22,23)とを備え、
前記第1種に属するレンダリング処理前第1データは、
前記第1データ生成部(14)から前記第1のメモリ
(16)に格納された後に、前記第2データ生成部(2
0)に転送され、前記第2種に属するレンダリング処理
前第1データは、前記第1データ生成部(14)から前
記第1のメモリ(16)に格納された後に、前記第2デ
ータ生成部(20)に転送されるものである。
【0053】本発明のレンダリング処理前データ転送シ
ステムは、第1種および第2種のいずれかに属するレン
ダリング処理前第1データを生成する第1データ生成部
(14)と、前記レンダリング処理前第1データを格納
するための第1のメモリ(16)と、前記レンダリング
処理前第1データに基づいて、レンダリング処理前第2
データを生成する第2データ生成部(20)と、前記レ
ンダリング処理前第2データを格納するための第2のメ
モリ(28)と、前記第2のメモリ(28)から出力さ
れた前記レンダリング処理前第2データにレンダリング
処理を行うレンダリング部(21,22,23)とを備
え、前記第1種に属するレンダリング処理前第1データ
は、前記第1データ生成部(14)から前記第1のメモ
リ(16)に格納された後に、前記第2データ生成部
(20)に転送され、前記第2種に属するレンダリング
処理前第1データは、前記第1データ生成部(14)か
ら直接前記第2データ生成部(20)に転送される第1
のルート、および前記第1データ生成部(14)から前
記第1のメモリ(16)に格納された後に前記第2デー
タ生成部(20)に転送される第2のルートのうちの選
択されたいずれかのルートで転送されるものである。
【0054】本発明のレンダリング処理前データ生成プ
ロセッサは、レンダリング処理前データを生成するとと
もに、前記生成されたレンダリング処理前データをレン
ダリングプロセッサ(24)に出力する、レンダリング
処理前データ生成プロセッサ(14)であって、前記レ
ンダリング処理前データを生成する処理前データ生成部
と、前記生成されたレンダリング処理前データに基づい
て、前記レンダリング処理前データが第1種に属するか
第2種に属するかを判定する判定部と、前記判定の結果
に応じて、前記レンダリング処理前データの出力先を決
定する出力先決定部とを備えたものである。
【0055】本発明のレンダリング処理前データ生成プ
ロセッサは、レンダリング処理前データを生成するとと
もに、前記生成されたレンダリング処理前データをレン
ダリングプロセッサ(24)に出力する、レンダリング
処理前データ生成プロセッサ(14)であって、前記レ
ンダリング処理前データを生成する処理前データ生成部
と、前記生成されたレンダリング処理前データから、前
記レンダリング処理前データに含まれる前記レンダリン
グ処理前データが第1種および第2種のいずれに属する
かを示す帰属データ(50a)を抽出する帰属データ抽
出部(50)と、前記帰属データを示す帰属データ信号
と前記帰属データ信号の反転信号とをそれぞれ入力して
アドレス信号をそれぞれ出力する複数のアドレスカウン
タ(53,54)と、前記複数のアドレスカウンタ(5
3,54)のそれぞれの出力部と、前記レンダリングプ
ロセッサ(24)に接続されたアドレスバス(56)と
を選択的に接続するスイッチ部(55)とを備え、前記
複数のアドレスカウンタ(53,54)のそれぞれは、
前記入力した帰属データ信号または前記反転信号に基づ
いて、カウントイネーブル状態のオン/オフが切り替え
られ、前記スイッチ部(55)は、前記帰属データ信号
および前記反転信号のいずれかに基づいて、前記複数の
アドレスカウンタ(53,54)のそれぞれの出力部と
前記アドレスバス(56)とを選択的に接続するもので
ある。
【0056】本発明のレンダリング処理前データ生成プ
ロセッサ(14)において、前記出力先決定部は、前記
レンダリング処理前データの出力先における書き込みア
ドレスを生成する複数の書き込みアドレスカウンタ(5
3,54)を備え、前記レンダリング処理前データ生成
プロセッサは、更に、設定された書き込み禁止アドレ
ス、を格納するリミットアドレスレジスタ(65,6
6)と、前記書き込みアドレスと前記書き込み禁止アド
レスとに基づいて、前記書き込みアドレスが前記書き込
み禁止アドレスであるか否かを判定し、前記判定の結
果、前記書き込みアドレスが前記書き込み禁止アドレス
であると判定したときに、前記書込み禁止アドレスへの
前記レンダリング処理前データの書き込みを禁止するた
めの信号(63,64)を出力するアドレスコンパレー
タ(61,62)とを備えたものである。
【0057】
【発明の実施の形態】以下、図1から図13を参照し
て、本発明のレンダリング処理前データ転送システムの
一実施形態について説明する。
【0058】図1は、本実施形態のレンダリング処理前
データ転送システムのハードウェアの構成を示す図であ
る。図2は、本実施形態のシステムにおける3Vレイテ
ンシの場合のデータの流れを示す図である。図3は、3
Vレイテンシの処理タイミング(処理パイプライン)を
示すタイミングチャートである。図4は、本システムに
おけるパイプラインの状態遷移状態を示す図である。
【0059】図5は、3Vレイテンシの処理のメイン処
理を示すフローチャートである。図6は、3Vレイテン
シの処理のVBLANK−IN割り込み処理を示すフロ
ーチャートである。図7は、3Vレイテンシの処理のD
MA終了割り込み処理を示すフローチャートである。図
8は、3Vレイテンシの処理のレンダリング終了割り込
み処理を示すフローチャートである。
【0060】図9は、本実施形態のシステムにおける2
Vレイテンシの場合のデータの流れを示す図である。図
10は、2Vレイテンシの処理タイミング(処理パイプ
ライン)を示すタイミングチャートである。図11は、
2Vレイテンシの処理のメイン処理を示すフローチャー
トである。図12は、2Vレイテンシの処理のVBLA
NK−IN割り込み処理を示すフローチャートである。
図13は、CPU内にタイプ別振り分け機構を実装した
場合の回路構成図である。
【0061】以下、図1を参照して、本実施形態のレン
ダリング処理前データ転送システムのハードウェアの構
成について説明する。
【0062】図1において、符号14はCPUを示して
いる。CPU14は、レンダラ(レンダリングエンジ
ン)24に接続されている。CPU14には、ローカル
メモリ16が設けられている。レンダラ24には、ロー
カルメモリ28(VRAM)が設けられている。
【0063】CPU14には、アドレスジェネレータ1
5が設けられている。アドレスジェネレータ15は、C
PU14内のメモリや外部デバイス(図示せず)をアク
セスするためのアドレスを生成する。
【0064】アドレスジェネレータ15は、DMA(d
irect memory access)転送を行う
ためのコントローラを有している。一般にバースト転送
を多数連続した転送がDMA転送である。前記DMA転
送とは、メモリ16からレンダラ24およびレンダラロ
ーカルメモリ28へのデータのDMA転送を意味してい
る。
【0065】アドレスジェネレータ15は、アクセス先
として、図中チップセレクト1としてレンダラ24を選
択し、チップセレクト2としてメモリ16を選択する。
アドレスジェネレータ15は、チップセレクト1,2お
よびアドレスバスを制御することにより、メモリ16か
らレンダラ24にデータをDMA転送するときと、CP
U14自体がメモリ16,レンダラ24をアクセスする
ときとを調整している。
【0066】CPU14のローカルメモリ16は、汎用
メモリである。メモリ16には、CPU14によって生
成・送出されるディスプレイリストを格納するためのメ
モリ領域17,18が確保される。メモリ16には、本
実施形態のシステムを制御するOSや、ピクセルパター
ンのライブラリが格納されている。なお、後述する2V
/3Vレイテンシの切り替えは、メモリ16に格納され
ているドライバソフトウェア上で行われる。
【0067】CPU14がディスプレイリストをメモリ
16に書き込む場合、そのディスプレイリストのうちの
不透明データと半透明データとを分けた状態で、それぞ
れを別のメモリ領域17,18に書き込む。
【0068】次に、レンダラ24の内部構成について説
明する。
【0069】レンダラ24は、FIFO部19と、ハー
ドウェアパラメータジェネレータ20と、バスアービタ
25と、陰面消去および半透明ソート部23と、テクス
チュアリング部21と、ブレンディング部22とを有し
ている。
【0070】FIFO部19は、レンダラ24におけ
る、CPU14との接続部に設けられている。FIFO
部19は、転送されてきたデータを入力して一時保存す
るものである。
【0071】FIFO部19の後段には、ハードウェア
パラメータジェネレータ20が設けられている。ハード
ウェアパラメータジェネレータ20は、FIFO部19
を介して入力したディスプレイリストを、ハードウェア
(レンダラ24)が扱い易いデータ形式に変えるもので
ある。
【0072】ハードウェアパラメータジェネレータ20
から出力されたデータは、バスアービタ25を経由し
て、レンダラローカルメモリ28に書き込まれる。バス
アービタ25は、レンダラ24とレンダラローカルメモ
リ28との間で、データ入出力を行うバスの調停を行
う。
【0073】レンダラローカルメモリ28には、ハード
ウェアパラメータジェネレータ20から出力されたハー
ドウェアパラメータのうち、半透明のものと不透明のも
のとを別々に格納するためのメモリエリア29,30が
確保される。レンダラローカルメモリ28は、上記の不
透明のハードウェアパラメータ格納部29および半透明
のハードウェアパラメータ格納部30の他、テクスチュ
ア格納部31と、フレームバッファ32とを備えてい
る。
【0074】テクスチュア格納部31には、画像に貼り
付けられる模様を示すデータ(テクスチュアデータ)が
格納されている。フレームバッファ32は、画像表示用
メモリである。フレームバッファ32は、ハードウェア
パラメータに基づいて生成された描画データをビットマ
ップ形式で保持する。
【0075】レンダラローカルメモリ28の不透明のハ
ードウェアパラメータ格納部29および半透明のハード
ウェアパラメータ格納部30のそれぞれに格納された、
不透明のハードウェアパラメータおよび半透明のハード
ウェアパラメータに基づいて、実際の描画を行って描画
データを生成するのが、陰面消去および半透明ソート部
23、テクスチュアリング部21ならびにブレンディン
グ部22である。
【0076】陰面消去および半透明ソート部23は、前
述した陰面消去処理および半透明のデータの並び替え処
理を行う。テクスチュアリング部21は、テクスチュア
格納部31に格納されたテクスチュアデータに基づい
て、テクスチュア(模様)の貼付け処理を行う。ブレン
ディング部22は、半透明のポリゴンについて色や模様
を混ぜる処理を行う。
【0077】陰面消去および半透明ソート部23、テク
スチュアリング部21ならびにブレンディング部22に
よる各処理が行われることにより、完成された画像を示
す描画データが生成される。前記描画データは、バスア
ービタ25を介して、フレームバッファ32に書き込ま
れる。フレームバッファ32に書き込まれた前記描画デ
ータは、バスアービタ25およびDAC部26を介し
て、モニタ27に出力され、モニタ27により表示され
る。
【0078】以下、図2を参照して、図1に示したハー
ドウェアで実現される第1のデータの流れについて説明
する。
【0079】図2に示すCPUのローカルメモリ16で
は、図1において確保された不透明と半透明のディスプ
レイリストのメモリエリア17,18が、2ペア分確保
されている(符号37,38,39,40参照)。すな
わち、図2では、CPUのローカルメモリ16が、ダブ
ルバッファとして使用されている。
【0080】図2に示すレンダラローカルメモリ28で
は、図1において確保された不透明と半透明のハードウ
ェアパラメータのメモリエリア29,30が、2ペア分
確保されている(符号41,42,43,44参照)。
すなわち、図2では、ハードウェアパラメータのメモリ
エリア(不透明1、半透明1、不透明2、半透明2)4
1〜44が、ダブルバッファとして使用されている。
【0081】図2に示すレンダラローカルメモリ28で
は、符号45,46に示すように、図1において確保さ
れたフレームバッファ32のメモリ領域が2つ分確保さ
れ、フレームバッファ45,46は、ダブルバッファと
して使用される。
【0082】まず、図2の符号33に示すように、CP
U14により生成されたディスプレイリストは、CPU
14のローカルメモリ16に書き込まれてシーン定義が
行われる。この場合、CPU14により書き込まれるデ
ィスプレイリストは、CPUのローカルメモリ16の前
記2ペア分確保されたメモリエリア37,38,39,
40のうち、符号37,38で示される第1のペア(不
透明1・半透明1)に相当するディスプレイリストメモ
リエリアに書き込まれる。
【0083】第1のディスプレイリストメモリエリア3
7,38に書き込まれたディスプレイリストは、その書
き込みが行われたV期間の次のV期間で、符号34に示
すように、第1のディスプレイリストメモリエリア3
7,38から、ローカルメモリ16の外部にDMA転送
される(DMAステップ。後述する)。
【0084】符号34に示すように、DMA転送される
ディスプレイリストは、レンダラ24のFIFO部1
9、ハードウェアパラメータジェネレータ20およびバ
スアービタ25を経由して、レンダラローカルメモリ2
8の符号41,42で示す第1のペア(不透明1・半透
明1)に相当するハードウェアパラメータメモリエリア
に書き込まれる。
【0085】第1のハードウェアパラメータメモリエリ
ア41,42に書き込まれたハードウェアパラメータ
は、その書き込みが行われたV期間の次のV期間で、符
号35に示すように、第1のハードウェアパラメータメ
モリエリア41,42から、レンダラ24に転送され
て、前記描画データとして生成され、その生成された描
画データは、レンダラローカルメモリ28の第1のフレ
ームバッファ45に書き込まれる。
【0086】第1のフレームバッファ45に書き込まれ
た描画データは、その書き込みが行われたV期間の次の
V期間で、符号36に示すように、第1のフレームバッ
ファ45から読み出されて、モニタ27に出力されて表
示される(表示ステップ。後述する)。
【0087】符号36に示すように、第1のフレームバ
ッファ45に格納されている描画データが読み出される
と、バスアービタ25およびDAC部26を経由してモ
ニタ27に出力される。
【0088】なお、第1、第2のフレームバッファ4
5,46は、前記描画データをフレーム単位で格納する
ものであってもよいし、フィールド単位で格納するもの
であってもよい。
【0089】図2に示すように、符号33,34,3
5,36に示される経路(データパス)は、それらの経
路が全て同時にデータ転送動作が行えるようになってい
る。すなわち、全てのハードウェアリソースは競合せ
ず、最大のパフォーマンスを得ることができる。
【0090】上記構成によれば、第1、第2のフレーム
バッファ45,46を用いて、2種類の描画データにつ
いて交互に書き込みと読み出しを行うことができる。
【0091】次に、図3を参照して、図2に示したデー
タフローについてのタイミングについて説明する。図3
および図4に示すように、各ステップのシーケンスは、
すべてVsyncに同期して進められる。
【0092】図3における「シーン定義1」は、図2の
符号33に対応している。図3の「ディスプレイリスト
送出DMA1」は、図2の符号34に対応している。同
様に、「レンダリング1」は符号35に対応し、「表示
1」は符号36に対応している。
【0093】図3において「シーン定義4」が行われる
V期間(第4のV期間V4)では、「シーン定義4」
と、「ディスプレイリスト送出DMA3」と、「レンダ
リング2」および「表示1」の、4つのステップが同時
に行われている。これは、図2において、4つのデータ
パス33,34,35,36の全てを同時に利用できる
ことを意味している。
【0094】図3において、「ディスプレイリスト送出
DMA3」は、当該V期間の1つ前のV期間(第3のV
期間V3)でシーン定義が行われたディスプレイリスト
のDMA転送を行っていることを意味する。「レンダリ
ング2」は、当該V期間の2つ前のV期間(第2のV期
間V2)でシーン定義が行われたディスプレイリストの
レンダリングを行っていることを意味する。「表示1」
は、3つ前のV期間(第1のV期間V1)でシーン定義
が行われたディスプレイリストの表示を行っていること
を意味している。
【0095】第1のV期間V1の「シーン定義1」にて
定義されたシーンが、第4のV期間V4の「表示1」に
て表示されるまでに、3つ分のV期間(Vsync期
間、ディレイタイム)がかかることから、図2および図
3に示したデータの流れを「3Vレイテンシ」と呼ぶ。
【0096】図4を参照して、パイプラインの状態遷移
について説明する。
【0097】図4に示すように、ディスプレイリストの
定義中(作成中)というステートST1と、その次の、
ディスプレイリストの作成終了というステートST2
と、DMA転送中というステートST3と、DMA転送
終了ST4というステートと、レンダリング中ST5と
いうステートと、レンダリング終了というステートST
6と、表示中というステートST7とからなっている。
図4の矢印に示すように、一方向にのみ状態が遷移す
る。
【0098】図5から図8に、図2および図3の3Vレ
イテンシのデータフローを実現するソフトウェアのフロ
ーチャートを示す。
【0099】まず、図5を参照して、3Vレイテンシの
メイン処理について説明する。
【0100】ステップS1では、図2に示したメモリ1
6における第1のディスプレイリストメモリエリア(不
透明1,半透明1)37,38の書き込みポインタ(書
き込みアドレス)の初期化を行う。
【0101】ステップS2では、現在のパイプラインの
状態を示す変数(状態変数)を「ディスプレイリスト定
義中」(図4のST1)に設定する。
【0102】ステップS3では、ジオメトリ演算を行っ
て、ディスプレイリストを作成していく。ディスプレイ
リストの作成は、このステップS3以降、ステップS7
で「シーン定義終了」の判断が行われるまで行われる。
後述するように、ステップS7に至るまでのステップS
5,6においては、その作成中のディスプレイリストが
不透明リストか半透明リストかによって、異なる処理が
行われる。
【0103】ステップS4では、線または図形の基準点
に対応する頂点データが不透明か否かが判定される。こ
こで、頂点データが不透明であるか否かの判定は、ソフ
トウェア上で行われる(この判定をハードウェアで行う
ものを後述する)。モデルデータは、その属性の一つと
して、そのモデルデータが不透明か半透明かを示すデー
タを有しており、そのモデルデータがワールド座標系に
投影されるときに、不透明か半透明かで振り分けられな
がら投影される。
【0104】すなわち、ステップS4での判定の結果、
その頂点データが不透明であると判定された場合(ステ
ップS4−Y)、ステップS5において、その頂点デー
タ(を有する線または図形のデータ)を不透明リストバ
ッファ(第1のディスプレイリストメモリエリア)37
へ書き込み、不透明ディスプレイ書き込みポインタを次
の位置まで進める。その後、ステップS7の「シーン定
義終了」の判定ステップまで進む。
【0105】ステップS4での判定の結果、その頂点デ
ータが不透明ではないと判定された場合(ステップS4
−N)、ステップS6において、その頂点データ(を有
する線または図形のデータ)を半透明リストバッファ3
8へ書き込み、半透明ディスプレイリスト書き込みポイ
ンタを次の位置まで進める。その後、ステップS7の
「シーン定義終了」の判定ステップまで進む。
【0106】ステップS7では、シーン定義が終了した
か否かが判定される。判定の結果、終了していないと判
定された場合(ステップS7−N)には、ステップS3
まで戻る。判定の結果、終了していると判定された場合
(ステップS7−Y)には、ステップS8に進む。
【0107】ステップS8では、現在のパイプラインの
状態変数を「ディスプレイリスト定義終了」(図4のS
T2)に設定する(図4の矢印Y1参照)。
【0108】ステップS9では、VBLANK−INの
タイミングに到達したか否かを判定する。図3の第1の
V期間V1における「シーン定義1」の後から、第1の
V期間V1の終了を示す「VBLANK−IN」までの
破線で示すように、ステップS9では、「シーン定義
1」が終了(ステップS7,S8)した後、次の「VB
LANK−IN」のタイミングになったか否かを判断し
ている。そのタイミングになるまで、ステップS9の判
定ステップで待ち続け(ステップS9−N)、そのタイ
ミングになったときに次のV期間(第2のV期間V2)
についてのメイン処理(シーン定義2)を開始する(ス
テップS9−Y、図4の矢印Y2)。
【0109】次に、図6から図8を参照して、3Vレイ
テンシにおける割り込み処理について説明する。図6
は、VBLANK−IN割り込み処理を示している。図
7は、DMA終了の割り込み処理を示している。図8
は、レンダリング終了の割り込み処理を示している。
【0110】まず、図6を参照して、VBLANK−I
Nの割り込み処理について説明する。ここでは、図4に
示した、ある状態遷移状態(ステート)を次の状態遷移
状態(ステート)に移すという作業が行われる。
【0111】ステップSB1では、全パイプライン中に
「レンダリング中」、「DMA転送中」、「ディスプレ
イリスト定義中」の状態があるか否かが判定される。そ
の判定の結果、あると判定された場合(SB1−Y)に
は、図6に示すVBLANK−INの割り込み処理はな
されないで終了(END)する。その判定の結果、ない
と判定された場合(SB1−N)には、ステップSB2
に進む。
【0112】ステップSB2では、パイプラインが「デ
ィスプレイリスト定義終了」か否かが判定される。その
判定の結果、終了していると判定された場合(ステップ
SB2−Y)には、ステップSB3に進む。ステップS
B3では、ディスプレイリストのDMA転送開始(DM
A転送中)の状態遷移状態に移される(図4の矢印Y5
参照)。その後、後述するステップSB8に進む。
【0113】ステップSB2での判定の結果、終了して
いないと判定された場合(ステップSB2−N)には、
ステップSB4に進む。ステップSB4では、パイプラ
インが「DMA転送終了」か否かが判定される。
【0114】ステップSB4での判定の結果、終了して
いると判定された場合(SB4−Y)には、ステップS
B5に進む。ステップSB5では、レンダリング開始
(レンダリング中)の状態遷移状態に移される(図4の
矢印Y6参照)。その後、ステップSB8に進む。
【0115】ステップSB4での判定の結果、終了して
いないと判定された場合(SB4−N)には、ステップ
SB6に進む。ステップSB6では、パイプラインが
「レンダリング終了」か否かが判定される。その判定の
結果、終了していると判定された場合(ステップSB6
−Y)は、表示中の状態遷移状態に移されて、表示が開
始される(ステップS7B,図4の矢印Y7)。その
後、ステップSB8に進む。
【0116】ステップSB8では、全てのパイプライン
を検査したか否かが判定される。その判定の結果、検査
したと判定された場合(ステップSB8−Y)には、こ
のVBLANK−INの割り込み処理のフローを終了
(END)する。検査していないと判定された場合(ス
テップSB8−N)には、ステップSB2に戻る。
【0117】次に、図7を参照して、DMA終了の割り
込み処理について説明する。
【0118】ステップSC1に示すように、パイプライ
ン中で「DMA転送中」の状態のものがサーチされる。
【0119】ステップSC2に示すように、ステップS
C1でサーチされた「DMA転送中」のパイプライン状
態(状態遷移状態)を、「DMA転送終了」のパイプラ
イン状態に状態遷移させる(図4の矢印Y3参照)。
【0120】次に、図8を参照して、レンダリング終了
の割り込み処理について説明する。
【0121】ステップSD1に示すように、パイプライ
ン中で「レンダリング中」の状態のものがサーチされ
る。
【0122】ステップSD2に示すように、ステップS
D1でサーチされた「レンダリング中」のパイプライン
状態を、「レンダリング終了」のパイプライン状態に状
態遷移させる(図4の矢印Y4参照)。
【0123】上記したように、図4の矢印Y1,Y2で
示す状態遷移が図5に示すメイン処理において行われ
る。図4の矢印Y3で示す状態遷移が図7に示すDMA
終了割り込み処理において行われる。図4の矢印Y4で
示す状態遷移が図8に示すレンダリング終了割り込み処
理において行われる。
【0124】上記した本システムにおけるパイプライン
の状態遷移については、以下のように行うことができ
る。
【0125】図4に示すように、本システムにおけるパ
イプラインの状態遷移は、シーン定義中ST1、シーン
定義終了ST2、DMA転送中ST3、DMA転送終了
ST4、レンダリング中ST5、レンダリング終了ST
6、表示中ST7の7ステートあり、これらの状態のう
ち、シーン定義中ST1、DMA転送中ST3、レンダ
リング中ST5に奇数のステート番号を、シーン定義終
了ST2、DMA転送終了ST4、レンダリング終了S
T6、表示中ST7に偶数のステート番号を振り当て
る。これをパイプラインの状態遷移番号とする(シーン
定義、DMA、レンダリング、表示で4段)。
【0126】Vsync割り込みが発生した場合、4段
のパイプライン全ての状態遷移を調査し、1段のパイプ
ラインでも奇数であった場合、パイプラインの状態遷移
を禁止する(インターロック状態)。全てのパイプライ
ンが偶数のステートをもつ場合には、パイプラインは状
態遷移を起こし、DMA転送中、レンダリング中、表示
中のステートへと遷移する。
【0127】次に、図9を参照して、図1に示したハー
ドウェアで実現される第2のデータの流れについて説明
する。図9において、図2と同じ符号は同じ内容を示
す。
【0128】図9に示すCPUのローカルメモリ16で
は、半透明のディスプレイリストのメモリエリア(半透
明1)が使用されるのみである(符号47参照)。すな
わち、図9では、CPUのローカルメモリ16における
半透明のディスプレイリストのメモリエリアが、シング
ルバッファとして使用されている。さらに、不透明のデ
ィスプレイリストのメモリエリアは、不要である。図2
では、CPUのローカルメモリ16が、半透明および不
透明のそれぞれについてダブルバッファ37〜40とし
て用いられていたのと対照的である。
【0129】図9に示すレンダラローカルメモリ28で
は、図2と同様に、不透明と半透明のハードウェアパラ
メータのメモリエリアが、2ペア分確保されている(符
号41,42,43,44参照)。すなわち、図9で
は、ハードウェアパラメータのメモリエリア(不透明
1、半透明1、不透明2、半透明2)が、ダブルバッフ
ァとして使用されている。また、図2と同様に、符号4
5,46に示すように、フレームバッファのメモリ領域
が2つ分確保され、フレームバッファ45,46は、ダ
ブルバッファとして使用される。
【0130】図9では、データの流れが図2と比べて変
わっており、CPU14から出ているデータの流れを示
す線が2本になっている(符号48,49a)。図2お
よび図5に示すように、3Vレイテンシでは、不透明か
半透明かの判別(図5のステップS4)をした後、不透
明のディスプレイリストおよび半透明のディスプレイリ
ストの両方を、CPUのローカルメモリ16に書き込ん
でいた(図2の符号33,37,38、図5のステップ
S5,S6参照)。
【0131】これに対して、図9では、符号48に示す
ように、不透明のディスプレイリストは、CPUのロー
カルメモリ16に書き込まれること無く、直接、レンダ
ラローカルメモリ28のハードウェアパラメータ(不透
明1)のメモリエリア41に書き込まれるようになって
いる。すなわち、図11のステップSA4,5に示すよ
うに、不透明か半透明かの判別(図5のステップS4に
対応する)をした後、不透明データであれば、直接、レ
ンダラ24に出力される。
【0132】図9の符号49aに示すように、半透明の
ディスプレイリストについては、図2と同様に、一旦、
CPUのローカルメモリ16のディスプレイリストメモ
リエリア(半透明1)47に書き込まれた(バッファリ
ング)後、矢印49の経路を通って、レンダラローカル
メモリ28のハードウェアパラメータ(半透明1)のメ
モリエリア42に書き込まれる(図11のステップSA
4,6)。
【0133】レンダラ24で行われる半透明データのZ
値を自動的にソートする前記処理では、不透明データ
(不透明のディスプレイリスト)と半透明データ(半透
明のディスプレイリスト)とが混同した状態で、レンダ
ラ24に入力されることはできない。不透明データおよ
び半透明データのそれぞれが、一塊のリストとしてレン
ダラ24に入力される必要がある。
【0134】そのため、図2の3Vレイテンシの場合で
も、ディスプレイリストメモリエリア(不透明1・半透
明1)37,38からレンダラ24へのDMA転送(図
3の第2のV期間V2での「ディスプレイリスト送出D
MA1」)は、半透明データおよび不透明データのそれ
ぞれについて1回ずつ、合計2回行われている。
【0135】図9に示す場合、先に、不透明データがレ
ンダラ24に入力され(符号48)、次いで、半透明デ
ータがレンダラ24に入力される(符号49)。よっ
て、図9の場合にも、レンダラ24のFIFO部19か
らみたときに、ディスプレイリストの入力順序は守ら
れ、破綻を起こすことはない。
【0136】図9に示すように、符号48,49(49
aを含む),35,36に示される経路(データパス)
は、それらの経路が全て同時にデータ転送動作が行える
ようになっている。
【0137】次に、図10を参照して、図9に示したデ
ータフローについてのタイミングについて説明する。
【0138】図10の第1のV期間V1に示すように、
不透明データ(不透明リスト)のデータ送出(図9の符
号48、図11のステップSA5)と、半透明データ
(半透明リスト)のDMA送出(図9の符号49、図1
1のステップSA8)とが、1つのV期間に収まるよう
になっている。
【0139】第1のV期間V1において、不透明リスト
を直接送出している期間(半透明ディスプレイリスト送
出DMA送出1の前)は、半透明ディスプレイリストを
バッファ47に書いている。この期間は、レンダラ24
には半透明ディスプレイリストは送出されておらず、不
透明ディスプレイリストのみが送られている。その後、
不透明ディスプレイリストを送り終わった後に、半透明
ディスプレイリストをDMA転送で送る。
【0140】図10の第2のV期間V2,第3のV期間
V3に示すように、レンダリングと表示の関係について
は、図3のタイミングと比較して変わっていない。
【0141】図10の第1のV期間V1に示すように、
1つのV期間でDMA送出が完了するため、次の第2の
V期間V2でも同じメモリエリア(バッファ)47を使
うことができる。よって、図2では、ダブルバッファ3
8,40であったものが、図9ではシングルバッファ4
7で足りる。しかも、不透明データは、バッファリング
しないため、不透明データ用のバッファは不要である
(図2の符号37,39参照)。
【0142】DMA送出用のバッファ47は、その送出
が完了すれば、バッファ47内が「空き」の状態になる
ため、送出完了後の次のV期間のときにも同じバッファ
47を用いることができる。
【0143】図10に示すように、図9の場合にも、
「シーン定義」から「表示」までの期間は一定してお
り、定率レイテンシとなる。
【0144】図10に示すように、一種類のディスプレ
イリストを直接転送した場合、シーン定義とDMAは一
つのV期間内に行われる。この場合、シーン定義の結果
が画像として表示されるまでに2Vsync期間のディ
レイタイム(レイテンシ)がある。よって、図9に示し
たデータの流れを「2Vレイテンシ」と呼ぶ。
【0145】なお、2Vレイテンシでは、図2の3Vレ
イテンシに比べて、シーン定義してから表示までの期間
が短くなるが、短いレイテンシを長くすることはシステ
ム上、可能であるため、3Vレイテンシにすることも可
能である。
【0146】図3では、第1のV期間V1でシーン定義
1を行った後、そのシーン定義されたディスプレイリス
トの送出は、次の第2のV期間V2で行っていた。これ
に対して、図10では、同じ第1のV期間V1内でディ
スプレイリストの送出を完了している。これは、不透明
データと半透明データとでディスプレイリストの転送経
路を分けたからである。
【0147】図3に示すように、シーン定義を行ったV
期間の次のV期間でディスプレイリストを送出する場合
に比べて、図10では、シーン定義後の同一V期間内で
ディスプレイリストの送出を完了しなくてはならないこ
とから、図3に比べてDMAでの転送量は少なくなる。
但し、シーンによっては、不透明データの比率が多く
て、半透明データの比率が少ない場合があり、その場合
には、図10の2Vレイテンシを選択することができ
る。
【0148】なお、前述したように、2Vレイテンシ処
理と3Vレイテンシ処理とは、ローカルメモリ16に格
納されたシステム制御用OS上で、ユーザまたはプログ
ラマがニーズに応じて切り替えられるようになってい
る。本発明において、2Vレイテンシ処理と3Vレイテ
ンシ処理の切り替えは、前記ドライバソフトウェア上で
の切り替えに限定されるわけではなく、例えば、本シス
テムの初期化段階で、外部からの指示により行ってもよ
い。
【0149】次に、図11および図12を参照して、図
9および図10の2Vレイテンシでの処理フローについ
て説明する。なお、図5および図6の3Vレイテンシで
の処理フローと共通点が多いため、主に相違点について
説明する。
【0150】まず、図11および図5を比較して、メイ
ン処理について説明する。
【0151】第1の相違点は、ステップSA1に示す
「半透明ディスプレイリストメモリエリア47の書き込
みポインタの初期化」のステップである(ステップS1
参照)。2Vレイテンシでは、不透明ディスプレイリス
トメモリエリアを用いないためである。
【0152】第2の相違点は、パイプラインの状態遷移
状態が「DMA転送中」から始まる点である(ステップ
SA2,S1、ステップSA8、S8参照)。2Vレイ
テンシでは、DMA転送もそのV期間内に終わるからで
ある。
【0153】第3の相違点は、前述した、不透明データ
を直接レンダラ24に送出する点である(ステップSA
5、S5)。
【0154】次に、図12および図6を比較して、VB
LANK−IN割り込み処理について説明する。
【0155】「DMA転送終了」と「レンダリング終
了」については、同じステップとなる(ステップSE2
〜SE5、ステップSB4〜SB7)。図6では、リス
ト定義終了か否かという判定ステップがある(ステップ
SB1,SB2)のに対して、2Vレイテンシでは、
「リスト定義終了」という状態遷移状態が無いため、図
12では、それについての処理ステップが無い。
【0156】2Vレイテンシにおいて、DMA終了割り
込み処理と、レンダリング終了割り込み処理について
は、図7および図8に示す処理フローをそのまま適用す
ることができる。
【0157】以上説明したように、2Vレイテンシと3
Vレイテンシとは、それぞれの制御プログラムが殆ど共
通しており、いずれを選択するかで制御方式を変更する
必要が無い。単に、メイン処理上での切り替えだけで足
りる。
【0158】2Vレイテンシの場合、図9の実施形態で
は、不透明データを直接レンダラ24に送り、半透明デ
ータを一旦バッファリングした後、レンダラ24に送る
ようにしている。これは、レンダラ24内で先に不透明
データの処理を行って、その奥に位置する(Z値の大き
い)半透明データの処理の少なくとも一部を省略するた
めである。但し、本発明においては、レンダラ24がレ
ンダリングを開始する時点で半透明、不透明の分離され
たハードウェアパラメータ29、30を生成すればよい
ため、必ずしも、不透明データを直接送り、半透明デー
タをバッファリングすることに限られず、逆に、半透明
データを直接送って、不透明データをバッファリングし
てもよい。
【0159】次に、図13を参照して、図1のCPU1
4の変形例について説明する。
【0160】図1に示したハードウェア構成では、図5
および図11に示すように、頂点データが不透明である
か、半透明であるかの判断およびその判断結果に基づく
処理を、ソフトウェア上で行っていた(ステップS4,
SA4)。これに対して、本変形例では、その判断およ
びその判断結果に基づく処理を、図13に示すCPU
(ハードウェア)で行うことによって、その処理の高速
化を実現するものである。
【0161】図13は、振り分け機構をCPU内に実装
した構成を示したものである。
【0162】CPU内のバス67を通じて、ディスプレ
イリストバーストバッファ50に、1モデルデータに相
当するディスプレイリストが転送される。ディスプレイ
リストバーストバッファ50では、入力されたディスプ
レイリストのうち、そのディスプレイリストが不透明か
半透明かを示すビット(例えばフラグデータ)が引き出
され、そのビットデータがディスプレイリストバースト
バッファ50から出力される(符号50a参照)。この
ビットデータの出力は、図5のステップS4または図1
1のステップSA4に対応したものである。
【0163】前記ビットデータは、アドレスカウンタ5
3に出力され、前記ビットデータの反転データがアドレ
スカウンタ54に出力される。前記ビットデータおよび
前記反転データのいずれかは、アドレスカウンタ53お
よび54のいずれかをカウントイネーブル状態に設定す
る。例えば、ディスプレイリストバーストバッファ50
内のディスプレイリストが不透明データである場合に
は、アドレスカウンタ54のカウントが行われる一方、
アドレスカウンタ53のカウントは行われない。反対
に、半透明データである場合には、アドレスカウンタ5
3のカウントが行われる一方、アドレスカウンタ54の
カウンタは行われない。これらアドレスカウンタ53,
54によるカウントは、図5のステップS5,S6また
は図11のステップSA5,SA6に対応したものであ
る。
【0164】符号50aで示した前記ビットデータは、
経路51を通って、そのままチップセレクト2信号(符
号57)となり、前記ビットデータの反転信号がチップ
セレクト1信号(符号58)となる。これらチップセレ
クト信号57,58は、図2および図9中の「チップセ
レクト1,2」にそれぞれ対応したものである。
【0165】前記経路51上の前記ビットデータは、ス
イッチ55に供給される。スイッチ55は、前記ビット
データに基づいて、アドレスカウンタ54の出力線59
およびアドレスカウンタ53の出力線60のいずれか一
方と、アドレスバス56とを選択的に接続する。アドレ
スバス56は、図2および図9中の「アドレスバス」に
対応したものである。
【0166】図13に示すCPUには、保護機構が設け
られている。この保護機構は、アドレスコンパレータ6
1,62と、リミットアドレスレジスタ65,66とを
備えている。アドレスコンパレータ61,62からは、
ディスプレイリストオーバー割り込み信号64,63が
出力される場合がある。ディスプレイリストオーバー割
り込み信号64,63は、図13に示すディスプレイリ
ストオーバーエラー処理に対応したものである。
【0167】CPUのローカルメモリ16またはレンダ
ラローカルメモリ28のメモリエリアにおいて、CPU
自身が設定したリミットアドレスを超えたメモリエリア
に、データが書き込まれようとしたとき(リミットアド
レスを超えたアドレスを示すアドレス信号が出力線5
9,60を通じて、アドレスバス56に出力されると
き)に、ディスプレイリストオーバー割込み信号63,
64が出力されて、書き込みエラーとされる。
【0168】リミットアドレスレジスタ65,66に
は、バス67を通じてリミットアドレス(設定値)が設
定される。アドレスコンパレータ61,62は、リミッ
トアドレスレジスタ65,66に設定されたリミットア
ドレスと、アドレスカウンタ53,54から出力される
書き込みアドレスとを比較する。アドレスコンパレータ
61,62は、前記比較の結果、書き込みアドレスがリ
ミットアドレスの値を超えていると判定した場合に、デ
ィスプレイリストオーバー割込み信号63,64を生成
・出力する。
【0169】図5および図11に示すように、ソフトウ
ェア処理により、書き込みアドレスが順次生成される場
合には、書き込みアドレスが更新されていく状態が把握
され易く、書き込みオーバーがなされないようにチェッ
クが行われ易い。これに対して、図13のようにアドレ
スカウンタ53,54により、そのカウント値が保持さ
れると、前記チェックを行うのが一般に困難である。し
たがって、図13のようにハードウェアで書き込みアド
レスの生成処理を行う場合には、前記保護機構61〜6
6が特に必要となる。
【0170】なお、リミットアドレスレジスタ65,6
6に設定されるリミットアドレスは、2Vおよび3Vレ
イテンシ処理のいずれの処理が選択されるかで、異なる
値が設定される。前記いずれの処理かの選択以外の他の
理由により、前記リミットアドレスが異なる値に設定さ
れてもよいことは勿論である。
【0171】以上説明した本実施形態によれば、以下の
(1)から(3)の効果を奏することができる。
【0172】(1)定率のレイテンシの確保 V期間に同期して状態遷移が起きることにより、一定の
レイテンシを確保することができ、プログラムのタイミ
ング調整を容易にすることができる。
【0173】(2)ユーザー選択の最適化 2Vレイテンシ処理では、1つのV期間内にシーン定義
およびDMA転送が同時に行われるため、例えば、レン
ダラに直接転送されるディスプレイリスト以外のディス
プレイリストが大量にあった場合、シーン定義終了後の
DMA転送量が増大し、そのためVsyncにおける状
態遷移を阻害し、フレームレートの低下を招くおそれが
ある。しかしながら、2Vレイテンシ処理では、CPU
側メモリにおいてバッファリングするディスプレイリス
トのためのバッファをシングルバッファにでき、且つ、
直接転送されるディスプレイリスト分についてはバッフ
ァが不要になる,などのメリットがある。したがって、
逆にレンダラに直接転送されるディスプレイリスト以外
のディスプレイリストが少ない場合には、そのメリット
を最大限享受することができる。
【0174】3Vレイテンシ処理では、前記2Vレイテ
ンシ処理とは違い、CPU側のメモリは、ダブルバッフ
ァでなければならず、CPU側のメモリリソースを多く
消費する。しかしながら、3Vレイテンシ処理では、前
記2Vレイテンシ処理にあったような、ディスプレイリ
ストの種類と量による転送パフォーマンスの低下は起こ
らない。
【0175】よって、例えばアプリケーションプログラ
マは、使用するディスプレイリスト(ポリゴン)の種類
と量によって、前記3Vおよび2Vレイテンシ処理を選
択することができ、アプリケーションのメモリリソー
ス、パフォーマンス最適化を行うことができる。
【0176】シーンにおける不透明データと半透明デー
タの比率に応じて、本システムの使用者は、前記3Vお
よび2Vレイテンシ処理を選択できる。汎用メモリであ
るCPU側のメモリ16は、本システムにおける画像処
理(レンダリング)以外の処理にも用いられ、2Vレイ
テンシ処理を選択した場合には、当該画像処理(レンダ
リング)に伴うメモリ使用量を少なくすることができ
る。この場合、CPUが行う当該画像処理(レンダリン
グ)以外の処理の負荷が少なくなる。
【0177】(3)デバック効率の向上 レンダラ入力部分にフォーマット変換機を装備した場
合、フォーマット変換エラーなどにより、レンダラに送
り込んだディスプレイリストと、レンダラのローカルメ
モリに存在するディスプレイリストとが全く違うデータ
となることがある。2Vレイテンシ処理の場合、直接レ
ンダラに送出したディスプレイリストのデバックを行う
場合には、CPUのローカルメモリにはその履歴が残っ
ておらず、フォーマット変換後のレンダラのローカルメ
モリ内のデータに基づいて推測するよりなくデバック効
率が悪い。レンダラのローカルメモリ内のデータは、ハ
ードウェアパラメータに変換されているため、人が見て
も分かり難くデバック効率が悪い。この場合、一旦、3
Vレイテンシ処理を選択して、CPU側のメモリに履歴
として残っているディスプレイリストに基づいてデバッ
クした後、再び2Vレイテンシ処理に戻すことができ
る。この場合、2Vおよび3Vレイテンシ処理では、前
述したように、その制御方式(制御プログラム)が実質
的に同等であるため、問題が起きたとき、3Vレイテン
シに切り替えた後にデバック(検証)を行っても、切り
替え前の状態でデバックしたのと同等の効果が得られ
る。また、この切り替えて行うデバック処理への移行を
シームレスに行うことができる。
【0178】
【発明の効果】本発明のレンダリング処理前データ転送
システムによれば、第1種および第2種のいずれかに属
するレンダリング処理前第1データを生成する第1デー
タ生成部と、前記レンダリング処理前第1データを格納
するための第1のメモリと、前記レンダリング処理前第
1データに基づいて、レンダリング処理前第2データを
生成する第2データ生成部と、前記レンダリング処理前
第2データを格納するための第2のメモリと、前記第2
のメモリから出力された前記レンダリング処理前第2デ
ータにレンダリング処理を行うレンダリング部とを備
え、前記第1種に属するレンダリング処理前第1データ
は、前記第1データ生成部から前記第1のメモリに格納
された後に、前記第2データ生成部に転送され、前記第
2種に属するレンダリング処理前第1データは、前記第
1データ生成部から直接前記第2データ生成部に転送さ
れる第1のルート、および前記第1データ生成部から前
記第1のメモリに格納された後に前記第2データ生成部
に転送される第2のルートのうちの選択されたいずれか
のルートで転送されるものであるため、定率のレイテン
シが確保できるとともに、アプリケーションに応じて、
CPU側のメモリリソースおよびデータ転送パフォーマ
ンスの最適化を実現することができる。
【図面の簡単な説明】
【図1】図1は、本実施形態のレンダリング処理前デー
タ転送システムのハードウェアの構成を示す図である。
【図2】図2は、本実施形態のシステムにおける3Vレ
イテンシの場合のデータの流れを示す図である。
【図3】図3は、3Vレイテンシの処理タイミング(処
理パイプライン)を示すタイミングチャートである。
【図4】図4は、本システムにおけるパイプラインの状
態遷移状態を示す図である。
【図5】図5は、3Vレイテンシの処理のメイン処理を
示すフローチャートである。
【図6】図6は、3Vレイテンシの処理のVBLANK
−IN割り込み処理を示すフローチャートである。
【図7】図7は、3Vレイテンシの処理のDMA終了割
り込み処理を示すフローチャートである。
【図8】図8は、3Vレイテンシの処理のレンダリング
終了割り込み処理を示すフローチャートである。
【図9】図9は、本実施形態のシステムにおける2Vレ
イテンシの場合のデータの流れを示す図である。
【図10】図10は、2Vレイテンシの処理タイミング
(処理パイプライン)を示すタイミングチャートであ
る。
【図11】図11は、2Vレイテンシの処理のメイン処
理を示すフローチャートである。
【図12】図12は、2Vレイテンシの処理のVBLA
NK−IN割り込み処理を示すフローチャートである。
【図13】図13は、CPU内にタイプ別振り分け機構
を実装した場合の回路構成図である。
【図14】図14は、従来のグラフィックシステムのハ
ードウェアの構成を示す図である。
【図15】図15は、従来のグラフィックシステムでの
処理を示すフローチャートである。
【図16】図16は、従来のグラフィックシステムでの
処理タイミング(処理パイプライン)を示すタイミング
チャートである。
【図17】図17は、入力装置を操作してからそのキー
操作に対応した画像が表示されるまでの各ステップを示
すフローチャートである。
【図18】図18は、ブランキング期間を説明するため
の図である。
【図19】図19は、2つの不透明の三角形が重なって
いる状態を示す図である。
【図20】図20は、2つの半透明の三角形が重なって
いる状態を示す図である。
【図21】図21は、図形が配置される奥行き方向の位
置を示す値Zを説明するための図である。
【符号の説明】
1 CPU 2 ピクセルパターンメモリ 3 レンダラ 4 フレームバッファ 5 DAC部 6 モニタ 7 シーン定義1 8 VBLANK−OUT 8a VBLANK−OUT 9 VBLANK−IN 10 ディスプレイリスト 11 奥の不透明の三角形 12 手前の不透明の三角形 13 半透明の三角形 14 CPU 14A 半透明の三角形 15 アドレスジェネレータ 15A 第1三角形 16 メモリ(CPUのローカルメモリ) 16A 第2三角形 17 メモリ領域 17A 第3三角形 18 メモリ領域 19 FIFO部 20 ハードウェアパラメータジェネレータ 21 テクスチュアリング部 22 ブレンディング部 23 陰面消去および半透明ソート部 24 レンダラ(レンダリングエンジン) 25 バスアービタ 26 DAC部 27 モニタ 28 レンダラローカルメモリ(VRAM) 29 メモリエリア(不透明のハードウェアパラメータ
格納部) 30 メモリエリア(半透明のハードウェアパラメータ
格納部) 31 テクスチュア格納部 32 フレームバッファ 33 シーン定義 34 DMA転送 35 レンダリング 36 表示 37 不透明のディスプレイリストのメモリエリア1
(第1のディスプレイリストメモリエリア) 38 半透明のディスプレイリストのメモリエリア1
(第1のディスプレイリストメモリエリア) 39 不透明のディスプレイリストのメモリエリア2 40 半透明のディスプレイリストのメモリエリア2 41 不透明のハードウェアパラメータのメモリエリア
1 42 半透明のハードウェアパラメータのメモリエリア
1 43 不透明のハードウェアパラメータのメモリエリア
2 44 半透明のハードウェアパラメータのメモリエリア
2 45 第1のフレームバッファ 46 第2のフレームバッファ 47 ディスプレイリストメモリエリア(半透明1) 48 不透明データのレンダラへの入力 49 半透明データのレンダラへの入力 50 ディスプレイリストバーストバッファ 53 アドレスカウンタ 54 アドレスカウンタ 55 スイッチ 56 アドレスバス 57 チップセレクト2信号 58 チップセレクト1信号 59 出力線 60 出力線 61 アドレスコンパレータ 62 アドレスコンパレータ 63 ディスプレイリストオーバー割込み信号 64 ディスプレイリストオーバー割込み信号 65 リミットアドレスレジスタ 66 リミットアドレスレジスタ 67 バス 1A グラフィックシステム E 2つの不透明の三角形が重なり合っている部分 G 2つの半透明の三角形が重なり合っている部分 ST1 ディスプレイリストの定義中というステート ST2 ディスプレイリストの作成終了というステート ST3 DMA転送中というステート ST4 DMA転送終了というステート ST5 レンダリング中というステート ST6 レンダリング終了というステート ST7 表示中というステート V1 第1のV期間 V2 第2のV期間 V3 第3のV期間 V4 第4のV期間 Z その図形が配置される奥行き方向の位置を示す値

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】(a)レンダリング処理前データを生成す
    るステップと、(b)前記生成されたレンダリング処理
    前データが第1種に属するか第2種に属するかを判定す
    るステップと、(c)前記判定の結果、前記第1種に属
    すると判定された第1種のレンダリング処理前データを
    直接的に、レンダリングプロセッサに転送するステップ
    と、(d)前記判定の結果、前記第2種に属すると判定
    された第2種のレンダリング処理前データをバッファを
    介して、前記レンダリングプロセッサに転送するステッ
    プとを備えたレンダリングプロセッサへのデータ転送方
    法。
  2. 【請求項2】 請求項1記載のレンダリングプロセッサ
    へのデータ転送方法において、前記(a)、(b)、
    (c)および(d)のステップはいずれも、同一の単位
    期間内に行われるレンダリングプロセッサへのデータ転
    送方法。
  3. 【請求項3】(g)レンダリング処理前データを生成す
    るステップと、(h)前記生成されたレンダリング処理
    前データが第1種に属するか第2種に属するかを判定す
    るステップと、(i)前記判定の結果、前記第1種に属
    すると判定された第1種のレンダリング処理前データを
    バッファを介して、レンダリングプロセッサに転送する
    ステップと、(j)前記判定の結果、前記第2種に属す
    ると判定された第2種のレンダリング処理前データをバ
    ッファを介して、前記レンダリングプロセッサに転送す
    るステップとを備えたレンダリングプロセッサへのデー
    タ転送方法。
  4. 【請求項4】 請求項1記載のレンダリングプロセッサ
    へのデータ転送方法において、 更に、(e)前記判定の結果、前記第1種に属すると判
    定された第1種のレンダリング処理前データを、バッフ
    ァを介して前記レンダリングプロセッサに転送するステ
    ップと、(f)前記(c)のステップおよび前記(e)
    のステップのうちのいずれかを選択的に行うステップと
    を備えたレンダリングプロセッサへのデータ転送方法。
  5. 【請求項5】 第1種および第2種のいずれかに属する
    レンダリング処理前第1データを生成する第1データ生
    成部と、 前記レンダリング処理前第1データを格納するための第
    1のメモリと、 前記レンダリング処理前第1データに基づいて、レンダ
    リング処理前第2データを生成する第2データ生成部
    と、 前記レンダリング処理前第2データを格納するための第
    2のメモリと、 前記第2のメモリから出力された前記レンダリング処理
    前第2データにレンダリング処理を行うレンダリング部
    とを備え、 前記第1種に属するレンダリング処理前第1データは、
    前記第1データ生成部から直接、前記第2データ生成部
    に転送され、 前記第2種に属するレンダリング処理前第1データは、
    前記第1データ生成部から前記第1のメモリに格納され
    た後に、前記第2データ生成部に転送されるレンダリン
    グ処理前データ転送装置。
  6. 【請求項6】 第1種および第2種のいずれかに属する
    レンダリング処理前第1データを生成する第1データ生
    成部と、 前記レンダリング処理前第1データを格納するための第
    1のメモリと、 前記レンダリング処理前第1データに基づいて、レンダ
    リング処理前第2データを生成する第2データ生成部
    と、 前記レンダリング処理前第2データを格納するための第
    2のメモリと、 前記第2のメモリから出力された前記レンダリング処理
    前第2データにレンダリング処理を行うレンダリング部
    とを備え、 前記第1種に属するレンダリング処理前第1データは、
    前記第1データ生成部から前記第1のメモリに格納され
    た後に、前記第2データ生成部に転送され、 前記第2種に属するレンダリング処理前第1データは、
    前記第1データ生成部から前記第1のメモリに格納され
    た後に、前記第2データ生成部に転送されるレンダリン
    グ処理前データ転送装置。
  7. 【請求項7】 第1種および第2種のいずれかに属する
    レンダリング処理前第1データを生成する第1データ生
    成部と、 前記レンダリング処理前第1データを格納するための第
    1のメモリと、 前記レンダリング処理前第1データに基づいて、レンダ
    リング処理前第2データを生成する第2データ生成部
    と、 前記レンダリング処理前第2データを格納するための第
    2のメモリと、 前記第2のメモリから出力された前記レンダリング処理
    前第2データにレンダリング処理を行うレンダリング部
    とを備え、 前記第1種に属するレンダリング処理前第1データは、
    前記第1データ生成部から前記第1のメモリに格納され
    た後に、前記第2データ生成部に転送され、 前記第2種に属するレンダリング処理前第1データは、
    前記第1データ生成部から直接前記第2データ生成部に
    転送される第1のルート、および前記第1データ生成部
    から前記第1のメモリに格納された後に前記第2データ
    生成部に転送される第2のルートのうちの選択されたい
    ずれかのルートで転送されるレンダリング処理前データ
    転送システム。
  8. 【請求項8】 レンダリング処理前データを生成すると
    ともに、前記生成されたレンダリング処理前データをレ
    ンダリングプロセッサに出力する、レンダリング処理前
    データ生成プロセッサであって、 前記レンダリング処理前データを生成する処理前データ
    生成部と、 前記生成されたレンダリング処理前データに基づいて、
    前記レンダリング処理前データが第1種に属するか第2
    種に属するかを判定する判定部と、 前記判定の結果に応じて、前記レンダリング処理前デー
    タの出力先を決定する出力先決定部とを備えたレンダリ
    ング処理前データ生成プロセッサ。
  9. 【請求項9】 レンダリング処理前データを生成すると
    ともに、前記生成されたレンダリング処理前データをレ
    ンダリングプロセッサに出力する、レンダリング処理前
    データ生成プロセッサであって、 前記レンダリング処理前データを生成する処理前データ
    生成部と、 前記生成されたレンダリング処理前データから、前記レ
    ンダリング処理前データに含まれる前記レンダリング処
    理前データが第1種および第2種のいずれに属するかを
    示す帰属データを抽出する帰属データ抽出部と、 前記帰属データを示す帰属データ信号と前記帰属データ
    信号の反転信号とをそれぞれ入力してアドレス信号をそ
    れぞれ出力する複数のアドレスカウンタと、 前記複数のアドレスカウンタのそれぞれの出力部と、前
    記レンダリングプロセッサに接続されたアドレスバスと
    を選択的に接続するスイッチ部とを備え、 前記複数のアドレスカウンタのそれぞれは、前記入力し
    た帰属データ信号または前記反転信号に基づいて、カウ
    ントイネーブル状態のオン/オフが切り替えられ、 前記スイッチ部は、前記帰属データ信号および前記反転
    信号のいずれかに基づいて、前記複数のアドレスカウン
    タのそれぞれの出力部と前記アドレスバスとを選択的に
    接続するレンダリング処理前データ生成プロセッサ。
  10. 【請求項10】 請求項8記載のレンダリング処理前デ
    ータ生成プロセッサにおいて、 前記出力先決定部は、 前記レンダリング処理前データの出力先における書き込
    みアドレスを生成する複数の書き込みアドレスカウンタ
    を備え、 前記レンダリング処理前データ生成プロセッサは、 更に、 設定された書き込み禁止アドレス、を格納するリミット
    アドレスレジスタと、 前記書き込みアドレスと前記書き込み禁止アドレスとに
    基づいて、前記書き込みアドレスが前記書き込み禁止ア
    ドレスであるか否かを判定し、前記判定の結果、前記書
    き込みアドレスが前記書き込み禁止アドレスであると判
    定したときに、前記書込み禁止アドレスへの前記レンダ
    リング処理前データの書き込みを禁止するための信号を
    出力するアドレスコンパレータとを備えたレンダリング
    処理前データ生成プロセッサ。
JP6553099A 1999-03-11 1999-03-11 レンダリングプロセッサへのデータ転送方法、レンダリング処理前データ転送装置、システムおよびレンダリング処理前データ生成プロセッサ Pending JP2000259840A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6553099A JP2000259840A (ja) 1999-03-11 1999-03-11 レンダリングプロセッサへのデータ転送方法、レンダリング処理前データ転送装置、システムおよびレンダリング処理前データ生成プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6553099A JP2000259840A (ja) 1999-03-11 1999-03-11 レンダリングプロセッサへのデータ転送方法、レンダリング処理前データ転送装置、システムおよびレンダリング処理前データ生成プロセッサ

Publications (1)

Publication Number Publication Date
JP2000259840A true JP2000259840A (ja) 2000-09-22

Family

ID=13289670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6553099A Pending JP2000259840A (ja) 1999-03-11 1999-03-11 レンダリングプロセッサへのデータ転送方法、レンダリング処理前データ転送装置、システムおよびレンダリング処理前データ生成プロセッサ

Country Status (1)

Country Link
JP (1) JP2000259840A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006011639A (ja) * 2004-06-23 2006-01-12 Canon Inc グラフィックオブジェクト処理装置及びグラフィックオブジェクト処理方法
JP2010086240A (ja) * 2008-09-30 2010-04-15 Kyocera Mita Corp 画像処理装置、画像処理方法及び画像処理プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006011639A (ja) * 2004-06-23 2006-01-12 Canon Inc グラフィックオブジェクト処理装置及びグラフィックオブジェクト処理方法
JP4533019B2 (ja) * 2004-06-23 2010-08-25 キヤノン株式会社 グラフィックオブジェクト処理装置及びグラフィックオブジェクト処理方法
JP2010086240A (ja) * 2008-09-30 2010-04-15 Kyocera Mita Corp 画像処理装置、画像処理方法及び画像処理プログラム

Similar Documents

Publication Publication Date Title
JP3466173B2 (ja) 画像処理システム、デバイス、方法及びコンピュータプログラム
US5838334A (en) Memory and graphics controller which performs pointer-based display list video refresh operations
CN101080698B (zh) 图形处理器,图形处理系统及产生图像的方法
US6636214B1 (en) Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US6567091B2 (en) Video controller system with object display lists
JP3594309B2 (ja) パイプライン処理装置,クリッピング処理装置,3次元シミュレータ装置及びパイプライン処理方法
JPH08503563A (ja) 画像発生アーキテクチャおよび装置
JPH0727571B2 (ja) ラスタ走査表示装置及び図形データ転送方法
JP2003228733A (ja) 画像処理装置及びその構成部品、レンダリング処理方法
US20020060690A1 (en) Image producing device
JPH11259678A (ja) 画像表示装置及びそれによる画像表示方法
US7616202B1 (en) Compaction of z-only samples
US6441818B1 (en) Image processing apparatus and method of same
JP3504240B2 (ja) 画像処理システム、デバイス、方法及びコンピュータプログラム
US9659344B2 (en) Graphics processing apparatus, display apparatus for an aircraft cockpit, and method for displaying graphical data
EP1326204A1 (en) Data processing system and method, computer program, and recorded medium
JP2000259840A (ja) レンダリングプロセッサへのデータ転送方法、レンダリング処理前データ転送装置、システムおよびレンダリング処理前データ生成プロセッサ
JPH10240700A (ja) グラフィックス並列処理装置
US7400326B1 (en) System and method for delivering multiple data streams via multiple buses
JP3642259B2 (ja) マルチスクリーン表示装置
JP3068590B1 (ja) 2次元画像処理装置
JPH0652051A (ja) 階層メモリ制御
JP2003051023A (ja) 描画装置、描画方法、描画プログラム、及び描画プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3741053B2 (ja) 画像処理装置
JPWO2008032603A1 (ja) 画像処理装置、画像処理用集積回路、画像処理システム、インプットアセンブラ装置、インプットアセンブル用集積回路

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020625