(57)【特許請求の範囲】
【請求項１】
３次元座標空間にコンピュータグラフィックスによりポリゴンモデルを生成する画像処理装置において、
記憶媒体から読み出した，複数のポリゴンで構成され，前記複数のポリゴンの各頂点の法線ベクトルが外側に向かう第１のモデルのデータから、該第１のモデルを所定の比率で拡大した第２のモデルを生成し、該第２のモデルのポリゴンの法線ベクトルの向きを前記第１のモデルの法線ベクトルの向きを反転させたものとし，該第２のモデル内に前記第１のモデルを内包させるように前記第１のモデルと第２のモデルを重ね合わせるジオメトリ手段と、
該ジオメトリ手段により重ね合わされた前記第１のモデルと第２のモデルの法線ベクトルが前記重ね合わされたモデルの外部の視点に向かう方向の成分を含むポリゴンを表示し，前記視点に向かう方向と反対方向の法線ベクトルの成分を有するポリゴンを表示しないように，前記第１のモデル及び第２のモデルにレンダリング処理を行うレンダリング手段とを有することを特徴とする画像処理装置。
【請求項２】
請求項１において、
前記ジオメトリ手段は、前記第１及び第２のモデルの重心又は各頂点データを所定の関係で結合することを特徴とする画像処理装置。
【請求項３】
請求項１において、
前記ジオメトリ手段は、前記第１のモデルを拡大する比率を、前記第１のモデルの部分により異ならせることを特徴とする画像処理装置。
【請求項４】
請求項１において、
前記ジオメトリ手段は、前記第２のモデルのデータを前記第１のモデルのデータにリンクさせることを特徴とする画像処理装置。
【請求項５】
請求項１において、
前記レンダリング手段は、前記第２のモデルの輝度を一定にすることを特徴とする画像処理装置。
【請求項６】
請求項１において、
前記レンダリング手段は、前記第２のモデルを単一色にすることを特徴とする画像処理装置。
【請求項７】
請求項５又は６において、
前記レンダリング手段は、前記第１のモデルの輝度を一定にすることを特徴とする画像処理装置。
【請求項８】
３次元座標空間にコンピュータグラフィックスによりポリゴンモデルを生成する画像処理方法において、
ジオメトリ手段により記憶媒体から読み出した，複数のポリゴンで構成され，前記複数のポリゴンの各頂点の法線ベクトルが外側に向かう第１のモデルのデータから、該第１のモデルを所定の比率で拡大した第２のモデルを生成し、該第２のモデルのポリゴンの法線ベクトルの向きを前記第１のモデルの法線ベクトルの向きを反転させたものとし、該第２のモデル内に前記第１のモデルを内包させるように前記第１のモデルと第２のモデルを重ね合わせるジオメトリ処理を行い，
前記ジオメトリ手段により重ね合わされた前記第１のモデルと第２のモデルの法線ベクトルが前記重ね合わされたモデルの外部の視点に向かう方向の成分を含むポリゴンを表示し，前記視点に向かう方向と反対方向の法線ベクトルの成分を有するポリゴンを表示しないように，前記第１のモデル及び第２のモデルにレンダリング処理を行うことを特徴とする画像処理方法。
【請求項９】
請求項８において、
前記ジオメトリ処理は、前記第１及び第２のモデルの重心を所定の関係で結合することを特徴とする画像処理方法。
【請求項１０】
請求項８において、
前記ジオメトリ処理は、前記第１のモデルを拡大する比率を、前記第１のモデルの部分により異ならせることを特徴とする画像処理方法。
【請求項１１】
請求項８において、
前記ジオメトリ処理は、前記第２のモデルのデータを前記第１のモデルのデータにリンクさせることを特徴とする画像処理方法。
【請求項１２】
請求項８において、
前記レンダリング処理は、前記第２のモデルの輝度を一定にすることを特徴とする画像処理方法。
【請求項１３】
請求項８において、
前記レンダリング処理は、前記第２のモデルを単一色にすることを特徴とする画像処理方法。
【請求項１４】
請求項１２又は１３において、
さらに，前記レンダリング処理は、前記第１のモデルの輝度を一定にすることを特徴とする画像処理方法。
【請求項１５】
３次元座標空間にコンピュータグラフィックスによりポリゴンモデルを生成する画像処理プログラムと、第１のモデルのデータとを格納する記憶媒体であって，
ジオメトリ手段に，前記記憶媒体から読み出した，複数のポリゴンで構成され，前記複数のポリゴンの各頂点の法線ベクトルが外側に向かう第１のモデルのデータから、該第１のモデルを所定の比率で拡大した第２のモデルを生成し、該第２のモデルのポリゴンの法線ベクトルの向きを前記第１のモデルの法線ベクトルの向きを反転させたものとし、該第２のモデル内に前記第１のモデルを内包させるように前記第１のモデルと第２のモデルを重ね合わせるジオメトリ処理を行わせ，
レンダリング手段に，前記ジオメトリ手段により重ね合わされた前記第１のモデルと第２のモデルの法線ベクトルが前記重ね合わされたモデルの外部の視点に向かう方向の成分を含むポリゴンを表示し，前記視点に向かう方向と反対方向の法線ベクトルの成分を有するポリゴンを表示しないように，前記第１のモデル及び第２のモデルにレンダリング処理を行わす画像処理プログラムを格納する
ことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータグラフィックスによる画像処理装置及び画像処理方法に関する。
【０００２】
【従来の技術】
コンピュータグラフィックスによる画像処理においては、通常、３次元座標空間においてポリゴンモデルを生成し、そのポリゴンモデルに陰面処理、シェーディング処理等を行った後、そのモデルを２次元座標に変換して背景画面に重ね合わせる。この場合、そのモデルを背景画面の中で目立たせるためには、モデルのデータに特殊な計算処理を行い、モデルの階調を単純化したり、モデルにアウトラインを追加することが行われる。
【０００３】
例えば、３Ｄ−ＣＧ映像を作成するためのソフトウェアでは、３次元座標空間のポリゴンモデルを２次元画面に投影し、投影モデルと背景画面の境界を計算により検出し、その境界部分に指定した幅の線を描きアウトラインを生成していた。
【０００４】
【発明が解決しようとする課題】
このように、従来の３次元コンピュータグラフィックスにおいては、モデルにアウトラインを生成する処理は、３次元座標空間のポリゴンモデル間において、アウトラインを生成するべき箇所を抽出し、その抽出した部分に指定した幅の線を描くことにより行われていた。このため、ポリゴンモデル間のアウトライン作成箇所を認識する計算の負担が大きくなり、モデルにアウトラインを生成する処理に時間がかかっていた。
【０００５】
しかしながら、例えば、コンピュータグラフィックスを利用したゲーム装置等では、遊戯者の操作に応じてリアルタイムにモデルを変化させなければならない。この場合、従来のアウトライン生成方法は、変化するモデルの境界を計算により検出してアウトラインを生成するため、その計算処理に時間がかかりすぎてしまう。このため、遊戯者の操作に対するモデルの応答性を重視するゲーム装置等では、モデルにアウトラインを生成する処理を行うことができなかった。
【０００６】
また、従来の方法では、モデルとカメラの距離に関係なく、モデルと背景画面の境界部分に指定した幅の線を描いてアウトラインを生成していたので、アウトラインの線幅によりモデルの遠近感を表現することができなかった。
【０００７】
そこで、本発明は、アウトラインが描かれた、アニメーションの平面画のようなモデルを高速で生成することができる画像処理装置及び画像処理方法を提供することを目的とする。
【０００８】
また、本発明は、モデルのアウトラインの線幅を高速に変化させることができる画像処理装置及び画像処理方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記の目的は、３次元座標空間にコンピュータグラフィックスによりポリゴンモデルを生成する画像処理装置において、ポリゴンの法線ベクトルの向きが外側を向いた第１のモデルと、該第１のモデルを内包し、ポリゴンの法線ベクトルの向きが内側を向いた第２のモデルとを一体のモデルとしたことを特徴とする画像処理装置及び画像処理方法を提供することにより達成される。
【００１０】
本発明によれば、ポリゴンの法線ベクトルの向きにより、陰面処理においてポリゴンが表示されるか否かが決定される。即ち、ポリゴンの法線ベクトルが視点方向の成分を含む場合は、そのポリゴンは表示され、ポリゴンの法線ベクトルが視点と反対方向の成分を含む場合は、そのポリゴンは表示されない。このため、第２のモデルは、第１のモデルのアウトラインとして表現される。
【００１１】
しかも、本発明によれば、アウトラインは３次元座標空間のポリゴンモデルを処理することにより生成され、２次元画面に投影されたモデルと背景画面の境界を検出する計算処理を必要としないため、極めて高速にアウトラインを生成することができる。
【００１２】
また、３次元座標空間のポリゴンモデルにアウトラインを付加するので、特別の計算処理を行うことなくカメラに近いアウトラインは太く表示され、カメラから遠いアウトラインは細く表示されるので、処理の高速性を低下させずにモデルの遠近感を強調することができる。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態について図面に従って説明する。図１は、本発明の実施の形態の画像処理装置のブロック図である。本実施の形態の画像処理装置は、画像処理を高速に実行するために、ジオメトリ処理、レンダリング処理等を高速処理する複数のプロセッサを有する。
【００１４】
ＣＰＵ１は、ブートＲＯＭ５から起動プログラムを読み出し、システムメモリ３からシステムプログラムを読み出して、画像処理装置の初期設定等を行う。また、ＣＰＵ１は、ＣＤＲＯＭ４からアプリケーションプログラムを読み出して、画像処理装置をアプリケーションプログラムの管理下に置く。
【００１５】
ジオメトリプロセッサ２は、ポリゴンの３次元座標データを高速に処理するプロセッサで、ＣＰＵ１から送られてくるポリゴンの座標データにモデルの移動、回転等に対する処理を行い、ポリゴンの法線ベクトルを計算し、更にクリッピング、視野変換等の処理を行う。
【００１６】
なお、本実施の形態の画像処理装置では、後で詳述するように、レンダリングプロセッサ７においてモデルのレンダリング処理を行う前、即ち、３次元座標空間のポリゴンモデルにおいてアウトラインの処理が行われるため、極めて高速にアウトラインを生成することができる。
【００１７】
レンダリングプロセッサ７は、モデルのレンダリングを高速に処理するプロセッサで、ジオメトリプロセッサ２から送られてくるポリゴンデータに対して、陰面処理及びシェーディング処理等を行う。なお、本実施の形態の画像処理装置では、アウトラインの輝度を設定は、レンダリングプロセッサ７において輝度パラメータを指定することにより高速に行われる。
【００１８】
レンダリングプロセッサ７で処理されたモデルのデータは、１画面毎にグラフィックメモリ８に格納され、それらのデータはビデオＤ／Ａコンバータ９で映像信号に変換されて図示しないテレビジョンモニタ等に表示される。
【００１９】
オーディオプロセッサ１０は、ＣＤＲＯＭ４から音楽データを読み出し、また、オーディオメモリ１１から遊戯者の操作に応じた効果音等のデータを読み出す。それらのオーディオデータは、オーディオＤ／Ａコンバータ１２でアナログ信号に変換され、図示しないテレビジョンモニタ又はオーディオ装置に出力される。
【００２０】
バスアービタ６は、どのプロセッサにバスの使用権を与えるかを決定するものである。即ち、本実施の形態の画像処理装置は、ＣＰＵ１、レンダリングプロセッサ７等の複数のプロセッサがバスを共用しているため、例えば、ＣＰＵ１から送出されたデータが、レンダリングプロセッサ７から送出されたデータと衝突しないように、バスアービタ６によりバスの使用権が管理、調停される。
【００２１】
モデム１３は、電話回線を使用してデータを送受信するための変復調器で、図示しないモジュラージャックに接続される。なお、図１においてバスアービタ６に接続されるペリフェラルには、図示しないコントローラ等のキー操作のためのスイッチのほか、バックアップメモリ、表示装置、ポインティングデバイス等、画像処理装置あるいはコントローラに着脱可能なものも含まれる。
【００２２】
次に、本実施の形態の画像処理の１例について、図２に示すフローチャート、図３〜図１４に示す表示及びデータ例により説明する。なお、図３〜図１４の表示例では、各過程での処理を説明するために、各過程を区分してモデルを生成し、２次元画面に投影して表示しているが、実際の各過程の処理は３次元座標データのままであり、２次元画面に投影する処理は、全過程の終了後にジオメトリプロセッサ２において行われる。
【００２３】
図２のフローチャートに示すように、本実施の形態の画像処理は、まずＣＰＵ１が、ＣＤＲＯＭ４からモデルＡ（ゲームのキャラクタモデル等）のデータを読み出し（Ｓ１）、そのデータをジオメトリプロセッサ２に送ることにより開始される。ここでモデルＡは、図３に示すように左右に角を持った球体で、ポリゴンＰ１からポリゴンＰｎで構成されているとする。また、ＣＤＲＯＭ４から読み出されるモデルＡのデータは、図４に示すように各ポリゴンの頂点の座標、法線ベクトル、色、透明度等のデータであるとする。なお、頂点座標は、モデルＡの重心を原点としたローカル座標系の値である。
【００２４】
図５は、モデルＡの１つのポリゴンＰｋを取り出した場合を示す。ポリゴンＰｋは頂点Ｖｋ１〜Ｖｋ４で構成され、頂点Ｖｋ１〜Ｖｋ４には法線ベクトルｎｋ１〜ｎｋ４が付属する。なお、モデルＡは、モデルＡの外部から見られることを前提としているため、各頂点の法線ベクトルはモデルＡの外側に向かう方向になる。また、ポリゴンＰｋの法線ベクトルｎｋは、各頂点の法線ベクトルｎｋ１〜ｎｋ４の例えばベクトル平均により求める。
【００２５】
次に、ジオメトリプロセッサ２は、３次元座標空間において、モデルＡよりひとまわり大きいモデルＢを作成する（Ｓ２）。図６は、モデルＡを一定の比率αで拡大したモデルＢのデータを示す。この場合、モデルＡの各ポリゴンの頂点座標は、モデルＡの重心を原点としたローカル座標系の値になっているので、モデルＢの各ポリゴンの頂点座標は、モデルＡの頂点座標をα倍した値になる。なお、後で説明するように、モデルＡを一定の比率αで拡大せずに、モデルＡの一部の拡大率を異ならせてもよい。例えば、モデルＡの角の部分の拡大率を大きくすれば、角の部分を強調することができる。
【００２６】
次に、モデルＢをモデルＡに重ね合わせる（Ｓ３）。即ち、ジオメトリプロセッサ２は、モデルＢとモデルＡの向きを変えずに、ワールド座標系でモデルＢの重心をモデルＡの重心に一致させる。このようにモデルＢをモデルＡに重ねた状態を図７に示す。
【００２７】
この場合、モデルＢをモデルＡに重ねる処理は、実際には、ジオメトリプロセッサ２において、モデルＢのデータをモデルＡのデータにリンクさせることである。即ち、モデルＢのデータは、モデルＡのデータと所定の関係により結合されるので、例えば、モデルＡがワールド座標空間において移動すると、モデルＢもモデルＡと連動して移動する。
【００２８】
なお、図７では、モデルＢの重心とモデルＡの重心を一致させる例を示したが、モデルＢの重心はモデルＡの重心と所定の関係を有すればよい。例えば、モデルＢの重心をモデルＡの重心より少し上に位置させることにより、モデルＡの上部のアウトラインが太くなり、モデルＡの上部を強調することができる。
【００２９】
次に、ジオメトリプロセッサ２は、モデルＡ及びモデルＢをポリゴンモデルとし、モデルＢのポリゴンの法線ベクトルを逆方向にする（Ｓ４）。ポリゴンの法線ベクトルの向きは、レンダリングプロセッサ７における陰面処理において、そのポリゴンを表示するか否かを決定する。即ち、レンダリングプロセッサ７は、ポリゴンの法線ベクトルが視点方向の成分を含む場合にそのポリゴンを表示し、ポリゴンの法線ベクトルが視点と反対方向の成分を含む場合は、そのポリゴンを表示しない。これにより、モデルＢはモデルＡのアウトラインとして機能するようになる。
【００３０】
このことを図８と図９により、モデルＡとモデルＢを簡略化して説明する。図８（１）は、ポリゴンの法線ベクトルが外側を向いた球状のモデルＡが、モデルＡより一回り大きく、かつポリゴンの法線ベクトルが内側を向いた球状のモデルＢに内包される場合を示す。
【００３１】
図８（２）は、モデルＢの外部にある視点１５からモデルＡ及びモデルＢを見た場合に、表示の対象になるポリゴンを示す。モデルＡの法線ベクトルは外側を向いているので、法線ベクトルに視点方向の成分を含むポリゴン、即ち、視点に近い側の半球部分１６が対象になり、法線ベクトルに視点と反対方向の成分を含むポリゴン、即ち、視点から遠い側の半球部分１７は対象にならない。
【００３２】
一方、モデルＢの法線ベクトルは内側を向いているので、法線ベクトルに視点方向の成分を含むポリゴン、即ち、視点から遠い側の半球部分１８が対象になり、法線ベクトルに視点と反対方向の成分を含むポリゴン、即ち、視点に近い側の半球部分１９は対象にならない。
【００３３】
図９（１）は、モデルＢの外部にある視点１５から、モデルＡ及びモデルＢを見た場合に表示されるポリゴンを示す。モデルＡは、法線ベクトルに視点方向の成分を含む視点に近い側の半球部分１６が表示され、モデルＢは、視点から遠い側の半球部分１８から視点１５に対してモデルＡの裏側になる部分を除いた部分２０、２１が表示される。
【００３４】
図９（２）は、視点１５からモデルＡ及びモデルＢを見た場合の２次元スクリーン座標系の表示例である。図９（２）に示すように、モデルＡは通常の表示の通り視点に近い側のポリゴンが表示され、モデルＢはモデルＡの外側の部分のみが表示されるので、モデルＢはモデルＡのアウトラインとして表示される。
【００３５】
図１０は、図７に示したモデルＡ及びモデルＢに上記の処理を行った場合の表示例である。なお、レンダリングプロセッサ７は、陰面処理を行ったモデルに対して、光源による陰影を付加するシェーディング処理を行うが、図１０は、シェーディング処理によりモデルＡ、モデルＢ共に光源の影響を受ける状態（ランバート状態）にした表示例である。
【００３６】
前述のように、モデルＡはポリゴンの法線ベクトルが外側を向いているので、通常の表示と同様にモデルＡの視点側のポリゴンが表示され、視点と反対側のポリゴンが陰面として表示されない。一方、モデルＢは、ポリゴンの法線ベクトルが内側を向いているので、通常の表示とは逆に視点と反対側のポリゴンが表示され、視点側のポリゴンは陰面として表示されない。また、モデルＢの視点と反対側のポリゴンであっても、モデルＡの裏側のポリゴンは通常の陰面処理により表示されない。この結果、モデルＢは、モデルＡのアウトラインに近づいた表現になる。
【００３７】
なお図１０においては、画面上方に光源があるとしてシェーディング処理を行っているので、モデルＡは、光源に向いた上面の輝度が高く、光源と反対側の下面の輝度は低い。一方、モデルＢのポリゴンの法線ベクトルは内側を向いているので、モデルＢはモデルＡにかぶせた「お碗」のようになり、モデルＢの上部は光源からの光が当たらず輝度が低くなり、モデルＢの下部は光源からの光が少し当たり、幾分明るくなる。
【００３８】
次に、モデルＢを光源の影響を受けない状態（コンスタント状態）にする（Ｓ５）。この場合の表示例を図１１に示す。図１１に示すように、モデルＢは光源の影響を受けないので、光源及びカメラの位置に係わらずどの部分も同じ輝度になり、モデルＡのアウトラインとして表示される。なお、モデルＢは、光源の影響を受けない一定の輝度であればよく、黒色、青色等の単一色で表示されるが、部分的に色を変えて奥行きのある表示をすることもできる。
【００３９】
次に、モデルＡを光源の影響を受けない状態（コンスタント状態）にする（Ｓ６）。この場合の表示例を図１２に示す。この場合は、モデルＡも光源の影響を受けず、一定の輝度の色で塗りつぶしたようになるので、モデルＡとモデルＢが一体になったモデルは、コンピュータグラフィックスの他のモデルとは異質な、線画あるいはアニメーションのような特殊な表現になる。
【００４０】
次に、レンダリングプロセッサ７は、モデルＡとモデルＢの合体モデルを背景画面に重ね合わせる（Ｓ７）。図１３（１）は、本実施の形態の画像処理により、アウトラインを付加したモデルを背景画面に重ね合わせた表示例であり、図１３（２）は、比較のためにアウトラインのないモデルを背景画面に重ね合わせた表示例である。図１３（１）に示すように、アウトラインには背景からそのモデルを浮き立たせる役割があり、特に、コンピュータグラフィックスによるゲーム装置においては、３次元的に表現された背景画面の中に２次元的に表現されたキャラクタモデルを置くことで、そのモデルに極めて大きな注目度を持たせることができる。
【００４１】
次に、本実施の形態の画像処理における特殊効果について説明する。図１４は、モデルＡ、モデルＢ共に光源の影響を受けない状態において、モデルの遠近感が強調される場合の表示例である。即ち、モデルＢは、３次元座標空間においてモデルＡより一定の比率で拡大されているので、ジオメトリプロセッサ２において、通常の透視変換を行うことにより、カメラに近いアウトラインは太くなり、カメラから遠いアウトラインは細くなる。
【００４２】
従って、本実施の形態の画像処理では、特別の計算処理を行うことなく、カメラに近いアウトラインは太く、カメラから遠いアウトラインは細くなるので、処理の高速性を低下させずにモデルの遠近感を強調することができる。
【００４３】
図１５は、本実施の形態の画像処理において、モデルＢの一部を変形した場合の表示例である。即ち、図２のステップＳ２においてモデルＡよりひとまわり大きいモデルＢを作成する場合に、図１５の円３１で示す部分の拡大率を他の部分より大きくした場合である。このように、モデルＡの一部の拡大率を大きくすることで、モデルＡの強調したい部分のアウトラインを太くすることができ、通常のモデルとは異なる誇張した感じを表現することができる。
【００４４】
【発明の効果】
以上説明した通り、本発明によれば、アウトラインが描かれたアニメーションの平面画のようなモデルを高速に生成し、また、モデルのアウトラインの線幅を高速に変化させることができる画像処理装置及び画像処理方法を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態の画像処理装置のブロック図である。
【図２】本発明の実施の形態の画像処理のフローチャートである。
【図３】本発明の実施の形態のモデルＡのワイヤフレーム図である。
【図４】本発明の実施の形態のモデルＡのデータである。
【図５】本発明の実施の形態のモデルＡのポリゴンＰｋの説明図である。
【図６】本発明の実施の形態のモデルＢのデータである。
【図７】本発明の実施の形態のモデルＡとモデルＢを重ね合わせたワイヤフレーム図である。
【図８】本発明の実施の形態のアウトライン生成の説明図（I）である。
【図９】本発明の実施の形態のアウトライン生成の説明図（II）である。
【図１０】モデルＢの法線方向を逆にし、ランバート状態にした表示例である。
【図１１】モデルＢをコンスタント状態にした表示例である。
【図１２】モデルＡもコンスタント状態にした表示例である。
【図１３】本発明の実施の形態の表示例である。
【図１４】本発明の実施の形態における遠近感の表示例である。
【図１５】本発明の実施の形態のアウトラインの変形例である。
【符号の説明】
１    ＣＰＵ
２    ジオメトリプロセッサ
３    システムメモリ
４    ＣＤＲＯＭ
５    ブートＲＯＭ
６    バスアービタ
７    レンダリングプロセッサ
８    グラフィックメモリ
９    ビデオＤ／Ａコンバータ
１０  オーディオップロセッサ
１１  オーディオメモリ
１２  オーディオＤ／Ａコンバータ
１３  モデム
【図１】
0003804328.tif 000002
【図２】
0003804328.tif 000003
【図３】
0003804328.tif 000004
【図４】
0003804328.tif 000005
【図５】
0003804328.tif 000006
【図６】
0003804328.tif 000007
【図７】
0003804328.tif 000008
【図８】
0003804328.tif 000009
【図９】
0003804328.tif 000010
【図１０】
0003804328.tif 000011
【図１１】
0003804328.tif 000012
【図１２】
0003804328.tif 000013
【図１３】
0003804328.tif 000014
【図１４】
0003804328.tif 000015
【図１５】
0003804328.tif 000016