(57)【特許請求の範囲】
【請求項１】
コンピュータを、
少なくとも自己発光オブジェクトを含むオブジェクトが配置された仮想空間に対し、仮想視点を設定し、当該仮想視点を基準とした視錐台の内部に配置されたオブジェクトを投影平面に投影する座標変換手段、
前記自己発光オブジェクトの周囲を通過する通過オブジェクトを前記仮想空間に発生させる通過オブジェクト発生手段、
前記投影平面のピクセル毎に前記仮想空間における前記自己発光オブジェクトの色情報および前記オブジェクトの深度情報をメモリに保持する保持手段、
前記投影平面上における前記通過オブジェクトの近傍座標を算出する近傍座標計算手段、
前記保持手段から算出された前記近傍座標における前記自己発光オブジェクトの色情報と深度情報を取得し、当該色情報と深度情報を乗算して影響色情報を取得する色情報取得手段、
取得した影響色情報を前記通過オブジェクトの色に反映させる色設定手段
として機能させる画像処理プログラム。
【請求項２】
請求項１に記載の画像処理プログラムであって、
前記色情報取得手段は、前記近傍座標における前記自己発光オブジェクトの深度が小さいほど前記通過オブジェクトの色を明るくする影響色情報を取得し、
前記色設定手段は、前記通過オブジェクトの深度が小さいほど前記通過オブジェクトの色を明るく設定する
画像処理プログラム。
【請求項３】
請求項２に記載の画像処理プログラムであって、
前記通過オブジェクト発生手段は、前記通過オブジェクトを複数の頂点から構成されるラインポリゴンとしてランダムに発生させ、前記仮想空間で落下する速度を与え、
前記色情報取得手段は、前記頂点ごとに前記近傍座標の色情報と輝度情報を乗算して影響色情報を取得し、
前記色設定手段は、前記影響色情報を前記通過オブジェクトの各頂点の色に反映させる
画像処理プログラム。
【請求項４】
請求項３に記載の画像処理プログラムであって、
コンピュータを、
前記通過オブジェクトの一番上の頂点に対してｙ軸の値に正方向の値、一番下の頂点に対してｙ軸の値に負方向の値のベクトルを設定し、その間の頂点に連続してベクトルを設定するベクトル設定手段
として機能させ、
前記近傍座標計算手段は、それぞれｘ軸の値が正方向の値とｘ軸の値が負方向の値の２つのベクトルを、前記通過オブジェクトの各頂点に設定されたベクトルに加算し、
前記色情報取得手段は、２つの前記加算したベクトルに対応する前記投影平面上の座標から得た色情報と深度情報との乗算値を加算して影響色情報を取得する
画像処理プログラム。
【請求項５】
請求項４に記載の画像処理プログラムであって、
コンピュータを、
前記通過オブジェクトの一番上の頂点に対してｙ軸の値を＋１、一番下の頂点に対してｙ軸の値を−１としてベクトルを設定し、その間の頂点に連続してベクトルを設定するベクトル設定手段
として機能させ、
前記近傍座標計算手段は、それぞれｘ軸の値が＋１とｘ軸の値が−１の２つのベクトルを、前記通過オブジェクトの各頂点に設定されたベクトルに加算し、
前記色情報取得手段は、２つの前記加算したベクトルに対応する前記投影平面上の座標から得た色情報と深度情報との乗算値を加算して影響色情報を取得する
画像処理プログラム。
【請求項６】
請求項１乃至５のいずれか一項に記載の画像処理プログラムを記録するコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオゲームやＣＧ（Computer Graphics）ビデオ等における表示画像の生成技術に関する。
【背景技術】
【０００２】
ビデオゲームやＣＧビデオ等においては、雨が降る画像が必要とされるシーンがしばしば存在する。更に、単に雨が降るだけでなく、夜のシーンにおいて街灯等の発する光によって光源周囲の雨筋が光る雨グレアと呼ばれる表現が要望される場合がある。
【０００３】
特許文献１には、雪や雨が降っている様子をゲーム画面に表示する場合に、３次元ゲーム空間全体に雪オブジェクト等を配置することによる処理負荷の増大を抑制するため、仮想カメラの面前の限られた領域にのみ雪オブジェクト等を配置する技術が開示されている。
【０００４】
また、特許文献２には、剣等のオブジェクトに光源からの反射光（グレア）をインパクトのある形で表現する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−８２８５９号公報
【特許文献２】特開２００６−３２３５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した特許文献１に開示された技術によれば、少ない処理負荷で雪や雨が降っている様子を表示することができるが、夜のシーンにおいて街灯等の発する光によって光源周囲の雨筋が光る雨グレアを表現することはできない。
【０００７】
また、特許文献２に開示された技術は剣等のオブジェクトによる光源の反射光を表現するものである。特許文献２に開示された技術を街灯等の発する光によって光源周囲の雨筋が光る雨グレアに適用する場合には、反射光を表現するための複雑な計算を３次元ゲーム空間に多数設定される全ての雨筋オブジェクト毎に行う必要があり、計算処理の負荷が増大してしまう。
【０００８】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、簡易な処理により、街灯等の発する光によって光源周囲の雨筋が光る雨グレアを表現することのできる画像処理プログラムおよびコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明にあっては、請求項１に記載されるように、コンピュータを、少なくとも自己発光オブジェクトを含むオブジェクトが配置された仮想空間に対し、仮想視点を設定し、当該仮想視点を基準とした視錐台の内部に配置されたオブジェクトを投影平面に投影する座標変換手段、前記自己発光オブジェクトの周囲を通過する通過オブジェクトを前記仮想空間に発生させる通過オブジェクト発生手段、前記投影平面のピクセル毎に前記仮想空間における前記自己発光オブジェクトの色情報および前記オブジェクトの深度情報をメモリに保持する保持手段、前記投影平面上における前記通過オブジェクトの近傍座標を算出する近傍座標計算手段、前記保持手段から算出された前記近傍座標における前記自己発光オブジェクトの色情報と深度情報を取得し、当該色情報と深度情報を乗算して影響色情報を取得する色情報取得手段、取得した影響色情報を前記通過オブジェクトの色に反映させる色設定手段として機能させる画像処理プログラムを要旨としている。
【００１０】
また、請求項２に記載されるように、請求項１に記載の画像処理プログラムであって、前記色情報取得手段は、前記近傍座標における前記自己発光オブジェクトの深度が小さいほど前記通過オブジェクトの色を明るくする影響色情報を取得し、前記色設定手段は、前記通過オブジェクトの深度が小さいほど前記通過オブジェクトの色を明るく設定するようにすることができる。
【００１１】
また、請求項３に記載されるように、請求項２に記載の画像処理プログラムであって、前記通過オブジェクト発生手段は、前記通過オブジェクトを複数の頂点から構成されるラインポリゴンとしてランダムに発生させ、前記仮想空間で落下する速度を与え、前記色情報取得手段は、前記頂点ごとに前記近傍座標の色情報と輝度情報を乗算して影響色情報を取得し、前記色設定手段は、前記影響色情報を前記通過オブジェクトの各頂点の色に反映させるようにすることができる。
【００１２】
また、請求項４に記載されるように、請求項３に記載の画像処理プログラムであって、コンピュータを、前記通過オブジェクトの一番上の頂点に対してｙ軸の値に正方向の値、一番下の頂点に対してｙ軸の値に負方向の値のベクトルを設定し、その間の頂点に連続してベクトルを設定するベクトル設定手段として機能させ、前記近傍座標計算手段は、それぞれｘ軸の値が正方向の値とｘ軸の値が負方向の値の２つのベクトルを、前記通過オブジェクトの各頂点に設定されたベクトルに加算し、前記色情報取得手段は、２つの前記加算したベクトルに対応する前記投影平面上の座標から得た色情報と深度情報との乗算値を加算して影響色情報を取得するようにすることができる。
【００１３】
また、請求項５に記載されるように、請求項４に記載の画像処理プログラムであって、コンピュータを、前記通過オブジェクトの一番上の頂点に対してｙ軸の値を＋１、一番下の頂点に対してｙ軸の値を−１としてベクトルを設定し、その間の頂点に連続してベクトルを設定するベクトル設定手段として機能させ、前記近傍座標計算手段は、それぞれｘ軸の値が＋１とｘ軸の値が−１の２つのベクトルを、前記通過オブジェクトの各頂点に設定されたベクトルに加算し、前記色情報取得手段は、２つの前記加算したベクトルに対応する前記投影平面上の座標から得た色情報と深度情報との乗算値を加算して影響色情報を取得するようにすることができる。
【００１４】
また、請求項６に記載されるように、請求項１乃至５のいずれか一項に記載の画像処理プログラムを記録するコンピュータ読み取り可能な記録媒体として構成することができる。
【発明の効果】
【００１５】
本発明の画像処理プログラムおよびコンピュータ読み取り可能な記録媒体にあっては、簡易な処理により、街灯等の発する光によって光源周囲の雨筋が光る雨グレアを表現することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態にかかる画像処理装置の構成例を示す図である。
【図２】グレアテクスチャの生成処理の例を示すフローチャートである。
【図３】グレアテクスチャの例を示す図である。
【図４】通過オブジェクトの描画処理の例を示すフローチャートである。
【図５】雨オブジェクトの頂点および法線の例を示す図である。
【図６】雨オブジェクトの頂点および法線に基づく処理例を示す図（その１）である。
【図７】ビュー空間および射影空間の例を示す図である。
【図８】雨オブジェクトの頂点および法線に基づく処理例を示す図（その２）である。
【図９】深度情報テクスチャの例を示す図である。
【図１０】生成画像例を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の好適な実施形態につき説明する。
【００１８】
＜構成＞
図１は本発明の一実施形態にかかる画像処理装置の構成例を示す図である。
【００１９】
図１において、画像処理装置は、ゲームアプリケーション等の３Ｄ（3 Dimension）オブジェクトの描画命令を含む３Ｄアプリケーション（３Ｄアプリケーションプログラム）２と、この３Ｄアプリケーション２から描画命令等を受け取るＯｐｅｎＧＬ、Ｄｉｒｅｃｔ３Ｄ等の３Ｄ−ＡＰＩ（Application Program Interface）３と、描画処理を実行するＧＰＵ（Graphics Processing Unit）４とを備えている。なお、図示を省略しているが、３Ｄアプリケーション２および３Ｄ−ＡＰＩ３の実行環境として、一般的なコンピュータのＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）等のハードウェア資源が設けられている。
【００２０】
ＧＰＵ４は、３Ｄ−ＡＰＩ３からＧＰＵコマンドおよびデータストリームを受け付けるＧＰＵフロントエンド部４１と、このＧＰＵフロントエンド部４１から３Ｄ頂点データを受け取って２Ｄスクリーン空間に投影した座標変換（行列の転置）等を行うプログラマブル頂点プロセッサ（ＶＳ：Vertex Processor）４２と、ＧＰＵフロントエンド部４１から与えられる頂点インデックスストリームとプログラマブル頂点プロセッサ４２で座標変換された頂点データとを組み立てる基本アセンブリ部４３とを備えている。プログラマブル頂点プロセッサ４２および基本アセンブリ部４３の部分は、バーテックスシェーダと呼ばれている。
【００２１】
また、ＧＰＵ４は、基本アセンブリ部４３で組み立てられた多角形、線および点のデータからラスタライズおよび補間を行うラスタライズ／補間部４４と、このラスタライズ／補間部４４からラスタライズ済のピクセル（フラグメント）データを受け取ってテクスチャマッピング等を行うプログラマブルピクセルプロセッサ（ＰＳ：Pixel Processor）４５と、ラスタライズ／補間部４４から与えられるピクセル位置ストリームとプログラマブルピクセルプロセッサ４５から与えられるテクスチャマッピング済のデータからラスタ演算（ピクセルデータの画面上での配置）を行うラスタ演算部４６とを備えている。ラスタライズ／補間部４４、プログラマブルピクセルプロセッサ４５およびラスタ演算部４６の部分は、ピクセルシェーダと呼ばれている。
【００２２】
また、ＧＰＵ４は、ラスタ演算部４６により描画内容が書込・更新されるとともに、ＧＰＵ４内の各部から参照・更新が可能なグレアテクスチャ４７１および深度情報テクスチャ４７２と、ラスタ演算部４６により描画内容が書込・更新されるフレームバッファ４８とを備えている。
【００２３】
グレアテクスチャ４７１および深度情報テクスチャ４７２は、雨オブジェクトの描画処理において使用される。グレアテクスチャ４７１については、その生成処理を含め、後述する。
【００２４】
深度情報テクスチャ４７２は、描画フレームの各ピクセルの深度情報（視点からのｚ方向距離）を保持するテクスチャである。テクスチャは、テクスチャ空間のＵ座標（一般的に、０≦Ｕ≦１）とＶ座標（一般的に、０≦Ｖ≦１）に対応して値を保持するマップデータである。テクスチャは一般に色情報のデータを保持する形式となっているため、色情報以外の情報を保持する場合には色情報の形式に変換されて格納される。
【００２５】
フレームバッファ４８に書き込まれた内容は周期的に読み出されてビデオ信号に変換され、モニタ装置等によって表示される。
【００２６】
また、処理に必要なデータがデータ保持部５に保持されている。主なデータとしては、モデルデータと、モデル姿勢と、視点・視方向・画角とがある。モデルデータには、マテリアルと、頂点座標と、法線と、テクスチャと、頂点カラー（ディフューズ色）とが含まれる。
【００２７】
モデルデータは、仮想３次元空間内のモデルの標準姿勢における形態を表現したポリゴンデータである。インスタンス化されて仮想３次元空間内に配置されたモデルはオブジェクトと呼ぶ場合がある。後述する雨オブジェクトは、単純な構成であるため、モデルとして保持しておかなくても、プログラムから直接に生成することができる。マテリアルは、モデルの種別を区別する情報であり、街灯のように発光するオブジェクトである場合には自己発光値（Emissive）が設定される。頂点座標は、モデルのポリゴンの頂点の座標（ｘ座標、ｙ座標、ｚ座標）である。法線は、各頂点の面する方向を示すベクトル値である。テクスチャは、ポリゴンの面に貼り付けられる画像データである。頂点カラーは、各頂点のカラーを示すＲＧＢ（Red Green Blue）等の値である。
【００２８】
モデル姿勢は、各モデルの仮想３次元空間内における位置および回転角度を示す値である。視点・視方向・画角は、仮想３次元空間内のモデルを投影面上の２次元画像として描画する際の仮想カメラ（仮想視点）の３次元位置、視線中心方向および視野角である。
【００２９】
なお、画像処理装置１にＧＰＵ４を用いた構成について説明したが、汎用的なコンピュータのハードウェア上でソフトウェア的にグラフィックエンジンを実現した場合にも本発明を適用できることは言うまでもない。この場合、ＧＰＵ４の機能は３Ｄアプリケーション２や３Ｄ−ＡＰＩ３と同様にソフトウェア的に実現され、テクスチャ４７１、４７２やフレームバッファ４８はメモリ（ＲＡＭ）上に配置される。
【００３０】
＜動作＞
図２はグレアテクスチャ４７１の生成処理の例を示すフローチャートである。グレアテクスチャ４７１は、マテリアルに自己発光値が設定されたモデル（自己発光オブジェクト）の発光部分のピクセル毎の色情報を格納したテクスチャである。グレアテクスチャ４７１の生成処理は、主にピクセルシェーダにより行われる。
【００３１】
図２において、毎フレームもしくは数フレームおきに処理を開始すると（ステップＳ１０１）、マテリアルに自己発光値が設定されたモデルのピクセルを、予め用意されたテクスチャバッファであるグレアテクスチャ４７１に描画し（ステップＳ１０２）、処理を終了する（ステップＳ１０３）。
【００３２】
図３はグレアテクスチャ４７１の例を示す図であり、ピクセル毎の発光色を示している。図では、６個の立方体状の発光部を持つ街灯が画面中央に配置され、画面の右端にも他の街灯の一部が見えている。図において、白い部分は発光強度が高い部分であり、黒い部分は発光強度が低い部分である。
【００３３】
図４は通過オブジェクトの描画処理の例を示すフローチャートである。通過オブジェクトとして、例えば、雨筋を表現する雨オブジェクト、雪の粒を表現する雪オブジェクト、噴水等で生じる水しぶきを表現する水滴オブジェクトなどが想定される。以下、通過オブジェクトの一例として、雨オブジェクトに関して本発明の詳細な説明を行う。
【００３４】
なお、通過オブジェクトを除くその他のモデルのポリゴンについては通常の描画処理が行われ、通過オブジェクトの描画処理結果とフレームバッファ４８上で合成される。
【００３５】
図４において、毎フレームもしくは数フレームおきに処理を開始すると（ステップＳ２０１）、降雨範囲（ｘ、ｙ、ｚ値の範囲）を設定する（ステップＳ２０２）。
【００３６】
次いで、設定した降雨範囲内で雨オブジェクトを生成する（ステップＳ２０３）。雨オブジェクトは、降雨範囲の最大ｙ座標から開始し、最小ｙ座標に達して消滅するまで、座標を所定の速度ベクトルに基づいて毎回更新する。図５（ａ）は雨オブジェクトの例を示しており、ここでは５つの頂点ＶＴ１〜ＶＴ５を結んだラインポリゴンにより雨のライン（雨筋）を表現している。なお、頂点の数は５つに限られず、頂点の間隔も等間隔である必要はない。頂点が直線状のラインに沿う必要もなく、曲線状のラインに沿うようにしてもよい。また、図では垂直方向に落ちる雨のラインを示しているが、斜め方向に雨が落ちるようにしてもよく、その場合、頂点は斜め方向に配置される。
【００３７】
次いで、頂点座標の周囲に位置する近傍座標を求める処理を行う。図４に戻り、雨オブジェクトの各頂点と対になる法線に、ｙ軸にのみ値を設定したベクトルを設定する（ステップＳ２０４）。ベクトルのｙ軸の値は、例えば、一番上の頂点から一番下の頂点にかけて１．０〜−１．０とする。図５（ｂ）は頂点ＶＴ１に法線（０，１，０）、頂点ＶＴ２に法線（０，０．５，０）、頂点ＶＴ３に法線（０，０，０）、頂点ＶＴ４に法線（０，−０．５，０）、頂点ＶＴ５に法線（０，−１，０）を設定した状態を示している。
【００３８】
次いで、図４に戻り、バーテックスシェーダによる処理を行う（ステップＳ２０５）。
【００３９】
先ず、ｘ軸の正方向に値を設定したベクトルｖ１と、ｘ軸の負方向に値を設定したベクトルｖ２を、雨オブジェクトの各頂点の法線にそれぞれ加算したベクトルｖ１'、ｖ２'を計算する（ステップＳ２０６）。ベクトルｖ１とベクトルｖ２のｘ軸の値の絶対値は所定のスケーリング値とする。図６は処理内容を概念的に示しており、頂点ＶＴ１の法線（ベクトル）にベクトルｖ１とベクトルｖ２をそれぞれ加算し、ベクトルｖ１'、ｖ２'を求めた状態を示している。ここで求めたベクトルｖ１'、ｖ２'が３次元空間内の近傍座標である。他の頂点ＶＴ２〜ＶＴ５についても同様にベクトルｖ１'、ｖ２'を求める。なお、上記手順で求めたベクトルｖ１'、ｖ２'にさらに係数を乗算した各ベクトルを近傍座標としてもよい。
【００４０】
次いで、図４に戻り、雨オブジェクトの各頂点に周知のビュー変換行列を乗算し、ビュー空間に移動した雨オブジェクトの頂点座標を計算する（ステップＳ２０７）。
【００４１】
図７（ａ）はビュー空間の例を示している。ビュー空間は視点（仮想カメラ）ＶＰを基準とした座標空間であり、視点ＶＰから視方向に対して横軸がｘ軸、縦軸がｙ軸、奥行きがｚ軸となる。視点ＶＰの視方向に対してｘ軸方向およびｙ軸方向にそれぞれ画角だけ振った範囲の、視点ＶＰに近い側には近クリップ平面ＣＰ１が設定され、遠い側には遠クリップ平面ＣＰ２が設定される。近クリップ平面ＣＰ１と遠クリップ平面ＣＰ２と画角を示す面で囲われる６面体は視錐台と呼ばれ、その内部に配置されるモデル（オブジェクト）が描画対象となる。視錐台の位置は、ビデオゲームの場合、プレイヤ（遊戯者）が操作手段により操作するプレイヤキャラクタを含むように決定される。図７（ｂ）は射影空間の例を示しており、図７（ａ）に示したビュー空間を、−１≦ｘ≦１、−１≦ｙ≦１、０≦ｚ≦１の範囲に変換したものである。
【００４２】
次いで、図４に戻り、ベクトルｖ１'、ｖ２'にビュー空間の雨オブジェクトの各頂点座標を加算したビュー空間座標ｐ１、ｐ２を算出する（ステップＳ２０８）。
【００４３】
次いで、ビュー空間座標ｐ１、ｐ２に周知の射影変換行列を乗算して射影空間座標ｐ１'、ｐ２'を算出する（ステップＳ２０９）。
【００４４】
次いで、射影空間座標ｐ１'、ｐ２'からテクスチャ空間座標ｐ１"、ｐ２"を算出する（ステップＳ２１０）。変換式は、例えば、
ｐｉ"（ｘ）＝０．５・ｐｉ'（ｘ）＋０．５
ｐｉ"（ｙ）＝−０．５・ｐｉ'（ｙ）＋０．５
を用いる。図８は、雨オブジェクトの頂点ＶＴ１の法線にベクトルｖ１、ｖ２をそれぞれ加算し、種々の変換を経て、テクスチャ空間座標ｐ１"、ｐ２"が求められた状態を示している。ここで求めたｐ１"、ｐ２"がテクスチャ空間上での近傍座標である。
【００４５】
次いで、図４に戻り、ピクセルシェーダによるピクセル毎の処理を行う（ステップＳ２１１）。
【００４６】
先ず、テクスチャ空間座標ｐ１"、ｐ２"を使用してグレアテクスチャ４７１（図３）から色情報ｃ１、ｃ２を取得する（ステップＳ２１２）。
【００４７】
次いで、テクスチャ空間座標ｐ１"、ｐ２"を使用して深度情報テクスチャ４７２から深度情報ｄ１、ｄ２を取得する（ステップＳ２１３）。図９は深度情報テクスチャ４７２の例を示しており、図３のグレアテクスチャ４７１の例と同じシーンでの値を示している。深度情報テクスチャ４７２では、視点側により近い自己発光オブジェクトに対応するピクセルほど高い輝度が設定されている。つまり、図９において、白い部分は視点側に近い位置にオブジェクトが存在することを示し、黒い部分は視点から遠い位置にオブジェクトが存在することを示している。
【００４８】
次いで、図４に戻り、色情報ｃ１に深度情報ｄ１を輝度値として乗算して色情報ｃ１・ｄ１を計算するとともに、色情報ｃ２に深度情報ｄ２を輝度値として乗算して色情報ｃ２・ｄ２を計算し、色情報ｃ１・ｄ１と色情報ｃ２・ｄ２を加算した色情報Ｄを計算する（ステップＳ２１４）。色情報に深度情報を乗算するのは、抽出した自己発光オブジェクトの色情報に対し、隔たった距離によって強弱を持たせるためである。
【００４９】
次いで、色情報Ｄを雨オブジェクトの頂点のディフューズ色に加算し、その色を頂点の出力色（フレームバッファ４８への出力色）に設定する（ステップＳ２１５）。
【００５０】
そして、雨オブジェクトに設定された全ての頂点に対し出力色の設定が行われた後に、既に設定された各頂点の出力色をもとに各頂点間のピクセルの出力色を補間して算出し、雨オブジェクト全体の出力色を設定し（ステップＳ２１６）、処理を終了する（ステップＳ２１７）。
【００５１】
以上のように、図４に記載した処理では、雨オブジェクトの各頂点の近傍に位置する近傍座標（テクスチャ空間座標ｐ１"、ｐ２"）を算出し、近傍座標の色情報を加味して雨オブジェクトの頂点の出力色を設定する処理を実行する。これにより、街灯などの光源の周辺を雨オブジェクト等の通過オブジェクトが通過した場合において、雨筋が光る雨グレア等を表現することができる。
【００５２】
図１０は生成画像例を示す図であり、画面中央の街灯の周辺を落ちる雨のラインが、街灯の明かりにより部分的に照らされている状態が表現されている。
【００５３】
＜総括＞
以上説明したように、本実施形態によれば、雨オブジェクトの各頂点座標と、その近傍の座標における色情報、および深度情報から雨オブジェクトの出力色を決定するため、簡易な処理により、街灯等の発する光によって光源周囲の雨筋が光る雨グレアを表現することができるという利点がある。
【００５４】
なお、本実施形態によれば、雨オブジェクトの出力色の設定をより簡易な処理とするために、雨筋をラインポリゴンで形成する場合について述べたが、本発明はこれに限らず、幅を持ったポリゴン（例えば、矩形状、円形状）で雨筋や雪の粒を表現する場合にも適用が可能である。
【００５５】
また、本実施形態によれば、雨ポリゴンの上端の頂点は、より上方位置の座標の光源の影響を受け、雨ポリゴンの下端の頂点はより下方位置の座標の光源の影響を受けることで、より自然な雨グレアを表現するために、上端の位置ではより上方の、下端の位置では寄り下方の座標を近傍座標と設定するべく法線値を設定する場合について述べたが、本発明はこれに限らず、頂点座標の近傍の座標を取得できる範囲であれば各頂点の法線値はどのような値であってもよい。
【００５６】
また、本実施形態によれば、ラインポリゴンでは通常使用されない法線値を用いて近傍座標を求めることで、より無駄のない処理で雨グレアを表現している場合について述べたが、本発明はこれに限らず、各頂点の法線値を設定せずに、各頂点座標に所定のベクトルを加算することで、近傍座標を求める構成する場合にも適用可能である。
【００５７】
また、本実施形態によれば、簡易な処理でより自然な雨オブジェクトを生成するために、頂点ごとに法線の値を使用して近傍座標を２点算出し、各近傍座標の色情報を頂点の出力色に加味する場合について述べたが、近傍座標の数は２点に限らず１点でもよいし、３点以上算出してもよい。
【００５８】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【符号の説明】
【００５９】
１          画像処理装置
２          ３Ｄアプリケーション
３          ３Ｄ−ＡＰＩ
４          ＧＰＵ
４１        ＧＰＵフロントエンド部
４２        プログラマブル頂点プロセッサ
４３        基本アセンブリ部
４４        ラスタライズ／補間部
４５        プログラマブルピクセルプロセッサ
４６        ラスタ演算部
４７１      グレアテクスチャ
４７２      深度情報テクスチャ
４８        フレームバッファ
５          データ保持部
【図１】
0005423276.tif 000002
【図２】
0005423276.tif 000003
【図４】
0005423276.tif 000004
【図５】
0005423276.tif 000005
【図６】
0005423276.tif 000006
【図７】
0005423276.tif 000007
【図８】
0005423276.tif 000008
【図３】
0005423276.tif 000009
【図９】
0005423276.tif 000010
【図１０】
0005423276.tif 000011