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