(57)【特許請求の範囲】
【請求項１】
画像を生成する画像生成装置であって、
物体の形状情報を入力する手段と、
視点情報を入力する手段と、
前記物体の形状情報と前記視点情報を基に、前記物体の画像を生成する第１の画像生成手段と、
光跡処理を行い、前記第１の画像生成手段によって作成された画像と、光跡処理結果とを合成して画像を生成する第２の画像生成手段と、
を具備し、
前記第２の画像生成手段は、
光源より発生する光が照らす３次元領域である光源ダミーオブジェクトを生成し、前記光源ダミーオブジェクトの光の当たる領域部分に対して、アルファブレンドを用いて光跡用オブジェクトの画像を生成し、光跡が合成された画像と前記第１の画像生成手段によって作成された画像とを合成することを特徴とする画像生成装置。
【請求項２】
前記光跡用オブジェクトは、視点に近い距離に生成する投影後の大きさが視野と一致する多角形であり、前記光跡用オブジェクトの頂点は光源の色に対応したピクセル色と空間の微粒子の多さに応じたアルファ値で表すことを特徴とする請求項１記載の画像生成装置。
【請求項３】
前記第２の画像生成手段は、
第１の画像生成手段によって作成され、前記物体情報をピクセル色とアルファ値で表した第１の画像と、
前記光源用オブジェクトをピクセル色とアルファ値で表した第２の画像と、
を合成することを特徴とする請求項１記載の画像生成装置。
【請求項４】
前記第２の画像生成手段は、光源の照明範囲形状に対応した前記光源ダミーオブジェクトを生成することを特徴とする請求項１記載の画像生成装置。
【請求項５】
前記第２の画像生成手段は、オブジェクトに空いた穴と光源の位置関係に基づいて、光が差し込む効果を表す前記光源ダミーオブジェクトを生成することを特徴とする請求項１記載の画像生成装置。
【請求項６】
コンピュータを請求項１記載の画像生成装置として機能させるプログラム。
【請求項７】
コンピュータを請求項１記載の画像生成装置として機能させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像生成装置及び記録媒体に係り、特に、光跡の高速表示処理に関する。
【０００２】
【従来の技術】
昨今、コンピュータハードウェアは急速に性能向上してきている。特にグラフィックスハードウェアは、３次元（３Ｄ）ゲームに代表されるようめざましい進歩を遂げており、一般的な家庭に導入されているパーソナルコンピュータでも十分に３次元コンピュータグラフィックス（以下３ＤＣＧとする）を楽しむ事が可能になった。
【０００３】
また、従来、霧の中を走る車のヘッドライト、ステージ上のスポットライトによるライトビーム等の光跡は、大気中の微粒子による光の散乱の物理シミュレーションを行い、その結果をレイトレーシング法等を用いてレンダリングすることで表現していた。
【０００４】
【発明が解決しようとする課題】
しかしながら、従来の光跡表現手法では、物理シミュレーション等を行っていた為、画像生成に数分から数十分の計算時間を必要とし、高い対話性が要求される３ＤＣＧ商品カタログやウォークスルーコンテンツ（３ＤＣＧで構成した仮想空間を自由に歩き回ることができるコンテンツ）において、光跡表現を行うことが困難であった。
また、このシミュレーションはソフトウェアにて行われていた為、グラフィックハードウェアに搭載された機能を有効に活用していなかった。
【０００５】
本発明は、以上の点に鑑みてなされたものであり、光跡を考慮した高品位な画像を高速に生成する画像生成装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
前述した目的を達成するために本発明は、画像を生成する画像生成装置であって、物体の形状情報を入力する手段と、視点情報を入力する手段と、前記物体の形状情報と前記視点情報を基に、前記物体の画像を生成する第１の画像生成手段と、光跡処理を行い、前記第１の画像生成手段によって作成された画像と、光跡処理結果とを合成して画像を生成する第２の画像生成手段と、を具備し、前記第２の画像生成手段は、光源より発生する光が照らす３次元領域である光源ダミーオブジェクトを生成し、前記光源ダミーオブジェクトの光の当たる領域部分に対して、アルファブレンドを用いて光跡用オブジェクトの画像を生成し、光跡が合成された画像と前記第１の画像生成手段によって作成された画像とを合成することを特徴とする画像生成装置である。
【０００７】
物体の形状情報とは、形状、質感、テクスチャ画像情報を含む物体情報である。視点情報とは、カメラの視点、注視点、上向きベクトル等である。光跡とは、光が大気中の微粒子により散乱されて生じる効果であり、例えば、霧の中を走る車のヘッドライト、ステージ上のスポットライトによるライトビーム、ステンドグラスを通過した太陽光線等である。光源ダミーオブジェクトとは、光源より発生する光が照らす３次元領域である。光跡用オブジェクトとは、テクスチャマッピングを施した投影後の大きさがビューポートと一致する多角形である。
【０００８】
本発明では、画像生成装置は、物体の形状情報を入力し、視点情報を入力し、物体の形状情報と視点情報を基に、第１の画像生成手段は物体の画像を生成し、第２の画像生成手段は光跡処理結果とを合成して画像を生成する。第２の画像生成手段は、光源より発生する光が照らす３次元領域である光源ダミーオブジェクトを生成し、光源ダミーオブジェクトの光の当たる領域部分に対して、アルファブレンドを用いて光跡用オブジェクトの画像を生成し、光跡が合成された画像と、第１の画像生成手段によって作成された画像、とを合成する。
【０００９】
【発明の実施の形態】
以下、図面に基づいて本発明の実施の形態を詳細に説明する。図１は、本実施の形態に係る画像生成装置１の概略構成を示す図である。
【００１０】
図１において、画像生成装置１は、外部記憶装置２より読み込んだ３次元ＣＧデータ（以降、３ＤＣＧデータと称す）と、外部入力装置３より入力された視点情報を基に光跡を含んだＣＧ画像データを作成し、外部表示装置４に出力する。尚、光跡とは、光が大気中の微粒子により散乱されて生じる効果であり、例えば、霧の中を走る車のヘッドライト、ステージ上のスポットライトによるライトビーム、ステンドグラスを通過した太陽光線等である。
【００１１】
画像生成装置１に接続される外部記憶装置２は、物体の形状、質感、テクスチャ画像情報等を含む物体情報、及び種類、位置、属性等を含む光源情報を記憶するものであり、例えばハードディスクやＣＤ−ＲＯＭ等である。尚、外部記憶装置２として、ネットワークに接続された他の外部記憶装置を用いてもよい。
【００１２】
また、外部入力装置３は、マウス、キーボード及びジョイスティック等の機器であり、物体形状を観察する位置等の視点情報を入力する。
【００１３】
外部表示装置４は、画像を表示する機器であり、ＣＲＴディスプレイ等である。
【００１４】
次に、本実施の形態に係る画像生成装置１の装置構成と機能概要を示す。図２（ａ）、図２（ｂ）は、本実施の形態に係る画像生成装置１の装置構成と機能概要を示す。
【００１５】
図２（ａ）に示すように、外部記憶装置２より読み込んだ３ＤＣＧデータと、外部入力装置３のユーザ操作により、画像生成装置１（例えば、１台のコンピュータ）のＣＰＵ１１が、ＯＳ制御、他アプリケーション処理、ユーザ制御に加え、照光効果を考慮した物体のレンダリング処理を行うラスタライズ、テクスチャマッピング、ステンシルバッファ、アルファブレンド等の処理を行いＣＧ画像を生成し、外部表示装置４に出力する。
【００１６】
ステンシルバッファとは、特定のピクセルへの書き込みの許可／不許可の制御を行い、マスクを作るバッファである。図３は、ステンシルバッファ１５を示す。図３に示すように、例えば、フレームバッファ１４−１にレンダリングを行う場合、ステンシルバッファ１５はある特定部分を“１”に、その他の部分を“０”として書き込みマスクを作成する。レンダリング時に、ステンシルバッファ１５のマスク“１”の領域のみフレームバッファ１４−１を更新し、結果、フレームバッファ１４−２を生成する。
【００１７】
アルファブレンドとは、フレームバッファに既に保存されている画像のピクセル色と、処理中の生成画像のピクセル色をアルファ値（重み係数）を用いて混合し合成する。アルファ値とは、どのくらい既存のピクセル色を新しいピクセル色と混合するかを制御する値である。図４は、アルファブレンド１６を示す。図４に示すように、フレームバッファ１７−１には物体のレンダリング結果である画像が書き込まれており、処理中の生成画像１８とアルファブレンド１６を用いて合成し、結果、半透明に合成されたフレームバッファ１７−２を生成する。
【００１８】
また、図２（ｂ）に示すように、画像生成装置１にグラフィックハードウェア１２を搭載する場合は、外部記憶装置２より読み込んだ３ＤＣＧデータと、外部入力装置３のユーザ操作により、画像生成装置１のＣＰＵ１１が、ＯＳ制御、他アプリケーション処理、ユーザ制御等の処理を行い、グラフィックハードウェア１２がラスタライズ、テクスチャマッピング、ステンシルバッファ、アルファブレンド等の処理を行いＣＧ画像を生成し、外部表示装置４に出力する。
【００１９】
図１に示すように、画像生成装置１は、ＣＧデータ読み込み部５、ＣＧデータ記憶部６、視点情報算出部７、視点情報記憶部８、第１レンダリング部９、第２レンダリング部１０等を有する。画像生成装置１は、例えば、一台のコンピュータよりなる。
【００２０】
図１において、ＣＧデータ読み込み部５は外部記憶装置２から物体の３ＤＣＧデータを読み出し、ＣＧデータ記憶部６はそれを記憶する。ＣＧデータ記憶部６は、外部記憶装置２より３ＤＣＧデータを読み込み、記憶する。
【００２１】
また、視点情報算出部７は外部入力装置３によって入力された視点情報から視点位置座標等を算出し、視点情報記憶部８に記憶させる。視点情報記憶部８は、視点情報を記憶する。視点情報には、カメラの視点、注視点、上向きベクトル等を含む。
【００２２】
第１レンダリング部９は、ＣＧデータ記憶部６から３ＤＣＧデータを、視点情報記憶部８から視点情報を受け取り、照明効果を考慮したレンダリング処理を行い、物体の画像を生成する。
【００２３】
第２レンダリング部１０は、光跡処理を行い、第１レンダリング部９の生成した物体画像と光跡処理結果とを合成し最終画像を作成する。
【００２４】
以下に画像生成装置１の各部における処理について説明する。図５は、画像生成装置１による画像生成処理を示すフローチャートである。
【００２５】
図５に示すように、ＣＧデータ読み込み部５が外部記憶装置２から物体の３ＤＣＧデータを読み出し、ＣＧデータ記憶部６に記憶する（ステップ２０１）。
【００２６】
次に、視点情報算出部７は、外部入力装置３により入力された視点情報から、カメラの視点、注視点、上向きベクトル等を算出し、視点情報記憶部８に記憶する（ステップ２０２）。
【００２７】
次に、第１レンダリング部９は、ＣＧデータ記憶部６の物体の３ＤＣＧデータと視点情報記憶部８の視点情報から、照光効果等を考慮して物体のレンダリング処理を行いＣＧ画像を生成する（ステップ２０３）。本処理では、レイトレーシング法やＺバッファ法など様々な手法が用いられるが、使用する環境や目的に応じ任意の手法を採用すればよい。尚、レンダリング処理は、ビデオカード等のグラフィックスハードウェアにて行われる。
【００２８】
次に、第２レンダリング部１０が、光跡処理を行い、ステップ２０３で生成したレンダリング結果と光跡処理結果を合成し、最終画像を作成する（ステップ２０４）。
【００２９】
ステップ２０４で得られた画像を外部表示装置４に表示する（ステップ２０５）。
【００３０】
以上のステップ２０２からステップ２０５を繰り返し行う事で、インタラクティブに３Ｄ形状を観察する事ができる。
【００３１】
次に、第２レンダリング部１０のステップ２０４の処理である光跡処理の処理手順について詳しく説明する。図６は、光跡処理の処理手順を示すフローチャートである。図７は、光跡処理の内部状態と各バッファへの書き込みを示す。
【００３２】
図７に示すように、まず、第１レンダリング部９の照明効果を考慮したレンダリング処理により、フレームバッファ２１−１にはレンダリング結果が書き込まれ、Ｚバッファには各ピクセルのデプス値（カメラからオジェクトまでの距離の値）が書き込まれ、ステンシルバッファ２２−１は０に初期化されている。
【００３３】
図６に示すように、全ての光源に対して処理が行われたか判断する（ステップ３０１）。
【００３４】
処理が全て終了していない場合は、まず、フレームバッファ２１−２書き込み禁止、ステンシルバッファ２２−２書き込み可能、アルファブレンド実行不可能に設定する（ステップ３０２）。
【００３５】
次に、図７に示すように、光源から光源ダミーオブジェクト２３を生成する（ステップ３０３）。光源ダミーオブジェクト２３とは、光源より発生する光が照らす３次元領域のことである。
【００３６】
次に、光源ダミーオブジェクト２３の生成方法を説明する。光源ダミーオブジェクト２３の生成方法には、次のものがある。
（ａ）光源の照明範囲に該当する光源ダミーオブジェクトを生成する場合（例えば、スポットライト、点光源等）。
（ｂ）オブジェクトに空いた穴から光が差し込む（例えば、雲の隙間から光跡が見える場合）効果を表す光源ダミーオブジェクトを生成する場合。
尚、光線ダミーオブジェクト２３生成方法にはこの２種類に限らない。
【００３７】
図８は、光源ダミーオブジェクト生成方法（スポットライトの場合）３０を示す。図９は、光源ダミーオブジェクト生成方法（点光源の場合）４０を示す。図１０は、光源ダミーオブジェクト生成方法（オブジェクトに空いた穴から光が差し込む場合）５０を示す。
【００３８】
（ａ）光源の照明範囲に該当する光源ダミーオブジェクトを生成する場合、光源の照明範囲形状に対応した光源ダミーオブジェクトを生成する。
【００３９】
図８に示すように、光源がスポットライト３１の場合、スポットライト３１が発生するライトビーム形状は、スポットライト３１が照らす領域である円錐となる。従って、光源ダミーオブジェクト３２は円錐に設定する。照明範囲３３はスポットライト３１の照明範囲角度φで与えられる。
【００４０】
図９に示すように、光源が点光源４１（例えば、街灯）の場合、点光源４１の光源ダミーオブジェクト４２の形状は、点光源４１を中心とした球となる。球の半径（すなわち、照明の有効範囲）は予め点光源に設定しておく。
【００４１】
（ｂ）オブジェクトに空いた穴から光が差し込む場合、オブジェクトに空いた穴と光源の位置関係から光源ダミーオブジェクトを動的に生成する。
【００４２】
図１０に示すように、天窓から光が差し込む場合、障害物（天窓）５４のオブジェクトに空いた穴５３と点光源５１を直線で結び、光源からから最も遠い所にあるオブジェクト（例えば、地面５５）と交わるまで直線を延長して光源ダミーオブジェクト５２を動的に生成する。オブジェクトに空いた穴５３から動的に光源ダミーオブジェクト５２を生成するため、オブジェクトに空いた穴５３が変形した場合は光跡も変形する。
【００４３】
次に、光源ダミーオブジェクト２３のレンダリングを行う（ステップ３０４）。図７に示すように、Ｚ判定をパスしたピクセル（光源ダミーオブジェクト２３がシーン中の他の_オブジェクトより手前（視点側）にあると判断されたピクセル）のみステンシルバッファ２２−４にステンシル参照値“１”を書き込み、その他の部分は“０”とする。結果、ステンシルバッファ２２−４には光の当たっている領域のマスクが作成される。
【００４４】
次に、フレームバッファ２１−５書き込み可能、ステンシルバッファ２２−５書き込み可能、アルファブレンド実行可能に設定する（ステップ３０５）。
【００４５】
次に、光跡用オブジェクト２４を視点２５に限りなく近い距離に生成する（ステップ３０６）。光跡用オブジェクト２４とは、テクスチャマッピングを施した投影後の大きさがビューポートと一致する多角形である。テクスチャ素材には、煙や塵を表現する静止画や動画を用意する。光跡用オブジェクト２４の頂点のピクセル色に光源の色に対応した色を設定し、空間の微粒子の多さに応じたアルファ値を設定する。
【００４６】
次に、ステップ３０６で生成した光跡用オブジェクト２４をレンダリングする（ステップ３０７）。ステンシルバッファ２２−６の値“１”のピクセル（ステップ３０４で生成した光の当たる領域部分）のみフレームバッファ２１−６を更新し、同時にステンシル参照値“１”であるステンシルバッファ２２−６のピクセルに値“０”を書き込む。従って、光跡部分のみ追加でアルファブレンド１６を用いてレンダリングすることになり、処理済のレンダリング画像に光跡が合成された結果がフレームバッファ２１−７に書き込まれる。
【００４７】
アルファブレンド１６は、例えば、既にフレームバッファ２１に保存されているあるピクセルに関してピクセル色を（ｒ１、ｇ１、ｂ１）、アルファ値をα１（α１＝１．０）とし、処理中の画像（例えば、光跡用オブジェクトの画像）のピクセルのピクセル色を（ｒ２、ｇ２、ｂ２）、アルファ値をα２とすると、最終的に合成されるピクセルのピクセル色（Ｒ、Ｇ、Ｂ）は、
Ｒ＝α１×ｒ１＋α２×ｒ２
Ｇ＝α１×ｇ１＋α２×ｇ２
Ｂ＝α１×ｂ１＋α２×ｂ２
で求められる。
尚、アルファブレンド１６の方式は、本実施の形態の方式に限らない。光源ごとにアルファブレンド１６の方式を変えてもよい。
【００４８】
次に、ステップ３０１に戻り、処理が全て終了した場合はフレームバッファ２１−８の内容を外部表示装置４に表示し（ステップ２０５）、ステップ２０２へ移行し、次のコマの画像を生成する。
【００４９】
以上説明したように、本実施の形態によれば、第１レンダリング部９は、ＣＧデータ記憶部６の物体の３ＤＣＧデータと視点情報記憶部８の視点情報から、照光効果等を考慮して物体のレンダリング処理を行う。第２レンダリング部１０は、光跡処理として、光源から光源ダミーオブジェクト２３を生成、レンダリングし、ステンシルバッファ２２には光の当たっている領域のマスクを作成する。また、テクスチャ素材に煙や塵を表現し、頂点に光源の色に対応した色を、空間の微粒子の多さに応じたアルファ値を設定したテクスチャマッピングを施した光跡用オブジェクト２４を視点２５に限りなく近い距離に生成し、ステンシルバッファ２２の光の当たっている領域（光跡部分）のみフレームバッファ２１を更新しレンダリングする（アルファブレンド１６）。結果、生成した最終画像を外部表示装置４に表示する。
【００５０】
これにより、グラフィックハードウェアを利用し、光跡を高速に表示することで、３ＤＣＧ商品カタログやウォークスルーコンテンツ等の品質を、対話性を落とすことなく高めることができる。
【００５１】
尚、本実施の形態では、光源ダミーオブジェクト２３を生成していたが、これを予め用意しておいてもよい。
【００５２】
また、光源ごとに、第２レンダリング部１０で生成する光跡用オブジェクト２４のテクスチャマッピング方法やテクスチャ素材を変えてもよい。
【００５３】
また、本実施例では、空気中の塵に反射する光を表現したものだが、これに限定されるものではない。例えば、水中に差し込む光（フォトン）を表現してもよい。
【００５４】
また、図５、６に示す処理を行うプログラムはＣＤ−ＲＯＭ等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
【００５５】
【発明の効果】
以上、詳細に説明したように本発明によれば、光跡を考慮した高品位な画像を高速に生成する画像生成装置を提供することができる。
【図面の簡単な説明】
【図１】  本発明の実施の形態に係る画像生成装置１を示す図
【図２】  本実施の形態に係る画像生成装置１の装置構成と機能概要を示す図
【図３】  ステンシルバッファ１５を示す図
【図４】  アルファブレンド１６を示す図
【図５】  画像生成装置１による画像生成処理を示すフローチャート
【図６】  光跡処理の処理手順を示すフローチャート
【図７】  光跡処理の内部状態と各バッファへの書き込みを示す図
【図８】  光源ダミーオブジェクト生成方法（スポットライトの場合）３０を示す図
【図９】  光源ダミーオブジェクト生成方法（点光源の場合）４０を示す図
【図１０】  光源ダミーオブジェクト生成方法（オブジェクトに空いた穴から光が差し込む場合）５０を示す図
【符号の説明】
１………画像生成装置
２………外部記憶装置
３………外部入力装置
４………外部表示装置
５………ＣＧデータ読み込み部
６………ＣＧデータ記憶部
７………視点情報算出部
８………視点情報記憶部
９………第１レンダリング部
１０………第２レンダリング部
【図１】
0003694468.tif 000002
【図２】
0003694468.tif 000003
【図３】
0003694468.tif 000004
【図４】
0003694468.tif 000005
【図５】
0003694468.tif 000006
【図６】
0003694468.tif 000007
【図７】
0003694468.tif 000008
【図８】
0003694468.tif 000009
【図９】
0003694468.tif 000010
【図１０】
0003694468.tif 000011