(57)【特許請求の範囲】
【請求項１】
所定の半透明係数に応じた所定の画像処理を施すべき複数のオブジェクト画像のうち、仮想視点に最も近い部分については最後に当該画像処理を施す画像生成方法であって、
少なくとも第１，第２の二つのフレーム画像記憶領域を設け、
上記所定の画像処理を施さないオブジェクト画像に対して上記仮想視点からの設定距離に応じた所定の比較処理を行い、且つ、当該比較処理後の上記設定距離を保存して当該オブジェクト画像を上記第１のフレーム画像記憶領域上に描画し、
上記比較処理後の上記設定距離を、上記第２のフレーム画像記憶領域に保存し、
上記所定の画像処理を施さないオブジェクト画像が描画された上記第１のフレーム画像記憶領域上に、上記所定の画像処理を施すべきオブジェクト画像に対して当該画像処理を施し且つ上記比較処理を行う一方で上記設定距離の保存を行わないようになされたオブジェクト画像を描画し、
さらに上記所定の画像処理を施すべきオブジェクト画像に対して当該画像処理を施さず、この画像処理が施されていないオブジェクト画像に対して上記所定の比較処理を行い且つ当該比較処理後の上記設定距離の保存を行って当該オブジェクト画像を上記第２のフレーム画像記憶領域上に描画し、
上記第２のフレーム画像記憶領域に記憶したフレーム画像に対して上記所定の画像処理を施し、当該画像処理が施されたフレーム画像に対して上記所定の比較処理を行わず、そのフレーム画像と上記第１のフレーム画像記憶領域に記憶したフレーム画像とを合成する
ことを特徴とする画像生成方法。
【請求項２】
請求項１に記載の画像生成方法であって、
上記所定の画像処理は、所定の半透明係数に応じて上記オブジェクト画像を半透明化する処理である
ことを特徴とする画像生成方法。
【請求項３】
請求項１又は請求項２に記載の画像生成方法であって、
上記所定の比較処理は、上記オブジェクト画像を構成する各ピクセルについて、そのピクセルと二次元空間のＸＹ座標値が一致する他のピクセルとの間で上記仮想視点からの距離を表すＺ座標値を比較し、上記仮想視点から近いＺ座標値を有するピクセルのみ残す処理である
ことを特徴とする画像生成方法。
【請求項４】
所定の半透明係数に応じた所定の画像処理を施すべき複数のオブジェクト画像のうち、仮想視点に最も近い部分については最後に当該画像処理を施す画像処理手段と、
少なくとも二つのフレーム画像を記憶する第１，第２のフレーム画像記憶部と、を備え、
上記画像処理手段は、
上記所定の画像処理を施さないオブジェクト画像に対して上記仮想視点からの設定距離に応じた所定の比較処理を行い、且つ、当該比較処理後の上記設定距離を保存して当該オブジェクト画像を上記第１のフレーム画像記憶部上に描画し、
上記比較処理後の上記設定距離を、上記第２のフレーム画像記憶部に保存し、
上記所定の画像処理を施さないオブジェクト画像が描画された上記第１のフレーム画像記憶部上に、上記所定の画像処理を施すべきオブジェクト画像に対して当該画像処理を施し且つ上記比較処理を行う一方で上記設定距離の保存を行わないようになされたオブジェクト画像を描画し、
さらに上記所定の画像処理を施すべきオブジェクト画像に対して当該画像処理を施さず、この画像処理が施されていないオブジェクト画像に対して上記所定の比較処理を行い且つ当該比較処理後の上記設定距離の保存を行って当該オブジェクト画像を上記第２のフレーム画像記憶部上に描画し、
上記第２のフレーム画像記憶部に記憶したフレーム画像に対して上記所定の画像処理を施し、当該画像処理が施されたフレーム画像に対して上記所定の比較処理を行わず、そのフレーム画像と上記第１のフレーム画像記憶部に記憶したフレーム画像とを合成する
ことを特徴とする画像生成装置。
【請求項５】
請求項４に記載の画像生成装置であって、
上記画像処理手段は、上記所定の画像処理として、所定の半透明係数に応じて上記オブジェクト画像を半透明化する処理を行う
ことを特徴とする画像生成装置。
【請求項６】
請求項４又は請求項５に記載の画像生成装置であって、
上記画像処理手段は、上記所定の比較処理として、上記オブジェクト画像を構成する各ピクセルについて、そのピクセルと二次元空間のＸＹ座標値が一致する他のピクセルとの間で上記仮想視点からの距離を表すＺ座標値を比較し、上記仮想視点から近いＺ座標値を有するピクセルのみ残す処理である
ことを特徴とする画像生成装置。
【請求項７】
所定の半透明係数に応じた所定の画像処理を施すべき複数のオブジェクト画像のうち、仮想視点に最も近い部分については最後に当該画像処理を施す処理をコンピュータに実行させるための画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
少なくとも第１，第２の二つのフレーム画像記憶領域を設定するステップと、
上記所定の画像処理を施さないオブジェクト画像に対して上記仮想視点からの設定距離に応じた所定の比較処理を行い、且つ、当該比較処理後の上記設定距離を保存して当該オブジェクト画像を上記第１のフレーム画像記憶領域上に描画するステップと、
上記比較処理後の上記設定距離を、上記第２のフレーム画像記憶領域に保存するステップと、
上記所定の画像処理を施さないオブジェクト画像が描画された上記第１のフレーム画像記憶領域上に、上記所定の画像処理を施すべきオブジェクト画像に対して当該画像処理を施し且つ上記比較処理を行う一方で上記設定距離の保存を行わないようになされたオブジェクト画像を描画するステップと、
さらに上記所定の画像処理を施すべきオブジェクト画像に対して当該画像処理を施さず、この画像処理が施されていないオブジェクト画像に対して上記所定の比較処理を行い且つ当該比較処理後の上記設定距離の保存を行って当該オブジェクト画像を上記第２のフレーム画像記憶領域上に描画するステップと、
上記第２のフレーム画像記憶領域に記憶したフレーム画像に対して上記所定の画像処理を施し、当該画像処理が施されたフレーム画像に対して上記所定の比較処理を行わず、そのフレーム画像と上記第１のフレーム画像記憶領域に記憶したフレーム画像とを合成するステップと、を含む
ことを特徴とする画像処理プログラムを記録した記録媒体。
【請求項８】
請求項７に記載の記録媒体であって、
上記所定の画像処理は、所定の半透明係数に応じて上記オブジェクト画像を半透明化するステップを含む
ことを特徴とする画像処理プログラムを記録した記録媒体。
【請求項９】
請求項７又は請求項８に記載の記録媒体であって、
上記所定の比較処理は、上記オブジェクト画像を構成する各ピクセルについて、そのピクセルと二次元空間のＸＹ座標値が一致する他のピクセルとの間で上記仮想視点からの距離を表すＺ座標値を比較し、上記仮想視点から近いＺ座標値を有するピクセルのみ残すステップを含む
ことを特徴とする画像処理プログラムを記録した記録媒体。
【請求項１０】
所定の半透明係数に応じた所定の画像処理を施すべき複数のオブジェクト画像のうち、仮想視点に最も近い部分については最後に当該画像処理を施す処理をコンピュータに実行させるための画像処理プログラムであって、
少なくとも第１，第２の二つのフレーム画像記憶領域を設定するステップと、
上記所定の画像処理を施さないオブジェクト画像に対して上記仮想視点からの設定距離に応じた所定の比較処理を行い、且つ、当該比較処理後の上記設定距離を保存して当該オブジェクト画像を上記第１のフレーム画像記憶領域上に描画するステップと、
上記比較処理後の上記設定距離を、上記第２のフレーム画像記憶領域に保存するステップと、
上記所定の画像処理を施さないオブジェクト画像が描画された上記第１のフレーム画像記憶領域上に、上記所定の画像処理を施すべきオブジェクト画像に対して当該画像処理を施し且つ上記比較処理を行う一方で上記設定距離の保存を行わないようになされたオブジェクト画像を描画するステップと、
さらに上記所定の画像処理を施すべきオブジェクト画像に対して当該画像処理を施さず、この画像処理が施されていないオブジェクト画像に対して上記所定の比較処理を行い且つ当該比較処理後の上記設定距離の保存を行って当該オブジェクト画像を上記第２のフレーム画像記憶領域上に描画するステップと、
上記第２のフレーム画像記憶領域に記憶したフレーム画像に対して上記所定の画像処理を施し、当該画像処理が施されたフレーム画像に対して上記所定の比較処理を行わず、そのフレーム画像と上記第１のフレーム画像記憶領域に記憶したフレーム画像とを合成するステップと、を含む
ことを特徴とする画像処理プログラム。
【請求項１１】
請求項１０に記載の画像処理プログラムであって、
上記所定の画像処理は、所定の半透明係数に応じて上記オブジェクト画像を半透明化するステップを含む
ことを特徴とする画像処理プログラム。
【請求項１２】
請求項１０又は請求項１１に記載の画像処理プログラムであって、
上記所定の比較処理は、上記オブジェクト画像を構成する各ピクセルについて、そのピクセルと二次元空間のＸＹ座標値が一致する他のピクセルとの間で上記仮想視点からの距離を表すＺ座標値を比較し、上記仮想視点から近いＺ座標値を有するピクセルのみ残すステップを含む
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばテレビジョンモニタ装置などの２次元画面上に描画される３次元画像を生成する画像生成方法及び装置、画像生成処理をコンピュータに実行させるための画像処理プログラム、及びその画像処理プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
近年のテレビゲーム機やパーソナルコンピュータは、プロセッサやメモリ等の高集積化、高速化等が進んでおり、その結果、例えば臨場感が有り且つ奥行き感のある３次元画像をリアルタイムに生成し、２次元モニタ画面上に描画するようなことが可能となっている。
【０００３】
上記２次元モニタ画面上に表示する３次元画像を描画する場合は、例えば、３次元ポリゴンのデータに対して座標変換処理，クリッピング（Ｃｌｉｐｐｉｎｇ）処理，ライティング（Ｌｉｇｈｔｉｎｇ）処理等のジオメトリ（Ｇｅｏｍｅｔｒｙ）処理を施し、その処理の結果得られるデータを透視投影変換処理するようなことが行われる。
【０００４】
【発明が解決しようとする課題】
ところで、２次元モニタ画面上に表示する３次元画像を生成する従来の画像生成装置において、例えば、半透明オブジェクトの描画や、オブジェクトのエッジ部分でのアンチエイリアシングのためのピクセル占有率に応じた描画の際には、通常、いわゆるαブレンディングと呼ばれる、半透明度（或いは透明度）を表す係数αを用いたフレームバッファ上の画素値と描画画素値との間の線形補間による描画画像の生成手法が採用されている。
【０００５】
しかしながら、上記αブレンディングによる描画画像の生成手法では、画面の深さ方向（視点からの奥行き方向、以下、Ｚ方向と呼ぶ）に関して、視点からの距離が遠い順にオブジェクトを描画しないと不自然な画像になることが知られている。また、Ｚ方向に応じてオブジェクトを描画する手法には、いわゆるＺソート法のように面毎に色を塗るのではなく、各画素毎にＺ方向に最も近い面を見つけ出し、その最も近い面の色で画素を表示することにより、面の前後関係を正しく表示する、いわゆるＺバッファ法と呼ばれる手法も存在するが、当該Ｚバッファ法においても上記のような問題を回避することはできない。
【０００６】
本発明は、このような課題に鑑みてなされたものであり、Ｚソートなどの手法を用いず、αブレンディングによる描画を自然で且つ破綻無く実現可能とする、画像生成方法及び装置、画像生成処理をコンピュータに実行させるための画像処理プログラム、及び画像処理プログラムを記録した記録媒体を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は、所定の半透明係数に応じた所定の画像処理を施すべきオブジェクト画像のうち、仮想視点に最も近い部分については最後に当該画像処理を施すようにしている。
【０００８】
すなわち本発明では、具体的に、所定の画像処理を施すべきオブジェクト画像に対して当該画像処理を施し、仮想視点からの設定距離に応じた所定の比較処理を行う一方で当該比較処理後の上記設定距離の保存を行わずに第１のフレーム画像記憶領域上に描画し、また、所定の画像処理を施すべきオブジェクト画像に対して当該画像処理を施さず、所定の比較処理を行い且つ当該比較処理後の上記設定距離の保存を行って第２のフレーム画像記憶領域上に描画し、さらに、第２のフレーム画像記憶領域に記憶したフレーム画像に対して所定の画像処理を施し、そのフレーム画像に対して所定の比較処理を行わずに第１のフレーム画像記憶領域に記憶したフレーム画像と合成することにより、所定の画像処理を施すべきオブジェクト画像のうち、仮想視点に最も近い部分は必ず最後に当該画像処理が施されることを保証している。
【０００９】
【発明の実施の形態】
［本実施の形態の画像生成装置の構成］
図１には、本発明実施の形態の画像生成装置１の概略構成を示す。なお、本実施の形態の画像生成装置１は、３次元ポリゴンへのテクスチャマッピングにより２次元画像を生成する装置であり、例えば、テレビゲーム機やパーソナルコンピュータ、３次元グラフィック装置などに適用可能なものである。
【００１０】
図１において、本実施の形態の画像生成装置１は、主要構成要素として、輝度計算及び座標変換ユニット２と、ＬＯＤ（Ｌｅｖｅｌ  Ｏｆ  Ｄｅｔａｉｌ）計算ユニット３と、テクスチャ座標計算ユニット４と、ＤＤＡ（Ｄｉｇｉｔａｌ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ａｎａｌｙｚｅｒ）ユニット５と、ピクセルエンジン（Ｐｉｘｅｌ  Ｅｎｇｉｎｅ）６と、画像メモリ７とを備えている。
【００１１】
また、上記画像メモリ７は、Ｚ方向の値（Ｚ座標値）が記憶されるＺバッファ８と、マッピングによりポリゴン上の全体的な模様を生成するための基本テクスチャが記憶される基本テクスチャバッファ９と、基本テクスチャのマッピングにより生成した模様を振幅変調するモジュレーション用のテクスチャが記憶されるモジュレーション用テクスチャバッファ１０と、後述するように、２次元モニタ画面上に表示されるフレームデータ（２次元画像データ）を記憶及び合成するための第１，第２の２つのフレームバッファ１１，１２の各記憶領域を備えている。
【００１２】
なお、基本テクスチャとモジュレーション用テクスチャのデータは、フレームバッファ内に記憶するようにしても良い。例えば、基本テクスチャのデータはフレームバッファのＲＧＢ記憶領域に記憶させ、モジュレーション用テクスチャのデータはフレームバッファのα記憶領域に記憶させることができる。この場合、画像メモリ７には、基本テクスチャバッファ９とモジュレーション用テクスチャバッファ１０の記憶領域を特に設ける必要は無くなる。
【００１３】
これらの各構成要素を備えた画像生成装置１の入力端子１３には、３次元画像を生成するための各種情報として、例えば、３次元ポリゴン情報、αブレンディングのための半透明度を表す係数α、テクスチャ情報、光源情報及び視点情報等が入力される。なお、これら各種情報は、例えば通信回線或いは記憶装置等を介して供給される。
【００１４】
上記３次元ポリゴン情報は、例えば三角形のポリゴンの各頂点の（ｘ，ｙ，ｚ）座標とこれら各頂点の法線の情報などからなり、上記テクスチャ情報は、光三原色のＲ（赤）、Ｇ（緑）、Ｂ（青）の値を持つ各テクセル情報と三角形ポリゴンの各頂点に対応するテクスチャ座標とからなる情報である。上記半透明度を表す係数αは、テクスチャをマッピングする際の画像のブレンドの割合を示すαブレンディング用の係数であり、具体的には、Ｒ，Ｇ，Ｂのそれぞれ対応した値Ａ（Ａはアルファを表す）となされている。また、上記視点情報及び光源情報は、ポリゴンに対する輝度計算及び座標変換を行うための情報である。上記光源情報は、１つの光源に限らず複数の光源を表す情報であっても良い。その他、ポリゴンの各頂点情報には、上記以外にも、色情報や、遠くにあるものに霧がかかったような効果を与えるためのフォグ値等の様々な情報が付加される。これらの各種情報は、先ず、画像生成装置１の輝度計算及び座標変換ユニット２に入力される。
【００１５】
輝度計算及び座標変換ユニット２は、入力されたポリゴンの各座標情報を、視点情報に基づいて２次元描画用の座標系の座標値に変換すると共に、各ポリゴンの各頂点の輝度を視点情報及び光源情報に基づいて計算する。また、輝度計算及び座標変換ユニット２は、上述した計算を行うと共に、透視変換等の処理をも行う。上記輝度計算及び座標変換ユニット２において算出された各値は、ＬＯＤ計算ユニット３に入力される。
【００１６】
ＬＯＤ計算ユニット３は、ピクセルエンジン６が基本テクスチャバッファ９から基本テクスチャを読み出す際に使用されるＬＯＤ（Ｌｅｖｅｌ  Ｏｆ  Ｄｅｔａｉｌ）値を、上記変換されたポリゴンのＺ座標から計算する。なお、ＬＯＤ値は、ポリゴンを縮小する際の縮小率から計算される値であり、当該縮小率は例えば視点からポリゴンまでの距離の対数として求められるものである。上記ＬＯＤ値は、テクスチャ座標計算ユニット４，ＤＤＡユニット５を経てピクセルエンジン６に送られる。
【００１７】
テクスチャ座標計算ユニット４は、ピクセルエンジン６がモジュレーション用テクスチャバッファ１０からモジュレーション用テクスチャを読み出す際に使用されるテクスチャ座標値を、上記基本テクスチャ用のテクスチャ座標値より計算する。これらテクスチャ座標値は、ＤＤＡユニット５を経てピクセルエンジン６に送られる。
【００１８】
ＤＤＡユニット５は、上記２次元のポリゴン頂点情報、Ｚ座標の値及び輝度情報等をピクセル情報に変換する。具体的に、ＤＤＡユニット５は、各画素について、その座標値、Ｚ値、輝度及びテクスチャ座標値を線形補間により順次求める。このＤＤＡユニット５からの出力は、ピクセルエンジン６に送られる。
【００１９】
ピクセルエンジン６は、Ｚバッファ８、基本テクスチャバッファ９、モジュレーション用テクスチャバッファ１０、第１，第２のフレームバッファ１１，１２の各フレームデータ記憶領域の読み出し及び書き込みの制御を行うと共に、上記基本テクスチャバッファ９やモジュレーション用テクスチャバッファ１０から読み出されたテクセル情報と、上記ＤＤＡユニット５により求められたピクセル情報とを用いたテクスチャマッピングや、Ｚ座標の比較、画素値計算及び画素値等の書き込みを行う。
【００２０】
また、上記ピクセルエンジン６は、上記テクスチャマッピングを行う際に、上記基本テクスチャバッファ９に記憶された基本テクスチャを用いた、いわゆるミップマップ（ＭＩＰＭＡＰ）方式により、３次元のポリゴンへのマッピングを行う。なお、上記ミップマップ方式とは、３次元のポリゴンに張り付けるテクスチャとして１／２，１／４，１／８，…（各辺の長さの比率）といった大きさの異なるテクスチャを予め用意しておき、縮小率に応じて上記予め用意しておいたテクスチャを選択し、３次元のポリゴンにマッピングを行う方式である。上記ミップマップ方式によれば、上述のように元のテクスチャを縮小したテクスチャをポリゴンにマッピングすることにより、ポリゴンを縮小した場合のエリアシングの発生を防止可能となる。また、テクスチャマッピングの際に、上記基本テクスチャに対してさらに高い周波数成分を加える場合、ピクセルエンジン６は、モジュレーション用テクスチャバッファ１０に記憶されているモジュレーション用テクスチャを用いたテクスチャマッピングを行う。
【００２１】
さらに、ピクセルエンジン６は、αブレンディング、シザリング、Ｚテスト、ディザリング、カラークランプ等の処理も行う。なお、上記シザリングとは画面からはみ出したデータを取り除く処理であり、Ｚテストとは各ピクセルのＺ値とＺバッファ８に格納されたＺ値を比較し、視点により近いピクセルのみを描画し、遠いピクセルを残さないようにする処理であり、ディザリングとは少ない色数で多くの色を表現するための色の配置を入り組ませる処理、カラークランプとは色の計算の時に値が２５５を越えたり０より小さくなったりしないように制限する処理である。
【００２２】
上記ピクセルエンジン６は、上述した各処理により得られた画像データを、後述するように、適宜第１，第２のフレームバッファ１１，１２に記憶して２次元モニタ画面に描画するフレームデータ（２次元画像データ）を合成する。その後、当該合成された２次元画像データが第１のフレームバッファ１１又は第２のフレームバッファ１２から読み出され、出力端子１４から出力されて２次元モニタ装置へ送られることになる。
【００２３】
［画像合成処理の詳細］
以下、上記ピクセルエンジン６が第１，第２のフレームバッファ１１，１２を用いて２次元モニタ上に描画される画像データを合成する処理の詳細を、図２〜図６を用いて説明する。
【００２４】
本実施の形態の画像生成装置１は、画像メモリ７内に第１，第２のフレームバッファ１１，１２（２つのフレームデータ記憶領域）を備え、それら２つのフレームバッファ１１，１２を用いて、所定の画像処理としてのαブレンディングと、所定の比較処理としてのＺテストのＯＮ／ＯＦＦ、及び、距離情報の保存処理としてのＺ値書き込みのＯＮ／ＯＦＦを、後述のように制御しつつ所定の描画処理を２乃至３回行い、それら２乃至３回の所定の描画処理により得られた画像を、さらに後述のようにαブレンディングとＺテストのＯＮ／ＯＦＦを制御して合成することにより、破綻の少ないαブレンディング描画をＺソートを行うことなく実現可能としている。
【００２５】
すなわち、本実施の形態の画像生成装置１のピクセルエンジン６は、図２のフローチャートに示すような流れの処理を行うことで、αブレンディングのＯＮ／ＯＦＦ制御及びＺテストのＯＮ／ＯＦＦ制御並びにＺ値書き込みのＯＮ／ＯＦＦ制御と、上記第１，第２の２つのフレームバッファ１１，１２を用いた２乃至３回の描画処理とによる破綻のない２次元画像データの生成を行っている。
【００２６】
なお、以下に説明する図３〜図６において、図中のＯＢ１〜ＯＢ４はそれぞれ異なるオブジェクトを表しており、視点からの距離（Ｚ座標値）はＯＢ１，ＯＢ２，ＯＢ３，ＯＢ４の順に遠くなっているとする。また、オブジェクトＯＢ１とＯＢ３はαブレンディングしないオブジェクトであり、オブジェクトＯＢ２とＯＢ４はαブレンディングすべきオブジェクトであるとする。
【００２７】
図２において、先ず、ピクセルエンジン６は、ステップＳ１の処理として、画像メモリ７の第１，第２のフレームバッファ１１，１２（第１，第２のフレームデータ記憶領域）をクリアし、次いで、ステップＳ２の処理として、フレーム内に配置される各オブジェクトについて、それぞれαブレンディングすべきオブジェクトか或いはαブレンディングしないオブジェクトかの、αブレンディングの要否判定を行う。
【００２８】
ピクセルエンジン６は、上記ステップＳ２のαブレンディング要否判定にて「否」と判定されたオブジェクト、すなわちαブレンディングしないオブジェクトについては、ステップＳ３の処理として、上記Ｚテスト及びＺ値書き込みを行う（ＺテストＯＮ、Ｚ値書き込みＯＮ）と共に、そのオブジェクトを上記第１，第２の二つのフレームバッファ１１，１２のうちの何れか一方、例えば第１のフレームバッファ１１上に記憶させる（フレームバッファ１１上に描画する）。
【００２９】
ここで、上記オブジェクトＯＢ１〜ＯＢ４のうち、αブレンディングしないオブジェクトはＯＢ１とＯＢ３であり、オブジェクトＯＢ３はオブジェクトＯＢ１よりも視点から遠いオブジェクトである。また、このステップＳ３の場合、上記Ｚ値書き込みがＯＮとなされるため、各ピクセルのＺ値がＺバッファ８に書き込まれ、視点により近いピクセルのみが描画されて遠いピクセルを残さないようになされる。すなわち、視点に近いピクセルのＲＧＢ値とα値は、当該第１のフレームバッファ１１のＲＧＢ値記憶領域とα値記憶領域に別々に書き込まれることになる。
【００３０】
したがって、当該ステップＳ３において、αブレンディングしない上記オブジェクトＯＢ１，ＯＢ３をαブレンディングＯＦＦ、ＺテストＯＮ、Ｚ値書き込みＯＮにして得られる描画画像は、図３に示すように、オブジェクトＯＢ１とＯＢ３の重なった部分において、視点から遠いオブジェクトＯＢ３の色或いは模様がオブジェクトＯＢ１により隠された画像となる。すなわちこの場合の描画画像は、オブジェクトＯＢ１がオブジェクトＯＢ３よりも手前にあるように見える、３次元的な画像となる。
【００３１】
なお、フレーム内のオブジェクトが全てαブレンディングすべきオブジェクトである場合には、上記ステップＳ３の処理は不要となる。
【００３２】
次に、ピクセルエンジン６は、上記ステップＳ２のαブレンディング要否判定にて「要」と判定されたオブジェクト、すなわちαブレンディングすべきオブジェクトについては、先ず、ステップＳ４の処理として、αブレンディングをＯＮ、ＺテストをＯＮ、Ｚ値書き込みをＯＦＦとして処理し、上記ステップＳ３と同じ第１のフレームバッファ１１上に記憶させる（フレームバッファ１１上に描画する）。
【００３３】
ここで、上記オブジェクトＯＢ１〜ＯＢ４のうち、αブレンディングすべきオブジェクトはＯＢ２とＯＢ４である。また、上記オブジェクトＯＢ１〜ＯＢ４はＯＢ１，ＯＢ２，ＯＢ３，ＯＢ４の順に視点から遠くなるものであるが、当該ステップＳ４の処理では、上記αブレンディングがＯＮで、ＺテストがＯＮ、Ｚ値書き込みがＯＦＦとなされている。
【００３４】
このため、当該ステップＳ４において、上記ステップＳ３で第１のフレームバッファ１１上に形成されている画像上に、上記オブジェクトＯＢ２，ＯＢ４をαブレンディングＯＮ、ＺテストＯＮ、Ｚ値書き込みＯＦＦにより形成した画像を重ね合わせた画像は、図４に示すような画像となる。すなわちこの図４から分かるように、当該ステップＳ４の時点で得られる描画画像は、上記ステップＳ３で描画されたαブレンディングがＯＦＦのオブジェクトＯＢ１，ＯＢ３の前後関係は正しいが、上記ステップＳ４で描画されたαブレンディングＯＮのオブジェクトＯＢ２，ＯＢ４同士の前後関係は正しくない不自然な画像になっている。つまり、オブジェクトＯＢ１〜ＯＢ４は、ＯＢ１が最も手前になり、以下、ＯＢ２，ＯＢ３，ＯＢ４の順に視点から遠くなるような画像となるべきであるが、この時点では各オブジェクトの見える順番のうち、上記ステップＳ４で描画されたαブレンディングがＯＮの各オブジェクトはＺ座標に応じた順番にはなっていない。但し、上記オブジェクトＯＢ２，ＯＢ４が描画されるべき位置には、それらオブジェクトＯＢ２，ＯＢ４に近い色或いは模様が割り当てられた画像となる。
【００３５】
次に、ピクセルエンジン６は、ステップＳ５の処理として、第１のフレームバッファ１１のＺバッファ値を、第２のフレームバッファ１２のＺバッファにコピーする。
【００３６】
次に、ピクセルエンジン６は、ステップＳ６の処理として、αブレンディングすべきオブジェクトについて、αブレンディングＯＦＦ、ＺテストＯＮ、Ｚ値書き込みＯＮで処理し、第２のフレームバッファ１２上に記憶させる（フレームバッファ１２上に描画する）。
【００３７】
ここで、上記オブジェクトＯＢ１〜ＯＢ４のうち、αブレンディングすべきオブジェクトはＯＢ２とＯＢ４であり、オブジェクトＯＢ２はオブジェクトＯＢ４よりも遠いオブジェクトである。また、このステップＳ６の処理では、αブレンディングすべきオブジェクトＯＢ２，ＯＢ４についてαブレンディングはＯＦＦでＺテストはＯＮ、Ｚ値書き込みはＯＮになされる。
【００３８】
このため、得られる描画画像は、図５に示すように、オブジェクトＯＢ２とＯＢ４の重なった部分において、視点から遠いオブジェクトＯＢ４の色或いは模様がオブジェクトＯＢ２により隠された画像となる。また、このステップＳ６の場合、上記Ｚ値書き込みがＯＮであるため、各ピクセルのＺ値がＺバッファ８に書き込まれ、視点により近いピクセルのみが描画され、遠いピクセルを残さないようになされる。すなわち、視点に近いピクセルのＲＧＢ値とα値は、当該第２のフレームバッファ１２のＲＧＢ値記憶領域とα値記憶領域に別々に書き込まれることになる。なお、Ｚバッファ８には、ステップＳ３で使用したＺ座標の値が格納されているため、そのＺ座標値をそのまま用いることにより、背景画像との間のＺテストを実現できる。
【００３９】
次に、ピクセルエンジン６は、ステップＳ７の処理として、上記第２のフレームバッファ１２上に記憶されている画像全体をテクスチャとして、第１のフレームバッファ１１上に記憶されている画像全体に対してαブレンディングをＯＮでＺテストＯＦＦとして処理し、第１のフレームバッファ１１上に記憶させる（フレームバッファ１１上に描画する）。
【００４０】
このステップＳ７において、第２のフレームバッファ１２上の画像全体をテクスチャとして、第１のフレームバッファ１１上の画像全体に対してαブレンディングをＯＮでＺテストＯＦＦとして処理することにより得られる描画画像は、αブレンディングすべきオブジェクトのうちで視点に一番近い部分が必ず最後にαブレンディングされることが保証された画像となる。特に、αブレンディングの場合、画像に与える影響が一番大きいのは視点に近いオブジェクトであることから、本実施の形態の上述した描画を行うことで、破綻の少ない画像を得ることができる。
【００４１】
すなわち、本実施の形態の場合は、図６に示すように、αブレンディングすべきオブジェクトＯＢ２，ＯＢ４のうちで最も手前になるオブジェクトＯＢ２が、必ず最後にαブレンディングされたような画像になるため、最終的に得られる画像は、見かけ上、オブジェクトＯＢ１が最も手前になり、次に、上記αブレンディングすべきオブジェクトＯＢ２，ＯＢ４のうちのオブジェクトＯＢ２が位置し、その後ろにオブジェクトＯＢ３、さらにその後ろにオブジェクトＯＢ４が位置するような画像が得られることになる。なお、図６中の一点鎖線や点線は、オブジェクトの重なっている部分の奥側の色或いは模様が、αブレンディングにより半透明状に透けて見える様子を示している。
【００４２】
その後、ピクセルエンジン６は、ステップＳ８の処理として、次のフレームデータについての描画処理が必要か否か判定し、必要であると判定した場合はステップＳ１の処理の戻り、不要であると判定した場合は当該図２の処理を終了する。
【００４３】
なお、上記ピクセルエンジン６では、上記図２のフローチャートの処理を例えばＤＳＰのようなハードウェア的な構成により実現することも、或いは、ＣＰＵのように例えば通信回線を介して伝送された処理プログラムや記憶媒体から記憶装置により読み出した画像生成処理プログラムによりソフトウェア的に実現することもできる。特に、上記ピクセルエンジン６での処理をソフトウェア的に実現する場合の画像生成処理プログラムは、一例として、先ず、画像メモリ７の記憶領域の中に上記第１，第２のフレームバッファ１１，１２の２つのフレームデータ記憶領域を形成させた後、それらフレームデータ記憶領域を用いて、上記図２のフローチャートで説明した各ステップＳ１〜Ｓ８の処理を順次行うようなプログラムとなる。当該画像生成処理プログラムは、予めピクセルエンジン６用の処理プログラムとして用意しておく場合のみならず、例えば前記図１の入力端子１３から前記ポリゴン情報等と共に、或いはそれに先だって入力することも可能である。
ソフトウェア的に本実施の形態の画像生成処理を実現するための具体的構成例として、図７には、図２に示した流れの画像処理プログラムを実行するパーソナルコンピュータの概略構成を示す。なお、本実施の形態の画像処理プログラムは、主に図７のＣＰＵ１２３が実行する。
この図７において、記憶部１２８は、例えばハードディスク及びそのドライブからなる。当該ハードディスク内には、オペレーティングシステムプログラムや、例えばＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の各種の記録媒体から取り込まれたり、通信回線を介して取り込まれた、本実施の形態の画像処理プログラム１２９や、ポリゴン描画のための図形情報、テクスチャ、Ｚ値、通常テクスチャ、カラー値、α値等の各種のデータ１３０等が記憶されている。
通信部１２１は、例えば、アナログ公衆電話回線に接続するためのモデム、ケーブルテレビジョン網に接続するためのケーブルモデム、ＩＳＤＮ（総合ディジタル通信網）に接続するためのターミナルアダプタ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）に接続するためのモデムなどのように、外部とデータ通信を行うための通信デバイスである。通信Ｉ／Ｆ部１２２は、上記通信部１２１と内部バス（ＢＵＳ）との間でデータのやりとりを可能とするためのプロトコル変換等を行うインターフェイスデバイスである。
入力部１３３は、例えばキーボードやマウス、タッチパッドなどの入力装置であり、ユーザＩ／Ｆ部１３２は、上記入力部１３３からの信号を内部に供給するためのインターフェイスデバイスである。
ドライブ部１３５は、例えばＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のディスク媒体１５１や、カード状等の半導体メモリなどの記録媒体から、本実施の形態にかかる画像処理プログラムを含む各種のプログラムやデータを読み出し可能なドライブ装置である。ドライブＩ／Ｆ部１３４は、上記ドライブ部１３５からの信号を内部に供給するためのインターフェイスデバイスである。
表示部１３７は、例えばＣＲＴ（陰極線管）や液晶等の表示デバイスであり、表示ドライブ部１３６は上記表示部１３７を表示駆動させるドライブデバイスである。
ＲＯＭ１２４は、例えばフラッシュメモリ等の書き換え可能な不揮発性メモリからなり、当該パーソナルコンピュータのＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）や各種の初期設定値を記憶している。ＲＡＭ１２５は、記憶部１２８のハードディスクから読み出されたアプリケーションプログラムや各種データなどがロードされ、また、ＣＰＵ１２３のワークＲＡＭとして用いられる。
ＣＰＵ１２３は、上記記憶部１２８に記憶されているオペレーティングシステムプログラムや本実施の形態の画像処理プログラム１２９に基づいて、当該パーソナルコンピュータの全動作を制御すると共に前述した画像生成処理を実行する。すなわち、この図７に示す構成において、ＣＰＵ１２３は、上記記憶部１２８のハードディスクから読み出されてＲＡＭ１２５にロードされたアプリケーションプログラムの一つである、本実施の形態の画像処理プログラムを実行することにより、前述の本実施の形態で説明した画像生成処理を実現する。
【００４４】
［本発明実施の形態のまとめ］
以上説明したように、本発明実施の形態によれば、αブレンディングしないオブジェクトが存在しない場合には処理が簡略化できる。
【００４５】
また、本発明実施の形態によれば、第１，第２のフレームバッファ１１，１２を備え、ピクセルエンジン６において、それら第１，第２の二つのフレームバッファ１１，１２を用い、αブレンディングすべきオブジェクトをαブレンディングＯＮ，ＺテストＯＮ、Ｚ値書き込みＯＦＦで処理して例えば第１のフレームバッファ１１に記憶し、また、上記αブレンディングすべきオブジェクトをαブレンディングＯＦＦ，ＺテストＯＮ，Ｚ値書き込みＯＮで処理して第２のフレームバッファ１２に記憶し、その後、上記第２のフレームバッファ１２上の画像全体をテクスチャとして上記第１のフレームバッファ１１の画像全体にαブレンディングＯＮ，ＺテストＯＦＦにて描画することで、αブレンディングすべきオブジェクトのうち、特に、画像に与える影響が大きくなる最も手前になるオブジェクトが、必ず最後にαブレンディングされることを保証することができ、その結果として、破綻の少ないαブレンディング描画をＺソートを行うことなく実現可能となっている。
【００４６】
さらに、本実施の形態によれば、αブレンディングしないオブジェクトが存在した場合、そのオブジェクトに対しては、ＺテストＯＮで、Ｚ値書き込みＯＮとして第１のフレームバッファ１１に描画した後、当該第１のフレームバッファ１１上に、上記αブレンディングすべきオブジェクトに対してαブレンディングＯＮ、ＺテストＯＮ、Ｚ値書き込みＯＦＦで処理されたオブジェクト画像を描画することで、αブレンディングしないオブジェクトが存在した場合であっても、オブジェクトの前後関係を維持した破綻のない描画が実現可能となっている。
【００４７】
なお、上述した実施の形態の説明は、本発明の一例である。このため、本発明は上述の実施の形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることはもちろんである。例えば、フレーム画像記憶領域は２つに限定されず、複数であっても良い。本発明では、このように複数の各フレーム画像記憶領域を用い、処理を分散させることにより、画像生成処理を高速化することができる。また、本実施の形態では、上記αブレンディングすべきオブジェクトのうちの最も手前になるオブジェクトだけでなく、それよりも距離が遠くなるオブジェクトについても、３次元的なαブレンディング描画を実現することが可能である。
【００４８】
【発明の効果】
本発明は、所定の半透明係数に応じた所定の画像処理を施すべきオブジェクト画像のうち、仮想視点に最も近い部分については必ず最後に当該画像処理が施されることを保証することにより、Ｚソートなどの手法を用いず、半透明係数に応じた第１の画像処理（例えばαブレンディング）による描画を自然で且つ破綻無く実現可能となっている。
【図面の簡単な説明】
【図１】本発明実施の形態の画像生成装置の主要部の概略構成例を示す図である。
【図２】本実施の形態の画像生成装置において２つのフレームデータ記憶領域を用いた２次元画像の生成処理の流れを示すフローチャートである。
【図３】図２のフローチャートのステップＳ３により得られる描画画像の一例を示す図である。
【図４】図２のフローチャートのステップＳ４により得られる描画画像の一例を示す図である。
【図５】図２のフローチャートのステップＳ６により得られる描画画像の一例を示す図である。
【図６】図２のフローチャートのステップＳ７により得られる描画画像の一例を示す図である。
【図７】図２のフローチャートで示した流れの画像処理プログラムを実行するパーソナルコンピュータの概略構成を示すブロック図である。
【符号の説明】
１…画像生成装置、２…輝度計算及び座標変換ユニット、３…ＬＯＤ計算ユニット、４…テクスチャ座標計算ユニット、５…ＤＤＡユニット、６…ピクセルエンジン、７…画像メモリ、８…Ｚバッファ、９…基本テクスチャバッファ、１０…モジュレーション用テクスチャバッファ、１１，１２…フレームバッファ
【図１】
0003635051.tif 000002
【図２】
0003635051.tif 000003
【図３】
0003635051.tif 000004
【図４】
0003635051.tif 000005
【図５】
0003635051.tif 000006
【図６】
0003635051.tif 000007
【図７】
0003635051.tif 000008