(57)【要約】【課題】  半透明なオブジェクトを含むオブジェクト空間の画像に対して、その透明度に応じた光源エフェクトを表現するためのプログラム等を提供すること。【解決手段】  フレームバッファに描画されている元画像における光源（太陽）の位置及び大きさに基づいて照射源判定領域Ｅ１０を決定する。次いで、決定した照射源判定領域Ｅ１０のα値をフレームバッファから抽出してサンプリングし、１６ドット×１６ドットの大きさに拡大又は縮小する。続いて、各ドットに設定されている値を反転し、隣り合うドットの情報を平均化する処理を行って１ドットに縮小する。そして、得られた値を１６ドット×１６ドットの大きさに拡大し、光源エフェクト描画用のカラーパレット（ＬＵＴ）のα値として設定する。【選択図】    図２
2005222358.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、所与の視点に基づくオブジェクト空間の投影変換処理をさせ、透明度情報を含む色情報を画素毎に決定することで各オブジェクトの透明度情報を反映させた当該オブジェクト空間の画像を生成させるとともに、当該生成画像に光源の色情報に基づく彩色を施す光源エフェクト処理を行わせるためのプログラムであって、
前記光源の位置に基づいて前記生成画像中に照射源判定領域を設定する領域設定手段、
前記照射源判定領域の透明度情報に基づいて前記光源エフェクト処理における彩色時の色情報を設定する彩色情報設定手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
請求項１に記載のプログラムであって、
前記領域設定手段が、前記光源を陰面消去処理をせずに投影変換処理した場合の前記生成画像中の光源全体を含む範囲を前記照射源判定領域として設定するように前記コンピュータを機能させるためのプログラム。
【請求項３】
請求項１又は２に記載のプログラムであって、
前記彩色情報設定手段が、前記照射源判定領域のうち、所定の透明度条件を満たさないオブジェクトが描画されている部分以外の部分を判定部分として判定する判定手段を有し、この判定手段により判定された判定部分の透明度情報に基づいて彩色時の色情報を設定するように前記コンピュータを機能させるためのプログラム。
【請求項４】
前記コンピュータに、前記透明度条件を満たさないオブジェクトを前記視点からみた奥行値（Ｚ値）を参照及び更新して描画するＺバッファ法で描画させ、前記透明度条件を満たすオブジェクトを前記Ｚ値の更新をせずに参照を行いながらＺバッファ法で描画させることで前記オブジェクト空間の画像を生成させるための請求項３に記載のプログラムであって、
前記判定手段が、前記Ｚ値に基づいて前記照射源判定領域のうちの、前記透明度条件を満たさないオブジェクトが描画されている部分を判定し、この判定した部分以外の部分を判定部分とするように前記コンピュータを機能させるためのプログラム。
【請求項５】
請求項３又は４に記載のプログラムであって、
前記彩色情報設定手段が、前記判定手段により判定された判定部分の透明度情報を前記照射源判定領域の大きさで平均化した値に基づいて彩色時の色情報を設定するように前記コンピュータを機能させるためのプログラム。
【請求項６】
請求項３〜５の何れか一項に記載のプログラムであって、
前記透明度条件は半透明であることであることを特徴とするプログラム。
【請求項７】
請求項３〜５の何れか一項に記載のプログラムであって、
前記透明度条件は、透明度を不透明側の値と透明側の値に分けた場合の透明側の値であることであることを特徴とするプログラム。
【請求項８】
請求項１〜７の何れか一項に記載のプログラムであって、
前記彩色情報設定手段が、前記光源エフェクト処理における彩色時の色情報のうち、透明度情報を設定するように前記コンピュータを機能させ、
前記彩色情報設定手段により設定された透明度情報に基づく半透明合成処理により前記生成画像に彩色を施して前記光源エフェクト処理を行う手段として前記コンピュータを機能させるためのプログラム。
【請求項９】
請求項１〜８の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１０】
所与の視点に基づくオブジェクト空間の投影変換処理をし、透明度情報を含む色情報を画素毎に決定することで各オブジェクトの透明度情報を反映させた当該オブジェクト空間の画像を生成するとともに、当該生成画像に光源の色情報に基づく彩色を施す光源エフェクト処理を行うための画像生成装置であって、
前記光源の位置に基づいて前記生成画像中に照射源判定領域を設定する領域設定手段と、
前記照射源判定領域の透明度情報に基づいて前記光源エフェクト処理における彩色時の色情報を設定する彩色情報設定手段と、
を備えたことを特徴とする画像生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所与の視点に基づくオブジェクト空間の投影変換処理をさせ、透明度情報を含む色情報を画素毎に決定することで各オブジェクトの透明度情報を反映させた当該オブジェクト空間の画像を生成させるとともに、当該生成画像に光源の色情報に基づく彩色を施す光源エフェクト処理を行わせるためのプログラム等に関する。
【背景技術】
【０００２】
太陽光源等の高輝度の光源の周りに発生するぼやけた部分（ハレーション）を表現する技術として、光源オブジェクトの基準面積に対するレンダリング画像における光源オブジェクト面積の比率を算出し、算出した比率に基づいてハレーションを描画する際の半透明情報又は色情報を変化させる技術が知られている。これによれば、光源オブジェクトの見え方によって、光源オブジェクトの周りに発生するハレーションの表現を変化させることができる（特許文献１参照。）。
【特許文献１】特開２００３−６６７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、例えば、雲などの半透明なオブジェクトを含むオブジェクト空間の画像に、前述のハレーションのような太陽光による光源エフェクトを描画する場合、特許文献１に開示されている技術では、雲の厚さ（透明度）に応じて光源エフェクトの表現を変化させるといったことはできなかった。そこで本発明は、半透明なオブジェクトを含むオブジェクト空間の画像に対して、その透明度に応じた光源エフェクトを表現するためのプログラム等を提供することを目的とする。
【課題を解決するための手段】
【０００４】
以上の課題を解決するための第１の発明は、コンピュータに、所与の視点に基づくオブジェクト空間の投影変換処理をさせ、透明度情報を含む色情報を画素毎に決定することで各オブジェクトの透明度情報を反映させた当該オブジェクト空間の画像を生成させるとともに、当該生成画像に光源の色情報に基づく彩色を施す光源エフェクト処理を行わせるためのプログラムであって、
前記光源の位置に基づいて前記生成画像中に照射源判定領域を設定する領域設定手段（例えば、図２に示す光源エフェクト描画部２３２）、
前記照射源判定領域の透明度情報に基づいて前記光源エフェクト処理における彩色時の色情報を設定する彩色情報設定手段（例えば、図２に示す光源エフェクト描画部２３２）、
として前記コンピュータを機能させるためのプログラムである。
【０００５】
また、第１０の発明は、所与の視点に基づくオブジェクト空間の投影変換処理をし、透明度情報を含む色情報を画素毎に決定することで各オブジェクトの透明度情報を反映させた当該オブジェクト空間の画像を生成するとともに、当該生成画像に光源の色情報に基づく彩色を施す光源エフェクト処理を行うための画像生成装置であって、
前記光源の位置に基づいて前記生成画像中に照射源判定領域を設定する領域設定手段と、
前記照射源判定領域の透明度情報に基づいて前記光源エフェクト処理における彩色時の色情報を設定する彩色情報設定手段と、
を備えたことを特徴としている。
【０００６】
この第１又は第１０の発明によれば、光源の色情報に基づく彩色を施す光源エフェクト処理を行う際に、光源の位置に基づいて設定した照射源判定領域の透明度情報に基づいて、光源エフェクト処理における彩色時の色情報を設定することができる。
【０００７】
第２の発明は、第１の発明のプログラムであって、
前記領域設定手段が、前記光源を陰面消去処理をせずに投影変換処理した場合の前記生成画像中の光源全体を含む範囲を前記照射源判定領域として設定するように前記コンピュータを機能させるためのプログラムである。
【０００８】
この第２の発明によれば、光源を陰面消去処理をせずに投影変換処理した場合の生成画像中の光源全体を含む範囲を照射源判定領域として設定し、この照射源判定領域に基づいて、光源エフェクト処理における彩色時の色情報を設定することができる。
【０００９】
第３の発明は、第１又は第２の発明のプログラムであって、
前記彩色情報設定手段が、前記照射源判定領域のうち、所定の透明度条件を満たさないオブジェクトが描画されている部分以外の部分を判定部分として判定する判定手段を有し、この判定手段により判定された判定部分の透明度情報に基づいて彩色時の色情報を設定するように前記コンピュータを機能させるためのプログラムである。
【００１０】
この第３の発明によれば、照射源判定領域のうち、所定の透明度条件を満たさないオブジェクトが描画されている部分以外の部分を判定部分として判定し、この判定部分の透明度情報に基づいて、光源エフェクト処理における彩色時の色情報を設定することができる。
【００１１】
第４の発明は、前記コンピュータに、前記透明度条件を満たさないオブジェクトを前記視点からみた奥行値（Ｚ値）を参照及び更新して描画するＺバッファ法で描画させ、前記透明度条件を満たすオブジェクトを前記Ｚ値の更新をせずに参照を行いながらＺバッファ法で描画させることで前記オブジェクト空間の画像を生成させるための請求項３に記載のプログラムであって、
前記判定手段が、前記Ｚ値に基づいて前記照射源判定領域のうちの、前記透明度条件を満たさないオブジェクトが描画されている部分を判定し、この判定した部分以外の部分を判定部分とするように前記コンピュータを機能させるためのプログラムである。
【００１２】
この第４の発明によれば、Ｚ値に基づいて判定された、照射源判定領域のうちの透明度条件を満たさないオブジェクトが描画されている部分以外の部分を判定部分として判定し、この判定部分の透明度情報に基づいて、光源エフェクト処理における彩色時の色情報を設定することができる。
【００１３】
第５の発明は、第３又は第４の発明のプログラムであって、
前記彩色情報設定手段が、前記判定手段により判定された判定部分の透明度情報を前記照射源判定領域の大きさで平均化した値に基づいて彩色時の色情報を設定するように前記コンピュータを機能させるためのプログラムである。
【００１４】
この第５の発明によれば、上記した判定部分の透明度情報を前記照射源判定領域の大きさで平均化した値に基づいて、光源エフェクト処理における彩色時の色情報を設定することができる。
【００１５】
第６の発明は、第３〜第５の何れかの発明のプログラムであって、
前記透明度条件は半透明であることであることを特徴としている。
【００１６】
この第６の発明によれば、照射源判定領域のうち、半透明であるオブジェクトが描画されている部分の透明度情報に基づいて、光源エフェクト処理における彩色時の色情報を設定することができる。
【００１７】
第７の発明は、第３〜第５の何れかの発明のプログラムであって、
前記透明度条件は、透明度を不透明側の値と透明側の値に分けた場合の透明側の値であることであることを特徴とするプログラムである。
【００１８】
この第７の発明によれば、照射源判定領域のうち、透明度情報として透明度を不透明側の値と透明側の値に分けた場合の透明側の値が設定されている部分の透明度情報に基づいて、光源エフェクト処理における彩色時の色情報を設定することができる。
【００１９】
第８の発明は、第１〜第７の発明のプログラムであって、
前記彩色情報設定手段が、前記光源エフェクト処理における彩色時の色情報のうち、透明度情報を設定するように前記コンピュータを機能させ、
前記彩色情報設定手段により設定された透明度情報に基づく半透明合成処理により前記生成画像に彩色を施して前記光源エフェクト処理を行う手段として前記コンピュータを機能させるためのプログラムである。
【００２０】
この第８の発明によれば、生成画像中の照射源判定領域の透明度情報に基づいて、光源エフェクト処理における彩色時の透明度情報を設定し、設定された透明度情報に基づく半透明合成処理により生成画像に彩色を施して光源エフェクト処理を行うことができる。
【００２１】
第９の発明は、第１〜第８の何れかの発明のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
【００２２】
この第９の発明によれば、コンピュータに、情報記憶媒体からプログラムを読み出させて演算処理させることによって、第１〜第８の何れかの発明と同様の効果を奏する情報記憶媒体を実現することができる。
【発明の効果】
【００２３】
本発明によれば、光源の色情報に基づく彩色を施す光源エフェクト処理を行う際に、光源の位置に基づいて設定した照射源判定領域の透明度情報に基づいて、光源エフェクト処理における彩色時の色情報を設定することができる。
【発明を実施するための最良の形態】
【００２４】
以下、図面を参照し、本発明を適用した画像生成装置について詳細に説明する。
【００２５】
〔第１実施形態〕
先ず、第１実施形態について、フレームバッファに描画された投影変換後の画像（元画像）に、オブジェクト空間の画像において無限遠に配置される太陽（光源）の太陽光による光源エフェクトを描画する（光源エフェクト処理をする）場合を例にとって説明する。尚、フレームバッファに元画像を描画する際には、不透明のオブジェクト（不透明オブジェクト）から描画し、最後に半透明のオブジェクト（半透明オブジェクト）を描画することとする。また、第１実施形態では、画像生成装置は、半透明オブジェクトを描画する際、フレームバッファに記憶されているα値（透明度情報；０≦α≦１．０であり、α＝０は透明、α＝１．０は不透明を意味する。）を参照し、その値が描画する画素のα値より小さい場合に描画することとする。
【００２６】
［原理］
先ず、図１を参照して、第１実施形態の原理について説明する。図１（ａ）は、フレームバッファに描画される元画像を示す図であり、フレームバッファには、半透明オブジェクトである雲オブジェクトＯ１０が描画されている。この元画像における光源（太陽）の位置及び大きさに基づいて、照射源判定領域Ｅ１０が決定される。具体的には、光源を陰面消去処理をせずに投影変換処理した場合の元画像中の光源全体を含む範囲が、照射源判定領域に決定される。尚、図１（ａ）において、光源の位置及び大きさを点線で示している。
【００２７】
そして、前述のように決定された照射源判定領域Ｅ１０のα値に基づいて、光源エフェクトを描画する際の色指定のために参照されるカラーパレット（ＬＵＴ）のα値が決定される。すなわち、図１（ｂ）に示すように、先ず、フレームバッファに記憶されている照射源判定領域Ｅ１０のα値を抽出・サンプリングし、１６ドット×１６ドットの大きさに拡大又は縮小する。続いて、照射源判定領域Ｅ１０の各ドットに設定されているα値を１から減算することで反転する。
【００２８】
次に、隣り合うドットの情報（値）を平均化する処理を行っていき、照射源判定領域Ｅ１０を最終的に１ドットに縮小することで、照射源判定領域Ｅ１０中の反転された値の平均を求める。そして、得られた値を１６ドット×１６ドットの大きさに拡大し、光源エフェクト描画用のカラーパレット（ＬＵＴ）のα値として設定する。ここで、照射源判定領域を１ドットに縮小又は拡大する処理は、画像を縮小又は拡大することによって行われる。すなわち、画像の縮小・拡大処理を行うための回路は、画像生成装置には通常組み込まれている（例えばＤＳＰ等として）ため、この回路を利用することで高速に平均値の算出（１ドットへの画像の縮小）及び展開（１ドットからの画像の拡大）を行えるのである。
【００２９】
このように、照射源判定領域Ｅ１０のα値を反転することにより、反転された値＝０のドット部分を不透明オブジェクトが描画されている部分と判定できる。すなわち、反転された値＝０のドット部分では、無限遠に配置される太陽が隠されてしまうと判定できる。したがって、反転された値が０以外のドット部分（すなわち、不透明オブジェクトが描画されていない部分（特許請求の範囲における判定部分の一例である。））の値を照射源判定領域Ｅ１０の大きさ（ドット数）で平均化した値で、光源エフェクト描画用のカラーパレット（ＬＵＴ）のα値を設定することとなる。つまり、太陽光を遮らない部分の透明度で、射し込む光の程度（光源エフェクト描画用の色情報）が可変されることとなる。
【００３０】
［機能構成］
次に、第１実施形態における画像生成装置１０の機能構成について説明する。図２は、画像生成装置１０の機能構成の一例を示すブロック図である。図２に示すように、画像生成装置１０は、入力部１００と、処理部２００と、表示部３００と、記憶部４００と、一時記憶部５００とを備えて構成されている。
【００３１】
入力部１００は、各種操作を入力するためのものであり、入力部１００から入力される操作信号は、処理部２００に出力される。
【００３２】
処理部２００は、記憶部４００に格納されるプログラムやデータ等に基づいて、画像生成装置１０全体の制御、画像生成装置１０内の各機能部への指示、画像処理等の各種処理を行う。この処理部２００の機能は、各種プロセッサ（ＣＰＵ，ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）等のハードウェアや、所与のプログラムにより実現される。
【００３３】
この処理部２００は、主な機能部として、オブジェクト空間設定部２１０と、視点設定部２２０と、画像生成部２３０とを含み、１フレーム時間（１／６０秒）で１枚の画像を生成して表示部３００に表示出力させる。したがって、画像生成には高速化が要求される。
【００３４】
オブジェクト空間設定部２１０は、光源や雲オブジェクト等のオブジェクトをオブジェクト空間に配置する処理等を行い、処理結果を画像生成部２３０に出力する。
【００３５】
視点設定部２２０は、オブジェクト空間中の水平方向及び垂直方向への移動が自在な仮想カメラの視点や視線方向を決定する処理等を行い、処理結果を画像生成部２３０に出力する。
【００３６】
画像生成部２３０は、画像生成プログラム４０２に従って、オブジェクト空間設定部２１０及び視点設定部２２０による演算結果に基づいた画像を生成し、生成した画像の画像信号を表示部３００に出力する。この画像生成部２３０は、光源エフェクトの描画に係る処理を実行する光源エフェクト描画部２３２を備えている。
【００３７】
光源エフェクト描画部２３２は、第１光源エフェクト描画プログラム４０２ａに従って第１光源エフェクト描画処理を実行する機能部であり、フレームバッファ５０２に描画される元画像における光源（太陽）の位置及び大きさに基づいて照射源判定領域を決定し、この照射源判定領域のα値をもとに、光源エフェクト描画用のカラーパレット（ＬＵＴ）５０４のα値を決定する処理を行う。
【００３８】
表示部３００は、画像生成部２３０から入力される画像信号に基づいて各種画面を表示する。
【００３９】
記憶部４００には、各種プログラムやデータが格納される。特に、第１実施形態を実現するため、第１光源エフェクト描画プログラム４０２ａを有する画像生成プログラム４０２が格納される。
【００４０】
一時記憶部５００には、処理部２００が実行する各種プログラムや、これらプログラムの実行に係るデータ、或いは画像生成部２３０により生成される画像データ等が一時的に格納される。この一時記憶部５００は、第１実施形態を実現するため、特に、画像生成部２３０により生成される画像が格納されるフレームバッファ５０２と、光源エフェクトを描画する際の色指定のために参照されるカラーパレット（ＬＵＴ）５０４とを含む。この一時記憶部５００の機能は、ＲＡＭやＶＲＡＭ等により実現可能である。
【００４１】
［処理の流れ］
次に、図３を参照して、第１実施形態における光源エフェクト描画部２３２の処理の流れについて説明する。図３は、第１光源エフェクト描画処理の実行に係る光源エフェクト描画部２３２の動作の一例を示すフローチャートである。この第１光源エフェクト描画処理は、光源エフェクト描画部２３２が第１光源エフェクト描画プログラム４０２ａを読み出して実行することにより実現されるものであり、オブジェクト空間設定部２１０によって光源や雲オブジェクト等のオブジェクトの配置処理が行われるとともに、視点設定部２２０によって仮想カメラの視点や視線方向が決定され、画像生成部２３０によって仮想カメラから見たオブジェクト空間の画像が視点座標系に投影変換されてフレームバッファ５０２に描画された後に実行される。
【００４２】
図３に示すように、光源エフェクト描画部２３２は、先ず、光源（太陽）を投影変換することで視点座標系におけるその位置及び大きさを算出し（ステップａ１０）、算出した光源の位置及び大きさに基づいて照射源判定領域を決定する（ステップａ２０）。
【００４３】
次に、光源エフェクト描画部２３２は、フレームバッファ５０２に記憶されている照射源判定領域のα値を抽出・サンプリングして１６ドット×１６ドットの大きさに拡大又は縮小し（ステップａ３０）、各ドットに設定されている値を反転する（ステップａ４０）。具体的には、１からそのα値を減算した値とする。続いて、光源エフェクト描画部２３２は、隣り合うドットの情報を平均化する処理を行って照射源判定領域を１ドットに縮小し（ステップａ５０）、得られた値を１６ドット×１６ドットの大きさに拡大して（ステップａ６０）、カラーパレット（ＬＵＴ）５０４のα値として設定する（ステップａ７０）。そして、光源エフェクト描画部２３２は、カラーパレット（ＬＵＴ）５０４に設定されたα値に基づく半透明合成処理により元画像に彩色を施して、光源エフェクトの描画を行う（ステップａ８０）。
【００４４】
図４及び図５は、第１光源エフェクト描画処理により生成された画像の一例を示す図である。図４及び図５は、雲が描画された元画像に対して太陽光による光源エフェクトが描画された画像の一例を示しており、図５は、図４に描画された雲よりも厚い雲（すなわち、図４に示す雲に設定されているα値よりも大きい値（より不透明な値）が透明度として設定された雲）が描画された画像に対して太陽光による光源エフェクトが描画された画像の一例を示している。この図４及び図５に示すように、第１光源エフェクト描画処理を実行することにより、雲の厚さに応じた明るさで光源エフェクトが描画される。
【００４５】
［ハードウェア構成］
次に、図６を参照して、第１実施形態における画像生成装置１０を実現するためのハードウェア構成の一例について説明する。図６に示す装置では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、ＶＲＡＭ１００５、情報記憶媒体１００６、画像生成ＩＣ１０１０、音生成ＩＣ１００８、Ｉ／Ｏポート１０１２，１０１４がシステムバス１０１６により相互にデータ入出力可能に接続されている。Ｉ／Ｏポート１０１２にはコントロール装置１０２２が、Ｉ／Ｏポート１０１４には通信装置１０２４が、それぞれ接続されている。
【００４６】
ＣＰＵ１０００は、情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、装置全体の制御や各種データ処理を行う。
【００４７】
ＲＡＭ１００４は、ＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２内の所与の内容、ＣＰＵ１０００の演算結果等が格納される。
ＶＲＡＭ１００５は、表示装置１０１８に表示される画像データを一時的に格納する記憶装置であり、画像生成ＩＣ１０１０によって生成される、１フレーム分の画像データを格納するためのフレームバッファ（図２に示すフレームバッファ５０２に相当）を備える。
尚、このＲＡＭ１００４及びＶＲＡＭ１００５は、図２に示す一時記憶部５００に相当するものである。
【００４８】
情報記憶媒体１００６は、プログラム、画像データ、音データ、プレイデータ等が主に格納されるものであり、情報記憶媒体として、ＲＯＭ等のメモリやハードディスクや、ＣＤ−ＲＯＭ、ＤＶＤ、ＩＣカード、磁気ディスク、光ディスク等が用いられる。尚、この情報記憶媒体１００６は、図２に示す記憶部４００に相当するものである。
【００４９】
また、この装置に設けられている画像生成ＩＣ１０１０と音生成ＩＣ１００８により、音や画像の好適な出力が行えるようになっている。
【００５０】
画像生成ＩＣ１０１０は、ＣＰＵ１０００の命令によって、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６等から送られる情報に基づいて画素情報を生成する集積回路であり、生成される表示信号は、表示装置１０１８に出力される。表示装置１０１８は、ＣＲＴやＬＣＤ、ＴＶ、プラズマディスプレイ、或いはプロジェクター等により実現され、図２に示す表示部３００に相当する。
【００５１】
また、音生成ＩＣ１００８は、ＣＰＵ１０００の命令によって、情報記憶媒体１００６やＲＯＭ１００２に記憶される情報、ＲＡＭ１００４に格納される音データに応じた音信号を生成する集積回路であり、生成される音信号はスピーカ１０２０によって出力される。
【００５２】
コントロール装置１０２２は、プレイヤがゲームに係る操作を入力するための装置であり、その機能は、レバー、ボタン、筐体等のハードウェアにより実現される。尚、このコントロール装置１０２２は、図２に示す入力部１００に相当するものである。
【００５３】
通信装置１０２４は装置内部で利用される情報を外部とやりとりするものであり、他の装置と通信回線を介して接続されてプログラムに応じた所与の情報を送受すること等に利用される。
【００５４】
そして、第１光源エフェクト描画処理等の上記した処理は、図２に示す第１光源エフェクトプログラム４０２ａ等を格納した情報記憶媒体１００６と、これらプログラムに従って動作するＣＰＵ１０００、画像生成ＩＣ１０１０、音生成ＩＣ１００８等によって実現される。ＣＰＵ１０００及び画像生成ＩＣ１０１０は、図２に示す処理部２００に相当するものであり、主にＣＰＵ１０００が図２に示すオブジェクト空間設定部２１０及び視点設定部２２０に、画像生成ＩＣ１０１０が図２に示す画像生成部２３０に相当する。
【００５５】
尚、画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００或いは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。この場合には、ＣＰＵ１０００が、図２に示す処理部２００に相当することとなる。
【００５６】
以上説明したように、第１実施形態によれば、光源の位置及び大きさに基づいて決定した照射源判定領域のα値を抽出した後反転することにより、照射源判定領域において不透明オブジェクトが描画されていない部分を判定し、この不透明オブジェクトが描画されていない部分の透明度情報に基づいて、光源エフェクト描画用のカラーパレット（ＬＵＴ）５０４のα値を設定することができる。そして、このカラーパレット（ＬＵＴ）５０４に設定されたα値に基づく半透明合成処理により元画像に彩色を施して、光源エフェクトを描画することができる。
【００５７】
〔第２実施形態〕
次に、第２実施形態について、第１実施形態と同様に、フレームバッファに描画された投影変換後の元画像に、太陽光による光源エフェクトを描画する場合を例にとって説明する。
【００５８】
第２実施形態は、本発明の画像生成装置を、第１実施形態の画像生成装置１０のように描画する画素のα値をフレームバッファに記憶されているα値と比較しながら描画できない（すなわち、半透明オブジェクトを常に上書きで描画する）装置に適用した場合の実施形態である。第２実施形態では、画像生成装置は、半透明オブジェクトを描画する際、例えば、描画する画素のα値が０．５以上の場合に描画する（上書きで描画する）こととする。尚、以下では、機能構成、ハードウェア構成等、第１実施形態と同様の部分については同一の符号を付して説明は省略する。
【００５９】
［原理］
先ず、図７を参照して、第２実施形態の原理について説明する。図７（ａ）は、フレームバッファに描画される元画像を示す図であり、フレームバッファには、半透明オブジェクトである雲オブジェクトＯ２０が描画されている。第１実施形態と同様に、この元画像における光源（太陽）の位置及び大きさに基づいて、照射源判定領域Ｅ２０が決定される。尚、図７（ａ）において、光源の位置及び大きさを点線で示している。
【００６０】
そして、前述のように決定された照射源判定領域Ｅ２０のα値に基づいて、光源エフェクト描画用のカラーパレット（ＬＵＴ）のα値が決定される。すなわち、図７（ｂ）に示すように、先ず、フレームバッファに記憶されている照射源判定領域Ｅ２０のα値を抽出・サンプリングし、１６ドット×１６ドットの大きさに拡大又は縮小する。ここで、図７（ｂ）において、左上のドットとその右隣のドットにはα値が“０”と設定されているが、これは、α値が０．５未満であったために雲オブジェクトＯ２０のそのドット部分が描画されなかったことを示している。
【００６１】
次に、この段階で各ドットに設定されている値を２倍した後に反転する。尚、この際、反転結果がマイナスの値となった場合、すなわち、１．０−２×αの算出によりマイナスとなった場合には、その値を“０”に補正することとする。
【００６２】
続いて、隣り合うドットの情報（値）を平均化する処理を行っていき、照射源判定領域Ｅ２０を最終的に１ドットに縮小することで、照射源判定領域Ｅ２０中の反転された値の平均を求める。そして、得られた値を１６ドット×１６ドットの大きさに拡大し、光源エフェクト描画用のカラーパレット（ＬＵＴ）のα値として設定する。
【００６３】
このように、照射源判定領域Ｅ２０のα値を２倍して反転することにより、反転された値＝０のドット部分をα値が０．５以上の半透明オブジェクトが描画されている部分と判定することができる。したがって、反転された値が０以外のドット部分（すなわち、α値が０．５以上の半透明オブジェクトが描画されていない部分（特許請求の範囲における判定部分の一例である。））の値を照射源判定領域Ｅ２０の大きさ（ドット数）で平均化した値で、光源エフェクト描画用のカラーパレット（ＬＵＴ）のα値を設定することとなる。
【００６４】
［記憶部の構成］
図８は、第２実施形態における記憶部４２０の構成例を示す図である。第２実施形態における画像生成装置は、第１実施形態において図２に示した画像生成装置１０の構成において、記憶部４００を図８に示す記憶部４２０に置き換えた構成と同様の構成の装置により実現される。
【００６５】
図８に示すように、記憶部４２０には、特に、第２実施形態を実現するため、第２光源エフェクト描画プログラム４２２ａを有する画像生成プログラム４２２が格納される。光源エフェクト描画部２３２は、この第２光源エフェクト描画プログラム４２２ａに従って第２光源エフェクト描画処理を実行し、フレームバッファ５０２に描画される元画像における光源（太陽）の位置及び大きさに基づいて照射源判定領域を決定し、この照射源判定領域のα値をもとに、光源エフェクト描画用のカラーパレット（ＬＵＴ）５０４のα値を決定する処理を行う。
【００６６】
［処理の流れ］
次に、図９を参照して、第２実施形態における光源エフェクト描画部２３２の処理の流れについて説明する。図９は、第２光源エフェクト描画処理の実行に係る光源エフェクト描画部２３２の動作の一例を示すフローチャートである。この第２光源エフェクト描画処理は、光源エフェクト描画部２３２が第２光源エフェクト描画プログラム４２２ａを読み出して実行することにより実現されるものであり、第１実施形態と同様に、オブジェクト空間設定部２１０によって光源や雲オブジェクト等のオブジェクトの配置処理が行われるとともに、視点設定部２２０によって仮想カメラの視点や視線方向が決定され、画像生成部２３０によって仮想カメラから見たオブジェクト空間の画像が視点座標系に投影変換されてフレームバッファ５０２に描画された後に実行される。
【００６７】
図９に示すように、光源エフェクト描画部２３２は、先ず、光源（太陽）を投影変換することで視点座標系におけるその位置及び大きさを算出し（ステップｂ１０）、算出した光源の位置及び大きさに従った照射源判定領域を決定する（ステップｂ２０）。
【００６８】
次に、光源エフェクト描画部２３２は、フレームバッファ５０２に記憶されている照射源判定領域のα値を抽出・サンプリングして１６ドット×１６ドットの大きさに拡大又は縮小する（ステップｂ３０）。次いで、光源エフェクト描画部２３２は、各ドットに設定されている値を２倍した後（ステップｂ４０）、反転する（ステップｂ５０）。具体的には、光源エフェクト描画部２３２は、各ドットに設定されている値を１から減算することにより反転し、反転結果がマイナスの値となった場合にはその値を“０”に補正する。
【００６９】
続いて、光源エフェクト描画部２３２は、隣り合うドットの情報を平均化する処理を行って照射源判定領域を１ドットに縮小し（ステップｂ６０）、得られた値を１６ドット×１６ドットの大きさに拡大して（ステップｂ７０）、カラーパレット（ＬＵＴ）５０４のα値として設定する（ステップｂ８０）。そして、光源エフェクト描画部２３２は、カラーパレット（ＬＵＴ）５０４に設定されたα値に基づく半透明合成処理により元画像に彩色を施して、光源エフェクトの描画を行う（ステップｂ９０）。
【００７０】
以上説明したように、第２実施形態によれば、描画する画素のα値をフレームバッファに記憶されているα値と比較しながら描画することができない画像生成装置においては、描画する画素のα値が例えば０．５以上の場合に描画することとし、照射源判定領域のα値を抽出した後、２倍して反転することによって、照射源判定領域においてα値が０．５以上の半透明オブジェクトが描画されていない部分を判定することができる。そして、このα値が０．５以上の半透明オブジェクトが描画されていない部分のα値に基づいて、光源エフェクト描画用のカラーパレット（ＬＵＴ）５０４のα値を設定し、このカラーパレット（ＬＵＴ）５０４に設定されたα値に基づく半透明合成処理により元画像に彩色を施して、光源エフェクトの描画を行うことができる。
【００７１】
〔第３実施形態〕
次に、第３実施形態について、第１実施形態と同様、フレームバッファに描画された投影変換後の元画像に、太陽光による光源エフェクトを描画する場合を例にとって説明する。尚、以下では、機能構成、ハードウェア構成等、第１実施形態と同様の部分については同一の符号を付して説明は省略する。
【００７２】
この第３実施形態の画像生成装置は、Ｚバッファ法を用い、奥行値（Ｚ値）を参照及び更新して不透明オブジェクトを描画するとともに、半透明オブジェクトについては、Ｚ値の更新はせずに参照しながら描画する装置である。したがって、生成した画像の奥行値（Ｚ値）を画素毎に記憶するＺバッファを有している。ただし、このＺバッファには不透明オブジェクトの奥行値（Ｚ値）のみが記憶され、半透明オブジェクトの奥行値（Ｚ値）は記憶されていない。また、第３実施形態の画像生成装置は、半透明オブジェクトを描画する際、フレームバッファに記憶されているα値を参照し、その値が描画する画素のα値より小さい場合にはＲＧＢ値及びα値を書き込み、描画する画素のα値より大きい場合にはα値は書き込まずにＲＧＢ値のみを書き込んで描画する装置である。
【００７３】
［原理］
先ず、図１０〜図１２を参照して、第３実施形態の原理について説明する。図１０は、フレームバッファに描画される元画像の一例を示す図であり、フレームバッファには、不透明オブジェクトである建物オブジェクトＯ３２と、半透明オブジェクトである雲オブジェクトＯ３０が描画されている。
【００７４】
第３実施形態の画像生成装置は、フレームバッファに描画される元画像における光源（太陽）の位置及び大きさに基づいて決定した照射源判定領域Ｅ３０の奥行値に従って、フィルター画像を生成する処理（Ｚテスト処理）を実行し、このＺテスト処理結果を加味して光源エフェクトを描画する。尚、図１０において、光源の位置及び大きさを点線で示している。
【００７５】
ここで、図１１を参照して、Ｚテスト処理の原理について説明する。先ず、図１０に示す照射源判定領域Ｅ３０に対応する奥行値をＺバッファから抽出してサンプリングし、１６ドット×１６ドットの大きさに拡大又は縮小する。また、ＲＧＢ値として“０”をそれぞれ設定した１６ドット×１６ドットの大きさのＺテスト用光源画像を生成し、奥行値として、光源の奥行値（例えば、無限遠を表す“０．０１”）を設定する。そして、前述のように抽出・サンプリングした照射源判定領域Ｅ３０の奥行値と、生成したＺテスト用光源画像の奥行値とを比較し、照射源判定領域Ｅ３０の奥行値が、Ｚテスト用光源画像の奥行値以下の場合に“１”を設定したフィルター画像を生成する。すなわち、視点を基準として光源より手前に位置する不透明オブジェクトが描画されている部分のドットの値に“０”が設定されたフィルター画像を生成する。
【００７６】
第３実施形態では、前述のように決定された図１０に示す照射減判定領域Ｅ３０のα値と、生成されたフィルター画像とに基づいて、光源エフェクト描画用のカラーパレット（ＬＵＴ）のα値が決定される。図１２は、第３実施形態の原理について説明するための図である。図１２に示すように、先ず、フレームバッファに記憶されている照射源判定領域のα値を抽出・サンプリングして１６ドット×１６ドットの大きさに拡大又は縮小する。続いて、照射源判定領域Ｅ３０の各ドットに設定されているα値を１から減算することで反転し、フィルター画像の各ドットに設定されている値と乗算する。
【００７７】
次に、隣り合うドットの情報（値）を平均化する処理を行っていき、照射源判定領域Ｅ３０を最終的に１ドットに縮小することで、照射源判定領域Ｅ３０中の反転された値の平均を求める。そして、得られた値を１６ドット×１６ドットの大きさに拡大し、光源エフェクト描画用のカラーパレット（ＬＵＴ）のα値として設定する。
【００７８】
このように、第３実施形態では、照射源判定領域Ｅ３０のα値を反転し、フィルター画像の各ドットに設定されている値と乗算することにより、得られた値＝０のドット部分を不透明オブジェクトが描画されている部分と判定することで、この得られた値＝０のドット部分では、無限遠に配置される太陽が隠されてしまうと判定できる。したがって、反転された値が０以外のドット部分（すなわち、不透明オブジェクトが描画されていない部分（特許請求の範囲における判定部分の一例である。））の値を照射源判定領域Ｅ３０の大きさ（ドット数）で平均化した値で、光源エフェクト描画用のカラーパレット（ＬＵＴ）のα値を設定することとなる。つまり、太陽光を遮らない部分の透明度で、射し込む光の程度（光源エフェクト描画用の色情報）が可変されることとなる。
【００７９】
［記憶部・一時記憶部の構成］
図１３は、第３実施形態における記憶部４４０及び一時記憶部５４０の構成例を示す図である。第３実施形態における画像生成装置は、第１実施形態において図２に示した画像生成装置１０の構成において、記憶部４００を図１３（ａ）に示す記憶部４４０に、一時記憶部５００を図１３（ｂ）に示す一時記憶部５４０に、それぞれ置き換えた構成と同様の構成の装置により実現される。
【００８０】
図１３（ａ）に示すように、記憶部４４０には、特に、第３実施形態を実現するため、第３光源エフェクト描画プログラム４４２ａを有する画像生成プログラム４２２が格納される。光源エフェクト描画部２３２は、この第３光源エフェクト描画プログラム４４２ａに従って第３光源エフェクト描画処理を実行し、フレームバッファ５４１に描画される元画像における光源（太陽）の位置及び大きさに基づいて照射源判定領域を決定する。そして、光源エフェクト描画部２３２は、Ｚバッファ５４２を参照し、照射源判定領域の奥行値をもとにフィルター画像５４５を生成し、照射源判定領域のα値とフィルター画像５４５とに基づいて、光源エフェクト描画用のカラーパレット（ＬＵＴ）５４３のα値を決定する処理を行う。
【００８１】
また、図１３（ｂ）に示すように、一時記憶部５４０は、第３実施形態を実現するため、特に、画像生成部２３０により生成される画像が記憶されるフレームバッファ５４１と、フレームバッファ５４１に記憶される画像の画素毎の奥行値が記憶されるＺバッファ５４２と、光源エフェクトを描画する際の色指定のために参照されるカラーパレット（ＬＵＴ）５４３と、光源の奥行値に基づいて生成されるＺテスト用光源画像５４４と、照射源判定領域の奥行値とＺテスト用光源画像５４４とに基づいて生成されるフィルター画像５４５とを含む。
【００８２】
［処理の流れ］
次に、図１４を参照して、第３実施形態における光源エフェクト描画部２３２の処理の流れについて説明する。図１４は、第３光源エフェクト描画処理の実行に係る光源エフェクト描画部２３２の動作の一例を示すフローチャートである。この第３光源エフェクト描画処理は、光源エフェクト描画部２３２が第３光源エフェクト描画プログラム４４２ａを読み出して実行することにより実現されるものであり、オブジェクト空間設定部２１０によって光源や雲オブジェクト、建物オブジェクト等のオブジェクトの配置処理が行われるとともに、視点設定部２２０によって仮想カメラの視点や視線方向が決定され、画像生成部２３０によって仮想カメラから見たオブジェクト空間の画像が視点座標系に投影変換されてフレームバッファ５４１に描画された後に実行される。
【００８３】
図１４に示すように、光源エフェクト描画部２３２は、先ず、光源（太陽）を投影変換することで視点座標系におけるその位置及び大きさを算出し（ステップｃ１０）、算出した光源の位置及び大きさに基づいて照射源判定領域を決定する（ステップｃ２０）。続いて、光源エフェクト描画部２３２は、Ｚテスト処理を実行する（ステップｃ３０）。
【００８４】
図１５は、Ｚテスト処理の実行に係る光源エフェクト描画部２３２の動作の一例を示すフローチャートである。図１５に示すように、光源エフェクト描画部２３２は、先ず、Ｚバッファ５４２に記憶されている照射源判定領域の奥行値を抽出・サンプリングして１６ドット×１６ドットの大きさに拡大又は縮小する（ステップｄ１０）。続いて、光源エフェクト描画部２３２は、奥行値として光源の奥行値を設定した１６ドット×１６ドットの大きさのＺテスト用光源画像を生成し、各ドットの奥行値が、ステップｄ１０において抽出・サンプリングした照射源判定領域の奥行値以下の場合に“１．０”を設定したフィルター画像５４５を生成する（ステップｄ２０）。
【００８５】
図１４に戻り、光源エフェクト描画部２３２は、続いて、フレームバッファ５４１に記憶されている照射源判定領域のα値を抽出・サンプリングして１６ドット×１６ドットの大きさに拡大又は縮小し（ステップｃ４０）、各ドットに設定されるα値を反転する（ステップｃ５０）。具体的には、１からそのα値を減算した値とする。
【００８６】
続いて、光源エフェクト描画部２３２は、フィルター処理を行い、この段階で各ドットに設定されている値とフィルター画像５４５の各ドットに設定されている値とを乗算する（ステップｃ６０）。
【００８７】
そして、光源エフェクト描画部２３２は、隣り合うドットの情報を平均化する処理を行って照射源判定領域を１ドットに縮小し（ステップｃ７０）、得られた値を１６ドット×１６ドットの大きさに拡大して（ステップｃ８０）、カラーパレット（ＬＵＴ）５４３のα値として設定する（ステップｃ９０）。そして、光源エフェクト描画部２３２は、カラーパレット（ＬＵＴ）５４３に設定されたα値に基づく半透明合成処理により元画像に彩色を施して、光源エフェクトの描画を行う（ステップｃ１００）。
【００８８】
図１６〜図１９は、第３光源エフェクト描画処理により生成された画像の一例を示す図である。図１６及び図１７は、雲及び建物が描画された元画像に対して太陽光による光源エフェクトが描画された画像の一例を示しており、図１７は、図１６に描画された雲よりも薄い雲（すなわち、図１６に示す雲に設定されているα値よりも小さい値（より透明な値）が透明度として設定された雲）及び建物が描画された画像に対して太陽光による光源エフェクトが描画された画像の一例を示している。また、図１８及び図１９は、互いに視点位置の異なる画像の一例を示しており、図１９は、図１８の視点位置を図１８に向かって右方向に移動させた場合の画像の一例を示している。この図１６〜図１９に示すように、第３光源エフェクト描画処理を実行することにより、光源の一部が不透明オブジェクトに隠れている場合に、その度合いを加味した明るさで光源エフェクトが描画される。
【００８９】
以上説明したように、第３実施形態によれば、照射源判定領域のα値を反転し、フィルター画像の各ドットに設定されている値と乗算することにより、光源の奥行位置と視点の位置との間に位置した不透明オブジェクトが描画された部分以外の部分を判定し、不透明オブジェクトが描画されていない部分のα値に基づいて、光源エフェクト描画用のカラーパレット（ＬＵＴ）５４３のα値を設定することができる。そして、このカラーパレット（ＬＵＴ）５４３に設定されたα値に基づく半透明合成処理により元画像に彩色を施して、光源エフェクトの描画を行うことができる。
【００９０】
尚、この第３実施形態において、光源を無限遠に配置した太陽としたが、他の位置に配置した光源に適用可能であることは言うまでもない。また、第３実施形態においては、第１実施形態を基にＺテスト処理を付加することとして説明したが、第２実施形態にＺテスト処理を付加して同様の形態としてもよいことは勿論である。
【００９１】
以上、本発明を適用した画像生成装置の３つの実施形態について説明したが、本発明は、上記したものに限らず、発明の趣旨を逸脱しない限りにおいて適宜変更可能である。例えば、上記した各実施形態では、照射源判定領域において不透明オブジェクトが描画されていない部分のα値に基づいて、光源エフェクト描画用のカラーパレット（ＬＵＴ）のα値を設定することとしたが、カラーパレット（ＬＵＴ）のＲＧＢ値をそれぞれ設定することとしてもよい。具体的には、光源エフェクト描画部２３２が、照射源判定領域に設定されているα値を反転し、平均化することにより１ドットに縮小して得られた値を、カラーパレット（ＬＵＴ）に予め設定されているＲＧＢ値に加算合成することにより、カラーパレット（ＬＵＴ）のＲＧＢ値を新たに設定することとしてもよい。
【００９２】
また、上記した各実施形態では、照射源判定領域の画像を１ドットに縮小することにより照射源判定領域の値を平均化することとしたが、単純に合計して平均値を求めることとしてもよい。また、照射源判定領域の大きさを１６×１６ドットとしたが、この大きさに限定されるものではなく、照射源判定領域の大きさをどのような大きさとしても構わない。また、光源を太陽としたが、他の光源としてもよいことは勿論である。
【図面の簡単な説明】
【００９３】
【図１】第１実施形態の原理を説明するための図。
【図２】第１実施形態における画像生成装置の機能構成の一例を示すブロック図。
【図３】第１光源エフェクト描画処理の一例を示すフローチャート。
【図４】第１光源エフェクト描画処理により生成された画像の一例を示す図。
【図５】第１光源エフェクト描画処理により生成された画像の一例を示す図。
【図６】画像生成装置のハードウェア構成の一例を示す図。
【図７】第２実施形態の原理を説明するための図。
【図８】第２実施形態における画像生成装置の記憶部の構成の一例を示す図。
【図９】第２光源エフェクト描画処理の一例を示すフローチャート。
【図１０】元画像の一例を示す図。
【図１１】Ｚテスト処理の原理を説明するための図。
【図１２】第３実施形態の原理を説明するための図。
【図１３】第３実施形態における画像生成装置の記憶部の構成（ａ）、及び一時記憶部の構成（ｂ）の一例を示す図。
【図１４】第３光源エフェクト描画処理の一例を示すフローチャート。
【図１５】Ｚテスト処理の一例を示すフローチャート。
【図１６】第３光源エフェクト描画処理により生成された画像の一例を示す図。
【図１７】第３光源エフェクト描画処理により生成された画像の一例を示す図。
【図１８】第３光源エフェクト描画処理により生成された画像の一例を示す図。
【図１９】第３光源エフェクト描画処理により生成された画像の一例を示す図。
【符号の説明】
【００９４】
１０            画像生成装置
１００        入力部
２００        処理部
２１０      オブジェクト空間設定部
２２０      視点設定部
２３０      画像生成部
２３２    光源エフェクト描画部
３００        表示部
４００        記憶部
４０２      画像生成プログラム
４０２ａ  光源エフェクト描画プログラム
５００        一時記憶部
５０２      フレームバッファ
５０４      カラーパレット（ＬＵＴ）
【図１】
2005222358.tif 000003
【図２】
2005222358.tif 000004
【図３】
2005222358.tif 000005
【図６】
2005222358.tif 000006
【図７】
2005222358.tif 000007
【図８】
2005222358.tif 000008
【図９】
2005222358.tif 000009
【図１０】
2005222358.tif 000010
【図１１】
2005222358.tif 000011
【図１２】
2005222358.tif 000012
【図１３】
2005222358.tif 000013
【図１４】
2005222358.tif 000014
【図１５】
2005222358.tif 000015
【図４】
2005222358.tif 000016
【図５】
2005222358.tif 000017
【図１６】
2005222358.tif 000018
【図１７】
2005222358.tif 000019
【図１８】
2005222358.tif 000020
【図１９】
2005222358.tif 000021