(57)【特許請求の範囲】
【請求項１】
画面上に表示される複数のオブジェクトがそれぞれ複数のポリゴンで構成され、当該複数のオブジェクトが重複して表示されないことを条件として、該複数のオブジェクトにレンダリング処理を施す画像生成装置であって、
第１のオブジェクトを構成する複数のポリゴンのポリゴンデータの中の１つのポリゴンデータを順次に取り込む第１の入力手段と、
前記第１のオブジェクト中に半透明処理を施す領域が有るとき、該半透明処理を施す領域について複数のポリゴンを重複して描画するオーバーラップ処理が禁止されているか否かを判定する判定手段と、
前記判定手段により肯定判定がなされた場合、前記第１のオブジェクトと組になる第２のオブジェクトを構成する複数のポリゴンのポリゴンデータの中の１つのポリゴンデータを順次に取り込む第２の入力手段と、
前記第１の入力手段から入力されるポリゴンデータおよび前記第２の入力手段から入力されるポリゴンデータの描画処理を交互に行うために前記第１の入力手段から順次に入力されるポリゴンデータおよび前記第２の入力手段から順次に入力されるポリゴンデータを並び替える並び替え手段とを備え、前記並び替えられたポリゴンデータに基づいてレンダリング処理を実行することを特徴とする画像生成装置。
【請求項２】
請求項１において、前記判定手段により否定判定がなされた場合には、前記第２の入力手段および前記並び替え手段を介することなく、直ちに前記第１の入力手段から入力される第１のオブジェクトのポリゴンデータに基づいてレンダリング処理を実行することを特徴とする画像生成装置。
【請求項３】
請求項１において、前記判定手段は、オブジェクト毎に予め設定されている、前記複数のポリゴンを重複して描画してもよいか否かを表す特定情報に基づいて、判定を行うことを特徴とする画像生成装置。
【請求項４】
画面上に表示される複数のオブジェクトがそれぞれ複数のポリゴンで構成され、当該複数のオブジェクトが重複して表示されないことを条件として、該複数のオブジェクトにレンダリング処理を施す画像形成装置の画像形成方法であって、該画像形成装置は第１の入力手段、第２の入力手段、並び替え手段およびレンダリング手段を有し、
第１のオブジェクトを構成する複数のポリゴンのポリゴンデータの中の１つのポリゴンデータを順次に前記第１の入力手段により取り込むステップと、
前記第１のオブジェクト中に半透明処理を施す領域が有るとき、該半透明処理を施す領域について複数のポリゴンを重複して描画するオーバーラップ処理が禁止されているか否かを前記判定手段により判定するステップと、
前記判定するステップにより肯定判定がなされた場合、前記第１のオブジェクトと組になる第２のオブジェクトを構成するポリゴンのポリゴンデータの中の１つのポリゴンデータを順次に前記第２の入力手段により取り込むステップと、
前記第１の入力手段により入力されるポリゴンデータおよび前記第２の入力手段により入力されるポリゴンデータの描画処理を交互に行うために前記第１の入力手段により順次から入力されるポリゴンデータおよび前記第２の入力手段から入力されるポリゴンデータを前記並び替え手段により並び替えるステップと、
前記並び替えられたポリゴンデータに基づいてレンダリング処理を前記レンダリング処理手段により実行するステップとを有することを特徴とする画像生成方法。
【請求項５】
請求項４において、前記判定するステップにより否定判定がなされた場合には、前記第１の入力手段から入力される第１のオブジェクトのポリゴンデータに基づいて直ちにレンダリング処理を実行することを特徴とする画像生成方法。
【請求項６】
請求項４において、前記判定するステップでは、オブジェクト毎に予め設定されている、前記複数のポリゴンを重複して描画してもよいか否かを表す特定情報に基づいて、判定を行うことを特徴とする画像生成方法。
【請求項７】
画面上に表示される複数のオブジェクトがそれぞれ複数のポリゴンで構成され、当該複数のオブジェクトが重複して表示されないことを条件として、該複数のオブジェクトにレンダリング処理をコンピュータにより施す画像生成装置で使用する記憶媒体であって、前記コンピュータに
第１のオブジェクトを構成する複数のポリゴンのポリゴンデータの中の１つのポリゴンデータを順次に取り込む第１の入力手段と、
前記第１のオブジェクト中に半透明処理を施す領域が有るとき、該半透明処理を施す領域について複数のポリゴンを重複して描画するオーバーラップ処理が禁止されているか否かを判定する判定手段と、
前記判定手段により肯定判定がなされた場合、前記第１のオブジェクトと組になる第２のオブジェクトを構成する複数のポリゴンのポリゴンデータの中の１つのポリゴンデータを順次に取り込む第２の入力手段と、
前記第１の入力手段から入力されるポリゴンデータおよび前記第２の入力手段から入力されるポリゴンデータの描画処理を交互に行うために前記第１の入力手段から順次に入力されるポリゴンデータおよび前記第２の入力手段から順次に入力されるポリゴンデータを並び替える並び替え手段と、前記並び替えられたポリゴンデータに基づいてレンダリング処理を実行するレンダリング手段として動作させるプログラムを記憶してあることを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半透明ポリゴンなどを描画するのに好適な画像生成装置、画像生成方法および記憶媒体に関するものである。
【０００２】
さらに詳述するならば、本発明は、画面上に表示される複数のオブジェクトが互いに重複して表示されないことを条件として、それら複数のオブジェクトにレンダリング処理を施すための画像生成装置、画像生成方法および記憶媒体に関するものである。
【０００３】
【従来の技術】
従来から知られているＣＧ（コンピュータ・グラフィックス）技術の一つとして、複数のポリゴンなどを用いて３次元像を形成することが行われている。この種の技術において、半透明化したオブジェクトを生成することが有用であることから、例えば特開平８−１８５５４３号公報、あるいは特開平９−５０５４１号公報に記載されているような半透明処理技術が知られている。
【０００４】
図５は、ポリゴンに半透明処理を施すために用いられている一般的なパイプライン構成を示す。本図において、ポリゴンに半透明処理を施す色演算部５０には描画データの他に、フレームバッファ５２からピクセル毎に読み出された背景参照データが入力される。この色演算部５０を用いてポリゴンの半透明処理を行う際には、フレームバッファ５２に組して全てのピクセルデータの書き込みが終了する前に、半透明処理のための背景参照データがフレームバッファ５２から先行して読み出される。そして、この背景参照データに第１の係数を掛けた値と、描画データに第２の係数を掛けた値とを加算し、その結果を再び同一アドレスのピクセルデータとしてフレームバッファ５２に書き込んでいる。このようにして、所望とするポリゴンの半透明処理がなされる。
【０００５】
【発明が解決しようとする課題】
しかしながら、図５に例示した従来の半透明処理技術では、色演算部５０における処理中データの中に、重複するアドレスの描画データが存在する場合には、正確な半透明処理を含む色演算結果が得られないという問題が生じる。
【０００６】
その結果、ポリゴン中に不要な色むらが生じたり、不自然な色使いになってしまうという不都合が生じ得る。
【０００７】
また、上述したような不都合を回避しようとすると、半透明処理の余分な待ち時間が必要となるので、高速処理の妨げになるという問題が生じる。
【０００８】
特に、複数のオブジェクトが同一画面上に存在する場合には、各オブジェクト毎にポリゴンを順に半透明処理していく必要が有るので、オブジェクトの数に比例して更に上記の問題が生じることになる。
【０００９】
よって本発明の目的は、上述の点に鑑み、簡易な構成にも拘わらず、正確かつ迅速な半透明処理を可能とした画像生成装置および画像生成方法、ならびに画像生成プログラムを記憶した記憶媒体を提供することにある。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、本発明に係る画像形成装置は、画面上に表示される複数のオブジェクトがそれぞれ複数のポリゴンで構成され、当該複数のオブジェクトが重複して表示されないことを条件として、該複数のオブジェクトにレンダリング処理を施す画像生成装置であって、
第１のオブジェクトを構成する複数のポリゴンのポリゴンデータの中の１つのポリゴンデータを順次に取り込む第１の入力手段と、
前記第１のオブジェクト中に半透明処理を施す領域が有るとき、該半透明処理を施す領域について複数のポリゴンを重複して描画するオーバーラップ処理が禁止されているか否かを判定する判定手段と、
前記判定手段により肯定判定がなされた場合、前記第１のオブジェクトと組になる第２のオブジェクトを構成する複数のポリゴンのポリゴンデータの中の１つのポリゴンデータを順次に取り込む第２の入力手段と、
前記第１の入力手段から入力されるポリゴンデータおよび前記第２の入力手段から入力されるポリゴンデータの描画処理を交互に行うために前記第１の入力手段から順次に入力されるポリゴンデータおよび前記第２の入力手段から順次に入力されるポリゴンデータを並び替える並び替え手段とを備え、前記並び替えられたポリゴンデータに基づいてレンダリング処理を実行することを特徴とする。
【００１１】
本発明に係る画像形成方法は、画面上に表示される複数のオブジェクトがそれぞれ複数のポリゴンで構成され、当該複数のオブジェクトが重複して表示されないことを条件として、該複数のオブジェクトにレンダリング処理を施す画像形成装置の画像形成方法であって、該画像形成装置は第１の入力手段、第２の入力手段、並び替え手段およびレンダリング手段を有し、
第１のオブジェクトを構成する複数のポリゴンのポリゴンデータの中の１つのポリゴンデータを順次に前記第１の入力手段により取り込むステップと、
前記第１のオブジェクト中に半透明処理を施す領域が有るとき、該半透明処理を施す領域について複数のポリゴンを重複して描画するオーバーラップ処理が禁止されているか否かを前記判定手段により判定するステップと、
前記判定するステップにより肯定判定がなされた場合、前記第１のオブジェクトと組になる第２のオブジェクトを構成するポリゴンのポリゴンデータの中の１つのポリゴンデータを順次に前記第２の入力手段により取り込むステップと、
前記第１の入力手段により入力されるポリゴンデータおよび前記第２の入力手段により入力されるポリゴンデータの描画処理を交互に行うために前記第１の入力手段により順次から入力されるポリゴンデータおよび前記第２の入力手段から入力されるポリゴンデータを前記並び替え手段により並び替えるステップと、
前記並び替えられたポリゴンデータに基づいてレンダリング処理を前記レンダリング処理手段により実行するステップとを有することを特徴とする。
【００１２】
本発明に係る記憶媒体は、画面上に表示される複数のオブジェクトがそれぞれ複数のポリゴンで構成され、当該複数のオブジェクトが重複して表示されないことを条件として、該複数のオブジェクトにレンダリング処理をコンピュータにより施す画像生成装置で使用する記憶媒体であって、前記コンピュータに
第１のオブジェクトを構成する複数のポリゴンのポリゴンデータの中の１つのポリゴンデータを順次に取り込む第１の入力手段と、
前記第１のオブジェクト中に半透明処理を施す領域が有るとき、該半透明処理を施す領域について複数のポリゴンを重複して描画するオーバーラップ処理が禁止されているか否かを判定する判定手段と、
前記判定手段により肯定判定がなされた場合、前記第１のオブジェクトと組になる第２のオブジェクトを構成する複数のポリゴンのポリゴンデータの中の１つのポリゴンデータを順次に取り込む第２の入力手段と、
前記第１の入力手段から入力されるポリゴンデータおよび前記第２の入力手段から入力されるポリゴンデータの描画処理を交互に行うために前記第１の入力手段から順次に入力されるポリゴンデータおよび前記第２の入力手段から順次に入力されるポリゴンデータを並び替える並び替え手段と、前記並び替えられたポリゴンデータに基づいてレンダリング処理を実行するレンダリング手段として動作させるプログラムを記憶してあることを特徴とする。
【００１３】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１４】
図１は、本発明を適用した画像生成装置の全体的構成を示すブロック図である。本図において、１はキーボード・マウス等を含む操作部、４はゲームなどの所定シーケンスに基づいてポリゴンデータを次段に送出するＣＰＵ部、６はジオメトリ演算を含む描画処理を実行する描画処理部、８はポリゴンの隠面消去をＺバッファ法に従って行うためのＺバッファ、１０はフレームバッファ、１２はテクスチャ情報を記憶しておくテクスチャメモリ、１４は映像を可視化処理するための映像出力部、１６はＣＲＴ等の表示装置である。
【００１５】
次に、ポリゴンの半透明処理について説明する。
【００１６】
描画処理部６は、フレームバッファ１０から取り込んだ背景参照データと、ＣＰＵ部４から新たに出力されたポリゴンデータとに基づき、所定のアルゴリズムを用いて半透明のポリゴンを生成する。半透明のポリゴンにおいて、その色情報Ｒ，Ｇ，Ｂ成分の輝度は、背景参照データから得られる背景の色をＲｂｇ，Ｇｂｇ，Ｂｂｇ、描画データから得られる半透明のポリゴン（可視面）の色をＲｐ，Ｇｐ，Ｂｐとすると、以下の（１）式のように表現される。なお、以下のＲ，Ｇ，Ｂは半透明演算後の色成分の輝度を示す。また、Ｇ，Ｂについての式はＲと同様の式であるので省略する。
【００１７】
【数１】
Ｒ＝Ｒｂｇ＊α＋Ｒｐ＊β                  …（１)
ここで、１≧β≧０、α＝１−βとした場合には、例えばαを固定してβのみを変化させて演算する。βは可視面である透明ポリゴンに組する半透明係数である。もし、β＝０ならば、その透明ポリゴンの面は見えない。β＝１ならばその面は不透明であり、背景は見えない。ポリゴンがデプス優先順位にフレームバッファ１０に書かれる場合、Ｒｂｇ，Ｇｂｇ，Ｂｂｇはフレームバッファ１０の値と一致し、Ｒｐ，Ｇｐ，Ｂｐはこれから書き込む現在の面と一致する。なお、上記演算は、ピクセル単位で行っている。
【００１８】
上記（１）式の第１の方法は、ブレンド（補間演算）方法（ブレンディング手法）と称されるものであるが、第２の方法として次式（２）に示すようなフィルタ方法（フィルタリング手法）を用いて半透明のポリゴンを生成することもできる。なお、Ｇ，Ｂについての式はＲと同様の式であるので省略する。この演算も、ピクセル単位で行っている。
【００１９】
【数２】
Ｒ＝Ｒｂｇ＊α′                          …（２)
ここで、α′はフィルタリング手法における透明係数（半透明係数ともいう）である。
【００２０】
更に、第３の方法として次式（３）に示すような加算方法（加算手法）を利用することもできる。なお、Ｇ，Ｂについての式はＲと同様の式であるので省略する。この演算も、ピクセル単位で行っている。
【００２１】
【数３】
Ｒ＝Ｒｂｇ＋α″＊Ｒplus                  …（３)
ここで、α″は加算手法における半透明係数であり、Ｒplusは色情報の加算値である。
【００２２】
上記の何れの手法を採用するかは、映像効果のよって選択すれば良い。すなわち、得たい映像表現形態に応じて、加算手法またはブレンディング手法のいずれか一方、または、両者の組み合わせを採ることができる。
【００２３】
以上の様にして、フレームバッファ１０への書き込み作業が完了すると、その画像は映像出力部１４を介して表示装置１６で表示されると同時に、次の表示画面のための新たな描画作業が連続的に実行される。なお、上記表示装置１６と共に、あるいはこれに置き換えてプリンタや外部記憶メモリ等（図示しない）を接続してもよいのは勿論である。
【００２４】
図２は、上述した半透明処理を実行するのに好適な描画処理部６の一部を詳細に示している。本図において、６０はピクセル描画部、６１は比較部、６３は半透明演算部である。また、ピクセル描画部６０には、ポリゴンの重複を禁止するためのオーバーラップ禁止フラグ（次に詳述する）を検出するオーバーラップ禁止フラグ検出部６４が含まれている。
【００２５】
ここで、上記オーバーラップ禁止フラグについて説明する。
【００２６】
本実施の形態では、１つのオブジェクトの構成要素として、複数のポリゴン（テクスチャ付き）の他に、それらのポリゴンが重複して描画処理されても良いか否かを表すフラグ（オーバーラップ禁止フラグと呼ぶ）を含んでいる。このオーバーラップ禁止フラグは、表示物体（複数のポリゴンで構成されるモデル）または表示するシーン（複数の表示物体を含む）に合わせて予め設定されるものである。すなわち、描画プロセス如何によっては多少の色バケ等が生じる可能性が有るが、実際上は十分に無視し得るとシーン設定上判断されるときには、このオーバーラップ禁止フラグは「０」にセットしておく。従って、図２のオーバーラップ禁止フラグ検出部６４で上記フラグが検出されないときには、図３および図４を参照して後に詳述する半透明ポリゴン生成プロセスは実行されず、直ちに通常（公知）のレンダリング処理が実行される。
【００２７】
次に、図２の全体的な動作説明を行う。ピクセル描画部６０は供給されたポリゴン情報に基づいてポリゴン内の各ピクセルについての描画処理を行う。例えば、ポリゴン情報としては、色情報、ポリゴンの頂点座標等が入力される。また、テクスチャマッピングを行う場合には、テクスチャメモリ１２が参照される。そして、ポリゴン内の各ピクセルのＸ，Ｙ，Ｚ座標、テクスチャ座標、輝度情報、法線ベクトル情報等が求められる。求められたＸ，Ｙ座標はピクセルアドレスとしてＺバッファ８、フレームバッファ１０に出力される。
【００２８】
また、Ｚ座標は、新たに得られたピクセルの奥行き情報ＺP として比較部６１に供給される。この比較部６１には、Ｚバッファ８に既に格納されていた奥行き情報ＺB も読み出される。そして、ＺP ＜ＺB の場合には、比較部６１から出力される判定出力に応答して、ピクセル描画部６０は、Ｚバッファ８の該当ピクセルアドレスで指定される位置にＺP を上書きする。
【００２９】
半透明演算部６３は、ピクセル描画部６０からの画像情報と、半透明係数と、フレームバッファ１０に格納されている画像情報に基づいて、既述の半透明演算を行う。そして、半透明処理された画像情報はフレームバッファ１０に再び格納される。
【００３０】
図３は、本実施の形態における描画処理手順を示したフローチャートである。なお、本図に示す描画処理手順は、着脱自在の記憶媒体にプログラムの形態で記憶させておき、個々の装置ごとに、必要な時、いつでも実行させることが可能である。
【００３１】
図４は、図３に示したフローチャートを説明するための解説図である。
【００３２】
まず、図４を参照して、図３における処理の前提条件を説明する。ここでは、図４に描いてあるように、２つのオブジェクトＡ，Ｂを組として表示する例について説明する。従って、ここでは図示していないが、3 つ以上のオブジェクトを組とすることも可能である。
【００３３】
（前提条件１）
個々のオブジェクトにおけるポリゴン（図４では、ａ−１ないしａ−４，ｂ−１ないしｂ−４）が相互に重複する可能性があること。換言すると、重複する可能性がなければ、本発明を適用する必要がない。
【００３４】
但し、実際に重複したとしても、現実に大きな視覚的問題が生じないとデザイナが判断した場合には、既述のオーバーラップ禁止フラグを「０」にセットセットしておけばよい。この場合には、図３のステップS ３に示すように、通常のレンダリング処理に制御が移る。
【００３５】
（前提条件２）
複数のオブジェクト（図４では、２つのオブジェクトＡ，Ｂ）が、表示画面上で重ならないことが予め判っていること。この条件は、数学的に判断されるのではなく、ゲーム等の制作時には既定の事実として決められることである。例えば、同一の移動物体を視点を変えて２画面として表示する場合、あるいは、視点がどのように移動したとしても複数のオブジェクトが重ならないように予めシーン設定がなされている場合などが挙げられる。
【００３６】
上記のような前提条件を満たす場合、例えば図４のような場合には、ポリゴンの描画順序を以下の通りとすれば、色演算の過程で重複するアドレスの描画データが存在する可能性は、殆ど無くなる。
【００３７】
順序▲１▼  ポリゴンａ−１
順序▲２▼  ポリゴンｂ−１
順序▲３▼  ポリゴンａ−２
順序▲４▼  ポリゴンｂ−２
順序▲５▼  ポリゴンａ−３
順序▲６▼  ポリゴンｂ−３
順序▲７▼  ポリゴンａ−４
順序▲８▼  ポリゴンｂ−４
このような前提条件の下で、図３の各ステップを説明していく。
【００３８】
まず、ステップＳ１では、第１のオブジェクト（図４のオブジェクトＡに相当する）のデータを取り出す。
【００３９】
ステップＳ２では、半透明のポリゴンを含むか否かを判定し、含まないと判定した場合には、ステップＳ６のレンダリング処理に移る。他方、含むと判定した場合には、次ぎのステップＳ３に移る。
【００４０】
ステップＳ３では、１つのオブジェクト内でオーバーラップ処理が禁止されているか否か、すなわちオーバーラップ禁止フラグがセットされているか否かを判定する。オーバーラップ処理が禁止されていなければ、ステップＳ６に移り通常のレンダリング処理を行う。他方、オーバーラップ処理が禁止されている場合には、ステップＳ４に移る。
【００４１】
ステップＳ４では、第１のオブジェクトと組になるオブジェクト（図４のオブジェクトＢに相当する）のデータを取り出す。
【００４２】
ステップＳ５では、上記２つのデータＡ，Ｂを交互に並び替える（図４における上記の順序▲１▼〜▲８▼を設定する）。
【００４３】
以上のステップＳ１〜ステップＳ５により、レンダリングの前処理が終了する。
【００４４】
ステップＳ６では、レンダリング処理を開始する。
【００４５】
ステップＳ７では、さらにオブジェクトが存在するか否かを判定する。第３以降のオブジェクトが有る場合には、上記ステップＳ１〜ステップＳ６を繰り返す。
【００４６】
他の実施の形態
半透明ポリゴン描画にあたって、背景参照を先行させた後の空きサイクルに、半透明ポリゴンに重複しないポリゴンの描画を行うことも可能である。
【００４７】
【発明の効果】
以上説明した通り、本発明によれば、簡易な構成にも拘わらず、正確かつ迅速な半透明処理を可能とした画像生成装置および画像生成方法、ならびに画像生成プログラムを記憶した記憶媒体を提供することが可能となる。
【００４８】
すなわち、本発明によれば、色演算の処理中データの中に、重複するアドレスの描画データが存在する場合には、正確な半透明処理を含む色演算結果が得られないという従来の問題を回避することができる。また、本発明によれば、より複雑な色演算処理回路を構築する必要がないので、コストの低減および処理時間の短縮を図ることができる。
【図面の簡単な説明】
【図１】本発明を適用した画像生成装置の全体的構成を示すブロック図である。
【図２】図１に示した描画処理部６の詳細な回路構成図である。
【図３】本実施の形態における処理手順を示すフローチャートである。
【図４】図３の説明図である。
【図５】従来技術を説明するためのブロック図である。
【符号の説明】
１  操作部
４  ３次元データ供給部
６  ジオメトリ演算を含む描画処理を実行する描画処理部
８  Ｚバッファ
１０  フレームバッファ
１２  テクスチャ情報を記憶しておくテクスチャメモリ
１４  映像出力部
１６  表示装置
【図１】
0004188463.tif 000002
【図２】
0004188463.tif 000003
【図３】
0004188463.tif 000004
【図４】
0004188463.tif 000005
【図５】
0004188463.tif 000006