JPH11272883A - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法

Info

Publication number
JPH11272883A
JPH11272883A JP7631298A JP7631298A JPH11272883A JP H11272883 A JPH11272883 A JP H11272883A JP 7631298 A JP7631298 A JP 7631298A JP 7631298 A JP7631298 A JP 7631298A JP H11272883 A JPH11272883 A JP H11272883A
Authority
JP
Japan
Prior art keywords
mask
polygon
data
mask data
area
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
JP7631298A
Other languages
English (en)
Other versions
JP4035649B2 (ja
Inventor
Seisuke Morioka
誠介 森岡
Keisuke Yasui
啓祐 安井
Junichi Naoi
純一 直井
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.)
Sega Corp
Original Assignee
Sega Enterprises Ltd
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 Sega Enterprises Ltd filed Critical Sega Enterprises Ltd
Priority to JP7631298A priority Critical patent/JP4035649B2/ja
Priority to US09/184,240 priority patent/US6320580B1/en
Priority to GB0002522A priority patent/GB2351217B/en
Publication of JPH11272883A publication Critical patent/JPH11272883A/ja
Application granted granted Critical
Publication of JP4035649B2 publication Critical patent/JP4035649B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 (修正有) 【課題】レンダリング処理における陰面処理、半透明ポ
リゴンのブレンディング処理、光源による陰影処理を効
率的に行う。 【解決手段】ポリゴンの表示画面内の位置データを含む
ポリゴンデータにより、表示画面内のポリゴンの有効ピ
クセル領域を示す第1のマスクデータと有効ピクセル毎
の表示画面内の奥行きを示すZ値とを生成し、第1のマ
スクデータの有効ピクセル領域のうち既に処理済の他の
ポリゴンのZ値よりも小さいZ値のピクセルの領域を有
効ピクセル領域とする第2のマスクデータを生成し、生
成された第2のマスクデータの有効領域を生成済の他の
ポリゴンの第2のマスクデータの有効領域から削除して
トランスマスクデータを生成し、それをポリゴン毎に行
うマスク生成工程により生成されたトランスマスクデー
タが示す有効領域について、各ポリゴンのレンダリング
処理を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータを利
用した画像処理装置に関し、特に、レンダリング処理に
おける複数のポリゴンの処理及び陰面処理の演算を少な
いハードウエアでより効率的に行うことができる画像処
理装置、その画像処理方法及びその画像処理プログラム
を記録した記録媒体に関する。
【0002】
【従来の技術】コンピュータを利用した画像処理装置
は、ゲーム装置やシミュレーション装置等で広く利用さ
れる。かかる画像処理装置では、表示されるオブジェク
トを形成するポリゴンが、ゲームプログラムやシミュレ
ーションプログラムにより生成される。このポリゴンデ
ータは、通常その頂点毎のパラメータを含む。頂点パラ
メータは、例えば、頂点の三次元空間内の座標や、頂点
のテクスチャー座標、法線ベクトル、透明度を表すアル
ファ値、色関連データが含まれる。
【0003】かかるポリゴンデータをもとに、まず、表
示画面内のポリゴンをクリッピングにより選択し、それ
らの選択されたポリゴンについて、頂点の三次元座標が
視点位置に従って表示画面上の二次元座標と奥行きを示
すZ値とに透視変換される。その後、レンダリング処理
により表示画面内に表示されるポリゴンのピクセルにお
ける画像データが求められる。この画像データは、例え
ばRGBの色データを有する。
【0004】上記したレンダリング処理において、ポリ
ゴン内のピクセルのパラメータの演算は、通常、ラスタ
スキャン法によりポリゴン内のピクセル座標を特定し、
そのピクセル座標に従い頂点パラメータを補間演算す
る。即ち、頂点座標とピクセル座標から内分比を求め、
その内分比に従って上記した頂点パラメータを補間演算
する。
【0005】また、レンダリング処理は、1つのフレー
ム単位で処理される。レンダリング処理において、表示
すべきポリゴンをピクセル毎に判定する陰面処理の為
に、ポリゴンのピクセルの奥行きを示すZ値が利用され
る。Z値を比較して、最もZ値が小さい(表示画面内で
最も手前)場合に、その色データをフレームバッファメ
モリに格納する。従って、フレームバッファメモリに書
き込まれたピクセルのZ値を格納するZ値バッファメモ
リが利用される。
【0006】
【発明が解決しようとする課題】上記のラスタスキャン
における補間演算では、頂点間を結ぶ直線上のエッジ点
の座標やパラメータを演算し、両側のエッジ点から内部
のピクセルの座標やパラメータを演算する。かかる補間
演算では、通常除算演算を含み、かかる除算演算はコン
ピュータの演算回路にとって最も負荷の大きい演算であ
る。しかも、ラスタスキャンに伴う補間演算は頻繁に行
われるので、上記の負荷の高い演算はできれば避けるべ
きである。
【0007】更に、不透明ポリゴンのレンダリング処理
では、Z値比較を行って、表示画面の手前側のポリゴン
のピクセルを有効にする。かかる演算処理において、例
えばZ値バッファメモリに最も手前のピクセルのZ値を
記憶して、逐次フレームバッファメモリに画像データを
記憶することが行われる。かかる方法では、より奥に位
置するポリゴンに対する画像データの生成とフレームバ
ッファメモリへの画像データの書込みの処理工程が、後
で処理され、より手前に位置するポリゴンの存在により
無駄になることがあり、処理の効率を下げる原因とな
る。
【0008】或いは、それを避ける方法として、最終的
に表示すべきピクセルが決定するまで、ピクセル毎のポ
リゴンのIDをZ値バッファメモリに記憶しておくこと
が考えられるが、かかる方法でも、Z値バッファメモリ
へのポリゴンIDの書込み処理が無駄になることがあ
り、同様に処理の効率を下げる原因となる。
【0009】更に、不透明でもない透明でもない半透明
ポリゴンのレンダリング処理では、表示画面の奥側に位
置するポリゴンの色と手前側に位置する半透明ポリゴン
の色とをブレンディングする必要がある。かかる場合
は、半透明ポリゴンのZ値に従って一旦ソーティングし
てから、奥側から順にブレンディング処理を行う。しか
し、かかるソーティング処理は、Z値の比較等を伴い処
理の効率を下げる原因となる。
【0010】更に、画像処理において、光源により形成
される影の部分については、光源からの光に従ってその
輝度を上げる等の処理を行わない影処理(影を付ける処
理)が必要である。かかる影処理は、複雑なアルゴリズ
ムが種々提案されているが、いずれも複雑な演算を必要
とし、処理の効率を下げる原因となっている。
【0011】そこで、本発明の目的は、上記の従来の課
題を解決し、処理効率の高いレンダリング処理が可能な
画像処理装置、その画像処理方法及びその画像処理プロ
グラムを記録した記録媒体を提供することにある。
【0012】更に、本発明の目的は、不透明ポリゴンの
レンダリング処理を効率良く行うことが可能な画像処理
装置、その画像処理方法及びその画像処理プログラムを
記録した記録媒体を提供することにある。
【0013】更に、本発明の目的は、半透明ポリゴンの
レンダリング処理を効率良く行うことが可能な画像処理
装置、その画像処理方法及びその画像処理プログラムを
記録した記録媒体を提供することにある。
【0014】更に、本発明の目的は、レンダリング処理
における影処理を効率良く行うことが可能な画像処理装
置、その画像処理方法及びその画像処理プログラムを記
録した記録媒体を提供することにある。
【0015】
【課題を解決するための手段】上記の目的を達成する為
に、本発明は、ピクセルに対応して有効か無効か、或い
は奇数か偶数かなどの2値データを保存するマスクレジ
スタを有効に利用して、それらのマスクデータに対する
排他処理、排他的論理和処理、論理和処理等を行って、
不透明ポリゴンの陰面処理、半透明ポリゴンのブレンデ
ィング処理、影の領域を求める影処理を効率的に行う。
【0016】第1の発明は、複数のポリゴンを表示する
為の画像データを生成する画像処理方法において、前記
ポリゴンの表示画面内の位置データを含むポリゴンデー
タから、表示画面内の前記ポリゴンの有効ピクセル領域
を示す第1のマスクデータと該有効ピクセル毎の表示画
面内の奥行きを示すZ値とを生成し、該第1のマスクデ
ータの有効ピクセル領域のうち既に処理済の他のポリゴ
ンのZ値よりも手前側のZ値のピクセルの領域を有効ピ
クセル領域とする第2のマスクデータを生成し、生成さ
れた第2のマスクデータの有効領域を生成済の他のポリ
ゴンの第2のマスクデータの有効領域から削除する排他
処理を行って新たな第2のマスクデータを生成し、上記
新たな第2のマスクデータの生成をポリゴン毎に行うマ
スク生成工程と、前記マスク生成工程により生成された
前記新たな第2のマスクデータに従って、該新たな第2
のマスクデータが示す有効領域について、前記各ポリゴ
ンのレンダリング処理を行うレンダリング処理工程とを
有することを特徴とする。
【0017】上記の第1の発明は、不透明ポリゴン間の
陰面処理を行うにあたり、第2のマスクデータによる排
他処理を利用することで、それぞれのポリゴンの有効領
域を新たな第2のマスクデータとして効率的に求めるこ
とができる。この第2のマスクデータは、最終的にレン
ダリング処理に利用されるものであり、以下に示される
実施の形態例ではトランスマスクに格納される。
【0018】第2の発明は、複数の半透明ポリゴンを表
示する為の画像データを生成する画像処理方法におい
て、前記半透明ポリゴンの表示画面内の位置データを含
むポリゴンデータから、表示画面内の前記半透明ポリゴ
ンの有効ピクセル領域を示す第1のマスクデータと該有
効ピクセル毎の表示画面内の奥行きを示す半透明Z値と
を生成し、該第1のマスクデータの有効ピクセル領域の
うち既に処理済の他の半透明ポリゴンの半透明Z値より
も奥側の半透明Z値のピクセルの領域を有効ピクセル領
域とする第2のマスクデータを生成し、生成された第2
のマスクデータの有効領域を生成済の他の半透明ポリゴ
ンの第2のマスクデータの有効領域から削除する排他処
理を行って新たな第2のマスクデータを生成し、上記新
たな第2のマスクデータの生成を半透明ポリゴン毎に行
うマスク生成工程と、前記マスク生成工程で生成された
前記新たな第2のマスクデータに従って、該新たな第2
のマスクデータが示す有効領域について、画像データを
生成する前記各ポリゴンのレンダリング処理を行うレン
ダリング処理工程とを有し、前記マスク生成工程で、更
に、前記第1のマスクデータの有効領域から前記新たな
第2のマスクデータの有効領域を削除する排他処理を行
って新たな第1のマスクデータを生成し、前記新たな第
1のマスクデータに基づいて次の前記新たな第2のマス
クデータを生成し、前記レンダリング処理工程で、前記
次の新たな第2のマスクデータに従って前記レンダリン
グ処理を行うことを特徴とする。
【0019】上記の第2の発明では、半透明ポリゴンに
ついて表示画面内で最も奥側に位置する領域を逆陰面処
理と排他処理により新たな第2のマスクデータとして効
率的に求めることができる。この第1のマスクデータ
は、処理すべき領域を示すマスクデータであり、以下に
示される実施の形態例ではエリアマスクに格納される。
また、第2のマスクデータは、最終的にレンダリング処
理に利用されるものであり、以下に示される実施の形態
例ではトランスマスクに格納される。
【0020】更に、上記の第2の発明において、上記次
の新たな第2のマスクデータの生成工程が、前記新たな
第1のマスクデータから有効領域がなくなるまで繰り返
されることを特徴とする。単にかかる工程を繰り返すこ
とにより、重なり合った半透明ポリゴンのブレンディン
グ処理を効率的に行うことができる。
【0021】第3の発明は、描画対象ポリゴン上の影領
域を表示する為の画像データを生成する画像処理方法に
おいて、シャドーボリュームを規定するシャドーポリゴ
ンの表示画面内の位置データを含むシャドーポリゴンデ
ータから、表示画面内の前記シャドーポリゴンの有効ピ
クセル領域を示す第1のマスクデータと該有効ピクセル
毎の表示画面内の奥行きを示すZ値とを生成し、前記第
1のマスクデータの有効ピクセル領域のうち前記描画対
象ポリゴンのZ値より手前側(または奥側)のZ値のピ
クセルの領域を有効ピクセル領域とする第2のマスクデ
ータを生成し、視線方向であって前記描画対象ポリゴン
と視点(または無限遠)との間に位置するシャドーポリ
ゴンの枚数の奇偶データを有する影処理マスクデータの
該奇偶データを、前記第2のマスクデータの有効領域に
ついて奇偶反転して新たな影処理マスクデータを生成
し、上記影処理マスクデータの生成を前記シャドーボリ
ュームを規定する全てのシャドーポリゴンに対して行う
マスク生成工程と、前記マスク生成工程で生成された前
記影処理マスクデータに従って、レンダリング処理を行
うレンダリング処理工程とを有することを特徴とする。
【0022】上記の第3の発明によれば、光源による影
領域を影処理マスクデータとして効率的に求めることが
できる。この影処理マスクデータは、描画対象ポリゴン
上の影の領域を示すマスクデータであり、以下に示す本
実施の形態例では、エリアマスク領域に格納される。
【0023】上記の第3の発明において、前記影処理マ
スクデータの生成がシャドーボリュームの数だけ繰り返
し行われ、それぞれ生成された影処理マスクデータを最
後に論理和処理して合成影処理マスクデータを生成し、
前記のレンダリング処理工程で、その合成影処理マスク
データに従って影処理が行われる。
【0024】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面に従って説明する。しかしながら、本発明の技術
的範囲がその実施の形態に限定されるものではない。
【0025】図1は、本実施の形態例の画像処理装置の
全体構成図である。図1の例は、ゲームプログラムやシ
ミュレーションプログラムに従ってポリゴンデータや視
点データなどを生成するCPU40と、そのポリゴンデ
ータに含まれる頂点の三次元座標から、表示画面内に位
置するポリゴンの表示画面内の二次元座標に透視変換を
行うジオメトリ処理部48と、ジオメトリ処理部48が
生成するポリゴンデータにしたがってレンダリングすべ
きポリゴンのピクセルを示すトランスマスクなどの各種
マスクを生成するマスク生成部50と、マスク生成部5
0により生成されたトランスマスクやライトマスクなど
を供給されて、ピクセルの画像データを生成するレンダ
リング処理部62と、レンダリング処理部62により生
成された画像データが保存されるフレームバッファメモ
リ66とを有する。
【0026】CPU40には、上記のプログラムを実行
する為に、RAM42、ゲームプログラムが格納される
ROM44、オペレータにより操作される操作部47か
らの操作信号を取り込む入力バッファ46とが、例えば
共通のバスにより接続される。また、ジオメトリ処理部
48には、ポリゴンデータを格納しておくポリゴンバッ
ファ49が接続される。また、レンダリング処理部62
には、テクスチャーデータが格納されるテクスチャーバ
ッファメモリ64が接続される。そして、フレームバッ
ファメモリ66の画像データが、CRTなどの表示装置
68に供給される。
【0027】図2は、上記のマスク生成部50の構成例
を示す図である。図2のマスク生成部50の例は、ジオ
メトリ生成部48により生成されたポリゴンデータが供
給され保存されるプリミティブバッファ52を有する。
このプリミティブバッファ52は、ポリゴンデータ以外
にも直線や点などの表示される要素のデータも供給され
て保存する。直線や点の場合も、前述のジオメトリ処理
部48で、その三次元データが表示画面の二次元座標に
透視変換される。
【0028】マスクコントロール部53は、2種類のマ
スクレジスタ、トランスマスクレジスタ533、エリア
マスクレジスタ534を有し、マスクレジスタ内のビッ
トデータに対して排他処理を行う排他処理部531と排
他的論理和の処理を行う排他的論理和処理部532とを
少なくとも有する。これらの処理部531,532の入
力側と出力側にはマルチプレクサ540〜545が設け
られ、これらのマルチプレクサの接続を適宜変更するこ
とにより、処理対象となる入力または出力マスクデータ
を選択することができる。
【0029】これらのマスクレジスタは、例えばフレー
ム内を細分化したフラグメント領域内の全てのピクセル
に対するビットデータを有するレジスタである。従っ
て、後述する通りフラグメント領域が8×8の64ピク
セルを有する領域の場合は、マスクレジスタは64ビッ
トのレジスタの集合である。即ち、64個の2値データ
であり、より具体的には「1」と「0」の2値データを
64個有する。
【0030】トランスマスクレジスタ533は、例えば
最終的に生成されたマスクデータを格納し、レンダリン
グ処理部62にトランスファーされる。或いは、トラン
スマスクレジスタ533は、最終的なマスクデータを生
成する過程で、半透明(translucent 、トランスルーセ
ント) ポリゴンの描画位置のデータを格納する。更に、
エリアマスクレジスタ534は、例えばポリゴンの描画
対象の領域のデータを格納する。或いは、影処理におけ
るシャドーポリゴンの領域のデータ(影処理マスクデー
タ)を一時的に格納する。
【0031】上記のトランスマスクレジスタとエリアマ
スクレジスタとを有するマスクコントロール部53は、
上記のフラグメント領域の64ピクセルに対応して、6
5セット有する。即ち、64ピクセル全てが異なるポリ
ゴンになっても、トランスマスクレジスタ533やエリ
アマスクレジスタ534が対応できる様に構成される。
【0032】但し、エリアマスクレジスタ543は、影
処理マスクデータを格納する場合は、シャドーボリュー
ムの個数分だけ利用される。そして、それらのエリアマ
スクレジスタ543は、論理和処理部538により論理
和処理されて、レンダリング処理部に合成影処理マスク
データとして供給される。
【0033】これらのマスクレジスタに保存されたマス
クデータは、供給されるマスクデータと或いはお互いの
マスクデータと排他処理、排他的論理和処理或いは論理
和処理される。そしてそれらの処理されたマスクデータ
が、再度所定のマスクレジスタに保存され、或いはレン
ダリング処理部に供給される。上記の処理は、排他処理
部531、排他的論理和処理部532及び論理和処理部
538で行われる。
【0034】排他処理部531は、入力I1 2 に対し
て、I1 ・(!I2 )を出力する。ここで、!I2 はI
2 の否定論理を意味する。また、排他的論理和処理部5
32は、入力I1 2 に対して、{I1 ・(!I2 )}
+{!I1 ・(I2 )}を出力する。更に論理和処理部
538は、入力I1 2 ... 65に対して、I1 +I 2
....+I65を出力する。2値データであるマスクデー
タに対する上記の論理演算は、簡単な論理回路により行
うことが可能である。
【0035】マスク生成部50での処理の概略について
説明する。ジオメトリ処理部48で生成されたポリゴン
データは、プリミティブバッファ52に供給され、保存
される。そして、フラクタル処理に必要なポリゴンデー
タはフラクタルセットアップ部54に与えられる。ま
た、エリアマスクレジスタ内のエリアマスクデータが、
マルチプレクサ546を経由して、フラクタル処理部5
5に与えられる。
【0036】フラクタル処理については、後に詳細に説
明するが、フラクタル処理部55を利用することで、ポ
リゴンデータからフラグメント領域内のピクセルがいず
れのポリゴンに属するかの演算、その場合の各ピクセル
のZ値等のポリゴンデータの補間演算などを比較的容易
に且つ短時間で行うことができる。
【0037】フラクタル処理部55により生成されたマ
スクデータは、比較部56にて、Z値比較処理に従っ
て、所定の処理が施されたマスクデータに加工され、再
度マスクコントローラ部53に供給される。従って、比
較部56内には、Z比較器564、トランスZ値比較器
565が設けられる。それらの比較器564,565
は、不透明ポリゴンのZ値を保存するZ値レジスタ56
1と、半透明ポリゴンのZ値等を保存するトランスZ値
レジスタ562とを参照する。
【0038】図2に示されたマスク生成部50の動作
は、後述するマスク生成の詳細な説明によってより明確
化される。
【0039】図3は、ジオメトリ処理部により生成され
るポリゴンデータの例を示す図である。図3には、二つ
のポリゴンID0,ID1のデータ例が示される。ポリ
ゴンは、通常ラスタスキャン法や補間法での演算を簡単
にするために、3角形で形成される。従って、それぞれ
のポリゴンは頂点00,01,02及び頂点10,1
1,12を有する。そして、各頂点のパラメータとし
て、表示画面上での二次元座標(x、y)と表示画面内
の奥行きを示すZ値、そのポリゴンに与えられるテクス
チャを示すテクスチャ座標(Tx、Ty)、三次元空間
内での法線ベクトル(Nx,Ny,Nz)、透明度を示
すα値及び色データが含まれる。法線ベクトルにより光
源に対する処理が行われ、透明度を示すα値により半透
明ポリゴンに対するブレンディング処理が行われる。
【0040】更に、ポリゴンデータには、それぞれのポ
リゴンの属性を示すフィルタイプデータが含まれる。フ
ィルタイプデータには、例えば、不透明ポリゴン、半透
明ポリゴン、シャドーボリュームを構成するシャドーポ
リゴンなどである。本実施の形態例では、これらのポリ
ゴンの属性に応じて異なる処理が施される。
【0041】本実施の形態例における不透明ポリゴンに
対する描画処理、半透明ポリゴンに対する描画処理及び
影処理に対する描画処理を理解するためには、マスクレ
ジスタに格納されるマスクデータと、それを効果的に生
成するフラクタル処理を説明する必要がある。フラクタ
ル処理とは、逐語的にいえば、自己相似的に処理するこ
とをいう。この処理は、ポリゴン内の各ピクセルのデー
タを演算する為に利用されるラスタスキャン法に代わる
方法である。
【0042】図4は、フラクタルな順番で領域をより小
さい相似形に分裂しピクセルの座標データを求める方法
(以下単にフラクタル法と称する。)について説明する
図である。この図には、表示画面の一部のあるフラグメ
ント領域20内の8×8のピクセルの座標を求める方法
が示される。図4Aには、フラグメント領域20内の中
心P0 に対して、それぞれ中心P1 、P2 、P3 、P4
の領域に4分割した状態が示される。中心P0 の座標
(x0 ,y0 )に対して、4分割後の中心P1 、P2
3 、P4 の座標は、フラグメント20の一辺の長さを
単純に8とすると、 P1 =(x0 −2,y0 −2)=(x1 ,y1 ) P2 =(x0 −2,y0 +2)=(x2 ,y2 ) P3 =(x0 +2,y0 +2)=(x3 ,y3 ) P4 =(x0 +2,y0 −2)=(x4 ,y4 ) で求められる。この演算には、除算は含まれず単に加算
と減算だけからなる。
【0043】図4Bには、更に、中心P1 、P2
3 、P4 それぞれの領域を4分割し、フラグメント領
域20を新たな中心P11、P12、P13、P14、P21、P
22...P43、P44の領域に16分割した状態が示され
る。それぞれの分割後の領域の中心P11、P12、...
43、P44の座標は、 P11=(x1 −1,y1 −1)=(x11,y11) P12=(x1 −1,y1 +1)=(x11,y11) P43=(x4 +1,y4 +1)=(x43,y43) P44=(x4 +1,y4 −1)=(x44,y44) で求められる。
【0044】更に、図4Cには、中心P11、P12
13、...P42、P43、P44それぞれの領域を4分割
し、フラグメント領域20を新たな中心P111
112 ...P 443 、P444 の領域に64分割した状態
が示される。それぞれの分割後の領域の中心P111 、P
112 、P443 、P444 の座標は、 P111 =(x11−0.5,y11−0.5)=(x111
111 ) P112 =(x11−0.5,y11+0.5)=(x111
111 ) P443 =(x44+0.5,y44+0.5)=(x443
443 ) P444 =(x44+0.5,y44−0.5)=(x444
444 ) で求められる。
【0045】以上、図4A,B,Cに示される通り、フ
ラクタル法によれば、フラグメント領域20を1領域、
4領域、16領域、そして64領域と、それぞれの領域
を更に小さい相似形の領域に分割していく。このフラク
タル法によれば、それぞれの領域の表示画面での座標値
は、上記した通り加算と減算だけで次々に求めることが
できる。しかも、このフラクタル法によれば、図4Cに
示される通り、フラグメント領域20内のピクセルに対
応できる64個の微小領域に対して、同時にその座標値
や色関連データ等の属性データを求めることができる。
その演算の回数は、上記した通り、3階層の演算で行う
ことができ、それぞれの演算は並列演算が可能である。
このことは、この演算回路を構成する場合、並列演算器
を3階層に形成すればよいことを意味する。この演算回
路の構成については、後述する。
【0046】上記したフラクタル法は、フラグメント領
域内の中心P0 をスタートにして、64個のピクセルの
表示画面内の座標を加算と減算により簡単に求めること
ができる。そこで、レンダリング処理の為に、各ピクセ
ルにどのポリゴンの色をつければよいかを示すマスクデ
ータを生成する必要がある。別の言葉でいえば、ポリゴ
ン内に位置するピクセルを検出する必要がある。
【0047】図5は、任意の点P(x,y)が、三角形
のポリゴン10内に位置するか否かの判断のアルゴリズ
ムについて説明する図である。二次元座標内の三点L,
M,Nを頂点とする三角形の各辺LM,MN,NLにつ
いて、三角形の単位法線ベクトルを(a1 ,b1 )、
(a2 ,b2 )、(a3 ,b3 )と、座標の原点から各
辺に下ろした垂線の距離をc1 、c2 、c3 とする。こ
の場合、任意の点P(x,y)が三角形の内部に位置す
るか外部に位置するかは、次の式の値dが負か正かによ
り判断できる。
【0048】d1 =a1 x+b1 y+c12 =a2 x+b2 y+c23 =a3 x+b3 y+c3 上記のd1 ,d2 ,d3 が共に負になる場合は、点P
(x,y)が三角形の内部に位置することは、数学的に
自明である。かかる、アルゴリズムは、任意の点がある
多角形の内部に位置するか否かの判断を行う場合に利用
される。
【0049】そこで、上記のフラクタル法に従って、6
4個のピクセルがあるポリゴンの内部に属するか否かの
演算を行うことができる。例えば、点P0 に対しては、 d1 =a1 0 +b1 0 +c12 =a2 0 +b2 0 +c23 =a3 0 +b3 0 +c3 を演算して、d1 ,d2 ,d3 が共に負になるか否かの
判断を行えば良い。
【0050】更に、4分割した中心P1 、P2 、P3
4 の領域があるポリゴンの内部に属するか否かの演算
は、点P1 に対しては、 d1 =a1 1 +b1 1 +c1 =a1 (x0 -2)+b1 (y0 -2)+c1 2 =a2 1 +b2 1 +c2 =a2 (x0 -2)+b2 (y0 -2)+c2 3 =a3 1 +b3 1 +c3 =a3 (x0 -2)+b3 (y0 -2)+c3 である。結局、点P0 の時に求めたd1 、d2 、d3
対して、それぞれ d1 =d1 −2a1 −2b12 =d2 −2a2 −2b23 =d3 −2a3 −2b3 という単純な減算を行うことで求めることができる。
【0051】同様にして、16分割した中心P11
12、P13、P14、P21、P22...P 43、P44の領域
についても、点P1 、P2 、P3 、P4 の時に求めたd
1 、d2、d3 に対して簡単な減算を行うことで求める
ことができる。例えば、中心P11の場合は、 d1 =d1 −a1 −b12 =d2 −a2 −b23 =d3 −a3 −b3 により求められる。
【0052】同様にして、64分割した中心P111 、P
112 ...P443 、P444 の領域についても簡単に演算
を行うことができる。例えば、中心P111 の場合は、 d1 =d1 −0.5a1 −0.5b12 =d2 −0.5a2 −0.5b23 =d3 −0.5a3 −0.5b3 により求められる。
【0053】以上の通り、各領域の中心点があるポリゴ
ンの内部に属するか否かの判断の為の演算は、フラクタ
ル法を利用することにより、極めて簡単に行うことがで
きる。
【0054】図6は、表示画面30内に3つのポリゴン
PG1,PG2,PG3が表示される例を示す図であ
る。この図6に示される通り、表示画面30は、複数の
フラグメント領域FMに分割されている。そこで、中央
付近のフラグメントFM9においては、ポリゴンPG
1,PG2の一部が位置している。このフラグメントF
M9を拡大すると、図6の左下の図になる。図に示され
る通り、64個のピクセルP1 〜P64に分割されてい
る。その場合、ピクセルP1 〜P4 、P9 〜P15、P 17
〜P24、P25〜P32が、ポリゴンPG1に属する。更
に、ピクセルP24、P31、P32、P38〜P40、P45〜P
48、P51〜P56、P58〜P64が、ポリゴンPG2に属す
る。
【0055】上記したフラクタル法により、64個のピ
クセルP1 〜P64がポリゴンに属するか否かの演算が、
フレーム内のポリゴン全てに対して行われることで、フ
ラグメント領域20内において、ポリゴンの位置が確認
される。図6の右下に示される通り、フラグメント領域
FM9において、ポリゴンPG1とPG2の位置が確認
される。図中、一部分で二つのポリゴンPG1とPG2
とが重なりあう。
【0056】従来のポリゴン内をラスタスキャンする方
法は、ポリゴン内のピクセルの座標を求めることで、各
ピクセルにどのポリゴンの色を与えるかを求める。これ
に対して、上記の方法では、フラグメント領域内の全て
のピクセルについて、その座標データを求めてその座標
データからポリゴン内に位置するか否かの判断を行うこ
とで、各ピクセルにどのポリゴンの色を与えれば良いか
を求めることができる。
【0057】レンダリング処理において、もう一つの基
本的な処理は、重なりあうポリゴンについて、どのポリ
ゴンを表示すべきかの判定をピクセル毎に行うことであ
る。その為に、各ポリゴンのZ値を比較して、Z値が最
も小さい(手前側の)ポリゴンを選択するアルゴリズム
が知られている。或いは、半透明のポリゴンをレンダリ
ングする時は、例えば奥側に位置するポリゴンの色デー
タにそれと重なる手前側のポリゴンの色データを、手前
側のポリゴンの透明度α値に従ってブレンディングする
ことが行われる。その場合も、Z値が比較される。
【0058】このZ値比較法を行うためには、各ピクセ
ルにおけるポリゴンのZ値を求める必要がある。このポ
リゴン毎のZ値の計算は、上記のフラクタル処理を行う
場合に、非常に簡単に行うことができる。
【0059】例えば、図4、5に戻って、点P0 のZ値
0 は、次の演算式で求めることができる。
【0060】 Z0 =(∂z/∂x)x0 +(∂z/∂y)y0 +cz それぞれの定数(∂z/∂x)、(∂z/∂y)及びc
zは、ポリゴンの1平面からユニークにきまる定数であ
る。具体的には、(∂z/∂x)はポリゴンの平面のX
軸方向の傾きであり、(∂z/∂y)はポリゴンの平面
のY軸方向の傾きである。また、czは原点における平
面のZ値である。
【0061】かかる演算式から理解される通り、更に4
分割した領域の例えば中心P1 のZ値Z1 は、 Z1 =Z0 −2(∂z/∂x)−2(∂z/∂y) で求められる。更に16分割した領域の例えば中心P11
のZ値Z11は、 Z11=Z1 −(∂z/∂x)−(∂z/∂y) で求められ、更に64分割した領域の例えば中心P111
のZ値Z111 は、 Z111 =Z11−0.5(∂z/∂x)−0.5(∂z/
∂y) で求められる。従って、座標の場合と同様に、加算と減
算により64個のピクセルにおけるポリゴンのZ値を簡
単に求めることができる。
【0062】従って、フラクタル法により、各ピクセル
がポリゴンに属するか否かの判定と共に、そのピクセル
のポリゴンのZ値の演算とを同時に行うこともできる。
かかる演算は、フラグメント領域内において、ポリゴン
の個数分だけ繰り返される。フレーム内の全てのポリゴ
ンに対して、上記の演算が行われると、そのフラグメン
ト領域内における、各ピクセルの表示すべきポリゴンと
そのZ値とが求められる。
【0063】ラスタライズ法によるラスタスキャンで
は、ポリゴン内を走査して、その座標とZ値を演算し、
各ピクセルの表示すべきポリゴンとそのZ値とが求めら
れるが、上記した通りその演算には除算が含まれ、コン
ピュータからなる演算器にとって演算時間が長くなる。
それに対して、上記のフラクタル法を使用することによ
り、その演算には基本的に加算と減算しか含まれない。
従って、その演算時間は極めて短くなる。また、後述す
る通り、フラクタル法によれば、64ピクセルの場合
は、並列演算を3階層だけ行うことにより64個分の座
標、ポリゴン、Z値を求めることができる。従って、そ
の点においても演算に要する時間を短くすることができ
る。
【0064】図7は、フラクタル処理部55の具体的構
成例を示す図である。図中、フラクタル処理に必要な初
期値を求めるフラクタルセットアップ54から処理中の
フラグメント領域の中心点での初期値が、フラクタル処
理器の最初のフラクタル分割器FR0 に供給される。こ
の初期値は、例えば、フラグメント領域の中心点P0
二次元座標(x0 ,y0 )、処理中のポリゴンに対する
ポリゴン内か外かの判定値d1 ,d2 ,d3 、及びZ0
値である。そして、フラクタル分割器FR0 では、点P
0 の初期値から、4分割した点P1 、P2 、P3 、P4
での二次元座標(x1 ,y1 )〜(x4 ,y4 )、その
座標が処理中のポリゴンに対するポリゴン内か外かの判
定値d1 ,d2 ,d3 (4種類)、及びZ値Z1 〜Z4
が求められる。この演算は、既に説明した通り、初期値
に対して加算と減算だけで構成される。
【0065】次に、フラクタル分割器FR1 〜FR4
は、4点P1 、P2 、P3 、P4 での二次元座標
(x1 ,y1 )〜(x4 ,y4 )、その座標が処理中の
ポリゴンに対するポリゴン内か外かの判定値d1
2 ,d3 (4種類)、及びZ値Z1 〜Z4 から、それ
ぞれ4分割した点P11、P12、P13、P14...P43
44のでの同様の値が演算される。
【0066】同様に、三階層目の演算として、フラクタ
ル分割器FR11〜FR14では、点P 11〜P14の二次元座
標(x11,y11)〜(x14,y14)、その座標が処理中
のポリゴンに対するポリゴン内か外かの判定値d1 ,d
2 ,d3 (4種類)、及びZ値Z11〜Z14から、更に分
割した点P111 ,P112 〜P143 ,P144 に対する同様
の値が求められる。
【0067】フラクタル分割器FR21〜FR24では、点
21〜P24の同様の値から、更に分割した点P211 ,P
212 〜P243 ,P244 の同様の値が求められる。フラク
タル分割器FR31〜FR34及びFR41〜FR44において
も、同様の演算が行われる。
【0068】三階層目のフラクタル分割器FR11〜FR
44では、それぞれのピクセル毎に設けたd1 ,d2 ,d
3 が全て負か否かの判断が行われる。全て負の場合は、
そのピクセルは処理中のポリゴン内に属することにな
る。そこで、更に、そのピクセルのZ値をZ値レジスタ
561内のZ値と比較する。或いは、ピクセルのZ値を
トランスZ値レジスタ内のZ値と比較する。若しくは、
シャドーボリュームのIDと比較する。そして、例えば
不透明ポリゴン内のピクセルのZ値がZ値レジスタ56
1内のZ値よりも小さい場合は、そのポリゴンが表示画
面内で手前に位置することを意味するので、ピクセルの
Z値がZ値レジスタ561に記録される。同時に、マス
クレジスタ60の対応するマスクレジスタ533〜53
7にデータが書き込まれる。
【0069】フラクタル処理を利用する場合は、図6で
示したフラクタル処理器の通り、加算と減算の単純な演
算を並列的に行うことができる。従って、1つのフラグ
メント領域について、各ピクセル毎の描画すべきポリゴ
ンを求める演算を、初期値が与えられてから、この例で
は3階層の演算で完了することができる。それは、パイ
プライン処理におけるレイテンシーを短くすることがで
きることを意味する。単純に1ピクセル毎に処理する場
合に64回同じ演算を行うことに比較すると、フラクタ
ル処理を利用する場合は演算時間を飛躍的に短縮するこ
とができる。
【0070】図8は、マスクレジスタ60の詳細な構成
例を示す図である。この図には、最下位層のフラクタル
分割器FR11〜FR44が示される。このマスクレジスタ
は、64ビットのフラグビットが格納されるレジスタで
構成される。フラグメント領域が64ピクセルで構成さ
れる場合は、そのレジスタが64+1個設けられる。そ
して、各レジスタにポリゴンが割り当てられる。
【0071】例えば、ポリゴンPG1のポリゴンデータ
がフラクタルセットアップ部54に供給された時、フラ
クタル処理器55内で64ピクセルがポリゴンPG1に
属するか否かの判断がなされて、ポリゴンPG1内に属
することが判明すると、ポリゴンPG1が割り当てられ
ているマスクレジスタ601の対応するピクセルのフラ
グビットが「1」にされる。或いは、ピクセルのZ値が
Z値レジスタのZ値よりも小さい(手前側の)場合は、
ポリゴンPG1が割り当てられているマスクレジスタ6
01(PG1)内の対応するピクセルのフラグビットが
「1」にされる。その結果、そのピクセルはポリゴンP
G1に属するデータであることが、或いはそのピクセル
は表示対象のポリゴンPG1内のピクセルであることが
記録される。即ち、フラグビットが「1」のピクセルが
そのポリゴンの有効ピクセル領域を意味する。
【0072】フラグメント領域が64ピクセルを有する
ので、マスクレジスタは、最大で64個必要になる。そ
して、演算中に使用される1つのマスクレジスタを加え
て、合計65個のマスクレジスタが設けられる。
【0073】図9は、上記したフラクタル処理のフロー
チャート図である。上記したフラクタル処理が図9のフ
ローチャート図によって、より明確に理解される。ステ
ップS30にてフラグメント領域が指定され、フレーム
内のポリゴンデータがジオメトリ処理部48からプリミ
ティブバッファ52に供給される(S32)。この場
合、例えば頂点座標とそのZ値が与えられる。かかるポ
リゴンデータはマスクコントロール部53からフラクタ
ルセットアップ部54に供給され、フラグメント領域の
中心点P0 に対して、d値とZ値の初期値が求められる
(S34)。その演算式は、すでに説明した通りであ
る。
【0074】そこで、マスクコントロール部53は、例
えば全てのピクセルが有効領域となっているマスクデー
タをフラクタル処理部55に供給する。フラクタル処理
部55では、上記の中心点P0 に対するd値とZ値の初
期値から、4分割のフラクタ処理(S36)、16分割
のフラクタ処理(S38)、そして64分割のフラクタ
処理(S40)が行われる。その結果、フラグメント領
域内のピクセル毎のd 1 、d2 、d3 及びZ値が求めら
れる。そして、d1 、d2 、d3 値が全て負か否かの判
断により、そのピクセルが処理中のポリゴンの内部に属
するか否かの判断が行われる(S42)。d1 、d2
3 値が全て負の場合は、ピクセルがポリゴン内部に属
する。従って、d値が全て負にならないピクセルは上記
マスクデータの有効領域から削除(データ「0」)され
る。
【0075】更に、そのピクセルのZ値がZ値レジスタ
561のZ値と比較される(S44)。Z値がZ値レジ
スタ内のZ値より小さい(手前側の)場合は、そのZ値
がZ値レジスタ561に格納され、マスクレジスタの対
応するレジスタにフラグ「1」が格納される(S4
6)。
【0076】或いは、別の処理においては、ピクセルの
Z値がトランスZ値レジスタ562のZ値と比較される
(S44)。Z値がZ値レジスタ内のZ値より大きい
(奥側の)場合は、そのZ値がトランスZ値レジスタ5
62に格納され、マスクレジスタの対応するレジスタに
フラグ「1」が格納される(S46)。
【0077】上記のいずれの処理を行うかは、目的とす
る処理に応じて異なる。上記のステップS44、S46
は、図2において比較部56が処理する。
【0078】上記の構成のマスクレジスタは、各ポリゴ
ンのどのピクセルを描画すべきか、或いは有効にすべき
かをフラグビットで記録する。従って、マスクレジスタ
は、ポリゴンの描画領域をマスクする機能或いはポリゴ
ンの有効領域をマスクする機能を持つ。そして、フラグ
ビットは1と0のデータであるので、複数のマスクデー
タに対して所定の論理計算を行う場合は、単にAND,
OR,NAND,NORなどの論理ゲート回路を利用す
ることができる。従って、かかるマスクデータに対する
排他処理、排他的論理和処理及び論理和処理の演算は、
簡単な論理ゲート回路により、短時間で効率的に行うこ
とができる。
【0079】以上の通り、フラクタル処理とそれにより
生成されるフラグメント領域内のマスクデータが明確に
なった。そこで、以下に、フレーム内に含まれる不透明
マスク、半透明マスク及びシャドーボリュームに対する
描画処理について説明する。
【0080】[描画処理の全体の流れ]図10は、描画
処理の全体の流れを示すフローチャート図である。この
例では、フレーム内に不透明ポリゴンと、半透明ポリゴ
ンとが存在し、更に光源による影処理が施される場合
に、上記したフラクタル処理を利用してマスクデータを
適宜生成して効率的に描画処理を行う。
【0081】マスク生成部50は、ジオメトリ処理部4
8から不透明ポリゴンのデータを順次供給されて、不透
明ポリゴンについての処理を行う(S10、S12)。
概略的に説明すると、不透明ポリゴンの場合は、Z値が
小さい(手前にある)ピクセルが最終的に描画されるピ
クセルである。従って、フラクタル処理を利用して不透
明ポリゴン内の有効ピクセル領域を検出し同時にそのZ
値を求める。そして、そのZ値がZ値レジスタ561内
のZ値より小さい場合は、ポリゴンに対するトランスマ
スクデータを「1」にし、Z値レジスタ内のZ値を書き
換える。その結果、ポリゴン毎に描画すべきピクセルの
データがトランスマスクデータとして生成される(S1
0)。このトランスマスクデータは、それまでに生成さ
れた別の不透明マスクのトランスマスクデータと排他処
理されて保存される(S12)。
【0082】全ての不透明ポリゴンに対して工程S1
0,S12が行われると、次に、ジオメトリ処理部48
から光源からの光線が遮断された影空間であるシャドー
ボリュームを規定するシャドーポリゴンのデータがマス
ク生成部50に供給される。マスク生成部50では、影
処理が行われ、不透明ポリゴン上であって光源からの光
が照射されない影の領域を示す影処理マスクデータが生
成される(S14)。
【0083】そして、不透明ポリゴンのトランスマスク
データと、影処理により求められエリアマスク内に格納
された影処理マスクデータとから、不透明ポリゴンのレ
ンダリング処理が行われる(S16)。具体的には、マ
スクコントロール部53内のトランスマスクレジスタ5
33のトランスマスクデータとエリアマスクレジスタ5
34の影処理マスクデータとが、レンダリング処理部6
2に供給される。レンダリング処理部62では、トラン
スマスクデータで示された有効ピクセル領域に対応する
ポリゴンの画像データを生成して、フレームバッファ6
6に記録する。また、画像データの生成は、ピクセルの
テクスチャ座標からテクスチャバッファ64内のテクス
チャデータを取得し、また、色データから色データを取
得し、法線ベクトルを利用して光源処理を施す。即ち、
光源からの光が照射される領域では、例えば輝度値を高
くする。また、影処理マスクデータに従う光源からの光
が照射されない領域では、光源による処理を行わない。
【0084】次に、半透明ポリゴンの処理が行われる
(S18)。ここでの半透明ポリゴンとは、不透明でも
透明でもないポリゴンであり、透明度α値が最大のポリ
ゴンを含むポリゴンである。半透明ポリゴンの場合は、
その透明度に応じて奥側に位置するポリゴンの色とブレ
ンディング処理を行う必要がある。そこで、本実施の形
態例では、後述するアルゴリズムにより、表示画面内の
最も奥に位置する半透明ポリゴンの領域を示すトランス
マスクを最初に生成する(S18)。そして、マスクコ
ントロール部53がそのトランスマスクデータをレンダ
リング処理部52に与える。そして、レンダリング処理
部52では、フレームバッファ66内の画像データと処
理中の半透明ポリゴンの色データとでブレンディング処
理を行う(S20)。そのブレンディング処理された画
像データが再度フレームバッファ66に格納される。
【0085】上記の工程S18,S20が、半透明ポリ
ゴンの重なりの全ての層に対して繰り返して行われる。
そして、最後にフレームバッファ66内の画像データ
が、表示装置68に供給され、表示される(S22)。
【0086】以下、上記のそれぞれの処理について、具
体的な例を利用して詳細に説明する。
【0087】[不透明ポリゴンの処理]図11は、不透
明ポリゴンの処理を説明する為の例を示す図である。図
11(A)には、表示画面101の例が示される。この
表示画面101内には、ポリゴンA、ポリゴンB及びポ
リゴンCが図示される通り一部重なっている。図11
(B)は、表示画面101の中央水平線に沿ったポリゴ
ンの奥行きの関係を示す。即ち、ポリゴンAは最も奥
(Z値最大)に位置し、ポリゴンB、CはポリゴンAよ
りも手前側に位置するが、互いに交差している。
【0088】かかる不透明ポリゴンの場合は、ポリゴン
が重なりあう領域は、奥側に位置するポリゴンの領域を
消去する陰面消去処理が行われる。最も一般的な方法
は、ラスタスキャン法によりそれぞれのポリゴンのピク
セルのZ値を求め、Z値レジスタに既に書き込まれたZ
値と比較するZバッファ法である。
【0089】図12は、本実施の形態例の不透明ポリゴ
ンの処理のフローチャート図である。本実施の形態例の
不透明ポリゴンの処理は、フラクタル処理を利用してト
ランスマスクデータを生成する手法を利用する。図2に
示された、マスクコントロール部53では、トランスマ
スクレジスタ533と排他処理部531とが使用され、
比較器56では、不透明ポリゴンZ値レジスタ561
と、Z比較器564とが使用される。そして、不透明ポ
リゴンのデータに従って、フラクタル処理部55でポリ
ゴン領域を示すマスクデータを生成し、Z比較器564
により陰面消去処理して奥側に位置する領域をマスクデ
ータから削除して、それぞれのトランスマスクレジスタ
に保存する。また、各不透明ポリゴンのトランスマスク
データは、それぞれ排他処理部531により排他処理さ
れ、再度トランスマスクレジスタ533に保存される。
上記の処理が全ての不透明ポリゴンに対して行われる。
そして、最終的に形成されたトランスマスクレジスタの
マスクデータがレンダリング処理部52に転送される。
【0090】図13〜16は、図11の例を処理する場
合のトランスマスクデータの変化を示す図である。ま
た、図34〜37は、図12のフローチャートの各処理
におけるデータの流れを示す図である。図34は、ステ
ップS50〜S55の処理を、図35,36は、ステッ
プS56の処理を、そして、図37はステップS57の
処理をそれぞれ示す。これらの図12〜16、34〜3
7を参照しながら、不透明ポリゴンの処理を説明する。
【0091】不透明ポリゴンの処理の順番は特に問わな
い。仮に、図11の例のポリゴンA,B,Cの順番に処
理されるとする。先ず、ポリゴンAについて、プリミテ
ィブバッファ52は、ジオメトリ処理部48からポリゴ
ンデータであるプリミティブデータまたはそのIDを受
け取り、保存する(S50)。そして、プリミティブバ
ッファ52は、ポリゴンデータのうちフラクタル処理に
必要なデータをフラクタルセットアップ部54に供給す
る。このフラクタル処理に必要なデータとは、例えば、
頂点パラメータの内の表示座標(X,Y)及びZ値であ
る(S51)。マスクコントロール部53は、空いてい
るエリアマスクレジスタ534にマスクパターンをセッ
トして、フラクタル処理部55に初期マスクデータとし
て供給する(S52)。
【0092】この初期マスクデータは、図13のマスク
102を示すデータである。最初の処理では、初期マス
クデータは全てのビットが有効「1」にセットされる。
図13以下、黒い部分は有効領域であることを示す。
【0093】次に、フラクタルセットアップ部54は、
領域判定の為の初期値を求め、フラクタル処理部55に
供給する(S53)。この初期値は、図9のステップS
3で示された通り、d1,d2,d3,(∂z/∂
x)、(∂z/∂y)、czなどである。そして、フラ
クタル処理部55は、初期値をもとに領域判定のフラク
タル処理を行いマスクデータを求め、初期マスクデータ
と論理積演算する。フラクタル処理部55は、更にピク
セルのZ値演算をフラクタル処理で求める(S54)。
かかる領域判定のフラクタル処理とZ値演算のフラクタ
ル処理は、既に説明した通りである。
【0094】上記のフラクタル処理部55により生成さ
れたマスクデータは、図13のマスクデータ103に示
される通りである。ポリゴンAは、最初のポリゴンであ
るので、全ての領域が有効領域として判定される。かか
るマスクデータ103及びZ値は、比較器56のZ比較
器564に与えられる。
【0095】Z比較器564は、上記フラクタル処理で
求めたZ値とZレジスタ561のZ値と比較し、陰面消
去処理によりマスクデータ103から陰の領域を削りマ
スクコントロール部53に与える。また、有効な領域に
対応するZ値を不透明ポリゴンZ値レジスタ561に保
存、更新する(S55)。この場合も、最初のポリゴン
であるので陰面消去処理によっても削られる領域はな
く、Z比較器564から出力されるマスクデータは、図
13のマスク104の如くなる。このマスク104はマ
スクコントロール部53に与えられる。
【0096】そして、マスクコントロール部53は、供
給されたマスク104のデータをトランスマスクレジス
タ533に保存し(S56、図35)、他のトランスマ
スクレジスタのマスクデータと排他処理を行い、他のマ
スクデータを削除する(S56、図36)。即ち、マス
ク104がポリゴンAに対応するトランスマスクレジス
タ533に記録される。また、他のポリゴンは未だ処理
されていないので、他のトランスマスクレジスタは存在
しない。従って、ここでは他のトランスマスクとの排他
処理は行われない。
【0097】次に、ポリゴンBの処理が行われる。ポリ
ゴンBについても、ポリゴンAと同様に、図12中のス
テップS50からS56の処理が行われる。図14に、
ポリゴンBの場合の、ステップS52での初期値マスク
107、ステップS54でフラクタル処理部が生成した
マスク108及びステップS55でZ比較器564が生
成してトランスマスクレジスタに保存されるマスク10
9が示される。そして、ステップS56にて、排他処理
部531は、ポリゴンBのトランスマスク109とポリ
ゴンAのトランスマスクレジスタ内のマスク104との
排他処理演算を行い、重なり合う領域をポリゴンAのト
ランスマスク104から削除し、図16に示される新た
なトランスマスク105を生成し、ポリゴンAのトラン
スマスクレジスタ533に保存する。
【0098】ポリゴンBのトランスマスク109は、Z
値比較の結果有効となった領域を有するので、先に処理
されたポリゴンAのトランスマスク104と重なる領域
は、ポリゴンAのトランスマスク104から削除され
て、新たなトランスマスク105(図15)となる。
【0099】図36に示される通り、この排他処理は、
比較部56から供給されるポリゴンBのトランスマスク
データと、すでに保存されているポリゴンAのトランス
マスクレジスタ533内のトランスマスクデータとの間
で行われる。処理されたポリゴンAのトランスマスクデ
ータは、再度トランスマスクレジスタ533内に保存さ
れる。また、ポリゴンBのトランスマスクデータは、異
なるレイヤー内のトランスマスクレジスタ533内に保
存される。
【0100】上記の説明から理解されるとおり、トラン
スマスク109と104との排他処理は、有効領域のデ
ータを「1」とすると、(109)・(!104)なる
論理演算である。トランスマスク109とトランスマス
ク104の反転データとの論理積である。尚、本明細書
内にて!は、反転論理を意味し、(!104)は(10
4)の反転或いは否定ビットを意味する。
【0101】次に、ポリゴンCの処理が行われる。ポリ
ゴンCについても、ポリゴンAと同様に、図12中のス
テップS50からS56の処理が行われる。図15に、
ポリゴンCの場合の、ステップS52での初期マスク1
11、ステップS54でフラクタル処理部が生成したマ
スク112及びステップS55でZ比較器564が生成
してトランスマスクレジスタに保存されるマスク113
が示される。ポリゴンCの場合は、Z比較による陰面消
去処理にて、処理済のポリゴンBの背面の領域が削除さ
れ、マスク113が生成される。そして、ステップS5
6にて、排他処理部531は、ポリゴンCのトランスマ
スク104とポリゴンAのトランスマスクレジスタ内の
マスク105との排他処理演算を行い、重なり合う領域
をポリゴンAのトランスマスク105から削除し、図1
6に示される新たなトランスマスク106を生成し、ポ
リゴンAのトランスマスクレジスタ533に保存する。
同様に、排他処理部531は、ポリゴンCのトランスマ
スク104とポリゴンBのトランスマスクレジスタ内の
マスク109との排他処理演算を行い、重なり合う領域
をポリゴンBのトランスマスク109から削除し、図1
6に示される新たなトランスマスク110を生成し、ポ
リゴンBのトランスマスクレジスタ533に保存する。
【0102】全ての不透明ポリゴンの処理が終了したの
で、最終的に各トランスマスクレジスタ内のトランスマ
スク106(ポリゴンA)、トランスマスク110(ポ
リゴンB)及びトランスマスク113(ポリゴンC)の
データが、それぞれのポリゴンデータと共にレンダリン
グ処理部62に出力される(S57、図37)。
【0103】レンダリング処理部では、ポリゴンAのト
ランスマスク106に従って、レンダリングすべき領域
について、ポリゴンデータから画像データを演算で求
め、フレームバッファ66に書き込む。同様に、ポリゴ
ンB、Cのトランスマスク110,113に従って、レ
ンダリングすべき領域について、画像データを求め、フ
レームバッファ66に書き込む。トランスマスク10
6,110,113はそれぞれ排他処理済であるので、
重なり合う領域は存在しない。従って、レンダリング処
理部での画像データを求める演算処理は無駄なく行われ
る。
【0104】フラグメント領域が64ピクセルで構成さ
れる場合は、それぞれのトランスマスクレジスタは64
ビットのデータから構成される。従って、上記の排他処
理部531は、64組の排他論理(A・!IN、B・!
IN、C・!IN)の演算回路を有する。即ち、トラン
スマスク105は論理演算A・!Bにより求められ、ト
ランスマスク106は論理演算A・!Cにより求められ
る。また、トランスマスク110は論理演算B・!Cに
より求められる。尚、上記のA,B,Cはそれぞれポリ
ゴンA,B,Cのトランスマスクデータを、!B、!C
はそれぞれポリゴンB、Cのトランスマスクデータの反
転データを示す。
【0105】上記の通り、半透明ポリゴンの画像処理で
は、トランスマスクレジスタを利用して、それぞれのポ
リゴンの有効領域を示すマスクデータを生成し、Z値比
較による陰面消去処理により手前側に位置する有効領域
を示すマスクデータをトランスマスクとして生成し、そ
のトランスマスクと他のポリゴンのトランスマスクとの
排他処理を行う。特に、ポリゴンの処理の順番に起因し
て必要になる処理済のポリゴンのトランスマスクとの陰
面消去処理は、排他処理用の論理回路を利用することで
容易に実現できる。更に、フラクタル処理を利用するこ
とにより、ポリゴンの存在領域の判定とZ値の演算を短
時間で行うことも可能になる。
【0106】[半透明ポリゴンの処理]図17は、半透
明ポリゴンの処理を説明する為の例を示す図である。図
17(A)には、表示画面201の例が示される。この
表示画面201内には、半透明ポリゴンE、半透明ポリ
ゴンF、半透明ポリゴンG及び不透明ポリゴンDが、図
示される通り一部重なりあっている。図17(B)は、
表示画面201の中央水平線に沿ったポリゴンの奥行き
の関係を示す。即ち、ポリゴンEは最も奥(Z値最大)
に位置し、ポリゴンF、GはポリゴンEよりも手前側に
位置するが、互いに交差している。そして、不透明ポリ
ゴンDが最も手前(Z値最小)に位置する。
【0107】かかる半透明ポリゴンの画像処理では、第
1に不透明ポリゴンにより隠れている部分は、レンダリ
ング処理の対象から除かれる。第2に、半透明ポリゴン
の重なり合った領域は、それぞれの色データを手前側の
半透明ポリゴンの透明度α値にしたがってブレンディン
グ処理する必要がある。しかも、重なり合った領域の色
データの演算は、常に、奥側のポリゴンの色データXに
手前側のポリゴンの色データYを透明度α値にしたがっ
て求められることが必要である。即ち、重なり合った領
域の色データYYの演算は、YY=α・X+(1−α)
・Yである。従って、重なり合う領域では、奥側のポリ
ゴンの色データを含む画像データが先に生成され、手前
側のポリゴンの色データを含む画像データが後で生成さ
れて、ブレンディング処理されることが必要である。
【0108】そこで、本実施の形態例では、図17の表
示画面201に示された不透明ポリゴンDと半透明ポリ
ゴンE,F,Gの画像処理を行う場合は、最初に不透明
ポリゴンの処理を行い、その後、半透明ポリゴンの処理
を行う。しかも、半透明ポリゴンについて、表示画面内
のZ方向で最も奥にある1枚目のポリゴンの領域を最初
にレンダリング処理し、その後、逐次2枚目のポリゴン
の領域、3枚目のポリゴンの領域についてレンダリング
処理を行う。そして、全てのポリゴンの領域が処理され
るまで続ける。
【0109】半透明ポリゴンの不透明ポリゴンにより隠
れている領域を削除する処理は、上記してきた不透明ポ
リゴンのZ値レジスタ561のZ値と比較する陰面消去
処理により実現可能である。一方、重なりあう半透明ポ
リゴンの奥側の領域は、半透明ポリゴンのZ値が格納さ
れるトランスZ値レジスタ562のトランス(透明)Z
値と比較しZ値が大きい場合に有効とする逆陰面消去処
理により、検出することができる。それと同時に、不透
明ポリゴンの画像処理でも行った通り、一旦生成された
トランスマスクを利用して、既に生成された他の半透明
ポリゴンのトランスマスクと排他処理を行うことで、処
理の順番にかかわらず、有効な最も奥側の領域を検出す
ることができる。
【0110】上記の処理を行う為に、マスクコントロー
ル部53は、トランスマスクレジスタ533と、エリア
マスクレジスタ534と排他処理部531とを使用す
る。トランスマスクレジスタとエリアマスクレジスタ
は、不透明ポリゴンの場合と同様に、64ピクセルのフ
ラグメント領域の場合は、64+1の65組の64ビッ
トのレジスタで構成される。また、比較器56は、不透
明ポリゴンのZ値を格納するZ値レジスタ561と、半
透明ポリゴンのトランスZ値を格納するトランスZ値レ
ジスタ562と、Z比較器564とトランスZ比較器5
65とを利用する。エリアマスクとは、半透明ポリゴン
の描画処理すべき領域を示すマスク(第1のマスク)で
ある。従って、最初の処理では不透明ポリゴンにより隠
れている領域を除いた全ての領域にビットデータ「1」
が記録される。また、トランスマスクとは、レンダリン
グ処理部に供給される半透明(トランスルーセント)ポ
リゴンのレンダリング対象領域を示すマスク(第2のマ
スク)である。そして、トランスマスクによりレンダリ
ング処理される毎に、エリアマスクからレンダリング済
のトランスマスクの領域が削除される。最後にエリアマ
スクが全て無効になると、半透明ポリゴンの画像処理が
終了する。エリアマスクからトランスマスクの領域を削
除する演算は、排他処理部531により行われる。そし
て、処理の必要上、同時に2つのマスクレジスタ53
3,534が使用される。
【0111】図18は、半透明ポリゴンの画像処理のフ
ローチャート(1)を示す図である。図19は、同フロ
ーチャート(2)を示す図である。更に、図20〜22
は、表示画面の奥から1枚目の領域を有効領域とするト
ランスマスクの生成処理を行う時のエリアマスクとトラ
ンスマスクの変化を示す図である。図23,24は、表
示画面の奥から2枚目の領域を有効領域とするトランス
マスクの生成処理を行う時のエリアマスクとトランスマ
スクの変化を示す図である。そして、図25,26は、
表示画面の奥から3枚目の領域のトランスマスク生成の
処理を行う時のエリアマスクとトランスマスクの変化を
示す図である。そして、図27は、図20〜26の全て
を表示する図である。図27を適宜参照することで、画
像処理の理解を容易にする。更に、図38〜42は、図
18,19の半透明ポリゴンの処理フローチャートに対
応した図2のマスク生成部50内のデータの流れを示す
図である。
【0112】これらの図を参照しながら、半透明ポリゴ
ンの画像処理を説明する。前提として、不透明ポリゴン
の画像処理を終了している。また、半透明ポリゴンの処
理の順番は特に問わない。仮に、図17の例のポリゴン
E,F,Gの順番に処理されるとする。先ず、ポリゴン
Eについて、プリミティブバッファ52は、ジオメトリ
処理部48から半透明ポリゴンデータであるプリミティ
ブデータまたはそのIDを受け取り、保存する(S5
0)。そして、プリミディブバッファ52は、ポリゴン
データのうちフラクタル処理に必要なデータをフラクタ
ルセットアップ部54に供給する。このフラクタル処理
に必要なデータとは、例えば、頂点パラメータの内の表
示座標及びZ値である(S51)。マスクコントロール
部53は、空いているマスクレジスタ534にマスクパ
ターンをセットして、フラクタル処理部55に初期マス
クデータとして供給する(S52)。
【0113】この初期マスクデータは、図20のマスク
202を示すデータである。最初の処理では、初期マス
クデータは全てのビットが有効「1」にセットされる。
【0114】次に、フラクタルセットアップ部54は、
領域判定の為の初期値を求め、フラクタル処理部55に
供給する(S53)。この初期値は、図9のステップS
3で示された通り、d1,d2,d3,(∂z/∂
x)、(∂z/∂y)、czなどである。そして、フラ
クタル処理部55は、初期値をもとに領域判定のフラク
タル処理を行いマスクデータを求め、初期マスクデータ
と論理積演算する。フラクタル処理部55は、更にピク
セルのZ値演算をフラクタル処理で求める(S54)。
かかるマスクデータ及びZ値は、比較器56のZ比較器
564に与えられる。
【0115】Z比較器564は、上記フラクタル処理で
求めたピクセルのZ値と不透明ポリゴンのZ値レジスタ
561のZ値と比較し、陰面消去処理によりマスクデー
タから不透明ポリゴンDの陰になっている領域を削り、
エリアマスクとしてマスクコントロール部53に与え
る。具体的には、ピクセルのZ値が不透明ポリゴンのZ
値レジスタ561のZ値よりも小さい場合に有効、大き
い場合に無効とされる。これが条件1である(S6
0)。この場合、エリアマスクは図20中のマスク20
4の通りになる。かかるエリアマスク204は、ポリゴ
ンEの領域から手前側の不透明ポリゴンDの領域の部分
が削除されていて、半透明ポリゴンのレンダリング対象
領域を示す。このエリアマスク204はマスクコントロ
ール部53に与えられる。
【0116】次に、トランスZ比較器565は、フラク
タル処理で求めたピクセルのZ値と半透明ポリゴンのト
ランスZ値レジスタ562のトランスZ値と比較し、逆
陰面消去処理によりエリアマスクから他の半透明ポリゴ
ンの手前の領域を削り、トランスマスク203−Pとし
てマスクコントロール部53に与える。具体的には、ピ
クセルのZ値がトランスZ値レジスタ562のZ値より
も大きい場合に有効、小さい場合に無効とされる。これ
が条件2である。また、有効な領域に対応するトランス
Z値をトランスZ値レジスタ562に保存、更新する
(S61)。この場合は、最初の半透明ポリゴンEであ
るので、エリアマスク204の全ての領域がトランスマ
スク203−Pの領域となる。以上のステップS50〜
S61でのデータの流れが、図38に示される。
【0117】マスクコントロール部53は、供給された
エリアマスクデータ204をエリアマスクレジスタ53
4に、トランスマスクデータ203−Pをトランスマス
クレジスタ533に保存する(S62、図39)。ま
た、マスクコントロール部53は、トランスマスク20
3−Pについて、他のトランスマスクレジスタのトラン
スマスクデータと排他処理を行い、他のトランスマスク
を削除する。この排他処理は、排他処理部531により
行われる(S62、図40)。但し、半透明ポリゴンE
は最初のポリゴンであるので、他の生成済のトランスマ
スクは存在しないので、この時点では排他処理は行われ
ない。
【0118】次に、半透明ポリゴンFの画像処理が、図
21に示される様に行われる。半透明ポリゴンFについ
ても、図18のステップS50〜S54及びS60〜6
2の処理が行われる。その結果、不透明ポリゴンと陰面
消去処理されて条件1を満たすエリアマスク207が生
成される(S60)。更に、処理済の半透明ポリゴンと
の逆陰面消去処理により、上記条件2を満たすトランス
マスク206−Pが生成される(S61)。トランスマ
スク206−Pから理解される通り、より奥側に位置す
る半透明ポリゴンEの領域が削除されている。そして、
マスクコントロール部53は、そのポリゴンFのトラン
スマスク206−Pと、既に生成されている他のポリゴ
ンEのトランスマスク203−Pとで排他処理を行う
(S62、図40)。その結果、両トランスマスク20
3−Pと206−Pとの間で重なり合う領域は存在しな
いので、ポリゴンEのトランスマスク203−Pは変更
ない。
【0119】最後に、半透明ポリゴンGの画像処理が、
図22に示される様に行われる。半透明ポリゴンGにつ
いても、図18のステップS50〜S54及びS60〜
62の処理が行われる。その結果、不透明ポリゴンと陰
面消去処理されて条件1を満たすエリアマスク210が
生成される(S60)。更に、処理済の半透明ポリゴン
との逆陰面消去処理により、上記条件2を満たすトラン
スマスク209−Pが生成される(S61)。トランス
マスク209−Pから理解される通り、より奥側に位置
する半透明ポリゴンEの領域が削除されている。
【0120】そして、マスクコントロール部53は、そ
のポリゴンGのトランスマスク209−Pと、既に生成
されている他のポリゴンEのトランスマスク203−P
とで排他処理を行う(S62、図40)。その結果、両
トランスマスク203−Pと209−Pとの間で重なり
合う領域は存在しないので、最終的なポリゴンEのトラ
ンスマスク203(図20)は変更ない。同様に、マス
クコントロール部53は、そのポリゴンGのトランスマ
スク209−Pと、既に生成されている他のポリゴンF
のトランスマスク206−Pとで排他処理を行う(S6
2、図40)。その結果、両トランスマスク206−P
と209−Pとの間で重なり合う領域が、先に処理され
ていたポリゴンFのトランスマスク206−Pから削除
される(図21の領域206D)。最終的なポリゴンF
のトランスマスク206が、図21に示される通り生成
される。また、ポリゴンGのトランスマスク209−P
は、最後の半透明ポリゴンであるので、そのまま最終の
トランスマスク209となる。
【0121】上記の条件1(不透明ポリゴンよりもZ値
が小さい)と条件2(他の半透明ポリゴンよりもZ値が
大きい)とを満たすポリゴンE,F,Gの領域が、それ
ぞれトランスマスク203,206,209に示され
る。かかる領域は、図17から明らかな通り、表示画面
の最も奥に位置する1枚目の領域を示す。
【0122】そして、図19のフローチャートに示され
る通り、マスクコントロール部53は、トランスマスク
レジスタ533にそれぞれ保存されている有効なトラン
スマスク203,206,209のデータを、そのポリ
ゴンデータと共にレンダリング処理部62に出力する
(S63、図41)。そして、レンダリング処理部62
では、トランスマスクの有効領域について、色データを
含む画像データを演算して求め、フレームバッファ66
に保存する。かかる画像データの色データは、後で、よ
り手前に位置する半透明ポリゴンの色データとブレンデ
ィング処理される。以上で、1枚目の領域の画像処理が
終了した。
【0123】次に、2枚目以上の領域の画像処理が、図
19のフローチャートのステップS64〜S75により
行われる。
【0124】半透明ポリゴンの2枚目の領域を検出する
にあたり、描画すべき領域を示すエリアマスク204,
207,210から、すでに1枚目の領域として描画済
の領域であるトランスマスク203,206,209の
領域が削除される。即ち、マスクコントロール部53
は、排他処理部531により、エリアマスクレジスタ5
34のそれぞれのポリゴンのエリアマスクデータとトラ
ンスマスクレジスタ533の対応するポリゴンのトラン
スマスクデータとの排他論理(AM・!TM、但しAM
はエリアマスクデータで、!TMはトランスマスクデー
タの反転データ)演算を行い、その結果をエリアマスク
レジスタ534に保存する(S64、図41))。
【0125】そして、更に、Z比較器564は、トラン
スZ値レジスタ562をクリアする。即ち、レジスタ5
62のビットデータを全て「0」にする(S65)。以
上で、半透明ポリゴンの2枚目の領域の判定の準備が整
った。
【0126】図23は、半透明ポリゴンFの2枚目の処
理におけるエリアマスクとトランスマスクを示し、図2
4は、半透明ポリゴンGの2枚目の処理におけるエリア
マスクとトランスマスクを示す。上記したステップS6
4の排他処理により、表示画面の最も奥に位置する半透
明ポリゴンEのエリアマスク204は、トランスマスク
203と一致し、全て削除されて、2枚目以降の処理は
不要である。ポリゴンFはそのエリアマスク211の領
域が、ポリゴンGはそのエリアマスク214の領域がそ
れぞれ未描画の領域である。
【0127】図19のフローチャートに沿って及び図4
2を参照して説明すると、プリミティブバッファ52
は、ポリゴンデータのうちフラクタル処理に必要なデー
タをフラクタルセットアップ部54に供給する(S6
6)。この処理は、ステップS51と同様である。ま
た、マスクコントロール部53は、フラクタル処理部5
5にエリアマスクレジスタ534内のエリアマスクのデ
ータ(初期マスクデータ)を供給する(S67)。即
ち、ポリゴンFの場合はエリアマスク211、ポリゴン
Gの場合はエリアマスク214である。そして、フラク
タルセットアップ部54は、領域判定の為の初期値を求
め、フラクタル処理部55に供給する(S68)。この
処理は、ステップS53と同様である。
【0128】そして、フラクタル処理部55は、初期値
をもとに領域判定のフラクタル処理を行いマスクデータ
を求め、エリアマスクデータ211または214と論理
積演算し、更にピクセルのZ値演算をフラクタル処理で
求める(S69)。Z比較器564は、不透明ポリゴン
のZ値レジスタ561のZ値と比較し、陰面消去処理に
よりマスクデータから陰の領域を削り、エリアマスク2
13または216をマスクコントロール部に与える(S
70)。ここの処理は、上記した条件1を満たす領域の
判定である。
【0129】次に、Z比較器564は、トランスZ値レ
ジスタ562のトランスZ値と比較し、エリアマスク2
13または216からZ値が小さいより手前の領域を削
りトランスマスク212または215を生成し、マスク
コントロール部に与える。また、Z値が大きい奥側のZ
値をトランスZ値レジスタ562に保存、更新する(S
71)。即ち、上記の条件2を満足する領域を検出す
る。ポリゴンFから先に処理されたとすると、そのトラ
ンスマスク212ーPは、エリアマスク213と同じで
ある。また、その後に処理されるポリゴンGのトランス
マスク215ーPは、より奥に位置するポリゴンFの領
域(図24中の領域215D)が逆陰面消去処理により
削除される。
【0130】そして、マスクコントロール部53は、供
給されたエリアマスクデータ213または216をエリ
アマスクレジスタ534に、トランスマスクデータ21
2−Pまたは215−Pをトランスマスクレジスタ53
3にそれぞれ保存する(S72、図39)。そして、他
のトランスマスクレジスタのトランスマスクデータと排
他処理を行い、重なった領域を他のトランスマスクから
削除する(S72、図40)。その結果、先に処理され
たポリゴンFのトランスマスク212−Pからポリゴン
Gのトランスマスク215−Pと重なった領域(図23
中の領域212D)が削除され、トランスマスク212
となる。
【0131】有効なエリアマスクを有するポリゴンFと
ポリゴンGとの処理が終わると、2枚目の最終トランス
マスク212,215が確定したことになる。そこで、
マスクコントロール部53は、トランスマスクレジスタ
533内の有効なトランスマスク212,215とポリ
ゴンデータをレンダリング処理部62に出力する(S7
3、図41)。
【0132】レンダリング処理部では、トランスマスク
とポリゴンデータとから2枚目の色データを演算し、既
に保存しているフレームバッファ66の画像データの色
データに対して、2枚目のポリゴンの透明度α値に従っ
て、上記した通りブレンディング処理を行う。その結果
得られた色データは再度フレームバッファ66に保存さ
れる。
【0133】ステップS64と同様に、マスクコントロ
ール部53は、エリアマスク213,216から既に描
画されたトランスマスク212,215の領域を削除す
る為に、排他処理部531により排他処理を行う(S7
4、図41)。その結果、図25,26に示される通
り、未描画領域を示すエリアマスク217,220がそ
れぞれ生成される。その後、3枚目の領域についての処
理が行われる。3枚目の領域の処理も、2枚目の領域の
処理と同様に、トランスZ値レジスタ562をクリアし
(S65)、ステップS66からS72が実行される。
その結果、図25,26に示される通り、エリアマスク
219,222とトランスマスク218,221とがそ
れぞれ生成され、それぞれのレジスタに保存される。
【0134】そして、マスクコントロール部53は、有
効なトランスマスク218,221とそのポリゴンデー
タをレンダリング処理部62に出力する(S73、図4
1)。レンダリング処理部62は、トランスマスク21
8,221の領域について、ブレンディング処理を行っ
て、色データを含む画像データを再度フレームバッファ
66に保存する。
【0135】最後に、マスクコントロール部53は、エ
リアマスク219,222から描画済の領域を示すトラ
ンスマスク218,221を削除すると(S74、図4
1)、有効なエリアマスクは消滅する。即ち、全ての描
画すべき領域の処理が終了したことになる(S75)。
【0136】上記の半透明ポリゴンに対する処理におい
て、不透明ポリゴンに対する陰面消去処理を行うため
に、条件1を満たすエリアマスクを生成した。しかし、
不透明ポリゴンが存在せず、半透明ポリゴンのみの場合
は、条件1の処理は省略される。
【0137】以上の通り、半透明ポリゴンに対する処理
は、エリアマスクレジスタ534とトランスマスクレジ
スタ533とを同時に利用して、描画すべきポリゴンの
領域を奥側から順にトランスマスクレジスタ533に生
成し、レンダリング処理部に供給する。そして、描画す
べきポリゴンの領域をエリアマスクレジスタ534に保
存し、レンダリング処理した領域を逐次削除していく。
そして、エリアマスクレジスタ534の有効領域がなく
なるまで、処理を繰り返す。2種類のマスクレジスタと
排他処理部とを利用するだけで、半透明ポリゴンの処理
を効率的に行うことができる。
【0138】[影処理]次に、影処理について説明す
る。影処理では、光源からの光がポリゴンによって遮断
された領域を検出し、その領域については光源による処
理を行わない。従って、その領域は輝度が低いままとな
り、表示された時に影の領域として表示される。
【0139】画像処理におけるZ値を利用した陰面消去
処理を説明したが、同様のハードウエアを利用して物体
の影を描くことができるシャドーポリゴン法が提案され
ている。例えば、特開平2-73479 である。かかるシャド
ーポリゴン法は、シャドーボリュームと呼ばれる影付け
の為の仮想の物体を利用する。シャドーボリュームと
は、光源と物体によって生じる影空間であり、そのシャ
ドーボリュームの内側がその物体の影になる領域であ
り、その外側は光源の光が照射される領域である。
【0140】シャドーボリュームは、半無限の多面体で
あり、それを構成する複数の側面はシャドーポリゴンと
呼ばれる半無限の多角形である。但し、コンピュータを
利用した実際の画像処理においては、シャドーボリュー
ムは、有限な多面体として、シャドーポリゴンは有限の
多角形として処理される。従って、シャードーボリュー
ムは複数のシャードーポリゴンで構成され、シャドーポ
リゴンを通常のポリゴンと同様に取り扱い、影処理を行
うことができる。
【0141】本実施の形態例では、影処理に上記のエリ
アマスク534、排他的論理和処理部532及び論理和
処理部538とを利用する。本実施の形態例の説明をす
る前に、上記の特開平2-73479 のアルゴリズムについて
簡単に説明する。
【0142】図28は、シャドーボリュームとそれを構
成するシャドーポリゴンを利用した陰影処理を示す図で
ある。この例では、光源LS1,LS2,LS3により
形成されるシャドーボリュームSV1,SV2,SV3
が、不透明ポリゴンP1,P2,P3により生成され
る。図中、左側の無限遠に光源が存在するので、不透明
ポリゴンP1,P2,P3の右側にそれぞれシャドーボ
リュームSV1,SV2,SV3が生成される。また、
図中、シャドーボリュームの断面が示され、従って、シ
ャドーボリュームSV1はシャドーポリゴンSP11,
SP12により形成され、シャドーボリュームSV2は
シャドーポリゴンSP21,SP22により形成され、
シャドーボリュームSV3はシャドーポリゴンSP3
1,SP32により形成される。
【0143】今仮に、視点の位置がシャドーボリューム
の外の位置の視点1にあるとする。シャドーボリューム
の中に位置する陰の領域か、外に位置する光が照射され
ている領域かを検出するためには、視点1からZ軸の方
向(矢印方向)にシャドーポリゴンを通過したか否かを
カウントし、そのカウント値が偶数か奇数かを検出す
る。図28に示される通り、視点1が、シャドーボリュ
ームの外側に位置する場合は、偶数がシャドーボリュー
ムの外の領域、奇数がシャドーボリュームの中の領域で
あることが理解される。
【0144】従って、あるポリゴンの表面が影の領域か
否かの判断をするためには、そのポリゴンの位置よりも
手前、即ちポリゴンの位置と視点の位置の間に存在する
シャドーポリゴンの数をカウントし、そのカウント値が
偶数であれば影の領域内、奇数であれば影の領域外であ
るとすれば良い。但し、視点2の如くシャドーボリュー
ムSV1,SV2が重なる領域が存在する場合は、上記
偶数、奇数の判断はできなくなる。その場合は、いずれ
か1つのシャドーボリュームについてのみ判断し、後に
残りのシャドーボリュームについて判断する必要があ
る。
【0145】例えば、図28中に示されるシャドーボリ
ュームSV3を横切るポリゴンP4が存在するとする
と、ポリゴンP4の領域a−bは、視点1との間にシャ
ドーポリゴンSP31,SP32が2枚存在するので、
シャドーボリュームSV3の外の領域と判断される。ま
た、ポリゴンP4に領域b−cは、視点1との間にシャ
ドーポリゴンSP32が1枚存在するので、シャドーボ
リュームSV3の中の領域と判断される。そして、領域
c−dは、視点1との間にシャドーポリゴンが存在しな
いので、シャドーボリュームSV3の外と判断される。
【0146】上記の通り、シャドーボリュームとシャド
ーポリゴンを利用した影処理は、上記説明したZ値を利
用した陰面消去法と同様の方法を利用し、例えば視点と
の間に何枚のシャドーポリゴンが存在するかをカウント
することで行うことができる。
【0147】尚、視点がシャドーボリューム内に位置す
る場合は、上記の奇数と偶数に対して、それぞれ影の領
域外と影の領域内との関係が視点がシャドーボリューム
外に位置する場合と逆になる。
【0148】同様の考え方によれば、Z値がより大きい
シャドーポリゴンを検出する逆陰面消去法と同様の方法
が利用できる。即ち、ポリゴンP4と無限遠との間にあ
るシャドーポリゴンの数をカウントすることで、同様に
ポリゴンP4の領域がシャドーボリューム内に位置する
か否かを検出できる。従って、その場合は、ポリゴンP
4のZ値よりも大きいZ値を有するシャドーポリゴンの
領域が、奇偶転換の対象領域となる。
【0149】[影処理]影処理の方法は、図2に示した
マスク生成部を利用して、フラクタル処理によるシャド
ーポリゴンの有効領域をエリアマスクに生成し、視点と
の間のシャドーポリゴンの枚数の奇数か偶数かを格納す
る影処理マスクデータを生成してエリアマスクレジスタ
に保存することを基本とする。或いは、無限遠との間の
シャドーポリゴンの枚数の奇数か偶数かを格納する影処
理マスクデータを生成してエリアマスクレジスタに保存
することを基本とする。更に、上記の影処理マスクデー
タをシャドーボリューム毎に生成し、最後の全てのシャ
ドーボリュームに対応する影処理マスクデータの論理和
をとり、合成された影処理マスクデータを生成してレン
ダリング処理部に供給する。シャドーボリュームが重な
り合う領域はいずれにしても影になるので、それぞれの
シャドーボリュームにより影になる領域を影処理マスク
データとして別々に求めて、最後の論理和をとる。ま
た、影処理の前に不透明ポリゴンのレンダリングが終了
し、そのZ値が不透明ポリゴンZ値レジスタ561に格
納されていることを前提とする。
【0150】従って、影処理では、図2中のマスク生成
部50において、マスクコントロール部53の排他的論
理和処理部532、論理和処理部538、シャドーボリ
ューム毎に設けられたエリアマスクレジスタ534が利
用される。また、比較部56の、不透明ポリゴンZ値レ
ジスタ561とZ値比較器564とが利用されるだけで
ある。
【0151】図29は、影処理を説明する為の例を示す
図である。図29(A)は、表示画面内のシャドーボリ
ュームSV1,SV2と、通常ポリゴンP1,P2とか
らなる例であり、図29(B)は、Z値方向のシャドー
ボリュームSV1,SV2を構成するシャドーポリゴン
の位置関係を示す。シャドーボリュームSV1,SV2
は、いずれも三角錐であり、それぞれ画面前方のシャド
ーポリゴン1F、2Fと、画面後方の左右のシャドーポ
リゴン1L、1R及び2L、2Rで構成される。
【0152】図30は、影処理のフローチャート図であ
る。また、図31、図32は、図29の例を影処理によ
り処理した場合の影処理マスクデータのエリアマスクを
示す図である。そして、図33は、最後に合成された合
成影処理マスクデータを示す図である。更に、図43〜
45は、図30のフローチャートの各データの流れを示
す図である。
【0153】図30のフローチャートの概略は、シャド
ーボリューム毎に不透明ポリゴンと視点あるいは無限遠
との間に位置するシャドーポリゴンを検出し、その個数
が奇数か偶数かを格納する影処理マスクデータ(エリア
マスクデータ)に対して、その検出された領域について
奇数と偶数との反転処理を、排他的論理和処理により行
う。この処理を全てのシャドーボリュームに対して繰り
返し行い、最後に、それぞれのシャドーボリューム毎に
生成したエリアマスクレジスタ内の影処理マスクデータ
を、論理和処理部538で処理して、合成された影処理
マスクデータを生成し、レンダリング処理部に供給す
る。以下、図30のフローチャートに従って、及び図3
1〜33及び図43〜45を参照して影処理を詳細に説
明する。
【0154】先ず、不透明ポリゴンP1,P2の処理が
終了していることが前提である。ステップS100〜S
104は、半透明ポリゴンの画像処理の場合とほぼ同じ
であるが、影処理の場合は対象がシャドーポリゴンとな
る点で異なる。先ず、シャドーポリゴン1Fについて、
プリミティブバッファ52は、ジオメトリ処理部48か
らシャドーポリゴンデータであるプリミティブデータま
たはそのIDを受け取り、保存する(S100)。そし
て、プリミティブバッファ52は、ポリゴンデータを記
憶し、ポリゴンデータのうちフラクタル処理に必要なデ
ータをフラクタルセットアップ部54に供給する。この
フラクタル処理に必要なデータとは、例えば、頂点パラ
メータの内の表示座標及びZ値である(S101)。プ
リミティブバッファ52は、空いているエリアマスクレ
ジスタにマスクパターンをセットして、フラクタル処理
部55に初期マスクデータとして供給する(S10
2)。この初期マスクデータは、全てのビットが有効
「1」にセットされる。
【0155】次に、フラクタルセットアップ部54は、
領域判定の為の初期値を求め、フラクタル処理部55に
供給する(S103)。この初期値は、図9のステップ
S3で示された通り、d1,d2,d3,(∂z/∂
x)、(∂z/∂y)、czなどである。そして、フラ
クタル処理部55は、初期値をもとに領域判定のフラク
タル処理を行いマスクデータを求め、初期マスクデータ
と論理積演算する。フラクタル処理部55は、更にピク
セルのZ値演算をフラクタル処理で求める(S10
4)。かかるマスクデータ及びZ値は、比較器56のZ
比較器564に与えられる。
【0156】Z比較器564は、上記フラクタル処理で
求めたピクセルのZ値と不透明ポリゴンのZ値レジスタ
561のZ値と比較し、陰面消去処理によりマスクデー
タから不透明ポリゴンP1,P2の陰になっている領域
を削り、図31のエリアマスク402としてマスクコン
トロール部53に与える(S105、図43)。ここで
の陰面消去処理は、具体的にはシャドーポリゴンのピク
セルのZ値がZ値レジスタのZ値よりも小さい領域を有
効にする処理である。或いは、前述の通り逆陰面消去処
理により、ピクセルのZ値がZ値レジスタのZ値よりも
大きい領域を有効にする処理でも良い。前者の場合は、
不透明ポリゴンと視点との間に存在するシャドーポリゴ
ンの領域を有効領域とするアルゴリズムである。後者
は、不透明ポリゴンと無限遠との間を有効領域とする逆
のアルゴリズムである。
【0157】視点と不透明ポリゴンとの間のシャドーポ
リゴンをカウントする前者の処理では、ピクセルのZ値
がZ値レジスタのZ値よりも小さい場合に有効、大きい
場合に無効とされ、エリアマスクは図31中のマスク4
02の通りになる。かかるエリアマスク402は、シャ
ドーポリゴン1Fの領域から手前側の不透明ポリゴンP
1,P2の領域の部分が削除され、シャドーポリゴンの
影処理対象領域を示す。
【0158】そして、マスクコントロール部53は、排
他的論理和処理部532により、比較器56から供給さ
れたエリアマスクデータ402と既に保存されているエ
リアマスクレジスタ534内のマスクデータとの排他的
論理和処理を行い、エリアマスクレジスタ534に保存
する(S106、図44)。エリアマスクレジスタ53
4の初期値は全て、例えば偶数を示す「0」である。従
って、上記の排他的論理和処理により、比較器から供給
されたエリアマスク402の有効領域は、奇数を示す
「1」に転換される。即ち、ここでの排他的論理和処理
は、不透明ポリゴンと視点(或いは無限遠)との間に位
置するシャドーポリゴンの数の奇数か偶数かのデータを
反転する処理である。本明細書では、かかる排他的論理
和処理を奇偶転換処理と称する。その結果、図31に示
されるエリアマスク402が生成される。最初のシャド
ーポリゴン1Fであるので、エリアマスク402は、シ
ャドーポリゴン1Fの形状と同じである。
【0159】次に、同じシャドーボリュームSV1のシ
ャドーポリゴン1Lが、上記と同様にステップS100
〜S106に従って処理される。ステップS105によ
りマスクコントロール部53に供給されるマスクデータ
は、図31の307の如くなる。このマスクデータ30
7に示される領域が、シャドーポリゴン1Lのうち不透
明ポリゴンP1,P2と視点との間に位置する領域であ
る。そして、マスクデータ402と307との排他的論
理和処理(EOR)による奇偶転換処理の結果、図31
に示されるエリアマスク403が生成される(S10
6、図44)。
【0160】同様に、シャドーボリュームSV1のシャ
ドーポリゴン1RがステップS100〜S106に従っ
て処理される。シャドーポリゴン1Rのマスクデータ3
11がマスクコントロール部53に供給され、マスクデ
ータ403との排他的論理和処理による奇偶転換処理の
結果、図31に示されるエリアマスク404が生成され
る。以上でシャドーボリュームSV1のIDを有するシ
ャドーポリゴンの処理が完了し、エリアマスク404が
シャドーボリュームSV1により形成される影の領域を
示す。従って、このエリアマスク404が影処理マスク
としてエリアマスクレジスタ534に保存される(S1
06、図44)。
【0161】次に、シャドーボリュームSV2のIDを
有するシャドーポリゴン2F、2L、2Rが同様にステ
ップS100〜S106に従って処理される。この影処
理では、シャドーボリュームの重なり合う領域を考慮す
ることなく、陰面消去処理と奇偶転換処理が行われて、
図32に示す通り、エリアマスク405,406,40
7が順次生成される。エリアマスク407がシャドーボ
リュームSV2により形成される影の領域を示す。従っ
て、このエリアマスク407が影処理マスクとしてシャ
ドーポリゴンSV2に対応するエリアマスクレジスタ5
34に保存される。
【0162】以上の通り、エリアマスク(影処理マス
ク)はシャドーボリュームに対応してそれぞれ生成され
る。そして、全てのシャドーボリュームのポリゴンが終
了すると(S107)、マスクコントロール部53は、
論理和処理部538によりシャドーボリュームID毎の
エリアマスクレジスタ534のマスクデータの論理和を
とり、合成された影処理マスクを生成し、レンダリング
処理部62に供給する(S108、図45)。図31の
エリアマスク404と図32のエリアマスク407との
論理和処理の結果、図33のライトマスク408が生成
される。異なるシャドーボリュームにより生成される影
の領域(影処理マスクの有効領域)は、重なりあう領域
もやはり影の領域となる。
【0163】図33の合成影処理マスク408が、レン
ダリング処理部に供給され、不透明ポリゴンのトランス
マスクと共にレンダリング処理に利用される。その結
果、光源に対する影を有効に表現することができる。
【0164】上記の通り、影処理では、シャドーボリュ
ーム毎に影処理マスクに相当するエリアマスクを生成
し、最後の全てのエリアマスクの論理和処理を行うだけ
でよいので、効率的な処理を可能にする。
【0165】[汎用コンピュータによる画像処理]図4
6は、本実施の形態例の画像処理を汎用コンピュータを
利用してソフトウエアにより行う場合の構成例を示す図
である。汎用コンピュータを利用して画像処理を行う場
合は、画像処理の演算は記録媒体内に格納されたプログ
ラムに従って行われる。従って、画像処理プログラムを
コンピュータが読み取り可能な記録媒体に格納すること
で、汎用コンピュータは画像処理専用コンピュータとし
て動作する。画像処理プログラムは、上記したフローチ
ャート等で説明した各手順をコンピュータに実行させ
る。また、各マスクデータ間の論理積処理、排他処理、
排他的論理和処理、論理和処理は、コンピュータの演算
機能を利用することができる。
【0166】図12の例では、CPU70、演算用のR
AM71、ゲームプログラムや画像処理プログラムが格
納されたROM72が、バス76に接続される。また、
バス76に接続された入出力部73は、操作者が操作す
る操作部74に接続され、操作信号を入力する。また、
画像処理の為に、RAM71内にポリゴンデータを記憶
するプリミティブバッファ52,不透明ポリゴンZ値レ
ジスタ561、トランスZ値レジスタ562、各マスク
レジスタ533,534、テクスチャーマップメモリ6
4が設けらる。また、フレームバッファメモリ66は、
バス76に接続され、外部の表示装置68にも接続され
る。
【0167】この例では、画像処理プログラムがROM
72内に格納されているが、それ以外に、外部のCDR
OMや磁気テープなどの記録媒体75からRAM71内
に画像処理プログラムをインストールすることもでき
る。
【0168】
【発明の効果】以上説明した通り、本発明によれば、所
定の領域内のピクセル毎に有効または無効を示すマス
ク、奇数または偶数を示すマスクを利用して、排他処
理、排他的論理和処理、論理和処理を行うことで、比較
的単純な論理演算により画像処理を行うことができる。
【0169】また、本発明によれば、フラクタル処理を
利用することで、所定の領域内のポリゴンの領域を示す
エリアマスクを効率的に生成することができ、その後エ
リアマスクを利用して、上記の論理演算を行って画像処
理を行うことができる。
【0170】本発明によれば、不透明ポリゴンの画像処
理において、Z値を利用した陰面消去法を利用して各ポ
リゴン毎に有効領域を示すトランスマスクを生成し、更
にトランスマスク間の排他処理を行うことで、表示され
るべき有効領域を有するポリゴン毎のトランスマスクを
効率的に形成することができる。そして、そのトランス
マスクを利用してレンダリング処理を行うことができ
る。
【0171】本発明によれば、半透明の画像処理におい
て、Z値を利用した陰面消去法を利用して不透明ポリゴ
ンにより隠される領域を除去したエリアマスクを生成
し、Z値の大きい順に抽出する逆陰面消去法により、表
示画面の奥側の半透明ポリゴンの領域を抽出してトラン
スマスクを生成し、更にトランスマスク間で排他処理を
行うことで、互いに重なりある領域を適宜処理すること
ができる。そして、表示画面の奥側から順番にトランス
マスクを生成してレンダリング処理するので、半透明ポ
リゴンに必要なブレンディング処理を効率的に行うこと
ができる。
【0172】本発明によれば、影処理において、シャド
ーボリューム毎に描画ポリゴンと視点(或いは無限遠)
との間のシャドーポリゴンの位置を陰面処理によりマス
クデータとして求め、排他的論理和処理によりシャドー
ポリゴンの枚数を奇数か偶数かを示す影処理マスクデー
タを求めてエリアマスクレジスタに保存する。そして、
最後にシャドーボリューム毎に求めた影処理マスクデー
タの論理和処理により影となる合成された影処理マスク
データを生成することができる。従って、簡単な論理演
算により効率的に陰影処理を行うことができる。
【図面の簡単な説明】
【図1】本実施の形態例の画像処理装置の全体構成図で
ある。
【図2】マスク生成部の構成例を示す図である。
【図3】ジオメトリ処理部により生成されるポリゴンデ
ータの例を示す図である。
【図4】フラクタル法について説明する図である。
【図5】任意の点P(x,y)が、三角形のポリゴン1
0内に位置するか否かの判断のアルゴリズムについて説
明する図である。
【図6】表示画面30内に3つのポリゴンPG1,PG
2,PG3が表示される例を示す図である。
【図7】フラクタル処理部の具体的構成例を示す図であ
る。
【図8】マスクレジスタの詳細な構成例を示す図であ
る。
【図9】フラクタル処理のフローチャート図である。
【図10】描画処理の全体の流れを示すフローチャート
図である。
【図11】不透明ポリゴンの処理を説明する為の例を示
す図である。
【図12】本実施の形態例の不透明ポリゴンの処理のフ
ローチャート図である。
【図13】図11の例を処理する場合のトランスマスク
の変化を示す図である。
【図14】図11の例を処理する場合のトランスマスク
の変化を示す図である。
【図15】図11の例を処理する場合のトランスマスク
の変化を示す図である。
【図16】図11の例を処理する場合のトランスマスク
の変化を示す図である。
【図17】半透明ポリゴンの処理を説明する為の例を示
す図である。
【図18】本実施の形態例の半透明ポリゴンの処理のフ
ローチャート図(1)である。
【図19】本実施の形態例の半透明ポリゴンの処理のフ
ローチャート図(2)である。
【図20】図17の例を処理する場合のエリアマスクと
トランスマスクの変化を示す図である。
【図21】図17の例を処理する場合のエリアマスクと
トランスマスクの変化を示す図である。
【図22】図17の例を処理する場合のエリアマスクと
トランスマスクの変化を示す図である。
【図23】図17の例を処理する場合のエリアマスクと
トランスマスクの変化を示す図である。
【図24】図17の例を処理する場合のエリアマスクと
トランスマスクの変化を示す図である。
【図25】図17の例を処理する場合のエリアマスクと
トランスマスクの変化を示す図である。
【図26】図17の例を処理する場合のエリアマスクと
トランスマスクの変化を示す図である。
【図27】図17の例を処理する場合のエリアマスクと
トランスマスクの全体の変化を示す図である。
【図28】シャドーボリュームとそれを構成するシャド
ーポリゴンを利用した陰影処理を示す図である。
【図29】陰影処理を説明する為の例を示す図である。
【図30】第2の陰影処理のフローチャート図である。
【図31】第2の陰影処理により処理した場合のエリア
マスクを示す図である。
【図32】第2の陰影処理により処理した場合のエリア
マスクを示す図である。
【図33】第2の陰影処理により処理により生成された
合成影処理マスクを示す図である。
【図34】不透明ポリゴンを処理する場合のマスク生成
部50内のデータの流れを示す図である。
【図35】不透明ポリゴンを処理する場合のマスク生成
部50内のデータの流れを示す図である。
【図36】不透明ポリゴンを処理する場合のマスク生成
部50内のデータの流れを示す図である。
【図37】不透明ポリゴンを処理する場合のマスク生成
部50内のデータの流れを示す図である。
【図38】半透明ポリゴンを処理する場合のマスク生成
部50内のデータの流れを示す図である。
【図39】半透明ポリゴンを処理する場合のマスク生成
部50内のデータの流れを示す図である。
【図40】半透明ポリゴンを処理する場合のマスク生成
部50内のデータの流れを示す図である。
【図41】半透明ポリゴンを処理する場合のマスク生成
部50内のデータの流れを示す図である。
【図42】半透明ポリゴンを処理する場合のマスク生成
部50内のデータの流れを示す図である。
【図43】影処理する場合のマスク生成部50内のデー
タの流れを示す図である。
【図44】影処理する場合のマスク生成部50内のデー
タの流れを示す図である。
【図45】影処理する場合のマスク生成部50内のデー
タの流れを示す図である。
【図46】本実施の形態例の画像処理を汎用コンピュー
タを利用してソフトウエアにより行う場合の構成例を示
す図である。
【符号の説明】
50 マスク生成部 52 プリミティブバッファ 53 マスクコントロール部 54 フラクタルセットアップ部 55 フラクタル処理部 56 比較器 62 レンダリング処理部 66 フレームバッファ 531 排他処理部 532 排他的論理和処理部 538 論理和処理部 533 トランスマスクレジスタ 534 エリアマスクレジスタ 564 不透明ポリゴンZ比較器 565 半透明ポリゴンZ比較器

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】複数のポリゴンを表示する為の画像データ
    を生成する画像処理装置において、 前記ポリゴンの表示画面内の位置データを含むポリゴン
    データから、表示画面内の前記ポリゴンの有効ピクセル
    領域を示す第1のマスクデータと該有効ピクセル毎の表
    示画面内の奥行きを示すZ値とを生成し、該第1のマス
    クデータの有効ピクセル領域のうち既に処理済の他のポ
    リゴンのZ値よりも手前側のZ値のピクセルの領域を有
    効ピクセル領域とする第2のマスクデータを生成し、生
    成された第2のマスクデータの有効領域を生成済の他の
    ポリゴンの第2のマスクデータの有効領域から削除する
    排他処理を行って新たな第2のマスクデータを生成し、
    上記新たな第2のマスクデータの生成をポリゴン毎に行
    うマスク生成部と、 前記マスク生成部から供給される新たな第2のマスクデ
    ータに従って、該新たな第2のマスクデータが示す有効
    領域について、前記各ポリゴンのレンダリング処理を行
    うレンダリング処理部とを有する画像処理装置。
  2. 【請求項2】請求項1において、 前記マスク生成部は、所定の表示画面領域に対して、フ
    ラクタル的に該領域をより小さい相似形に分裂しなが
    ら、前記位置データに従って当該分裂された領域が前記
    ポリゴンの内部に位置するか否かを順次検出し、該分裂
    されたピクセル毎に検出された前記第1のマスクデータ
    を生成するフラクタル処理部を有する画像処理装置。
  3. 【請求項3】複数の半透明ポリゴンを表示する為の画像
    データを生成する画像処理装置において、 前記半透明ポリゴンの表示画面内の位置データを含むポ
    リゴンデータから、表示画面内の前記半透明ポリゴンの
    有効ピクセル領域を示す第1のマスクデータと該有効ピ
    クセル毎の表示画面内の奥行きを示す半透明Z値とを生
    成し、該第1のマスクデータの有効ピクセル領域のうち
    既に処理済の他の半透明ポリゴンの半透明Z値よりも奥
    側の半透明Z値のピクセルの領域を有効ピクセル領域と
    する第2のマスクデータを生成し、生成された第2のマ
    スクデータの有効領域を生成済の他の半透明ポリゴンの
    第2のマスクデータの有効領域から削除する排他処理を
    行って新たな第2のマスクデータを生成し、上記新たな
    第2のマスクデータの生成を半透明ポリゴン毎に行うマ
    スク生成部と、 前記マスク生成部から供給される前記新たな第2のマス
    クデータに従って、該新たな第2のマスクデータが示す
    有効領域について、画像データを生成する前記各ポリゴ
    ンのレンダリング処理を行うレンダリング処理部とを有
    し、 前記マスク生成部は、更に、前記第1のマスクデータの
    有効領域から前記新たな第2のマスクデータの有効領域
    を削除する排他処理を行って新たな第1のマスクデータ
    を生成し、前記新たな第1のマスクデータに基づいて次
    の前記新たな第2のマスクデータを生成し、 前記レンダリング処理部は、前記次の新たな第2のマス
    クデータに従って前記レンダリング処理を行う画像処理
    装置。
  4. 【請求項4】請求項3において 前記マスク生成部は、 前記第1のマスクデータの有効領域から前記新たな第2
    のマスクデータの有効領域を削除する排他処理を行って
    新たな第1のマスクデータを生成し、前記新たな第1の
    マスクデータに基づいて次の前記新たな第2のマスクデ
    ータを生成することを、 前記新たな第1のマスクデータから有効領域がなくなる
    まで、繰り返し行うことを特徴とする画像処理装置。
  5. 【請求項5】請求項3または4において前記レンダリン
    グ処理部は、前記次の新たな第2のマスクデータに従っ
    て行うレンダリング処理において、前に供給した前記新
    たな第2のマスクデータの有効領域と前記次の新たな第
    2のマスクデータの有効領域とで重なる領域に、所定の
    ブレンディング処理を行うことを特徴とする画像処理装
    置。
  6. 【請求項6】請求項3または4において、 前記マスク生成部は、前記表示画面内の前記半透明ポリ
    ゴンの有効ピクセル領域を示す第1のマスクデータを、
    不透明ポリゴンの有効ピクセル領域のZ値よりも手前側
    のZ値のピクセル領域を有効領域とすることで生成する
    ことを特徴とする画像処理装置。
  7. 【請求項7】請求項3または4において、 前記マスク生成部は、所定の表示画面領域に対して、フ
    ラクタル的に該領域をより小さい相似形に分裂しなが
    ら、前記位置データに従って当該分裂された領域が前記
    ポリゴンの内部に位置するか否かを順次検出し、該分裂
    されたピクセル毎に検出された前記第1のマスクデータ
    を生成するフラクタル処理部を有する画像処理装置。
  8. 【請求項8】請求項3または4において、 前記マスク生成部及びレンダリング処理部は、更に、請
    求項1に記載のマスクデータの生成及びレンダリング処
    理を、前記半透明ポリゴンの処理を行う前に行うことを
    特徴とする画像処理装置。
  9. 【請求項9】描画対象ポリゴン上の影領域を表示する為
    の画像データを生成する画像処理装置において、 シャドーボリュームを規定するシャドーポリゴンの表示
    画面内の位置データを含むシャドーポリゴンデータか
    ら、表示画面内の前記シャドーポリゴンの有効ピクセル
    領域を示す第1のマスクデータと該有効ピクセル毎の表
    示画面内の奥行きを示すZ値とを生成し、前記第1のマ
    スクデータの有効ピクセル領域のうち前記描画対象ポリ
    ゴンのZ値より手前側(または奥側)のZ値のピクセル
    の領域を有効ピクセル領域とする第2のマスクデータを
    生成し、視線方向であって前記描画対象ポリゴンと視点
    (または無限遠)との間に位置するシャドーポリゴンの
    枚数の奇偶データを有する影処理マスクデータの該奇偶
    データを、前記第2のマスクデータの有効領域について
    奇偶反転して新たな影処理マスクデータを生成し、上記
    影処理マスクデータの生成を前記シャドーボリュームを
    規定する全てのシャドーポリゴンに対して行うマスク生
    成部と、 前記マスク生成部から供給される前記影処理マスクデー
    タに従って、レンダリング処理を行うレンダリング処理
    部とを有する画像処理装置。
  10. 【請求項10】請求項9において、 複数のシャドーボリュームが存在し、 前記マスク生成部は、前記複数のシャドーボリュームに
    対してそれぞれ前記影処理マスクデータを生成し、該複
    数の影処理マスクデータの有効領域を重ね合わせた有効
    領域を有する合成影処理マスクデータを生成し、 該合成影処理マスクデータを前記レンダリング処理部
    に、前記供給用の影処理マスクデータとして供給する画
    像処理装置。
  11. 【請求項11】請求項9または10において、 前記レンダリング処理部は、前記供給された影処理マス
    クデータに従って、該影処理マスクデータが示す有効領
    域について、前記描画対象ポリゴン上に影領域を表示す
    るレンダリング処理を行うことを特徴とする画像処理装
    置。
  12. 【請求項12】請求項9または10において、 前記マスク生成部は、所定の表示画面領域に対して、フ
    ラクタル的に該領域をより小さい相似形に分裂しなが
    ら、前記位置データに従って当該分裂された領域が前記
    シャドーポリゴンの内部に位置するか否かを順次検出
    し、該分裂されたピクセル毎に検出された前記第1のマ
    スクデータを生成するフラクタル処理部を有する画像処
    理装置。
  13. 【請求項13】請求項9または10において、 前記マスク生成部は、更に、請求項1に記載のマスクデ
    ータの生成を、前記シャドーポリゴンの処理を行う前に
    行うことを特徴とする画像処理装置。
  14. 【請求項14】請求項9または10において、 前記マスク生成部及びレンダリング処理部は、更に、請
    求項3に記載の半透明ポリゴンについてのマスクデータ
    の生成及びレンダリング処理を、前記シャドーポリゴン
    の処理を行った後に行うことを特徴とする画像処理装
    置。
  15. 【請求項15】複数のポリゴンを表示する為の画像デー
    タを生成する画像処理方法において、 前記ポリゴンの表示画面内の位置データを含むポリゴン
    データから、表示画面内の前記ポリゴンの有効ピクセル
    領域を示す第1のマスクデータと該有効ピクセル毎の表
    示画面内の奥行きを示すZ値とを生成し、該第1のマス
    クデータの有効ピクセル領域のうち既に処理済の他のポ
    リゴンのZ値よりも手前側のZ値のピクセルの領域を有
    効ピクセル領域とする第2のマスクデータを生成し、生
    成された第2のマスクデータの有効領域を生成済の他の
    ポリゴンの第2のマスクデータの有効領域から削除する
    排他処理を行って新たな第2のマスクデータを生成し、
    上記新たな第2のマスクデータの生成をポリゴン毎に行
    うマスク生成工程と、 前記マスク生成工程により生成された前記新たな第2の
    マスクデータに従って、該新たな第2のマスクデータが
    示す有効領域について、前記各ポリゴンのレンダリング
    処理を行うレンダリング処理工程とを有する画像処理方
    法。
  16. 【請求項16】複数の半透明ポリゴンを表示する為の画
    像データを生成する画像処理方法において、 前記半透明ポリゴンの表示画面内の位置データを含むポ
    リゴンデータから、表示画面内の前記半透明ポリゴンの
    有効ピクセル領域を示す第1のマスクデータと該有効ピ
    クセル毎の表示画面内の奥行きを示す半透明Z値とを生
    成し、該第1のマスクデータの有効ピクセル領域のうち
    既に処理済の他の半透明ポリゴンの半透明Z値よりも奥
    側の半透明Z値のピクセルの領域を有効ピクセル領域と
    する第2のマスクデータを生成し、生成された第2のマ
    スクデータの有効領域を生成済の他の半透明ポリゴンの
    第2のマスクデータの有効領域から削除する排他処理を
    行って新たな第2のマスクデータを生成し、上記新たな
    第2のマスクデータの生成を半透明ポリゴン毎に行うマ
    スク生成工程と、 前記マスク生成工程で生成された前記新たな第2のマス
    クデータに従って、該新たな第2のマスクデータが示す
    有効領域について、画像データを生成する前記各ポリゴ
    ンのレンダリング処理を行うレンダリング処理工程とを
    有し、 前記マスク生成工程で、更に、前記第1のマスクデータ
    の有効領域から前記新たな第2のマスクデータの有効領
    域を削除する排他処理を行って新たな第1のマスクデー
    タを生成し、前記新たな第1のマスクデータに基づいて
    次の前記新たな第2のマスクデータを生成し、 前記レンダリング処理工程で、前記次の新たな第2のマ
    スクデータに従って前記レンダリング処理を行う画像処
    理方法。
  17. 【請求項17】請求項16において前記マスク生成工程
    では、更に、 前記第1のマスクデータの有効領域から前記新たな第2
    のマスクデータの有効領域を削除する排他処理を行って
    新たな第1のマスクデータを生成し、前記新たな第1の
    マスクデータに基づいて次の前記新たな第2のマスクデ
    ータを生成することを、 前記新たな第1のマスクデータから有効領域がなくなる
    まで、繰り返し行うことを特徴とする画像処理方法。
  18. 【請求項18】請求項16または17において前記レン
    ダリング処理工程で、前記次の新たな第2のマスクデー
    タに従って行うレンダリング処理において、前に供給し
    た前記新たな第2のマスクデータの有効領域と前記次の
    新たな第2のマスクデータの有効領域とで重なる領域
    に、所定のブレンディング処理を行うことを特徴とする
    画像処理方法。
  19. 【請求項19】描画対象ポリゴン上の影領域を表示する
    為の画像データを生成する画像処理方法において、 シャドーボリュームを規定するシャドーポリゴンの表示
    画面内の位置データを含むシャドーポリゴンデータか
    ら、表示画面内の前記シャドーポリゴンの有効ピクセル
    領域を示す第1のマスクデータと該有効ピクセル毎の表
    示画面内の奥行きを示すZ値とを生成し、前記第1のマ
    スクデータの有効ピクセル領域のうち前記描画対象ポリ
    ゴンのZ値より手前側(または奥側)のZ値のピクセル
    の領域を有効ピクセル領域とする第2のマスクデータを
    生成し、視線方向であって前記描画対象ポリゴンと視点
    (または無限遠)との間に位置するシャドーポリゴンの
    枚数の奇偶データを有する影処理マスクデータの該奇偶
    データを、前記第2のマスクデータの有効領域について
    奇偶反転して新たな影処理マスクデータを生成し、上記
    影処理マスクデータの生成を前記シャドーボリュームを
    規定する全てのシャドーポリゴンに対して行うマスク生
    成工程と、 前記マスク生成工程で生成された前記影処理マスクデー
    タに従って、レンダリング処理を行うレンダリング処理
    工程とを有する画像処理方法。
  20. 【請求項20】請求項19において、 複数のシャドーボリュームが存在し、 前記マスク生成工程で、更に、前記複数のシャドーボリ
    ュームに対してそれぞれ前記影処理マスクデータを生成
    し、該複数の影処理マスクデータの有効領域を重ね合わ
    せた有効領域を有する合成影処理マスクデータを生成
    し、 前記レンダリング処理工程で、該合成影処理マスクデー
    タを前記影処理マスクデータとして取り扱って前記レン
    ダリング処理を行うことを特徴とする画像処理方法。
  21. 【請求項21】請求項19または20において、 前記レンダリング処理工程は、前記影処理マスクデータ
    に従って、該影処理マスクデータが示す有効領域につい
    て、前記描画対象ポリゴン上に影領域を表示するレンダ
    リング処理を行うことを特徴とする画像処理方法。
  22. 【請求項22】複数のポリゴンを表示する為の画像デー
    タを生成する画像処理手順をコンピュータに実行させる
    画像処理プログラムを記録した該コンピュータ読み取り
    可能な記録媒体において、 前記画像処理手順は、 前記ポリゴンの表示画面内の位置データを含むポリゴン
    データを供給され、表示画面内の前記ポリゴンの有効ピ
    クセル領域を示す第1のマスクデータと該有効ピクセル
    毎の表示画面内の奥行きを示すZ値とを生成し、該第1
    のマスクデータの有効ピクセル領域のうち既に処理済の
    他のポリゴンのZ値よりも手前側のZ値のピクセルの領
    域を有効ピクセル領域とする第2のマスクデータを生成
    し、生成された第2のマスクデータの有効領域を生成済
    の他のポリゴンの第2のマスクデータの有効領域から削
    除する排他処理を行って新たな第2のマスクデータを生
    成し、上記新たな第2のマスクデータの生成をポリゴン
    毎に行うマスク生成手順と、 前記マスク生成手順により生成された新たな第2のマス
    クデータに従って、該新たな第2のマスクデータが示す
    有効領域について、前記各ポリゴンのレンダリング処理
    を行うレンダリング処理手順とを有する画像処理プログ
    ラムを記録した記録媒体。
  23. 【請求項23】複数の半透明ポリゴンを表示する為の画
    像データを生成する画像処理手順をコンピュータに実行
    させる画像処理プログラムを記録した該コンピュータ読
    み取り可能な記録媒体において、 前記画像処理手順は、 前記半透明ポリゴンの表示画面内の位置データを含むポ
    リゴンデータから、表示画面内の前記半透明ポリゴンの
    有効ピクセル領域を示す第1のマスクデータと該有効ピ
    クセル毎の表示画面内の奥行きを示す半透明Z値とを生
    成し、該第1のマスクデータの有効ピクセル領域のうち
    既に処理済の他の半透明ポリゴンの半透明Z値よりも奥
    側の半透明Z値のピクセルの領域を有効ピクセル領域と
    する第2のマスクデータを生成し、生成された第2のマ
    スクデータの有効領域を生成済の他の半透明ポリゴンの
    第2のマスクデータの有効領域から削除する排他処理を
    行って新たな第2のマスクデータを生成し、上記新たな
    第2のマスクデータの生成を半透明ポリゴン毎に行うマ
    スク生成手順と、 前記マスク生成手順で生成された前記新たな第2のマス
    クデータに従って、該新たな第2のマスクデータが示す
    有効領域について、画像データを生成する前記各ポリゴ
    ンのレンダリング処理を行うレンダリング処理手順とを
    有し、 前記マスク生成手順で、更に、前記第1のマスクデータ
    の有効領域から前記新たな第2のマスクデータの有効領
    域を削除する排他処理を行って新たな第1のマスクデー
    タを生成し、前記新たな第1のマスクデータに基づいて
    次の前記新たな第2のマスクデータを生成し、 前記レンダリング処理手順で、前記次の新たな第2のマ
    スクデータに従って前記レンダリング処理を行う画像処
    理プログラムを記録した記録媒体。
  24. 【請求項24】請求項23において前記マスク生成手順
    では、更に、前記第1のマスクデータの有効領域から前
    記新たな第2のマスクデータの有効領域を削除する排他
    処理を行って新たな第1のマスクデータを生成し、前記
    新たな第1のマスクデータに基づいて次の前記新たな第
    2のマスクデータを生成することを、前記新たな第1の
    マスクデータから有効領域がなくなるまで、繰り返し行
    うことを特徴とする画像処理プログラムを記録した記録
    媒体。
  25. 【請求項25】描画対象ポリゴン上の影領域を表示する
    為の画像データを生成する画像処理手順をコンピュータ
    に実行させる画像処理プログラムを記録した該コンピュ
    ータ読み取り可能な記録媒体において、 前記画像処理手順は、 シャドーボリュームを規定するシャドーポリゴンの表示
    画面内の位置データを含むシャドーポリゴンデータか
    ら、表示画面内の前記シャドーポリゴンの有効ピクセル
    領域を示す第1のマスクデータと該有効ピクセル毎の表
    示画面内の奥行きを示すZ値とを生成し、前記第1のマ
    スクデータの有効ピクセル領域のうち前記描画対象ポリ
    ゴンのZ値より手前側(または奥側)のZ値のピクセル
    の領域を有効ピクセル領域とする第2のマスクデータを
    生成し、視線方向であって前記描画対象ポリゴンと視点
    (または無限遠)との間に位置するシャドーポリゴンの
    枚数の奇偶データを有する影処理マスクデータの該奇偶
    データを、前記第2のマスクデータの有効領域について
    奇偶反転して新たな影処理マスクデータを生成し、上記
    影処理マスクデータの生成を前記シャドーボリュームを
    規定する全てのシャドーポリゴンに対して行うマスク生
    成手順と、 前記マスク生成手順で生成された前記影処理マスクデー
    タに従って、レンダリング処理を行うレンダリング処理
    手順とを有する画像処理プログラムを記録した記録媒
    体。
  26. 【請求項26】請求項25において、 複数のシャドーボリュームが存在し、 前記マスク生成手順で、更に、前記複数のシャドーボリ
    ュームに対してそれぞれ前記影処理マスクデータを生成
    し、該複数の影処理マスクデータの有効領域を重ね合わ
    せた有効領域を有する合成影処理マスクデータを生成
    し、 前記レンダリング処理手順で、該合成影処理マスクデー
    タを前記影処理マスクデータとして取り扱って前記レン
    ダリング処理を行うことを特徴とする画像処理プログラ
    ムを記録した記録媒体。
