(57)【特許請求の範囲】
【請求項１】
複数のポリゴンのポリゴンデータに基づいてレンダリング処理を行って画像データを生成する画像処理装置において、
前記ポリゴンデータの表示画面内の位置データを、フラクタル処理の分割方向に整合する座標系に変換する座標変換手段と、
前記座標変換された位置データを含むポリゴンデータを供給され、所定の表示画面領域に対して、フラクタル的に該領域をより小さい相似形に分割しながら、前記位置データに従って当該分割された領域の中心が前記ポリゴンの内部に位置するか否かを順次検出する演算を前記変換後の座標系で行い、検出された表示ポリゴンのＩＤデータを最終分割された微小領域毎に生成するフラクタル処理部と、
前記フラクタル処理部により生成された前記微小領域毎のポリゴンのＩＤデータに従って、該微小領域の画像データを生成するレンダリング処理部とを有することを特徴とする画像処理装置。
【請求項２】
複数のポリゴンのポリゴンデータに基づいてレンダリング処理を行って画像データを生成する画像処理装置において、
表示されるポリゴンの奥行きを示すＺ値を微小領域毎に格納するＺ値バッファメモリと、
前記ポリゴンデータの表示画面内の位置データを、フラクタル処理の分割方向に整合する座標系に変換する座標変換手段と、
前記座標変換された位置データを含むポリゴンデータを供給され、所定の表示画面領域に対して、フラクタル的に該領域をより小さい相似形に分割しながら、前記位置データに従って当該分割された領域の中心が前記ポリゴンの内部に位置するか否かを検出する演算と前記分割された領域の前記ポリゴンのＺ値を求める演算とを前記変換後の座標系で順次行い、最終分割された前記微小領域毎に当該微少領域が位置するポリゴンを検出すると共に当該ポリゴンのＺ値を求め、前記微小領域のポリゴンのＺ値と前記Ｚ値バッファメモリのＺ値とを比較し、該表示画面内でより手前に位置するポリゴンを検出するフラクタル処理部と、
前記フラクタル処理部により検出された前記微小領域毎のより手前に位置するポリゴンのポリゴンデータに従って、該微小領域の画像データを生成するレンダリング処理部とを有することを特徴とする画像処理装置。
【請求項３】
請求項１，２のいずれかにおいて、
更に、前記フラクタル処理部により検出された表示ポリゴンのＩＤデータを前記微小領域毎に格納する領域マスクバッファメモリを有し、前記レンダリング処理部は、該領域マスクバッファメモリに格納された表示ポリゴンのＩＤデータを参照して、該微小領域の画像データを生成することを特徴とする画像処理装置。
【請求項４】
請求項１，２のいずれかにおいて、
前記ポリゴンデータは更に色関連データを有し、前記フラクタル処理部は、前記分割された領域の色関連データを順次演算し、前記レンダリング処理部は、該演算された前記微小領域の色関連データに従って、前記画像データの色データを生成することを特徴とする画像処理装置。
【請求項５】
複数のポリゴンのポリゴンデータに基づいてレンダリング処理を行って画像データを生成する画像処理方法において、
前記ポリゴンの表示画面内の位置データを含むポリゴンデータを生成する工程と、
前記ポリゴンデータの表示画面内の位置データを、フラクタル処理の分割方向に整合する座標系に変換する座標変換工程と、
所定の表示画面領域に対して、フラクタル的に該領域をより小さい相似形に分割しながら、前記座標変換された位置データに従って当該分割された領域の中心が前記ポリゴンの内部に位置するか否かを順次検出する演算を前記変換後の座標系で行い、検出された表示ポリゴンのＩＤデータを最終分割された微小領域毎に生成し、当該検出された表示ポリゴンのＩＤデータを前記微小領域毎に領域マスクバッファメモリに格納するフラクタル処理工程と、
該領域マスクバッファメモリに格納された表示ポリゴンのＩＤデータを参照して、該微小領域の画像データを生成するレンダリング処理工程とを有することを特徴とする画像処理方法。
【請求項６】
複数のポリゴンのポリゴンデータに基づいてレンダリング処理を行って画像データを生成する画像処理方法において、
前記ポリゴンの表示画面内の位置データを含むポリゴンデータを生成する工程と、
前記ポリゴンデータの表示画面内の位置データを、フラクタル処理の分割方向に整合する座標系に変換する座標変換工程と、
所定の表示画面領域に対して、フラクタル的に該領域をより小さい相似形に分割しながら、前記座標変換された位置データに従って当該分割された領域の中心が前記ポリゴンの内部に位置するか否かを検出する演算と前記分割された領域の前記ポリゴンのＺ値を求める演算とを前記変換後の座標系で順次行い、最終分割された前記微小領域毎に当該微少領域が位置するポリゴンを検出すると共に当該ポリゴンのＺ値を求め、前記微小領域のポリゴンのＺ値とＺ値バッファメモリのＺ値とを比較し、該表示画面内でより手前に位置するポリゴンを検出し、当該より手前に位置するポリゴンのＺ値を前記微小領域毎に前記Ｚ値バッファメモリに格納するフラクタル処理工程と、
前記フラクタル処理工程により検出された前記微小領域毎のより手前に位置するポリゴンのポリゴンデータに従って、該微小領域の画像データを生成するレンダリング処理工程とを有することを特徴とする画像処理方法。
【請求項７】
請求項６のいずれかにおいて、
更に、前記フラクタル処理工程により検出された表示ポリゴンのＩＤデータを前記微小領域毎に領域マスクバッファメモリに格納する工程を有し、前記レンダリング処理工程では、該領域マスクバッファメモリに格納された表示ポリゴンのＩＤデータを参照して、該微小領域の画像データを生成することを特徴とする画像処理方法。
【請求項８】
複数のポリゴンのポリゴンデータに基づいてレンダリング処理を行って画像データを生成する画像処理手順をコンピュータに実行させる画像処理プログラムを記録した該コンピュータ読み取り可能な記録媒体において、
前記画像処理手順は、
前記ポリゴンの表示画面内の位置データを含むポリゴンデータを生成する手順と、
前記ポリゴンデータの表示画面内の位置データを、フラクタル処理の分割方向に整合する座標系に変換する座標変換手順と、
所定の表示画面領域に対して、フラクタル的に該領域をより小さい相似形に分割しながら、前記座標変換された位置データに従って当該分割された領域の中心が前記ポリゴンの内部に位置するか否かを順次検出する演算を前記変換後の座標系で行い、検出された表示ポリゴンのＩＤデータを最終分割された微小領域毎に生成し、当該検出された表示ポリゴンのＩＤデータを前記微小領域毎に領域マスクバッファメモリに格納するフラクタル処理手順と、
該領域マスクバッファメモリに格納された表示ポリゴンのＩＤデータを参照して、該微小領域の画像データを生成するレンダリング処理手順とを有することを特徴とする画像処理プログラムを記録した記録媒体。
【請求項９】
複数のポリゴンのポリゴンデータに基づいてレンダリング処理を行って画像データを生成する画像処理手順をコンピュータに実行させる画像処理プログラムを記録した該コンピュータ読み取り可能な記録媒体において、
前記画像処理手順は、
前記ポリゴンの表示画面内の位置データを含むポリゴンデータを生成する工程と、
前記ポリゴンデータの表示画面内の位置データを、フラクタル処理の分割方向に整合する座標系に変換する座標変換手順と、
所定の表示画面領域に対して、フラクタル的に該領域をより小さい相似形に分割しながら、前記座標変換された位置データに従って当該分割された領域の中心が前記ポリゴンの内部に位置するか否かを検出する演算と前記分割された領域の前記ポリゴンのＺ値を求める演算とを前記変換後の座標系で順次行い、最終分割された前記微小領域毎に当該微少領域が位置するポリゴンを検出すると共に当該ポリゴンのＺ値を求め、前記微小領域のポリゴンのＺ値とＺ値バッファメモリのＺ値とを比較し、該表示画面内でより手前に位置するポリゴンを検出し、当該より手前に位置するポリゴンのＺ値を前記微小領域毎に前記Ｚ値バッファメモリに格納するフラクタル処理手順と、
前記フラクタル処理手順により検出された前記微小領域毎のより手前に位置するポリゴンのポリゴンデータに従って、該微小領域の画像データを生成するレンダリング処理手順を有することを特徴とする画像処理プログラムを記録した記録媒体。
【請求項１０】
請求項９のいずれかにおいて、
更に、前記フラクタル処理手順により検出された表示ポリゴンのＩＤデータを前記微小領域毎に領域マスクバッファメモリに格納する手順を有し、前記レンダリング処理手順では、該領域マスクバッファメモリに格納された表示ポリゴンのＩＤデータを参照して、該微小領域の画像データを生成することを特徴とする画像処理プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータを利用した画像処理装置に関し、特に、レンダリング処理等の為のポリゴン内のピクセルのパラメータの演算を、少ないハードウエアにより効率的に行うことができる画像処理装置、その画像処理方法及びその画像処理プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
コンピュータを利用した画像処理装置は、ゲーム装置やシミュレーション装置等で広く利用される。ゲームプログラムやシミュレーションプログラムによりオブジェクトを形成するポリゴンが生成される。このポリゴンデータは、通常その頂点毎のパラメータを含む。例えば、頂点の三次元空間内の座標や、頂点の色データ或いはテクスチャー座標、法線ベクトル、透明度を表すアルファ値、輝度値等の色関連データが、頂点パラメータに含まれる。
【０００３】
かかるポリゴンデータをもとに、まず、表示画面内のポリゴンをクリッピングにより選択し、それらの選択されたポリゴンについて、三次元座標が表示画面上の二次元座標と奥行きを示すＺ値とに透視変換される。その後、レンダリング処理により表示画面内に表示されるポリゴンのピクセルにおける画像データが求められる。この画像データは、基本的にはＲＧＢの色データである。
【０００４】
上記したレンダリング処理において、ポリゴン内のピクセルのパラメータの演算は、通常、ラスタスキャンによりポリゴン内のピクセル座標を特定し、そのピクセル座標に従い頂点パラメータを直線補間演算する。即ち、頂点座標とピクセル座標から内分比を求め、その内分比に従って上記した頂点パラメータを補間演算する。
【０００５】
また、レンダリング処理は、１つのフレーム単位で処理される。レンダリング処理において、表示すべきポリゴンをピクセル毎に判定する為に、ポリゴンのピクセルの奥行きを示すＺ値が利用される。Ｚ値を比較して、最もＺ値が小さい（表示画面内で最も手前）場合に、その色データをフレームバッファメモリに格納する。従って、フレームバッファメモリに書き込まれたピクセルのＺ値を格納するＺ値バッファメモリをハードウエアとして持つことが要求される。
【０００６】
【発明が解決しようとする課題】
図１３は、ポリゴンのラスタスキャンを説明する為の図である。図１３の例では、頂点Ｌ、Ｍ、Ｎで特定されるポリゴン１０の内部のピクセルがラスタスキャンにより走査される。例えば、頂点Ｌを開始点にして、横方向に走査し、その走査線をＹ軸方向に移動させる。例えば、あるピクセルＰは、辺ＬＭの点Ｏと辺ＬＮの点Ｑとを結ぶ走査線上に位置する。従って、走査線ＯＱの前の走査線ＲＳの座標から、走査線ＯＱのエッジ座標（ｘo ，ｙo ），（ｘq ，ｙq ）を求める為には、
ｄｘLM／ｄｙLM＝（ｘo −ｘr ）／（ｙo −ｙr ）
ｄｘLN／ｄｙLN＝（ｘq −ｘs ）／（ｙq −ｙs ）
ｙo −ｙr ＝１、ｙq −ｙs ＝１であるとすると、
ｘo ＝ｘr ＋ｄｘLM／ｄｙLM
ｘq ＝ｘs ＋ｄｘLN／ｄｙLN
なる演算を行う必要がある。
【０００７】
上記した演算には、直線ＬＭ、ＬＮの傾きを含む除算が含まれているので、コンピュータの演算負荷が大きくなる。しかも、除算の場合は、小数点以下の処理にも時間を要する。そして、これらの演算が、ポリゴンのラスタスキャンにおいて頻繁に要求され、更に、全てのポリゴンに対して行わなければならない。
【０００８】
更に、上記した１フレーム分のＺ値バッファメモリは、画像処理装置において、過大なハードウエアの要求を意味する。
【０００９】
そこで、本発明の目的は、上記従来の課題を解決し、ピクセルのラスタスキャン法に代わって、演算処理が簡単に行える新たな演算の方法を採用した画像処理装置、その方法、その方法を実行するプログラムを記録した記録媒体を提供することにある。
【００１０】
更に、本発明の別の目的は、Ｚ値バッファメモリの容量を少なくしてハードウエアを簡単にして、効率的に画像処理を行うことができる画像処理装置、その方法、その方法を実行するプログラムを記録した記録媒体を提供することにある。
【００１１】
【課題を解決するための手段】
上記の目的を達成する為に、本発明は、自己相似的（フラクタル、Ｆｒａｃｔａｌ）な順番に所定の表示画面領域をより小さい相似形に分割しながら、分割領域の座標やＺ値の演算をくり返す。そして最終的に分割された微小領域であるピクセルの座標やＺ値を演算し、更にピクセルの色関連データのパラメータを演算することで、その演算をコンピュータにとり負荷が軽いものにする。更に、本発明では、１フレーム全体について一度にレンダリング処理を行うのではなく、１フレームを分割したあるフラグメント領域について、上記のフラクタルな順番で演算を行う。また、そのフラグメント領域内のピクセルが、ポリゴンの内部に属するか否かの判定を行うことで、フラグメント領域毎のレンダリング処理を効率的に行う。
【００１２】
また、更に改良された発明は、従来のラスタ方向に対して水平、垂直方向の座標系を、フラクタルの分岐方向に沿った座標系に変換することで、フラクタルの順番で行う演算を更に簡単なものにする。
【００１３】
本発明の画像処理装置は、ポリゴンに対してレンダリング処理を行って画像データを生成する画像処理装置において、
前記ポリゴンの表示画面内の位置データを含むポリゴンデータを供給され、所定の表示画面領域に対して、フラクタル的に該領域をより小さい相似形に分割しながら、前記位置データに従って当該分割された領域が前記ポリゴンの内部に位置するか否かを順次検出し、検出された表示ポリゴンのＩＤデータを該分割された微小領域毎に生成するフラクタル処理部と、
前記フラクタル処理部により生成された前記微小領域毎のポリゴンのＩＤデータに従って、該微小領域の画像データを生成するレンダリング処理部とを有することを特徴とする。
【００１４】
本発明の画像処理方法は、ポリゴンに対してレンダリング処理を行って画像データを生成する画像処理方法において、
前記ポリゴンの表示画面内の位置データを含むポリゴンデータを生成する工程と、
所定の表示画面領域に対して、フラクタル的に該領域をより小さい相似形に分割しながら、前記位置データに従って当該分割された領域が前記ポリゴンの内部に位置するか否かを順次検出し、検出された表示ポリゴンのＩＤデータを該分割された微小領域毎に生成するフラクタル処理工程と、
前記フラクタル処理工程により生成された前記微小領域毎のポリゴンのＩＤデータに従って、該微小領域の画像データを生成するレンダリング処理工程とを有することを特徴とする。
【００１５】
また、本発明の記録媒体に格納された画像処理プログラムは、上記画像処理方法をコンピュータに実行させる。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態の例について図面に従って説明する。しかしながら、かかる実施の形態例が本発明の技術的範囲を限定するものではない。
【００１７】
図１は、フラクタルな順番で領域をより小さい相似形に分割しピクセルを求める方法（以下単にフラクタル法と称する。）について説明する図である。この図には、あるフラグメント領域２０内の８×８のピクセルを求める方法が示される。図１Ａには、フラグメント領域２０内の中心Ｐ0 に対して、それぞれ中心Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 の領域に４分割した状態が示される。中心Ｐ0 の座標（ｘ0 ，ｙ0 ）に対して、４分割後の中心Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 の座標は、フラグメント２０の一辺の長さを単純に８とすると、
Ｐ1 ＝（ｘ0 −２，ｙ0 −２）＝（ｘ1 ，ｙ1 ）
Ｐ2 ＝（ｘ0 −２，ｙ0 ＋２）＝（ｘ2 ，ｙ2 ）
Ｐ3 ＝（ｘ0 ＋２，ｙ0 ＋２）＝（ｘ3 ，ｙ3 ）
Ｐ4 ＝（ｘ0 ＋２，ｙ0 −２）＝（ｘ4 ，ｙ4 ）
で求められる。この演算には、除算は含まれず、単に加算と減算だけからなる。
【００１８】
図１Ｂには、更に、中心Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 それぞれの領域を４分割し、フラグメント領域２０を新たな中心Ｐ11、Ｐ12、Ｐ13、Ｐ14、Ｐ21、Ｐ22．．．Ｐ43、Ｐ44の領域に１６分割した状態が示される。それぞれの分割後の領域の中心Ｐ11、Ｐ12、．．．Ｐ43、Ｐ44の座標は、
Ｐ11＝（ｘ1 −１，ｙ1 −１）＝（ｘ11，ｙ11）
Ｐ12＝（ｘ1 −１，ｙ1 ＋１）＝（ｘ11，ｙ11）
Ｐ43＝（ｘ4 ＋１，ｙ4 ＋１）＝（ｘ43，ｙ43）
Ｐ44＝（ｘ4 ＋１，ｙ4 −１）＝（ｘ44，ｙ44）
で求められる。
【００１９】
更に、図１Ｃには、中心Ｐ11、Ｐ12、Ｐ13、．．．Ｐ42、Ｐ43、Ｐ44それぞれの領域を４分割し、フラグメント領域２０を新たな中心Ｐ111 、Ｐ112 ．．．Ｐ443 、Ｐ444 の領域に６４分割した状態が示される。それぞれの分割後の領域の中心Ｐ111 、Ｐ112 、Ｐ443 、Ｐ444 の座標は、
Ｐ111 ＝（ｘ11−０．５，ｙ11−０．５）＝（ｘ111 ，ｙ111 ）
Ｐ112 ＝（ｘ11−０．５，ｙ11＋０．５）＝（ｘ111 ，ｙ111 ）
Ｐ443 ＝（ｘ44＋０．５，ｙ44＋０．５）＝（ｘ443 ，ｙ443 ）
Ｐ444 ＝（ｘ44＋０．５，ｙ44−０．５）＝（ｘ444 ，ｙ444 ）
で求められる。
【００２０】
以上、図１Ａ，Ｂ，Ｃに示される通り、フラクタル法によれば、フラグメント領域２０を１領域、４領域、１６領域、そして６４領域と、それぞれの領域を更に小さい相似形の領域に分割していく。このフラクタル法によれば、それぞれの領域の表示画面での座標値は、上記した通り加算と減算だけで次々に求めることができる。しかも、このフラクタル法によれば、図１Ｃに示される通り、フラグメント領域２０内のピクセルに対応できる６４個の微小領域に対して、同時にその座標値や色関連データ等の属性データを求めることができる。その演算の回数は、上記した通り、３階層の演算で行うことができ、それぞれの演算は並列演算が可能である。このことは、この演算回路を構成する場合、並列演算器を３階層に形成すればよいことを意味する。この演算回路の構成については、後述する。
【００２１】
上記したフラクタル法は、フラグメント領域内の中心Ｐ0 をスタートにして、６４個のピクセルの表示画面内の座標を加算と減算により簡単に求めることができる。そこで、レンダリング処理の為に、各ピクセルにどのポリゴンの色をつければよいかの処理を行う必要がある。
【００２２】
図２は、任意の点Ｐ（ｘ，ｙ）が、三角形のポリゴン１０内に位置するか否かの判断のアルゴリズムについて説明する図である。二次元座標内の三点Ｌ，Ｍ，Ｎを頂点とする三角形の各辺ＬＭ，ＭＮ，ＮＬについて、三角形の単位法線ベクトルを（ａ1 ，ｂ1 ）、（ａ2 ，ｂ2 ）、（ａ3 ，ｂ3 ）と、座標の原点から各辺に下ろした垂線の距離をｃ1 、ｃ2 、ｃ3 とする。この場合、任意の点Ｐ（ｘ，ｙ）が三角形の内部に位置するか外部に位置するかは、次の式の値ｄが負か正かにより判断できる。
【００２３】
ｄ1 ＝ａ1 ｘ＋ｂ1 ｙ＋ｃ1 
ｄ2 ＝ａ2 ｘ＋ｂ2 ｙ＋ｃ2 
ｄ3 ＝ａ3 ｘ＋ｂ3 ｙ＋ｃ3 
上記のｄ1 ，ｄ2 ，ｄ3 が共に負になる場合は、点Ｐ（ｘ，ｙ）が三角形の内部に位置することは、数学的に自明である。かかる、アルゴリズムは、任意の点がある多角形の内部に位置するか否かの判断を行う場合に利用される。
【００２４】
そこで、上記のフラクタル法に従って、６４個のピクセルがあるポリゴンの内部に属するか否かの演算を行うことができる。例えば、点Ｐ0 に対しては、
ｄ1 ＝ａ1 ｘ0 ＋ｂ1 ｙ0 ＋ｃ1 
ｄ2 ＝ａ2 ｘ0 ＋ｂ2 ｙ0 ＋ｃ2 
ｄ3 ＝ａ3 ｘ0 ＋ｂ3 ｙ0 ＋ｃ3 
を演算して、ｄ1 ，ｄ2 ，ｄ3 が共に負になるか否かの判断を行えば良い。
【００２５】
更に、４分割した中心Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 の領域があるポリゴンの内部に属するか否かの演算は、点Ｐ1 に対しては、
ｄ1 ＝ａ1 ｘ1 ＋ｂ1 ｙ1 ＋ｃ1 ＝ａ1 （ｘ0 -2）＋ｂ1 （ｙ0 -2）＋ｃ1 
ｄ2 ＝ａ2 ｘ1 ＋ｂ2 ｙ1 ＋ｃ2 ＝ａ2 （ｘ0 -2）＋ｂ2 （ｙ0 -2）＋ｃ2 
ｄ3 ＝ａ3 ｘ1 ＋ｂ3 ｙ1 ＋ｃ3 ＝ａ3 （ｘ0 -2）＋ｂ3 （ｙ0 -2）＋ｃ3 
である。結局、点Ｐ0 の時に求めたｄ1 、ｄ2 、ｄ3 に対して、それぞれ
ｄ1 ＝ｄ1 −２ａ1 −２ｂ1 
ｄ2 ＝ｄ2 −２ａ2 −２ｂ2 
ｄ3 ＝ｄ3 −２ａ3 −２ｂ3 
という単純な減算を行うことで求めることができる。
【００２６】
同様にして、１６分割した中心Ｐ11、Ｐ12、Ｐ13、Ｐ14、Ｐ21、Ｐ22．．．Ｐ43、Ｐ44の領域についても、点Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 の時に求めたｄ1 、ｄ2 、ｄ3 に対して簡単な減算を行うことで求めることができる。例えば、中心Ｐ11の場合は、
ｄ1 ＝ｄ1 −ａ1 −ｂ1 
ｄ2 ＝ｄ2 −ａ2 −ｂ2 
ｄ3 ＝ｄ3 −ａ3 −ｂ3 
により求められる。
【００２７】
同様にして、６４分割した中心Ｐ111 、Ｐ112 ．．．Ｐ443 、Ｐ444 の領域についても簡単に演算を行うことができる。例えば、中心Ｐ111 の場合は、
ｄ1 ＝ｄ1 −０．５ａ1 −０．５ｂ1 
ｄ2 ＝ｄ2 −０．５ａ2 −０．５ｂ2 
ｄ3 ＝ｄ3 −０．５ａ3 −０．５ｂ3 
により求められる。
【００２８】
以上の通り、各領域の中心点があるポリゴンの内部に属するか否かの判断の為の演算は、フラクタル法を利用することにより、極めて簡単に行うことができる。
【００２９】
図３は、表示画面３０内に３つのポリゴンＰＧ１，ＰＧ２，ＰＧ３が表示される例を示す図である。この図３に示される通り、表示画面３０は、複数のフラグメント領域ＦＭに分割されている。そこで、中央付近のフラグメントＦＭ９においては、ポリゴンＰＧ１，ＰＧ２の一部が位置している。このフラグメントＦＭ９を拡大すると、図３の左下の図になる。図に示される通り、６４個のピクセルＰ1 〜Ｐ64に分割されている。その場合、ピクセルＰ1 〜Ｐ4 、Ｐ9 〜Ｐ15、Ｐ17〜Ｐ24、Ｐ25〜Ｐ32が、ポリゴンＰＧ１に属する。更に、ピクセルＰ24、Ｐ31、Ｐ32、Ｐ38〜Ｐ40、Ｐ45〜Ｐ48、Ｐ51〜Ｐ56、Ｐ58〜Ｐ64が、ポリゴンＰＧ２に属する。
【００３０】
上記したフラクタル法により、６４個のピクセルＰ1 〜Ｐ64がポリゴンに属するか否かの演算が、フレーム内のポリゴン全てに対して行われることで、フラグメント領域２０内において、ポリゴンの位置が確認される。図３の右下に示される通り、フラグメント領域ＦＭ９において、ポリゴンＰＧ１とＰＧ２の位置が確認される。図中、一部分で二つのポリゴンＰＧ１とＰＧ２とが重なりあう。
【００３１】
従来のポリゴン内をラスタスキャンする方法は、ポリゴン内のピクセルの座標を求めることで、各ピクセルにどのポリゴンの色を与えるかを求める。これに対して、上記の方法では、フラグメント領域内の全てのピクセルについて、ポリゴン内に位置するか否かの判断を行うことで、各ピクセルにどのポリゴンの色を与えれば良いかを求めることができる。
【００３２】
レンダリング処理において、もう一つの基本的な処理は、重なりあうポリゴンについて、どのポリゴンを表示すべきかの判定をピクセル毎に行うことである。その為に、各ポリゴンのＺ値を比較して、Ｚ値が最も小さいポリゴンを選択するアルゴリズムが知られている。このＺ値比較法は、各ピクセルにおけるポリゴンのＺ値を求める必要がある。このポリゴン毎のＺ値の計算は、上記のフラクタル処理を行う場合に、非常に簡単に行うことができる。
【００３３】
例えば、図１、２に戻って、点Ｐ0 のＺ値Ｚ0 は、次の演算式で求めることができる。
【００３４】
Ｚ0 ＝（∂ｚ／∂ｘ）ｘ0 ＋（∂ｚ／∂ｙ）ｙ0 ＋ｃｚ
それぞれの定数（∂ｚ／∂ｘ）、（∂ｚ／∂ｙ）及びｃｚは、ポリゴンの１平面からユニークにきまる定数である。具体的には、（∂ｚ／∂ｘ）はポリゴンの平面のＸ軸方向の傾きであり、（∂ｚ／∂ｙ）はポリゴンの平面のＹ軸方向の傾きである。また、ｃｚは原点における平面のＺ値である。
【００３５】
かかる演算式から理解される通り、更に４分割した領域の例えば中心Ｐ1 のＺ値Ｚ1 は、
Ｚ1 ＝Ｚ0 −２（∂ｚ／∂ｘ）−２（∂ｚ／∂ｙ）
で求められる。更に１６分割した領域の例えば中心Ｐ11のＺ値Ｚ11は、
Ｚ11＝Ｚ1 −（∂ｚ／∂ｘ）−（∂ｚ／∂ｙ）
で求められ、更に６４分割した領域の例えば中心Ｐ111 のＺ値Ｚ111 は、
Ｚ111 ＝Ｚ11−０．５（∂ｚ／∂ｘ）−０．５（∂ｚ／∂ｙ）
で求められる。従って、座標の場合と同様に、加算と減算により６４個のピクセルにおけるポリゴンのＺ値を簡単に求めることができる。
【００３６】
従って、フラクタル法により、各ピクセルがポリゴンに属するか否かの判定と共に、そのピクセルのポリゴンのＺ値の演算とを同時に行うこともできる。そして、求めたＺ値と、Ｚ値バッファメモリ内のＺ値とを比較し、Ｚ値が小さい場合は、そのポリゴンの色データをフレームバッファに書き込み、Ｚ値をＺ値バッファメモリに書き込むことができる。かかる演算は、フラグメント領域内において、ポリゴンの個数分だけ繰り返される。フレーム内の全てのポリゴンに対して、上記の演算が行われると、そのフラグメント領域内における、各ピクセルの表示すべきポリゴンとそのＺ値とが求められる。
【００３７】
ラスタライズ法によるラスタスキャンでは、ポリゴン内を走査して、その座標とＺ値を演算し、各ピクセルの表示すべきポリゴンとそのＺ値とが求められるが、上記した通りその演算には除算が含まれ、コンピュータからなる演算器にとって演算時間が長くなる。それに対して、上記のフラクタル法を使用することにより、その演算には基本的に加算と減算しか含まれない。従って、その演算時間は極めて短くなる。また、後述する通り、フラクタル法によれば、６４ピクセルの場合は、並列演算を３階層だけ行うことにより６４個分の座標、ポリゴン、Ｚ値を求めることができる。従って、その点においても演算に要する時間を短くすることができる。
【００３８】
図４は、上記のフラクタル法を利用した画像処理装置の全体ブロック図である。図４に示された画像処理装置の例では、ゲームプログラムやシミュレーションプログラムに従ってポリゴンデータや視点データなどを生成するＣＰＵ４０と、そのポリゴンデータに含まれる頂点の三次元座標から、表示画面内に位置するポリゴンについて、表示画面の二次元座標に透視変換を行うジオメトリ処理部４８と、表示画面のピクセルの色データを生成するレンダリング処理部７４とを有する。レンダリング処理部７４には、その準備処理として、上記したフラクタル処理部７２が併設される。
【００３９】
ジオメトリ処理部４８により生成される１フレーム分のポリゴンデータは、ポリゴンバッファ５０に一旦格納される。図５は、そのポリゴンデータの構成例を示す図である。図５に示される通り、ポリゴンデータは、それぞれのポリゴンＩＤに対して、そのポリゴンの頂点のパラメータを有する。頂点パラメータは、例えば、頂点の表示画面内の座標（ｘ，ｙ）及び奥行きを示すＺ値、色データに関するものとしてテクスチャ座標（Ｔｘ，Ｔｙ）、法線ベクトル（Ｎｘ，Ｎｙ，Ｎｚ）、透明度を示すアルファ値などを有する。それ以外には、例えば輝度値等も含まれてもよい。図５の例では、ポリゴンＩＤ０とポリゴンＩＤ１のそれぞれの頂点００，０１，０２及び１０，１１，１２のパラメータが示されている。
【００４０】
そこで、フラクタル処理部７２では、図３で説明した様に、フラグメント領域毎に、その中のピクセルで表示されるポリゴンＩＤデータと、そのＺ値とが生成され、それぞれ領域マスクバッファメモリ６０とＺ値バッファメモリ５８とに格納される。また、フラクタル処理部７２には、表示されるポリゴンＩＤデータとそのＺ値を生成する為に、フレーム内のポリゴンのデータが順番に供給される。フラクタル処理部７２には、表示画面内の座標変換器５２、フラグメント領域の中心点における座標やＺ値等を初期値として求める初期値計算器５４、そしてその初期値をもとに上記した加算と減算からなる演算を行うフラクタル処理器５６とが設けられる。フラクタル処理器５６により生成されるＺ値とポリゴンＩＤデータとが、Ｚ値バッファメモリ５８と領域マスクバッファメモリ６０とに格納される。
【００４１】
フラクタル処理部７２によりフラグメント領域内のピクセルの表示すべきポリゴンが決定すると、レンダリング処理部７４では、そのピクセルの具体的色データからなる画像データを生成し、フレームバッファメモリ６８にその画像データを格納する。図４に示された例では、レンダリング処理部７２には、補間器６２と色データ生成部６４とテクスチャマップ６６とが設けられる。補間器６２では、領域マスクバッファメモリ６０に格納されるピクセル毎のポリゴンＩＤデータから、ポリゴンバッファメモリ５０内のポリゴンデータを参照し、頂点パラメータに対して補間演算を行う。その結果、対応するピクセルの各パラメータ、テクスチャー座標（Ｔｘ，Ｔｙ）、アルファ値、法線ベクトル（Ｎｘ，Ｎｙ，Ｎｚ）が求められる。そして、テクスチャー座標に従ってテクスチャーマップ６６からテクスチャーデータを読み出して生成し、透明度を表すアルファ値を利用したブレンディング処理、法線ベクトルを利用した光源に対するシェーディング処理などが、色データ生成部６４で行われる。生成された色データは、フレームバッファメモリ６８に格納される。最後に、ディスプレイ７０がその色データを表示する。
【００４２】
図６は、フラクタル処理器５６の具体的構成例を示す図である。図中、初期値計算器５４から処理中のフラグメント領域の中心点での初期値が、フラクタル処理器の最初のフラクタル分割器ＦＲ0 に供給される。この初期値は、例えば、フラグメント領域の中心点Ｐ0 の二次元座標（ｘ0 ，ｙ0 ）、処理中のポリゴンに対するポリゴン内か外かの判定値ｄ1 ，ｄ2 ，ｄ3 、及びＺ0 値である。そして、フラクタル分割器ＦＲ0 では、点Ｐ0 の初期値から、４分割した点Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 での二次元座標（ｘ1 ，ｙ1 ）〜（ｘ4 ，ｙ4 ）、その座標が処理中のポリゴンに対するポリゴン内か外かの判定値ｄ1 ，ｄ2 ，ｄ3 （４種類）、及びＺ値Ｚ1 〜Ｚ4 が求められる。この演算は、既に説明した通り、初期値に対して加算と減算だけで構成される。
【００４３】
次に、フラクタル分割器ＦＲ1 〜ＦＲ4 では、４点Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 での二次元座標（ｘ1 ，ｙ1 ）〜（ｘ4 ，ｙ4 ）、その座標が処理中のポリゴンに対するポリゴン内か外かの判定値ｄ1 ，ｄ2 ，ｄ3 （４種類）、及びＺ値Ｚ1 〜Ｚ4 から、それぞれ４分割した点Ｐ11、Ｐ12、Ｐ13、Ｐ14．．．Ｐ43、Ｐ44のでの同様の値が演算される。
【００４４】
同様に、三階層目の演算として、フラクタル分割器ＦＲ11〜ＦＲ14では、点Ｐ11〜Ｐ14の二次元座標（ｘ11，ｙ11）〜（ｘ14，ｙ14）、その座標が処理中のポリゴンに対するポリゴン内か外かの判定値ｄ1 ，ｄ2 ，ｄ3 （４種類）、及びＺ値Ｚ11〜Ｚ14から、更に分割した点Ｐ111 ，Ｐ112 〜Ｐ143 ，Ｐ144 に対する同様の値が求められる。
【００４５】
フラクタル分割器ＦＲ21〜ＦＲ24では、点Ｐ21〜Ｐ24の同様の値から、更に分割した点Ｐ211 ，Ｐ212 〜Ｐ243 ，Ｐ244 の同様の値が求められる。フラクタル分割器ＦＲ31〜ＦＲ34及びＦＲ41〜ＦＲ44においても、同様の演算が行われる。
【００４６】
三階層目のフラクタル分割器ＦＲ11〜ＦＲ44では、それぞれのピクセル毎に設けたｄ1 ，ｄ2 ，ｄ3 が全て負か否かの判断が行われる。全て負の場合は、そのピクセルは処理中のポリゴン内に属することになる。そこで、更に、そのピクセルのＺ値をＺ値バッファメモリ５８内のＺ値と比較する。そして、ピクセルのＺ値がメモリ５８内のＺ値よりも小さい場合は、そのポリゴンが表示画面内で手前に位置することを意味するので、ピクセルのＺ値がＺ値バッファメモリ５８に記録される。同時に、領域マスクバッファメモリ６０のそのピクセルに対応する領域にポリゴンのＩＤデータが書き込まれる。Ｚ値バッファメモリ５８と、領域マスクバッファメモリ６０は、フラグメント領域内のピクセル分だけの容量を有するだけでよい。従って、その容量は１フレーム分に対応するよりも小さくすることができる。
【００４７】
フラクタル処理を利用する場合は、図６で示したフラクタル処理器の通り、加算と減算の単純な演算を並列的に行うことができる。従って、１つのフラグメント領域について、各ピクセル毎の描画すべきポリゴンを求める演算を、初期値が与えられてから、この例では３階層の演算で完了することができる。それは、パイプライン処理におけるレイテンシーを短くすることができることを意味する。単純に１ピクセル毎に処理する場合に６４回同じ演算を行うことに比較すると、フラクタル処理を利用する場合は演算時間を飛躍的に短縮することができる。
【００４８】
図７は、領域マスクバッファの他の構成例を示す図である。この図には、最下位層のフラクタル分割器ＦＲ11〜ＦＲ44が示される。この領域マスクバッファは、６４ビットのフラグビットが格納されるレジスタで構成される。フラグメント領域が６４ピクセルで構成される場合は、そのレジスタが６４＋１個設けられる。そして、各レジスタにポリゴンが割り当てられる。
【００４９】
例えば、ポリゴンＰＧ１のポリゴンデータがフラクタル処理部７２に供給された時、フラクタル処理器５６内で６４ピクセルのＺ値が求められて、そのＺ値がＺ値バッファメモリの値よりも小さいことが判明すると、ポリゴンＰＧ１が割り当てられている領域マスクバッファＰＧ１内の対応するピクセルのフラグビットを「１」にする。その結果、そのピクセルの色データはポリゴンＰＧ１のデータであることが記録される。同様に、次に供給されるポリゴンＰＧ２のポリゴンデータについて、フラクタル処理器でＺ値が求められ、Ｚ値バッファメモリの値よりも小さい場合は、領域マスクバッファＰＧ２内のフラグビットを「１」にする。そして、先に処理された領域マスクバッファＰＧ１内のフラグビットも「１」の場合は、そのフラグビットを「０」に変更する。同様にして、全てのポリゴンに対して処理を行う。この様に、領域マスクバッファには実質的に表示されるポリゴンのＩＤデータが記録される。
【００５０】
フラグメント領域が６４ピクセルを有するので、領域マスクバッファは、最大で６４個必要になる。そして、演算中に使用される１つの領域マスクバッファを加えて、合計６５個の領域マスクバッファが設けられる。
【００５１】
上記の構成の領域マスクバッファは、各ポリゴンのどのピクセルを描画すべきかをフラグビットで記録する。従って、領域マスクバッファは、ポリゴンの描画領域をマスクする機能を持つ。かかる１と０からなるデータにより、レンダリング処理部７４がレンダリングを行う場合、その信号処理が容易になる。
【００５２】
図４において、フラクタル処理部７２内に座標変換器５２を設けた。かかる座標変換器は、必須の要件ではない。しかし、供給されるポリゴンデータに対して適切な座標変換を行うことで、フラクタル処理器５６での演算を更に簡単にすることができる。
【００５３】
図１に示した通り、表示画面のＸ−Ｙ座標を、フラクタル処理の方向に沿ったＥ−Ｏ座標に変換することにより、フラクタル処理器での演算を更に簡略化することができる。Ｅ−Ｏ座標軸はＸ−Ｙ座標軸を４５°度回転したものである。上記した通り、図１Ａに示されるフラクタル分割に対して、４分割した中心Ｐ1 、Ｐ2 、Ｐ3 、Ｐ4 の領域がポリゴンの内部に属するか否かの演算は、点Ｐ1 に対しては、
ｄ1 ＝ａ1 ｘ1 ＋ｂ1 ｙ1 ＋ｃ1 ＝ａ1 （ｘ0 -2）＋ｂ1 （ｙ0 -2）＋ｃ1 
ｄ2 ＝ａ2 ｘ1 ＋ｂ2 ｙ1 ＋ｃ2 ＝ａ2 （ｘ0 -2）＋ｂ2 （ｙ0 -2）＋ｃ2 
ｄ3 ＝ａ3 ｘ1 ＋ｂ3 ｙ1 ＋ｃ3 ＝ａ3 （ｘ0 -2）＋ｂ3 （ｙ0 -2）＋ｃ3 
を行った。それに対して、Ｘ−Ｙ座標を４５度回転させたＥ−Ｏ座標に変換すると、上記の演算は、
0004106719.tif 000002
となる。即ち、単純に−２ａａの減算を行うだけである。尚、ａａ1 ，ｂｂ1 ，ｃｃ1 は、図２のポリゴン２０の直線ＬＭにおける定数を座標変換した定数である。
【００５４】
上記の演算の簡単化は、Ｚ値を求める演算においても同様である。従って、フラクタル処理部７２の最初の段階で、座標変換器５２によりポリゴンデータのパラメータを座標変換しておくことで、フラクタル処理器５６の演算器の構成をより簡単にすることができる。
【００５５】
図８は、画像処理の全体のフローチャートを示す図である。そして、図９は、フラクタル処理のフローチャートを示す図である。これらを参照して、画像処理のフローを以下に説明する。
【００５６】
まず、ＣＰＵ４０がゲームプログラムやシミュレーションプログラムを実行して、ポリゴンデータを生成し、ジオメトリ処理部４８に供給する（Ｓ１０）。ジオメトリ処理部では、三次元座標内でのポリゴンの移動などの変換を行うと共に、クリッピング処理、表示画面の二次元座標への透視変換の処理を行う。その結果生成された図５に示した如きポリゴンデータが、ポリゴンバッファ５０に格納される（Ｓ１２）。このポリゴンデータは、１フレーム内のポリゴン全てについてポリゴンバッファメモリに格納される。
【００５７】
そこで、フラクタル処理部７２は、ポリゴンバッファ５０からポリゴンデータを順次読み出して、フラグメント領域内のピクセルについて、描画すべきポリゴンを検出する。１つのポリゴンデータについて説明すると、ポリゴンバッファ５０から読み出されたポリゴンデータに対して、座標変換器５２で頂点パラメータをフラクタル処理用の座標に変換する（Ｓ１４）。初期計算器５４及びフラクタル処理器５６により、フラグメント領域内のピクセルに対する描画すべきポリゴンを決定し、そのＺ値をＺ値バッファメモリ５８に格納する（Ｓ１６）。この座標変換Ｓ１４とフラクタル処理Ｓ１６は、本実施の形態例ではフレーム内の全てのポリゴンに対して行われる。
【００５８】
全てのポリゴンに対して上記の処理が終了すると、各ピクセルに対して描画すべきポリゴンが決定し、そのＩＤデータが領域マスクバッファ６０内に格納される。そこで、レンダリング処理部７４では、まず、ピクセル毎にポリゴンの頂点パラメータからそのピクセルのパラメータを求める（Ｓ１８）。この演算は、補間器６２により行われる。更に、色データ生成部６４にて、テクスチャー座標に従ってテクスチャーマップメモリ６６からテクスチャーデータを読み出す。或いは読み出したテクスチャーデータからピクセルのテクスチャーデータを演算する。更に、法線ベクトルやアルファ値により、光源に対するシェーディング処理と半透明ポリゴンのブレンディング処理を行う（Ｓ２０）。その結果、生成された色データは、フレームバッファメモリ６８に格納される（Ｓ２２）。上記の工程Ｓ１８，Ｓ２０，Ｓ２２は、フラグメント領域内の全てのピクセルに対して行われる。
【００５９】
更に、工程Ｓ１４〜Ｓ２２が、フレーム内の全てのフラグメント領域に対して行われ、フレーム内の全てのピクセルのレンダリング処理が完了する。その後、フレームバッファメモリ６８内の色データに従って、ディスプレイ７０で表示される。尚、ここで色データとは、例えばＲＧＢデータであり、白黒の場合は輝度データである。
【００６０】
上記のフラクタル処理工程Ｓ１６は、図９のフローチャートに詳細が示される。ステップＳ３０にてフラグメント領域が指定され、ポリゴンバッファ５０からフレーム内のポリゴンデータを受信する（Ｓ３２）。この場合、特に頂点座標とそのＺ値が与えられる。上記した通り、このデータは座標変換器５２により適切な座標に変換されている。そして、フラグメント領域の中心点Ｐ0 に対して、ｄ値とＺ値の初期値が求められる（Ｓ３４）。その演算式は、すでに説明した通りである。
【００６１】
そこで、フラクタル処理器５６にて、４分割のフラクタ処理（Ｓ３６）、１６分割のフラクタ処理（Ｓ３８）、そして６４分割のフラクタ処理（Ｓ４０）が行われる。その結果、フラグメント領域内のピクセル毎のｄ1 、ｄ2 、ｄ3 及びＺ値が求められる。そして、ｄ1 、ｄ2 、ｄ3 値が全て負か否かの判断により、そのピクセルが処理中のポリゴンの内部に属するか否かの判断が行われる（Ｓ４２）。ｄ1 、ｄ2 、ｄ3 値が全て負の場合は、ピクセルがポリゴン内部に属するので、そのＺ値がＺ値バッファメモリ５８内のＺ値と比較される（Ｓ４４）。Ｚ値がメモリ５８内のＺ値より小さい場合は、そのＺ値がＺ値バッファメモリ５８に格納され、領域マスクバッファの対応する領域にフラグが格納される（Ｓ４６）。
【００６２】
［変形例］
図１０は、画像処理装置の別の例のブロック図である。図４に示した画像処理装置と同じ部分には同じ引用番号を付した。この例では、フラクタル処理器５６が、上記のｄ値、Ｚ値以外に、他のパラメータである法線ベクトル、テクスチャー座標、アルファ値、輝度などの色関連データも、フラクタル法による簡易な演算で求める。従って、初期値計算器５４でも同様にそれらのパラメータの中心点Ｐ0 での初期値を求める。
【００６３】
図１１は、図１０の画像処理装置の処理のフローチャート図である。このフローチャートも図８と同じ工程には、同じ引用番号を付した。この変形例では、フラクタル処理器５６で、ｄ値、Ｚ値以外に、他のパラメータである法線ベクトル、テクスチャー座標、アルファ値、輝度なども演算する（Ｓ５０）。そこで、ｄ値からポリゴンの内部に属するか否かの判定（Ｓ５２）、属する場合はそのＺ値がＺ値バッファメモリ内のＺ値より小さいか否かの判定（Ｓ５４）が行われる。そして、Ｚ値が小さい場合は、描画すべきポリゴンであるので、テクスチャデータの生成、シェーディング処理、ブレンディング処理などが行われ（Ｓ５６）、その生成された色データがフレームバッファメモリ６８に格納され、Ｚ値がＺ値バッファメモリ５８に格納される（Ｓ５８）。
【００６４】
工程Ｓ１４〜Ｓ５８が、フレーム内の全てのポリゴンに対して行われ、更に、フレーム内の全てのフラグメント領域に対して行われる。
【００６５】
図１０，図１１に示した変形例では、頂点パラメータ全てがフラグメント法により簡単な演算で求められる。従って、図４における補間器による演算もフラグメント法により行われ、高速に演算される。
【００６６】
［汎用コンピュータの例］
図１２は、上記してきた画像処理を汎用コンピュータを利用して行う場合の画像処理装置の構成図である。汎用コンピュータを利用して画像処理を行う場合は、画像処理の演算は記録媒体内に格納されたプログラムに従って行われる。従って、画像処理プログラムをコンピュータが読み取り可能な記録媒体に格納することで、汎用コンピュータは画像処理専用コンピュータとして動作する。画像処理プログラムは、上記したフローチャート等で説明した各手順をコンピュータに実行させる。
【００６７】
図１２の例では、ＣＰＵ１００、演算用のＲＡＭ１０２、ゲームプログラムや画像処理プログラムが格納されたＲＯＭ１０４が、バス１１０に接続される。また、バス１１０に接続された入出力部１０６は、操作者が操作する操作部１０８に接続され、操作信号を入力する。また、画像処理の為に、ポリゴンバッファメモリ１１４，テクスチャーマップメモリ１１６，そしてＺ値バッファメモリ１１８、領域マスクバッファメモリ１１２が設けられ、それぞれバス１１０に接続される。また、フレームバッファメモリ１２０は、バス１１０に接続され、外部の表示装置１２２にも接続される。
【００６８】
この例では、画像処理プログラムがＲＯＭ１０４内に格納されているが、それ以外に、外部のＣＤＲＯＭや磁気テープなどの記録媒体１２４からＲＡＭ１０２内に画像処理プログラムをインストールすることもできる。
【００６９】
上記した実施の形態例では、フラクタル法によりフラグメント領域をより小さい複数の相似形に次々に分割する場合、矩形の領域をさらに小さい相似の矩形の領域に分割した。しかし、本発明はかかる矩形の分割に限定されず、三角形やその他の形状に分割されても良い。また、上記実施の形態例では、フラグメント領域を６４個の微小領域であるピクセルに分割したが、更に２５６個、１０２４個に分割させてもよい。その場合、最終分割領域が表示画面のピクセルに対応するサイズである必要はない。
【００７０】
【発明の効果】
以上説明した通り、本発明によれば、ピクセルがポリゴンに属するか否かの判定をフラクタルな順番で行うことで、その演算を極めて単純化することができる。しかも、その演算は、並列的に複数回行うことで、多くのピクセルについて判定することができ、演算に要する遅延時間（レイテンシ）を短くすることができる。
【００７１】
それにあわせて、各ピクセル毎のＺ値もフラクタル法により求めることで、同様に簡単な加減算による演算で求めることができる。更に、ポリゴンのパラメータについてもフラクタル法により求めることにより、同様に簡単な加減算による演算で求めることができる。
【００７２】
従って、従来のラスタスキャン法による各ピクセル毎の演算に比較して、演算が簡単化し、演算スピードを上げることができる。
【００７３】
また、フラクタル法により求めたＺ値を利用して、Ｚ値比較を先行して行い、描画すべきポリゴンのピクセルを領域マスクバッファに格納することで、その後のレンダリング処理を無駄なく行うことができる。
【００７４】
更に、フラクタル処理とそれにより生成された領域マスクを利用する等により、仮想空間内の物体がつくる影の領域をリアルタイムで演算して描画することができ、画像処理能力を大幅に向上させることができる。
【図面の簡単な説明】
【図１】フラクタルな順番でピクセルを求める方法について説明する図である。
【図２】任意の点Ｐ（ｘ，ｙ）が、三角形のポリゴン１０内に位置するか否かの判断のアルゴリズムについて説明する図である。
【図３】表示画面内に３つのポリゴンが表示される例を示す図である。
【図４】フラクタル法を利用した画像処理装置の全体ブロック図である。
【図５】ポリゴンデータの構成例を示す図である。
【図６】フラクタル処理器の具体的構成例を示す図である。
【図７】領域マスクバッファの他の構成例を示す図である。
【図８】画像処理の全体のフローチャートを示す図である。
【図９】フラクタル処理工程の詳細なフローチャートを示す図である。
【図１０】画像処理装置の別の例のブロック図である。
【図１１】図１０の画像処理装置の処理のフローチャート図である。
【図１２】画像処理を汎用コンピュータを利用して行う場合の画像処理装置の構成図である。
【図１３】ポリゴンのラスタスキャンを説明する為の図である。
【符号の説明】
４０      ＣＰＵ
５０      ポリゴンバッファ
５２      座標変換器
５４      初期値計算器
５６      フラクタル処理器
５８      Ｚ値バッファメモリ
６０      領域マスクバッファメモリ
６２      補間器
６４      色データ生成部
６８      フレームバッファメモリ
７２      フラクタル処理部
７４      レンダリング処理部
【図１】
0004106719.tif 000003
【図２】
0004106719.tif 000004
【図３】
0004106719.tif 000005
【図４】
0004106719.tif 000006
【図５】
0004106719.tif 000007
【図６】
0004106719.tif 000008
【図７】
0004106719.tif 000009
【図８】
0004106719.tif 000010
【図９】
0004106719.tif 000011
【図１０】
0004106719.tif 000012
【図１１】
0004106719.tif 000013
【図１２】
0004106719.tif 000014
【図１３】
0004106719.tif 000015