(57)【特許請求の範囲】
【請求項１】
ポリゴンデータからジオメトリ演算により生成されるピクセルデータのＺ値とＺバッファから読み出したＺ値との大小比較による隠面処理を含むレンダリング処理を行なう描画装置において、前記ポリゴンデータに付されたフラグ値に応じてオフセットＺ値を加えるか否かを判断するオフセット判断手段と、前記ピクセルデータのＺ値に対応するオフセットＺ値を奥行き情報メモリから読み出し、そのオフセットＺ値を前記ピクセルデータのＺ値に演算するオフセット演算手段と、前記大小比較の結果に応じて、前記ピクセルデータのＺ値をＺバッファに書き込み、かつ、前記ピクセルデータをテクスチャメモリから読み出してフレームバッファに書き込む手段とを備えることを特徴とする描画装置。
【請求項２】
前記テクスチャメモリに格納した元絵データを構成するピクセル毎に対応した奥行きデータをオフセットＺ値とすることを特徴とする請求項１に記載の描画装置。
【請求項３】
前記元絵データは指向性のない元絵データを含むことを特徴とする請求項１又は請求項２に記載の描画装置。
【請求項４】
ポリゴンデータを構成するピクセルのＸ，Ｙ座標データをもとにＺバッファからＺ値を読み出す読み出しステップと、前記Ｚバッファから読み出したＺ値と前記ピクセルのＺ値との大小比較する比較ステップと、当該比較ステップの結果に応じて前記ＺバッファにＺ値を書き込むステップとを有する描画方法において、前記ポリゴンデータに付されたフラグ値に応じてオフセットＺ値を加えるか否かを判断するオフセット判断ステップと、前記ピクセルのＺ値に対応するオフセットＺ値を奥行き情報メモリから読み出し、そのオフセットＺ値を前記ピクセルのＺ値に演算するオフセット演算ステップと、前記ピクセルのＺ値をＺバッファに書き込み、かつ、前記ピクセルに対応する元絵データを構成するピクセルデータをテクスチャメモリから読み出してフレームバッファに書き込むステップと、を備えることを特徴とする描画方法。
【請求項５】
請求項４記載の描画方法をコンピュータシステムに構築することができるプログラムを格納した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、爆発や煙などのように立体であるが、見る方向の決まっているエフェクトや柱など見る向きに関係なく一定の形状の物体を少ないポリゴン数で表示できるようにした描画装置および描画方法、記録媒体に関する。
【０００２】
【従来の技術】
図５は３Ｄ空間内でテクスチャを貼り付けたポリゴン若しくはスプライトを表示する従来の表示例を示したものである。かかる表示例で３Ｄ物体と交差する場合に、立体感を表現できないという技術的課題がある。
【０００３】
かかる技術的課題を解決した従来の走査型表示装置の描画装置として、例えば、特開平８−３１５１７８号公報に開示されたものがある。
【０００４】
この描画装置は、スプライトと背景データを含むＣＧパターンとの３次元的な交差、あるいはスプライトと他のスプライトとの３次元情報を元に生成されたポリゴン等とスプライトとの交差の状態をリアルに表示することが考慮されている。
【０００５】
この描画装置は、スプライト及び他の画像パターンの各ピクセル座標のＺ値を格納するＺバッファと、スプライト及び他の画像パターンの各ピクセルデータを格納するフレームバッファと、スプライトのＺ値と他の画像パターンのＺ値とを各ピクセル毎に比較し、より手前にあるＺ値をＺバッファに格納するともに、そのＺ値に対応するピクセルデータをフレームバッファに格納するメモリ制御部とから構成したものである。
【０００６】
上記構成を備えることにより、スプライト画像に１個又は各ピクセル毎に所定のＺ値が与えられ、一方他の画像パターンを構成する各ピクセルのアドレスに対応するＺ値がより手前にある場合にはそのＺ値に対応するピクセルデータをフレームバッファに格納すると共にそのＺ値の方がより手前である場合にはそのＺ値に対応するピクセルデータをフレームバッファに格納し、これらのフレームバッファおよびＺバッファのデータに基づいて各ピクセル毎にスプライト又は他の画像パターンの表示を行なうことにより、互いに交差した２以上のパターンにおいてより手前のパターンが表示される。一方その裏側のパターンは手前のパターンに隠れて表示されないようにするものである。
【０００７】
【発明が解決しようとする課題】
しかしながら、従来の描画装置は、スプライトコントローラを個別に設けることにより、奥行き情報を持ったスプライトをポリゴンで作られる３次元空間に合成する。従って。従来の描画装置は、スプライトと他の３次元物体と幾何演算部を共通化していないために座標計算が複雑になるという技術的課題があった。
【０００８】
本発明は、このような背景のもとになされたものであり、幾何演算処理を簡略化して立体感を表現できる描画装置および描画方法、記録媒体を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記の目的を達成するために、本発明は、ポリゴンデータからジオメトリ演算により生成されるピクセルデータのＺ値とＺバッファから読み出したＺ値との大小比較による隠面処理を含むレンダリング処理を行なう描画装置において、前記ピクセルデータのＺ値に対応するオフセットＺ値を奥行き情報メモリから読み出し、そのオフセットＺ値を前記ピクセルデータのＺ値に加算するオフセット加算手段と、前記比較手段での比較結果に応じて、前記ピクセルのＺ値をＺバッファに書き込み、かつ、前記ピクセルデータをテクスチャメモリから読み出してフレームバッファに書き込む手段とを備えることを特徴とする。
【００１０】
上記目的を達成するため、本発明は、前述の構成に加えて、前記ポリゴンデータに付されたフラグ値に応じてオフセットＺ値を加えるか否かを判断するオフセット判断手段を備えることを特徴とする。
【００１１】
上記目的を達成するために、本発明は、前記テクスチャメモリに格納した元絵データを構成するピクセル毎に対応した奥行きデータをオフセットＺ値とすることを特徴とする。
【００１２】
上記目的を達成するため、本発明は、前記元絵データは指向性のない元絵データを含むことを特徴とする。
【００１３】
上記目的を達成するため、本発明は、ポリゴンデータを構成するピクセルのＸ，Ｙ座標データをもとにＺバッファからＺ値を読み出す読み出しステップと、前記Ｚバッファから読み出したＺ値と前記ピクセルのＺ値との大小比較する比較ステップと、当該比較ステップの結果に応じて前記ＺバッファにＺ値を書き込むステップとを有する描画方法において、前記ピクセルのＺ値に対応するオフセットＺ値を奥行き情報メモリから読み出し、そのオフセットＺ値を前記ピクセルのＺ値に加算するオフセット加算ステップと、前記ピクセルのＺ値をＺバッファに書き込み、かつ、前記ピクセルに対応する元絵データを構成するピクセルデータをテクスチャメモリから読み出してフレームバッファに書き込むステップと、を備えることを特徴とする。
【００１４】
上記目的を達成するために、本発明は、前述の構成に加えて、前記ポリゴンに付されたフラグ値に応じてオフセットＺ値を加えるか否かを判断するオフセット判断ステップを有することを特徴とする。
【００１５】
本発明の装置で行なっている方法や本発明の装置を構築することができるプログラムを格納した記録媒体も本発明に含まれる。
【００１６】
【発明の実施の形態】
以下に図面を参照して、本発明の描画装置及び描画方法を詳細に説明する。
【００１７】
図１は本発明の描画装置の一実施の形態を示すブロック図であり、図３（ａ）は爆発パターンを表した元絵を示す模式図であり、図３（ｂ）は図３（ａ）に示す元絵を構成するピクセルに対応した奥行きデータを示す模式図である。
【００１８】
本実施の形態における描画装置は、ポリゴンデータからジオメトリ演算により生成されるピクセルデータのＺ値とＺバッファから読み出したＺ値との大小比較による隠面処理を含むレンダリング処理を行なうものである。
【００１９】
本実施の形態における描画装置は、図１に示すように幾何演算部１と、テクスチャメモリ２と、奥行き情報メモリ３と、描画処理部４と、Ｚバッファ５と、フレームバッファ６と、表示部７とからなる。以下に各部材を説明する。
【００２０】
幾何処理部１は、ジオメトリ演算部に相当しており、ポリゴンの頂点座標データなどからなるポリゴンデータを描画処理回路４に送出する。本実施の形態において、幾何演算部１から出力されるポリゴンデータは、ポリゴン単位でフラグ値を設定してある。かかるフラグ値は奥行き情報メモリ３のデータを使うか否かを指示するものである。
【００２１】
ここで、フラグ値がポリゴン単位で設定される理由は、プログラムを作成する段階で指向性のない元絵データを貼るポリゴンが予め決まっている。従って、ポリゴン単位でフラグ値を設定することにより、物体の質感等を表現するための通常の元絵データと指向性のない元絵データとを区別してレンダリング処理を統一するためである。
【００２２】
テクスチャメモリ２は、物体表面に図柄を貼り付けて、例えば質感や模様を表現するためにテクスチャマッピングを行なう際の元絵データを格納するものである。テクスチャメモリ２に格納してある元絵データは明度、色相等を含んでいる。
【００２３】
本実施の形態におけるテクスチャメモリ２は、前述の物体の質感や模様を表現するための元絵データの他に指向性のない元絵データも格納してある。
【００２４】
ここで、指向性のない元絵データとは、立体であるが、見る方向の決まってるエフェクトや柱や、見る向きに関係なく一定の形状の爆発パターンや煙などの元絵データを意味する。
【００２５】
図３に示す元絵データは、指向性のない元絵の代表例として爆発パターンを示したものである。
【００２６】
図３（ａ）はテクスチャメモリ２に格納してあるピクセルデータを模式的に示したものである。かかるピクセルデータはポリゴンにマッピングするために明度、色相に関するデータも含んでいるので、爆発パターンをリアルに見せるための色彩を表現できるようになっている。
【００２７】
爆発パターンを構成するピクセルに対応した奥行きデータが図３（ｂ）に示すように奥行きデータメモリ３に格納してある。図３（b）において、点線で区切られた四角はピクセルを概念的に示したものである。かかるピクセルに対応したＺ値は爆発パターンをリアルに表現するように個別の値を設定してある。
【００２８】
爆発パターンは、図３に示すように完全に透明として表示するためのデータを含むものである。本実施の形態では、完全な透明を示すためにスクリーンの無限遠にあることを意味するＺ値を設定してある。かかる完全な透明処理により複雑な元絵を一枚で表現できている。又、図３（b）に示す爆発パターンの４つの頂点座標データはポリゴンの４つの頂点座標データと対応している。
【００２９】
奥行き情報メモリ３は、テクスチャメモリ２に格納してある指向性のない元絵データを構成するピクセル毎に対応した奥行きデータを格納したメモリである。かかる奥行きデータは、スクリーンを０とし、スクリーンの奥側を正の値とし、スクリーンの手前を負の値として記述する。
【００３０】
例えば図３に示す爆発パターンを構成するピクセルのうちスクリーン手前にあるピクセルが正の小さな値となり、図３に示す爆発パターンを構成するピクセルのうちスクリーン奥側にあるピクセルほど正の大きな値となる。
【００３１】
かかる奥行きデータはレンダリング処理における隠面消去する際にオフセットＺ値として用いることになる。このように指向性のない元絵データを構成するピクセル毎に対応した奥行きデータを使用して隠面処理するので、図２及び図４を参照して説明するように指向性のない元絵とポリゴンとの境界面をリアルに表現することになる。
【００３２】
一方、奥行きデータからスクリーンの手前にあるテクスチャを構成するピクセルはクリッピング処理により、表示部７で表示されないことになる。
【００３３】
描画処理部４は、幾何演算部１で座標変換されたポリゴンの幾何形状データを入力としてレンダリング処理を行なった画像データを出力する回路である。
【００３４】
描画処理部４は、幾何演算部１から入力されるポリゴンデータのうちの頂点座標データからポリゴンの輪郭を構成するピクセルデータ及びポリゴン内部を構成するピクセルデータを生成し、テクスチャマッピング、色演算を行ない、半透明処理、更にＺバッファ法による隠面処理を施したピクセルデータをフレームバッファ６に出力する。
【００３５】
描画処理部４は、明確に図示していないが、テクスチャメモリ２、奥行き情報メモリ３、Ｚバッファ５、フレームバッファ６とデータの書き込み、読み出し処理を行なうメモリ制御機能を含んでいる。具体的には、ポリゴンデータを構成するピクセルデータのうちＸ，Ｙ座標データをもとにＺバッファ５からＺ値を読み出すＺバッファ５の制御手段を具備する。フレームバッファ６の書き込みを制御するフレームバッファ６の書き込み制御手段等を具備する。
【００３６】
Ｚバッファ５は、Ｚバッファ法による隠面処理を行なうために、ピクセル毎にＺ座標を保持するためのメモリである。
【００３７】
フレームバッファ６は、表示部７に表示するピクセルデータを格納するものである。
【００３８】
表示部７は、フレームバッファ６から画像信号を入力して所定の画像を表示する例えばＣＲＴ装置である。
【００３９】
次に本実施の形態におけるレンダリング処理を図２を参照して説明する。
図２は本実施の形態に係る描画装置におけるレンダリング処理をソフトウエア的に示したフローチャートである。
【００４０】
このレンダリング処理ルーチンは、図示しないメインルーチンに起動されるものであり、幾何演算部１から入力されるポリゴン単位で実行することになるので、次に処理すべきポリゴンが残っていれば、再び起動することになる。
【００４１】
先ず、幾何演算部１から入力されるポリゴンデータとテクスチャメモリ２から入力される元絵データ（指向性のない元絵データを含む）との合成処理を伴うレンダリング処理を説明する。
【００４２】
描画処理部４は、図２に示すレンダリング処理ルーチンを起動すれば、幾何演算部１から一枚のポリゴンデータに相当する頂点座標データを読み出す（ステップ１）。描画処理部４はポリゴン内にあるピクセルのＸ，Ｙ座標値をもとにＺバッファ５からＺ値を読み出す（ステップ２）。
【００４３】
描画処理部４は、奥行き情報を使用するか否かを判断するためにポリゴンデータのフラグ値を参照する（ステップ３）。描画処理部４は、ステップ３でフラグ値を１であると判断すれば、幾何演算部１から入力されたポリゴンデータと指向性のない元絵データとでＺバッファ法によるレンダリング処理を行なうことになる。描画処理部４は、ピクセルのＺ値に対応する奥行き情報メモリ３のオフセットＺ値を加える（ステップ４）。ステップ３及びステップ４で示す処理は指向性のない元絵データを含むポリゴンの隠面処理を正確に行なうための前提となる処理である。
【００４４】
描画処理部４は、ステップ４でピクセルＺ値にこれに対応する奥行き情報メモリ３のオフセットＺ値を加えたピクセルのＺ値とＺバッファ５の値と比較する（ステップ５）。描画処理部４は、ステップ５でピクセルのＺ値＜Ｚバッファ５の値と判断すれば、ステップ６の処理を実行することになる。つまり、描画処理部４は、そのピクセルのＺ値をＺバッファ５に書き込む。描画処理部４は、そのピクセルに対応する指向性のない元絵データを構成するピクセルデータをテクスチャメモリ２から読み出し、フレームバッファ６に書き込む（ステップ６）。
【００４５】
一方、描画処理部４は、ステップ５でピクセルのＺ値＞＝Ｚバッファ５の値と判断すれば、ステップ６の処理を行なわずにステップ７に進むことになる。つまり、描画処理部４は、ポリゴンの全てのピクセルを処理したか否かを判断する（ステップ７）。描画処理部４は、ステップ７で全てのピクセルを処理しきってないと判断すれば、ステップ２に戻り、前述してあるステップ２以降の処理を実行することになる。描画処理部４は、ステップ７で全てのピクセルを処理しきったと判断すれば、本ルーチンを終了することになる。
【００４６】
一方、描画処理部４は、ステップ３でフラグ値を０であると判断すれば、ステップ４の処理を実行せずに、つまり奥行き情報メモリ３のオフセットＺ値を加えないピクセルのＺ値とＺバッファ５の値を比較する（ステップ５）。これは物体の質感等を表現するための一般的なテクスチャマッピングに相当する。
なお、ステップ５以降の処理は前述してあるので、説明を省略する。
【００４７】
前述の本実施の形態ではステップ４における演算処理は、奥行き情報メモリ３に格納してあるオフセットＺ値をピクセルのＺ値に単純に加算するものとして説明した。これに限定されるものでなく、所定の定数を乗算した後でピクセルデータを構成するＺ値に加算するようにしてもよい。これにより、メモリ容量を削減して複数の指向性のない元絵データを格納したと同様の結果が得られる。
【００４８】
上述した図２に示すステップ３からステップ４に示した処理を独立のルーチンとして、他の処理に先行して行なってもよい。これは、プログラムを作成する段階で指向性のない元絵データを貼るポリゴンが決まっており、しかもポリゴン単位で判断すれば、ピクセル単位で判断することに比べて、判断処理を減らすことができるからである。
【００４９】
なお、図２を参照して説明したレンダリング処理を集積回路で実現してもよい。その場合、図２に示したステップ４の処理を行なうポリゴンデータとステップ４の処理を行なわないポリゴンデータに振り分けて図２に示すステップ１ステップ２、ステップ５からステップ７に処理を並列的に実行する回路構成となる。これにより、図２を参照して説明したソフトウエアによる処理よりも高速に実行することができる。
【００５０】
前述の実施の形態では、ステップ６における処理は、テクスチャメモリ２から読み出した元絵データをそのままフレームメモリ６に書き込むものとして説明してある。これに限定されるものでなく、テクスチャメモリ２から読み出した元絵データにバイリニア補間やトライリニア補間を行なった後でフレームメモリ６に書き込むようにしてもよい。
【００５１】
図４は本実施の形態における画像合成装置によって合成された画像の表示状態を示す模式図である。具体的には、本実施の形態における画像合成装置を用いて、指向性のない元絵とポリゴンの一例であるビルの壁面とを合成して表示した例を示したものである。図５で示した従来の表示例に比較して、図４に示した表示例は、爆発パターンとビルの壁面との３次元的な交差状態をリアルに表示してある。
【００５２】
しかも、前述のようにして、本実施の形態における描画装置は、図５を参照して説明した従来例に比較して、立体ではあるが、見る方向の決まっているエフェクトや柱、若しくは爆発パターンや煙など立体であるが、見る向きに関係なく一定の物体を少ないポリゴン数で表示でき、かつ、指向性のない元絵データとポリゴンとの３次元的な交差面をリアルに表示することができた。
【００５３】
更に、本発明は、上記の実施の形態の機能を実現するプログラムを記憶媒体に格納し、コンピュータを用いて、その記録媒体に格納されたプログラムを読み出して実行するようにしても良い。記録媒体としては、フロッピーディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭを用いることができる。
【００５４】
【発明の効果】
以上説明したように、本発明は、爆発や煙など立体であるが、見る方向の決まっているエフェクトや柱など見る向きに関係なく一定の形状の物体を通常のポリゴンと合成するに際して、座標演算処理が複雑にならないので、幾何演算コストを低減させた描画装置および描画方法、記録媒体を提供することができる。
【図面の簡単な説明】
【図１】 本発明の画像合成装置の一実施の形態を示すブロック図
【図２】 本実施の形態に係る描画装置におけるレンダリング処理をソフトウエア的に示したフローチャート
【図３】 図３（ａ）は爆発パターンを表した元絵を示す模式図、図３（ｂ）は図３（ａ）に示す元絵を構成するピクセルデータに対応した奥行きデータを示し模式図
【図４】 本実施の形態における画像合成装置によって合成された画像の表示状態を示す模式図
【図５】 ３Ｄ空間内でテクスチャを貼り付けたポリゴン若しくはスプライトを表示する従来の表示例
【符号の説明】
１    幾何演算部
２    描画処理部
３    テクスチャメモリ
４    奥行き情報メモリ
５    Ｚバッファ
６    フレームバッファ
７    表示部
【図１】
0004313892.tif 000002
【図２】
0004313892.tif 000003
【図３】
0004313892.tif 000004
【図４】
0004313892.tif 000005
【図５】
0004313892.tif 000006