JP7631298A 1997-11-07 1998-03-24 画像処理装置及び画像処理方法 Expired - Fee Related JP4035649B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP7631298A JP4035649B2 (ja) 1998-03-24 1998-03-24 画像処理装置及び画像処理方法
US09/184,240 US6320580B1 (en) 1997-11-07 1998-11-02 Image processing apparatus
GB0002522A GB2351217B (en) 1997-11-07 1998-11-03 Image processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7631298A JP4035649B2 (ja) 1998-03-24 1998-03-24 画像処理装置及び画像処理方法

Publications (2)

Publication Number Publication Date
JPH11272883A true JPH11272883A (ja) 1999-10-08
JP4035649B2 JP4035649B2 (ja) 2008-01-23

Family

ID=13601866

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7631298A Expired - Fee Related JP4035649B2 (ja) 1997-11-07 1998-03-24 画像処理装置及び画像処理方法

Country Status (1)

Country Link
JP (1) JP4035649B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6717575B2 (en) 2000-02-17 2004-04-06 Sony Computer Entertainment Inc. Image drawing method, image drawing apparatus, recording medium, and program
KR100907154B1 (ko) * 2001-11-27 2009-07-09 소니 컴퓨터 엔터테인먼트 인코포레이티드 영상 처리 장치와 그의 구성요소, 렌더링 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6717575B2 (en) 2000-02-17 2004-04-06 Sony Computer Entertainment Inc. Image drawing method, image drawing apparatus, recording medium, and program
KR100907154B1 (ko) * 2001-11-27 2009-07-09 소니 컴퓨터 엔터테인먼트 인코포레이티드 영상 처리 장치와 그의 구성요소, 렌더링 방법

Also Published As

Publication number Publication date
JP4035649B2 (ja) 2008-01-23

Similar Documents

Publication Publication Date Title
US6320580B1 (en) Image processing apparatus
US11734879B2 (en) Graphics processing using directional representations of lighting at probe positions within a scene
US6744430B1 (en) Image processing method and its apparatus
JP2690110B2 (ja) 走査変換方法
US6774910B2 (en) Method and system for providing implicit edge antialiasing
JPH0727581B2 (ja) 図形処理装置
US20170372509A1 (en) Culling objects from a 3-d graphics pipeline using hierarchical z buffers
JPH11515121A (ja) スパンおよびサブスパン・ソーティング・レンダリング・システムのための方法および装置
JP2008077627A (ja) 3次元画像のレンダリングにおける早期zテスト方法およびシステム
US8698799B2 (en) Method and apparatus for rendering graphics using soft occlusion
JP2002531905A (ja) ボクセル空間から透視描画を形成する方法
US20120249742A1 (en) Method for visualizing freeform surfaces by means of ray tracing
US5280568A (en) Method and apparatus for drawing a surface model by assigning a drawing priority to each primitive surface model which provides a portion of the surface model
US8648874B2 (en) Method and system for providing edge antialiasing
JPH11272883A (ja) 画像処理装置及び画像処理方法
JPH09330422A (ja) 3次元グラフィック表示方法および表示システム
Kim et al. Fast volume rendering with interactive classification
JP3258286B2 (ja) 半透明物体と不透明物体とが混在する複数の物体についての画像データをコンピュータ表示画面に表示する描画方法および描画装置
GB2331217A (en) Image processor
CN114119936A (zh) 三维形状数据的处理装置与处理方法以及计算机可读介质
JP2021033375A (ja) 三次元形状データの編集装置、及び三次元形状データの編集プログラム
KR20000068191A (ko) 영상 프리미티브의 고속 처리
JP4106719B2 (ja) 画像処理装置
JP4042377B2 (ja) 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JPH11328427A (ja) 多角形分割描画装置、多角形分割描画方法および記憶媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050324

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070918

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071015

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101109

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees