(57)【要約】  【課題】  本発明は，高速に陰影などを演算することができるコンピュータグラフィックス用の多層反射シェーディング画像生成方法，装置及びコンピュータなどを提供することを目的とする。  【解決手段】  本発明の画像生成装置（1）は，単一光源又は複数光源のシェーディング結果と，前記シェーディング結果がどの表層に属するかを表す表層設定値を受け取り，少なくとも2層分の表層色を生成するためのレイヤーカラー生成手段（2）と，表層色とブレンド係数とを受け取り，少なくとも2層分のブレンド後の表層色を生成するためのレイヤー係数ブレンド手段（3）と，ブレンド後の表層色を単一色に合成するためのカラーブレンド手段（4）とを具備する。特定のピクセル以外のピクセルへの入射光を考慮しなくとも，輝度計算などを効果的に行うことができるので，高速に陰影などを演算することができるコンピュータグラフィックス用の多層反射シェーディング画像生成装置などを提供できる。  【選択図】  図1【特許請求の範囲】
【請求項１】
コンピュータが，
特定のピクセルに関する単一光源又は複数光源のシェーディング結果と，前記シェーディング結果がどの表層に属するかを表す表層設定値を受け取り，前記表層設定値に基づいて前記シェーディング結果を各表層に振り分け，少なくとも2層分の表層色を生成し，
前記少なくとも2層分の表層色と，表層色を合成するためのブレンド係数とを組み合わせ，ブレンド後の表層色を少なくとも2層分生成し，
前記少なくとも2層分のブレンド後の表層色を単一色に合成することにより，前記特定のピクセル以外のピクセルへの入射光を考慮せずに，前記特定のピクセルに関するコンピュータグラフィックス用の画像データを生成する画像生成方法。
【請求項２】
前記単一色に合成された色がコンピュータグラフィックス用の多層反射シェーディング画像を得るための色である請求項1に記載の画像生成方法。
【請求項３】
コンピュータグラフィックス用の画像生成装置であって，
特定のピクセルに関する単一光源又は複数光源のシェーディング結果と，前記シェーディング結果がどの表層に属するかを表す表層設定値を受け取り，少なくとも2層分の表層色を生成するためのレイヤーカラー生成手段と，
前記レイヤーカラー生成手段が生成した少なくとも2層分の表層色と，表層色を合成するためのブレンド係数とを受け取り，前記表層色のそれぞれに対してブレンド係数を組み合わせ，ブレンド後の表層色を少なくとも2層分生成するためのレイヤー係数ブレンド手段と，
前記レイヤー係数ブレンド手段から出力される少なくとも2層分のブレンド後の表層色を単一色に合成するためのカラーブレンド手段と，
を具備し，
前記レイヤーカラー生成手段が，前記特定のピクセルに関する単一光源又は複数光源のシェーディング結果と，前記シェーディング結果がどの表層に属するかを表す表層設定値を受け取り，少なくとも2層分の表層色を生成し，
前記レイヤー係数ブレンド手段が，前記レイヤーカラー生成手段が生成した少なくとも2層分の表層色と，表層色を合成するためのブレンド係数とを受け取り，前記表層色のそれぞれに対してブレンド係数を組み合わせ，少なくとも2層分のブレンド後の表層色を生成し，
前記カラーブレンド手段が，前記レイヤー係数ブレンド手段から出力される少なくとも2層分のブレンド後の表層色を単一色に合成することによりコンピュータグラフィックス用の画像データを生成する画像生成装置。
【請求項４】
コンピュータグラフィックス用の多層反射シェーディング画像を得る請求項3に記載の画像生成装置。
【請求項５】
前記レイヤーカラー生成手段は，
入力されるシェーディング結果を表層設定値を用いて各表層に割り当てるための割り当て指令を出力するライト選択設定手段と，
前記ライト選択設定手段からの割り当て指令に従って入力されるシェーディング結果を各表層用に選択するレイヤーカラー選択手段と具備し，
特定のピクセルに関する単一光源又は複数光源のシェーディング結果と，前記シェーディング結果がどの表層に属するかを表す表層設定値を受け取り，
前記ライト選択設定手段は，入力されるシェーディング結果とを表層設定値を用いて各表層に割り当て指令を出力し，
前記レイヤーカラー選択手段は，前記ライト選択設定手段からの割り当て指令に従って入力されるシェーディング結果を各表層用に選択することにより,少なくとも2層分の表層色を生成する，
請求項3に記載の画像生成装置。
【請求項６】
前記シェーディング結果は，各光源からのディフューズ又はスペキュラーを求めた演算結果である請求項3に記載の画像生成装置。
【請求項７】
前記ブレンド係数は，法線ベクトルNと視線ベクトルVとの内積値NV；法線ベクトルNと視線ベクトルVとライトベクトルLとの2等分ベクトルの内積値NH；視線ベクトルVと視線ベクトルVとライトベクトルLとの2等分ベクトルの内積値VH；又は法線ベクトルNとライトベクトルLとの内積値NLのうちいずれか1種又は2種以上である請求項3に記載の画像生成装置。
【請求項８】
前記レイヤー係数ブレンド手段は，前記ブレンド係数ごとに設けられ，所定のブレンド係数が入力されるＲＧＢ毎に設けられるＲＡＭテーブルと，
レイヤーカラー生成手段の出力と，前記ブレンド係数に応じた係数とを乗算するための乗算器とを具備し，
前記ＲＡＭテーブルから前記ブレンド係数に応じた係数を読み出し，
前記乗算器は，前記レイヤーカラー生成手段の出力と，前記ブレンド係数に応じた係数とを乗算する，
請求項3に記載の画像生成装置。
【請求項９】
請求項3に記載の画像生成装置を具備するコンピュータ。
【請求項１０】
請求項3に記載の画像生成装置を具備するゲーム機。
【請求項１１】
請求項3に記載の画像生成装置を具備する携帯電話。
【請求項１２】
請求項3に記載の画像生成装置を具備するナビゲーションシステム。
【請求項１３】
コンピュータを，
特定のピクセルに関する単一光源又は複数光源のシェーディング結果と，前記シェーディング結果がどの表層に属するかを表す表層設定値を受け取り，少なくとも2層分の表層色を生成するためのレイヤーカラー生成手段と，
前記レイヤーカラー生成手段が生成した少なくとも2層分の表層色と，表層色を合成するためのブレンド係数とを受け取り，前記表層色のそれぞれに対してブレンド係数を組み合わせ，少なくとも2層分のブレンド後の表層色を生成するためのレイヤー係数ブレンド手段と，
前記レイヤー係数ブレンド手段から出力される少なくとも2層分のブレンド後の表層色を単一色に合成するためのカラーブレンド手段として機能させるためのコンピュータグラフィックス用のプログラム。
【請求項１４】
請求項13に記載のプログラムを格納したコンピュータが読取ることができる記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，コンピュータグラフィックス用の多層反射シェーディング画像生成方法及びコンピュータなどに関する。特に，本発明は，半透明の物体（例えば人間の肌や大理石など）の物体表面における光の散乱を考慮した輝度計算などを効果的に行うリアルタイム3Ｄコンピュータグラフィックス用の多層反射シェーディング画像生成方法及びコンピュータなどに関する。
【背景技術】
【０００２】
コンピュータグラフィックスにおいて，半透明の物体（例えば人間の肌や大理石など）は，物体表面に入射した光が物体の内部において複雑に散乱することを考慮して，各ピクセルの陰影付けがなされる。これら物体表面での複雑な反射を演算する方法として，ＢＳＳＲＤＦ(bidirectional surface scattering reflectanse distribution function)を用いる方法などがあげられる（例えば，下記非特許文献1及び非特許文献2を参照）。【０００３】
しかし，ＢＳＳＲＤＦを用いた方法では，あるピクセルの陰影付けのために，そのピクセルへの入射光を考慮するだけでなく，そのピクセル以外のピクセルへの入射光も考慮する必要があった。このため，従来の方法では，高速に陰影などを演算することができないという問題があった。【０００４】
【非特許文献１】A Practical Model forSubsurface Light Transport, Henrik Wann Jensen Stephen R. Marschner Marc LevoyPat Hanrahan, Stanford University, To appear in the SIGGRAPHconference proceedings
【非特許文献２】AnInexpensive BRDF Model for Physically-based Rendering, Christophe Schlick,Eurographics’94, Computer Graphics Forrum, v13, n3, p233-246, 1994
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は，高速に陰影などを演算することができるコンピュータグラフィックス用の多層反射シェーディング画像生成方法及びコンピュータなどを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は，基本的には，特定のピクセルに関する単一光源又は複数光源のシェーディング結果に表層色を合成するためのブレンド係数を組み合わせ，少なくとも2層分のブレンド後の表層色を生成し，単一色に合成することにより，特定のピクセル以外のピクセルへの入射光を考慮しなくとも，輝度計算などを効果的に行い,コンピュータグラフィックス用のシェーディング画像データを生成することができるという知見に基づくものである。【０００７】
すなわち，本発明の第一の側面は，コンピュータが，特定のピクセルに関する単一光源又は複数光源のシェーディング結果と，前記シェーディング結果がどの表層に属するかを表す表層設定値を受け取り，前記表層設定値に基づいて前記シェーディング結果を各表層に振り分け，少なくとも2層分の表層色を生成し，前記少なくとも2層分の表層色と，表層色を合成するためのブレンド係数とを組み合わせ，ブレンド後の表層色を少なくとも2層分生成し，  前記少なくとも2層分のブレンド後の表層色を単一色に合成することにより，前記特定のピクセル以外のピクセルへの入射光を考慮せずに，前記特定のピクセルに関するコンピュータグラフィックス用の画像データを生成する画像生成方法に関する。【０００８】
また，本発明の上記とは別の側面は，コンピュータグラフィックス用の画像生成装置であって，特定のピクセルに関する単一光源又は複数光源のシェーディング結果と，前記シェーディング結果がどの表層に属するかを表す表層設定値を受け取り，少なくとも2層分の表層色を生成するためのレイヤーカラー生成手段と，前記レイヤーカラー生成手段が生成した少なくとも2層分の表層色と，表層色を合成するためのブレンド係数とを受け取り，前記表層色のそれぞれに対してブレンド係数を組み合わせ，ブレンド後の表層色を少なくとも2層分生成するためのレイヤー係数ブレンド手段と，前記レイヤー係数ブレンド手段から出力される少なくとも2層分のブレンド後の表層色を単一色に合成するためのカラーブレンド手段と，を具備し，前記レイヤーカラー生成手段が，前記特定のピクセルに関する単一光源又は複数光源のシェーディング結果と，前記シェーディング結果がどの表層に属するかを表す表層設定値を受け取り，少なくとも2層分の表層色を生成し，前記レイヤー係数ブレンド手段が，前記レイヤーカラー生成手段が生成した少なくとも2層分の表層色と，表層色を合成するためのブレンド係数とを受け取り，前記表層色のそれぞれに対してブレンド係数を組み合わせ，少なくとも2層分のブレンド後の表層色を生成し，前記カラーブレンド手段が，前記レイヤー係数ブレンド手段から出力される少なくとも2層分のブレンド後の表層色を単一色に合成することによりコンピュータグラフィックス用の画像データを生成する画像生成装置などに関する。さらに，本発明の別の側面は，そのような画像生成装置を用いた，コンピュータ，ゲーム機，携帯電話，ナビゲーションシステム，コンピュータプログラム，及びそのコンピュータプログラムを格納したコンピュータ読取可能な記録媒体などに関する。
【発明の効果】
【０００９】
本発明では，特定のピクセルに関する単一光源又は複数光源のシェーディング結果に表層色を合成するためのブレンド係数を組み合わせ，少なくとも2層分のブレンド後の表層色を生成し，単一色に合成する。これにより，本発明によれば，特定のピクセル以外のピクセルへの入射光を考慮しなくとも，輝度計算などを行うことができるので，高速に陰影などを演算することができるコンピュータグラフィックス用の多層反射シェーディング画像生成方法及びコンピュータなどを提供できる。  
【図面の簡単な説明】
【００１０】
【図１】図1は，本発明の画像生成装置の基本構成を示すブロック図である。
【図２】図2は，本発明の画像生成方法を説明するためのフローチャートである。
【図３】図3は，本発明のある実施態様に係るコンピュータシステムの基本構成を示すブロック図である。
【図４】図4は，本発明のある実施態様に係るグラフィクスデバイスを示すブロック図である。
【図５】図5は，本発明のある実施形態に係るシェーディング手段を示すブロック図である。
【図６】図6は，レイヤーカラー生成手段及びレイヤー係数ブレンド手段を説明するためのブロック図である。
【図７】図7は，レイヤーカラー生成手段（又はその一部）の例を示すブロック図である。
【図８】図8は，レイヤー係数ブレンド手段の構成例を示すブロック図である。
【図９】図9は，カラーブレンド手段の例を示すブロック図である。
【図１０】図10は，カラーブレンド手段内部のレイヤー0ブレンドの回路構成を示すブロック図である。
【図１１】図11は，シェーディング手段から出力される光源ごとのシェーディング結果とブレンド係数がシリアルデータとして処理され，かつ表層の数が4の場合における画像生成装置のブロック図である。
【図１２】図12は，ある1ピクセルのブレンド処理の流れを示す図である。
【図１３】図13は，本発明のある実施態様（コンピュータ）を示すブロック図である。
【図１４】図14は，本発明のある実施形態（ゲーム機）のブロック図である。
【図１５】図15は，本発明のある実施形態（コンピュータグラフィック機能つき携帯電話機）のブロック図である。
【図１６】図16は，本発明のある実施形態（ナビゲーションシステム）のブロック図である。
【符号の説明】
【００１１】
１  画像生成装置
２  レイヤーカラー生成手段
３  レイヤー係数ブレンド手段
４  カラーブレンド手段
【発明を実施するための最良の形態】
【００１２】
[画像生成装置の概要]  
図1は，本発明の画像生成装置の基本構成を示すブロック図である。図1に示されるとおり，本発明の画像生成装置（1）は，コンピュータグラフィックス用のコンピュータ又はコンピュータを構成する装置であって，特定のピクセルに関する単一光源又は複数光源のシェーディング結果と，前記シェーディング結果がどの表層に属するかを表す表層設定値を受け取り，少なくとも2層分の表層色を生成するためのレイヤーカラー生成手段（2）と，前記レイヤーカラー生成手段が生成した少なくとも2層分の表層色と，表層色を合成するためのブレンド係数とを受け取り，前記表層色のそれぞれに対してブレンド係数を組み合わせ，少なくとも2層分のブレンド後の表層色を生成するためのレイヤー係数ブレンド手段（3）と，前記レイヤー係数ブレンド手段から出力される少なくとも2層分のブレンド後の表層色を単一色に合成するためのカラーブレンド手段（4）とを具備する。【００１３】
なお，本明細書において，「シェーディング結果」とは，たとえば，各光源からの核酸反射（ディフューズ），鏡面反射（スペキュラー），間接光（アンビエント）などの輝度演算結果など，光源ごとの輝度演算結果を意味する。たとえば，第1の光源からのディフューズ，第1の光源からのスペキュラー，第2の光源からのディフューズ，及び第2の光源からのスペキュラーの4種類のように，シェーディング結果は複数種類からなることが好ましい。なお，光源は，平行光源，点光源，又はスポット光源のいずれであってもよい。また，複数の光源におけるそれぞれの光源の関係も任意のものがあげられる。【００１４】
表層とは，物体へ入射した光に対する反射率，屈折率など，光に対する異なる特性を持つそれぞれの表面の層を意味する。層は，レイヤーともよばれる。【００１５】
「表層設定値」とは，シェーディング結果を表層に振り分けるための設定値や振り分け指令などを意味する。表層設定値は，表層ごとに，シェーディング結果である複数の演算結果のうちどのシェーディング結果を割り当てるかといった情報であればよい。表層設定値は，コンピュータを，表層ごとにシェーディング結果である複数の演算結果のうち所定のシェーディング結果を割り当てるよう機能させるプログラムにより得ることができるようにされてもよい。また，表層ごとにシェーディング結果である複数の演算結果のうち所定のシェーディング結果を割り当てるよう機能させる回路，そのような割り当て情報を記憶するメモリなどにより表層設定値を得ることができるようにされてもよい。表層設定値は，たとえば，シェーディング結果がＡ〜Ｈまでの8つあり，層が3つあった場合に，Ａ，Ｂ，Ｄ，Ｆ及びＨを第1の表層に割り当て，Ａ，Ｃ，Ｅ及びＧを第2の表層に割り当て，Ｂ及びＨを第3の表層に割り当てるといったようなものであればよい。【００１６】
「ブレンド係数」とは，シェーディング結果などと掛け合わせるなどして表層色を得るための内積値などを意味する。ブレンド係数は，たとえば，頂点データに含まれる各種ベクトルを用いて，内積算出回路がそれらの内積を求めることにより得てもよい。また，後述するシュエーディング手段が演算を行う際に，各種ベクトルの内積が求められるので，それらの内積を適宜利用して，ブレンド係数としてもよい。ブレンド係数は，バスなどを介して，後述のレイヤー係数ブレンド手段に入力されてもよい。また，ブレンド係数は，メモリなどに格納され，適宜読み出されるようにしてもよい。      【００１７】
合成される「単一色」とは，多層反射シェーディング画像のあるピクセルにおける輝度などの計算結果などを意味する。以下，本発明の第一の実施形態に係る画像生成装置（1）を構成する各構成手段について説明する。【００１８】
[レイヤーカラー生成手段]
レイヤーカラー生成手段（2）は，特定のピクセルに関する単一光源又は複数光源のシェーディング結果と，前記シェーディング結果がどの表層に属するかを表す表層設定値を受け取り，少なくとも2層分の表層色を生成するための手段である。なお，「表層色を生成する」には，表層色を選択して表層色を得るものも含まれる。特定のピクセルに関する単一光源又は複数光源のシェーディング結果は，後述するコンピュータ内のシェーディング手段により求められ，たとえばバスなどを介して，レイヤーカラー生成手段（2）に伝達される。なお，シェーディング結果として，複数光源からの光を考慮したシェーディング結果が好ましい。表層設定値は，たとえば，ＣＰＵが，表層設定値を記憶するメモリや，メインメモリ中のプログラムなどから，表層設定値を読み出し，バスなどを介してレイヤーカラー生成手段に入力すればよい。【００１９】
レイヤーカラー生成手段（2）は，特定のピクセルに関する単一光源又は複数光源のシェーディング結果と，前記シェーディング結果がどの表層に属するかを表す表層設定値を受け取り，少なくとも2層分の表層色を生成するための回路などのハードウェアにより実装されても良い。また，レイヤーカラー生成手段（2）は，特定のピクセルに関する単一光源又は複数光源のシェーディング結果と，前記シェーディング結果がどの表層に属するかを表す表層設定値を受け取り，少なくとも2層分の表層色を生成するための手段としてコンピュータを機能させるプログラムなどのソフトウェアにより実装されても良く，ハードウェアとソフトウェアとの両方により実装されても良い。ハードウェアとして，制御部，演算部，記憶部，入出力部，及びそれらを連結するシステムバスなどにより構成されるものがあげられる。そして，所定の情報が入力部から入力さると，制御部の指令を受けて，演算部が，入力されたデータや，記憶部が記憶したデータや表層設定値などを読み出し，例えば記憶部のメモリを作業領域として利用し，所定の演算を行う。演算結果は，例えばメモリに一時的に記憶された後，出力部から出力される。これらのデータは，例えばバスを通じて伝達されればよい。【００２０】
レイヤーカラー生成手段（2）として，入力されるシェーディング結果を，表層設定値を用いて各表層に割り当てるための割り当て指令を出力するライト選択設定手段と，前記ライト選択設定手段からの割り当て指令に従って，入力されるシェーディング結果を各表層用に選択するレイヤーカラー選択手段と具備するものがあげられる。そして，特定のピクセルに関する単一光源又は複数光源のシェーディング結果と，前記シェーディング結果がどの表層に属するかを表す表層設定値を受け取り，前記ライト選択設定手段は，入力されるシェーディング結果を表層設定値を用いて各表層に割り当て，前記レイヤーカラー選択手段は，前記ライト選択設定手段からの割り当て指令に従って入力されるシェーディング結果を各表層用に選択することにより,少なくとも2層分の表層色を生成する。たとえば，シェーディング手段から，Ａ〜Ｈまでの8つのシェーディング結果が入力された場合，メモリから，Ａ，Ｂ，Ｄ，Ｆ及びＨを第1の表層に割り当て，Ａ，Ｃ，Ｅ及びＧを第2の表層に割り当て，Ｂ及びＨを第3の表層に割り当てる表層設定値を読み出し，そのようにシェーディング結果を割り当てて，各レイヤーカラーを生成（選択）すればよい。【００２１】
[レイヤー係数ブレンド手段]
レイヤー係数ブレンド手段（3）は，前記レイヤーカラー生成手段が生成した少なくとも2層分の表層色と，表層色を合成するためのブレンド係数とを受け取り，前記表層色のそれぞれに対してブレンド係数を組み合わせ，少なくとも2層分のブレンド後の表層色を生成するための手段である。【００２２】
レイヤー係数ブレンド手段（3）は，レイヤーカラー生成手段が生成した少なくとも2層分の表層色と，表層色を合成するためのブレンド係数とを受け取り，前記表層色のそれぞれに対してブレンド係数を組み合わせ，少なくとも2層分のブレンド後の表層色を生成するための回路などのハードウェアにより実装されても良い。また，レイヤー係数ブレンド手段（3）は，コンピュータをレイヤーカラー生成手段が生成した少なくとも2層分の表層色と，表層色を合成するためのブレンド係数とを受け取り，前記表層色のそれぞれに対してブレンド係数を組み合わせ，少なくとも2層分のブレンド後の表層色を生成する手段として機能させるためのプログラムなどのソフトウェアにより実装されても良く，ハードウェアとソフトウェアとの両方により実装されても良い。ハードウェアとして，制御部，演算部，記憶部，入出力部，及びそれらを連結するシステムバスなどにより構成されるものがあげられる。そして，所定の情報が入力部から入力さると，制御部の指令を受けて，演算部が，入力されたデータや，記憶部に記憶されるブレンド係数などのデータを読み出し，例えば記憶部のメモリを作業領域として利用し，所定の演算を行う。具体的な演算として，ブレンド係数と表層色を乗算する演算や，いくつかの演算結果をたす和算演算などがあげられる。演算結果は，例えばメモリに一時的に記憶された後，出力部から出力される。これらのデータは，例えばバスを通じて伝達されればよい。【００２３】
[カラーブレンド手段] 
カラーブレンド手段（4）は，レイヤー係数ブレンド手段から出力される少なくとも2層分のブレンド後の表層色を単一色に合成するための手段である。これにより，あるピクセルにおける色又は輝度が決定されることとなる。【００２４】
カラーブレンド手段（4）は，レイヤー係数ブレンド手段から出力される少なくとも2層分のブレンド後の表層色を単一色に合成するための回路などのハードウェアにより実装されても良いし，コンピュータをレイヤー係数ブレンド手段から出力される少なくとも2層分のブレンド後の表層色を単一色に合成するため手段として機能させるためのプログラムなどのソフトウェアにより実装されても良く，ハードウェアとソフトウェアとの両方により実装されても良い。ハードウェアとして，制御部，演算部，記憶部，入出力部，及びそれらを連結するシステムバスなどにより構成されるものがあげられる。そして，所定の情報が入力部から入力さると，制御部の指令を受けて，演算部が，入力されたデータや，記憶部に記憶されるデータを読み出し，例えば記憶部のメモリを作業領域として利用し，所定の演算を行う。演算結果は，例えばメモリに一時的に記憶された後，出力部から出力される。これらのデータは，例えばバスを通じて伝達されればよい。【００２５】
[画像生成装置の基本動作]
本発明の画像生成装置（1）は，例えば，以下のようにして画像データを得る。図2は，本発明の画像生成方法を説明するためのフローチャートである。図2に示されるとおり，レイヤーカラー生成手段が，前記特定のピクセルに関する単一光源又は複数光源のシェーディング結果と，前記シェーディング結果がどの表層に属するかを表す表層設定値を受け取る（ステップ1）。具体的には，たとえばシェーディング手段が求めたディフューズ，スペキュラなどのシュエーディング結果をバスなどを介して受け取る。また，ＣＰＵはメインメモリに格納されたプログラムの指令を受け，メモリなどに格納された表層設定値を読み出してバスなどを介して表層設定値をレイヤーカラー生成手段に伝え，レイヤーカラー生成手段はこのようにして伝えられた表層設定値を受け取る。【００２６】
そして，レイヤーカラー生成手段が，少なくとも2層分（例えば，3層分）の表層色を生成する(ステップ2)。具体的には，表層設定値を用いて各表層に割り当てるための割り当て指令を出力し，割り当て指令に従って，入力されるシェーディング結果を各表層用に選択することにより，各表層用の表層色（たとえば，1又は複数のシェーディング結果を含む）を生成すればよい。【００２７】
次に，レイヤー係数ブレンド手段が，前記レイヤーカラー生成手段が生成した少なくとも2層分の表層色と，表層色を合成するためのブレンド係数とを受け取り，前記表層色のそれぞれに対してブレンド係数を組み合わせ，ブレンド後の表層色を少なくとも2層分生成する(ステップ3)。ブレンド係数は，たとえば，所定のベクトルの内積値などとしてメモリなどに格納されるので，ＣＰＵはメインメモリに格納されたプログラムの指令を受け，メモリなどに格納されたブレンド係数を読み出して，バスなどを介してレイヤー係数ブレンド手段に伝える。そして，レイヤー係数ブレンド手段は，受け取ったブレンド係数とレイヤーカラー生成手段が生成した表層色に掛け合わせることにより，ブレンド後の表層色を生成する。【００２８】
次に，カラーブレンド手段が，前記レイヤー係数ブレンド手段から出力される少なくとも2層分のブレンド後の表層色を受取って，これを加算するなどして単一色に合成することによりコンピュータグラフィックス用の画像データを生成する（ステップ4）。具体的には，加算回路，加算器，又は加算プログラムなどを用いてそれぞれの表層色の和を求め，単一色を合成すればよい。【００２９】
これにより，特定のピクセルにおけるシュエーディング結果を用いて，それを複数の表層に分けてブレンド係数と組み合わせた上で，単一の色とするので，光源ごとのずれを考慮した色を計算することができ，特定のピクセル以外のピクセルへの入射光を考慮しなくとも，輝度計算などを効果的に行うことができることとなる。これにより，本発明の画像生成装置は，高速に陰影などを演算することができる。【００３０】
[コンピュータ]
図3は，本発明のある実施態様に係るコンピュータシステムの基本構成を示すブロック図である。図3に示されるように, 本実施形態に係るコンピュータシステム10は，ＣＰＵ11，メモリ12，Ｉ／Ｏ13，グラフィクスデバイス14及びディスプレイ15を具備する。そして，ＣＰＵ11，メモリ12，Ｉ／Ｏ13，グラフィクスデバイス14，ディスプレイ15は，システムバス16に接続され，相互にデータ転送を行う。たとえば，グラフィックデバイス14には，上記した本発明の画像形成装置が組み込まれるので，上記に説明した所定の処理を行い，シェーディング画像を効果的に得ることができ，ディスプレイにシェーディングを考慮した画像などが表示される。【００３１】
[グラフィックデバイス]
図4は，本発明のある実施態様に係るグラフィクスデバイスを示すブロック図である。このグラフィックデバイスは，図3の符号14で示されるグラフィックデバイス又はその一部として機能し，コンピュータを構成する一部であってもよい。図4に示されるとおり，この実施態様に係るグラフィクスデバイスは，頂点データ21などが入力され幾何演算などを行うためのジオメトリエンジン（幾何演算回路，装置，部など）22と，頂点データ補間を行うための頂点データ補間手段（頂点データ補間回路，装置，部など）23と，シェーディング演算を行うためのシェーディング手段（シェーディング回路，装置，部など）24と，テクスチャ合成を行うためのテクスチャ手段（テクスチャ合成回路，装置，部など）25と，テクスチャなどを格納するためのテクスチャメモリ26と，レイヤーカラー生成手段2と，レイヤー係数ブレンド手段3と，カラーブレンド手段4を具備し，各要素はシステムバス16などにより連結されている。【００３２】
[グラフィックデバイスの基本動作]
以下，グラフィックデバイスの基本動作について説明する。ジオメトリエンジン22は，コンピュータシステム10のシステムバス16に接続され，頂点データ21を入力データとして受け取る。ジオメトリエンジン22は，頂点データに対して幾何変換などを行い，透視変換とビューポートマッピングを行った後に，変換した頂点データを頂点データ補間手段23に出力する。頂点データ補間手段23は，入力された頂点データから構成される多角形（通常三角形）の内部に対して，付随する各パラメータを補間して，シェーディング手段24，テクスチャ手段25にそれぞれ出力する。【００３３】
テクスチャ手段25は，頂点データ補間手段23から入力されるu,v座標からテクスチャメモリ26へのアクセスアドレスを算出し，対応するデータをテクスチャメモリ26から受け取る。テクスチャメモリ26から入力されるデータは，たとえば，カラーデータ，バンプマッピング用のデータ，又はタンジェントベクトルのデータのうちいずれか1つ又は2つ以上である。テクスチャ手段25は，テクスチャメモリ26から入力されたデータがバンプマッピング用またはタンジェントベクトルのデータであるか判断し，入力されたデータがバンプマッピング用またはタンジェントベクトルのデータであった場合は，シェーディング手段24にデータを出力する。一方，テクスチャメモリ26から入力されたデータがカラーデータであった場合は，カラーブレンド手段4にデータを出力する。【００３４】
シェーディング手段24は，頂点データ補間手段23から入力された補間データとテクスチャ手段25から入力されたバンプマッピング用データ，又はタンジェントベクトルデータから光源単位に画素ごとの輝度演算を行い，その結果をレイヤーカラー生成手段2に出力する。その後は，たとえば，上記した画像形成装置の動作に従って，シェーディング用などの色情報が得られる。【００３５】
[シェーディング手段]
次にシェーディング手段24の基本構成例及び動作例について説明する。図5は，本発明のある実施形態に係るシェーディング手段を示すブロック図である。図5に示されるように，この実施態様に係るシェーディング手段は，システムインターフェイス（Ｉ／Ｆ）31と，バンプ回転，タンジェント回転又はハーフベクトル生成演算などを行うためのバンプ回転，タンジェント回転，ハーフベクトル生成手段32と，減衰率などを求めるためのライト減衰手段（ライト減衰回路など）33と，内積演算などを行うための内積演算手段（乗算回路などの演算回路など）34と，シェーディング演算を行うためのライトシェーディング手段（演算回路など）35（35a〜35d）と，ライト減衰手段からの減衰係数とライトシェーディング手段からの入力値とを用いてシェーディング結果を得るためのライトブレンド手段36（36a〜36d）を具備する。【００３６】
シェーディング手段を構成する各要素は，回路などのハードウェアにより実装されても良いし，プログラムなどのソフトウェアにより実装されても良く，ハードウェアとソフトウェアとの両方により実装されても良い。また，それぞれ装置，部などとして構成されても良い。ハードウェアとして，制御部，演算部，記憶部，入出力部，及びそれらを連結するシステムバスなどにより構成されるものがあげられる。そして，所定の情報が入力部から入力さると，制御部の指令を受けて，演算部が，入力されたデータや，記憶部に記憶されるデータを読み出し，例えば記憶部のメモリを作業領域として利用し，所定の演算を行う。演算結果は，例えばメモリに一時的に記憶された後，出力部から出力される。これらのデータは，例えばバスを通じて，伝達されればよい。【００３７】
[シェーディング処理]
次に，シェーディング処理の例を説明する。シェーディング手段24は，頂点データ補間手段23（図4）から入力される複数のライトベクトルLｎ（41），視線ベクトルV（42），法線ベクトルN（43）及びテクスチャ手段25（図4）から入力されるタンジェントベクトルT（44），バンプベクトルB（45）を用いて，ライトベクトル数分の輝度演算を行い，その結果をライトブレンド手段36に出力する。図5に示される例では，ライトベクトルLｎの個数を4としているので，輝度演算及びその結果出力も4光源分となる。この例では，ライトベクトルの個数を4個としたがこれに限定されるものではない。【００３８】
頂点データ補間手段23（図4）から入力された法線ベクトル（43）Nは，テクスチャ手段25（図4）からのタンジェントベクトルT（44）またはバンプベクトルB（45）の入力が有効であった場合は，バンプ回転タンジェント回転ハーフベクトル生成手段32で，法線ベクトルN（43）の回転が行われ，その結果N’を内積演算手段34に出力する。また，バンプ回転タンジェント回転ハーフベクトル生成手段32は，複数のライトベクトルLｎ41と視線ベクトルV42の和の2等分ベクトルであるハーフベクトルHを生成し，同様に内積演算手段34に出力する。内積演算手段34は，入力された各種のベクトルから輝度計算の為の演算（主に内積演算）を行う。たとえば，NV，VH，NH，NLの4種類の内積演算を行った結果を，たとえばブレンド係数46として，光源ごとのライトシェーディング手段35a〜35dに出力する。また，ブレンド係数46は，レイヤー係数ブレンド手段3にも伝えられる。ライトシェーディング手段35a〜35dでは，フォンシェーディングなどの双方向反射率分布関数（bidirectional
reflectance distribution function）の演算を行い，その結果を光源ごとのライトブレンド手段36a〜36dへ出力する。【００３９】
ライト減衰手段33は，ライトベクトルＬｎと，システムＩ／Ｆ31を介して入力される情報を用いて，各ライトベクトルの減衰係数（48a〜48h）を求め，光源ごとのライトブレンド手段36a〜36dへ出力する。また，各層ごとの減衰係数として，カラーブレンド手段へと出力されてもよい。【００４０】
光源ごとのブレンド手段36a〜36dは，ライト減衰手段33から入力された減衰係数に従ってシェーディング手段35a〜35dの入力をそれぞれ減衰させて，シェーディング結果（47a〜47h）とし，これをレイヤーカラー生成手段へ出力する。なお，図中，47a及び47bは，それぞれ光源0のディフューズ成分，及びスペキュラー成分を示し，47c及び47dは，それぞれ光源1のディフューズ成分，及びスペキュラー成分を示し，47e及び47fは，それぞれ光源2のディフューズ成分，及びスペキュラー成分を示し，47g及び47hは，それぞれ光源0のディフューズ成分，及びスペキュラー成分を示す。また内積演算手段34から出力される，内積値NV，VH，NH，NLなどのブレンド係数46は，複数層のブレンド係数46として出力される。図に示されるように，ライトブレンド手段36a〜36dから出力される輝度演算結果は，拡散反射（ディフューズ）成分と鏡面反射（スペキュラー）成分に分けてそれぞれ出力されてもよいし，これらをあわせたものが出力されてもよい。また，ある1つ光源のディフューズ，スペキュラーは，それぞれRGB各8ビットで表現されてもよい。【００４１】
［レイヤーカラー生成手段，レイヤー係数ブレンド手段］
図6は，レイヤーカラー生成手段2及びレイヤー係数ブレンド手段3を説明するためのブロック図である。なお，この実施態様で，レイヤーカラー生成手段2は，入力されるシェーディング結果を表層設定値を用いて各表層に割り当てるための割り当て指令を出力するライト選択設定手段51と，前記ライト選択設定手段からの割り当て指令に従って入力されるシェーディング結果を各表層用に選択するレイヤーカラー選択手段52とを具備する。この実施形態で，レイヤーカラー生成手段2は，シェーディング手段24から入力された複数光源分の輝度演算結果（47a〜47h）を物体表面の内部散乱を近似する複数の表層に割り当て，表層（レイヤー）ごとの表層色（61a〜61f）を出力する。一方，レイヤー係数ブレンド手段3は，それぞれの層ごとに割り当てられたシェーディング結果とブレンド係数を掛け合わせるなどして，ブレンド後の表層（レイヤー）ごとの表層色（62a〜62f）をカラーブレンド手段4（図4）に出力する。【００４２】
そして，シェーディング手段24から入力された4光源分のディフューズ，スペキュラーそれぞれの輝度演算結果であるシェーディング結果（47a〜47h）は，レイヤーカラー生成手段2で，たとえば物体表面の内部散乱を近似する表層ごとに割り当てられる。【００４３】
表層設定値は，たとえばメインメモリ中のプログラムや所定のメモリ，テーブルなどに格納されており，ＣＰＵなどがメインメモリ中のプログラムの指令を受けて適宜表装設定値に関する情報を読み出して，バス16や，システムＩ／Ｆ53を介してライト選択設定手段51へ伝えればよい。ライト選択設定手段51は，この表層設定値を用いて，レイヤーカラー選択手段52へ，各表層への割り当て指令を出力する。この割り当て指令は，たとえば，シェーディング結果47a，47b，及び47hは，第1のレイヤーへといった内容であればよい。このようにして，表層（レイヤー）ごとの表層色（61a〜61f）が出力される。なお，図中，61ａ及び61ｂは，それぞれレイヤー0のディフューズ成分，及びスペキュラー成分を示し，61c及び61dは，それぞれレイヤー1のディフューズ成分，及びスペキュラー成分を示し，61e及び61fは，それぞれレイヤー2のディフューズ成分，及びスペキュラー成分を示す。【００４４】
本実施態様では表層の数を3としているので，ライト選択設定手段52は3種類（Lsel0，Lsel1，Lsel2）存在してもよい。すなわち，ライト選択設定手段52は，表層の数だけ存在してもよいし，ひとつでもよい。また，表層の数以上でもよい。なお，表層の数は2以上であれば，3などに限定されることはない。本実施形態における各ライト選択設定手段52は，たとえば，それぞれ4ビットで構成され，それぞれのビットが各表層に割り当てられる光源の有無を意味するものがあげられる。各表層に割り当てられる光源は，ＲＧＢ成分ごとに例えば以下のように行われればよい。なお,以下は層（レイヤー）0のみに関するが，レイヤー1，及びレイヤー2も同様の式を用いればよい。【００４５】
すなわち，レイヤー0のディフューズ成分61aとして，光源0〜光源4のディフューズ成分（47a,47c,47e，及び47f）のうちいずれか又はそれらのうち2つ以上の和とし，レイヤー0のスペキュラー成分61bとして，光源0〜光源4のスペキュラー成分（47b,47d,47f，及び47g）のうちいずれか又はそれらのうち2つ以上の和とすればよい。そして，どの成分を採用するかについては，表層設定値に基づく割り当て指令により割り当てされればよい。他のレイヤーについても同様である。すなわり，光源ごとの光成分が,層ごとの光成分へと変換される。【００４６】
図7は，レイヤーカラー生成手段（又はその一部）の例を示すブロック図である。図7に示されるものは，図6のものでは，レイヤー0用のレイヤーカラー生成手段又はレイヤーカラー選択手段の部分を示すブロック図である。図7に示されるように，このレイヤーカラー生成手段は，ＡＮＤゲートなどのセレクタ71と加算回路などの加算器72とを具備し，各ライト選択設定手段51とシステムバスなどにより連結され，又各ライトブレンド手段ともシステムバスなどにより連結されるものがあげられる。そして，セレクタは，あらかじめ設定されたデータのみを選択して通過させるように実装されてもよいし，各ライト選択設定手段51からの選択指令に応じて特定のデータを通過させるように実装されてもよい。また，各セレクタ（図では8つのセレクタ）にはそれぞれ別のシェーディング結果47ａ〜47ｈが入力されてもよいし，あるシェーディング結果が二つ以上のセレクタに入力されてもよく，全てのシェーディング結果が全てのセレクタに入力されてもよい。【００４７】
そして，たとえば，各ライト選択設定手段51からの指令に応じて各セレクタは入力信号を出力するか否か決定され，出力された各信号は，加算回路などで加算された後，表層色61a，61bとして出力される。たとえば，シェーディング結果47aとライト選択設定手段53からの指令が入力されるセレクタ71aにおいて，前記指令がＯＮ（1）であれば，そのセレクタからシェーディング結果47aが出力され，指令がＯＦＦ（0）であれば，そのセレクタからシェーディング結果47aが出力されないようにすればよい。他のセレクタにおいても同様である。そして，たとえば，各層のディフューズから所定のものが加算器72aへ出力され，加算器72aにより加算されて，たとえばレイヤー0のディフューズ成分61a（表層0の表層色の一成分）として出力される。【００４８】
レイヤーカラー選択手段52で，各表層に合成されたカラー成分は，次にレイヤー係数ブレンド手段3に入力され，たとえば，内積演算手段34から出力されるブレンド係数46に従って，各表層を組み合わせる為の係数演算が行われればよい。レイヤー係数ブレンド手段3の動作について，図8を参照して以下で詳細を説明する。図8は，レイヤー係数ブレンド手段の構成例を示すブロック図である。図8に示されるように，レイヤー係数ブレンド手段は，例えばＲＡＭテーブルと，積算回路により実装される。【００４９】
なお，レイヤー係数ブレンド手段におけるブレンド係数として，法線ベクトルNと視線ベクトルVの内積値NV；法線ベクトルNと視線ベクトルVとライトベクトルLの2等分ベクトルの内積値NH；視線ベクトルVと視線ベクトルVとライトベクトルLの2等分ベクトルの内積値VH；又は法線ベクトルNとライトベクトルLの内積値NLがあげられる。ブレンド係数は1種類であってもよいが，複数種類が準備され適宜ブレンドされることが好ましい。【００５０】
レイヤー係数ブレンド手段では，例えば，以下のようにして各表層のカラーにブレンド係数などの係数を掛け合わせる。【００５１】
レイヤー0については，ディフューズ出力（62a）を，α0とレイヤー0のディフューズ入力（61a）との積とし，スペキュラー出力（62b）をα0，レイヤー0スペキュラー入力（61b）との積とする。【００５２】
レイヤー1については，ディフューズ出力（62c）を，（1−α0）とα1とレイヤー1のディフューズ入力（61c）との積とし，スペキュラー出力（62d）を（1−α0）とα1とレイヤー1のスペキュラー入力（61d）との積とする。【００５３】
レイヤー2については，ディフューズ出力（62e）を，（1−α0）と（1−α1）とレイヤー2のディフューズ入力（61e）との積とし，スペキュラー出力（62f）を（1−α0）と（1−α1）とレイヤー2のスペキュラー入力（61f）との積とする。【００５４】
ここで，α0とα1は，ブレンド係数B0，B1（46a，46b）を引数とする関数として表現される。α0
= f0(B0)，α01 = f1(B1)などである。本実施形態では，B0とB1はVH（光源ごとにVH0−VH3），NV，NL（光源ごとにNL0-NL3），NH（光源ごとにNH0-NH3）などの内積値（たとえば，いずれかのブレンド係数）が使用されればよい。ブレンド係数としてVHを用いた場合，光源と視線に関連して各層のブレンドが実行され，NVの場合物体の法線と視線に関連して各層のブレンドが実行される。【００５５】
図8の例では上記f0(B0)とf0(B1)の関数をＲＡＭテーブルとして実装している。このＲＡＭテーブル81,82は，たとえばＲＧＢごとに設けられるものが好ましい。すなわち，この態様に係るレイヤー係数ブレンド手段は，前記ブレンド係数ごとに設けられ，所定のブレンド係数が入力されるＲＧＢ毎に設けられるＲＡＭテーブル81，82と；レイヤーカラー生成手段の出力（61a〜61f）と，前記ブレンド係数に応じた係数とを乗算するための乗算回路などの乗算器83とを具備する。そして，前記ＲＡＭテーブルから前記ブレンド係数に応じた係数（α，1−αなど）を読み出し，前記乗算器は，前記レイヤーカラー生成手段の出力と，前記ブレンド係数に応じた係数とを乗算する。そして，各要素は，バスなどにより連結され，信号の授受が可能となっている。【００５６】
ブレンド係数B0(46a)，B1(46b)は，それぞれ独立したＲＡＭテーブル81,82のアドレスラインに接続され，予めＲＡＭに設定された値に従ってブレンド係数B0(46a)，B1(46b)に応じた値αと1−αを出力する。本発明の好ましい実施形態では，1−αの近似としてαの反転値を1−αとして出力するが，これに限定されない。また，α，又は1−αとして，いずれかのブレンド係数を用いるものが好ましく，このブレンド係数として，内積演算手段が演算した内積があげられる。次に，レイヤーカラー選択手段52から入力された各レイヤーのディフューズ，スペキュラーなどのシェーディング結果（表層色）とα，1−αとを乗算器83が掛け合わせて，ブレンド係数を各レイヤーのディフューズ，スペキュラーに反映させる。このようにして，ブレンドされた表層ごとの表層色（62a〜62f）を得ることができる。【００５７】
各表層のディフューズ，スペキュラーにブレンド係数が掛け合わされた後，ブレンドされた表層ごとの表層色（62a〜62f）は，カラーブレンド手段4によって，最終的な1ピクセルの色を表すＲＧＢなどとして合成される。カラー係数ブレンド手段4の動作については，図9及び図10を参照して以下で詳細を説明する。【００５８】
[カラーブレンド手段]  
図9は，カラーブレンド手段の例を示すブロック図である。また，図10は，カラーブレンド手段内部のレイヤー0ブレンドの回路構成を示すブロック図である。図9に示されるように，カラーブレンド手段として，システムインターフェイス85を介して前記手段と連結されたレイヤーごとのブレンド手段86a〜86cと，加算回路87とを具備するものがあげられる。そして，各レイヤーのブレンド部として，図10に示されるように乗算器88と加算器89とを具備するものがあげられる。【００５９】
ブレンド手段86a〜86cでは，レイヤーごとのディフューズ，スペキュラーと減衰率などの減衰調整値（これは，たとえば，ライト減衰手段33により求められ，システムバス16，システムI/F85を介してブレンド手段86a〜86cに入力される）が掛け合わされた後，ディフューズとスペキュラーの値を加算し，最後にすべての表層のカラー値を加算器87により加算する。テクスチャ手段25（図4）から，バス16などを介して，ブレンド手段86a〜86cに入力されるテクスチャカラーを用いて合成してもよい。通常，テクスチャカラーはディフューズにのみ影響を与え，スペキュラーには影響を与えない。カラーブレンド手段4へのデータ入力段階まで，各レイヤーのカラーをディフューズとスペキュラーに分離していたのはこの為である。すなわち，本発明の好ましい態様は，カラーブレンド手段4にはテクスチャカラーを入力し，レイヤーカラー生成手段2及びレイヤー係数ブレンド手段3にはテクスチャカラーを入力しないものである。なお，シェーディング手段24の直後にテクスチャカラーを合成する場合は，本実施例の様にディフューズとスペキュラーを分離する必要はない。【００６０】
[別の実施態様]
次に，これまで説明したとは別の実施態様に係る本発明の画像形成装置について説明する。図11は，シェーディング手段から出力される光源ごとのシェーディング結果とブレンド係数がシリアルデータとして処理され，かつ表層の数が4の場合における画像生成装置のブロック図である。この実施態様では，レイヤーカラー選択手段と，αｎ及び１−αｎを生成するためのαｎ／１−αｎ生成手段と，αｎ／１−αｎ生成手段が生成した１−αｎに基づいて所定の値ｔを更新するための中間レジスタｔ更新手段と，ｔ値を記憶するためのバッファなどのｔ値記憶手段と，レイヤーカラー生成手段の出力と，αｎ／１−αｎ生成手段が生成したαｎと，t値記憶手段が記憶したt値とを乗算するための乗算回路などの乗算手段と，乗算手段からの出力値Mnと，初期値clearとを加算するための加算回路などの加算手段と，加算手段が加算した値を記憶するバッファなどのCsum値記憶手段と，中間レジスタt更新手段に入力される初期値initを得て初期値initと中間レジスタt更新手段に入力し，加算手段に入力される初期値clearを得て初期値clearを加算手段に入力するためのコントロール手段とを具備する。そして，レイヤーカラー選択手段がレイヤーカラー生成手段として機能し，αｎ／１−αｎ生成手段，中間レジスタｔ更新手段，乗算手段がレイヤー係数ブレンド手段として機能し，乗算手段及び加算手段がカラーブレンド手段として機能する。【００６１】
この実施態様に係る画像形成装置の場合，単位時間当たりの最終RGBデータ生成率は低下するが，少ない演算リソースで同様の処理を行う事ができる。表層色へのブレンド係数の組み合わせは， RGBごとに3つの乗算器のみ構成される。また，表層色を単一色に合成する手段は，RGBごとの入力値と自分自身の値との加算で構成される。また，この例の場合，シェーディング手段の出力段階で，ディフューズとスペキュラーがRGBごとにそれぞれまとめられ，各光源でそれぞれ1組のRGBデータがレイヤーブレンド手段に対して入力されるものとする。【００６２】
図11の，入力信号LCは，シェーディング手段からシリアルに入力される光源ごとのシェーディング結果のRGBデータ入力である。一方，BFは，各レイヤーを合成する為の係数情報（NVなど）である。LCとBFはVALID_IN信号が1の時にデータが有効であり，最終RGBカラー出力CsumはVALID_OUTが1の時にデータが有効である。【００６３】
図12は，ある1ピクセルのブレンド処理の流れを示す図である。この例では，最初に，VALID_INが1の時に4光源分のデータLC0-LC3と，各レイヤーのブレンド係数BF0-BF2がレイヤーカラー選択手段に入力される。レイヤーカラー選択手段では，予め設定された表層設定値に従って4光源分のデータをレイヤーごとのデータに変換して乗算手段に出力する。BF0-BF2は，αn/1-αn生成手段に入力され，図8のRAMテーブル（81,82）と同様の動作でαnと1-αnの値を出力する。この時，コントロール手段からαn/1-αn生成手段に入力されるLnによって，どのレイヤーに対するαnと1-αnの値を出力するかが決定される。 次に，レイヤーカラー選択手段から出力されたLayer dataと，αn/1-αn生成手段から出力されたαnは乗算手段に入力され，1-αnは中間レジスタt更新手段にそれぞれ入力される。中間レジスタt更新手段は，コントロール手段から入力されるinit信号で1に初期化された後，ｔ値記憶手段が記憶している値と入力される1-αnを乗算し，その結果を新しいt値としてt値記憶手段に記憶させる。乗算手段は，Layer dataとαnとtを乗算し，Mnとして出力する。加算手段は，clear信号によりCsum記憶手段を0に初期化した後，順次入力されるMnをCsum記憶手段が記憶する値に加算し，その結果を新しい値としてCsum記憶手段に記憶させる。そして，加算手段は，Csum記憶手段が記憶する値Csumを最終RGBカラーとして出力する。【００６４】
次に，ある1ピクセルを処理する場合のサイクル単位の動作の例を示す。初期状態は，t = 1, Csum = 0である。乗算手段の算出値，t記憶手段に格納されるt値，Csum記憶手段が記憶する最終RGBカラーCsum値は，サイクルごとに以下のようになる。なお，サイクル4の際にVALID_OUT
として1が出力される。【００６５】
乗算手段           
t記憶手段                    最終RGBカラー
Cycle0 : M0 = L0×t×α0                   t
= t*(1-α0)                  Csum
= 0
Cycle1 : M1 = L1×t×α1 
t = t*(1-α1)     
Csum = Csum
+ M0
Cycle2 : M2 = L2×t×α2                   t
= t*(1-α2)                  Csum
= Csum + M1
Cycle3 : M3 = L3×t                      t
= 1 [initで初期化]     Csum = Csum + M2
Cycle4:                                           
Csum = Csum + M3
(Cycle4の時，VALID_OUT = 1)【００６６】
その結果，VALID_OUT =
1の時の最終RGBカラーCsumとして，以下のデータが出力される。すなわち，最終RGBカラーCsum=L0×α0+L1×(1-α0)×α1+L2×(1-α0)×(1-α1)×α2+L3×(1-α0)×(1-α1)×(1-α2)である。ここで，Lnは，各レイヤーを示すデータであり，α１，α２，α３はαｎ／１−αｎ生成手段が生成した値である。【００６７】
[プログラム]
本発明の画像生成装置は，基本的にはハードウェアにより実装されるが，ソフトウェアにより実装されてもよい。そのようなソフトウェアとして，コンピュータを，  特定のピクセルに関する単一光源又は複数光源のシェーディング結果と，前記シェーディング結果がどの表層に属するかを表す表層設定値を受け取り，少なくとも2層分の表層色を生成するためのレイヤーカラー生成手段と，前記レイヤーカラー生成手段が生成した少なくとも2層分の表層色と，表層色を合成するためのブレンド係数とを受け取り，前記表層色のそれぞれに対してブレンド係数を組み合わせ，少なくとも2層分のブレンド後の表層色を生成するためのレイヤー係数ブレンド手段と，前記レイヤー係数ブレンド手段から出力される少なくとも2層分のブレンド後の表層色を単一色に合成するためのカラーブレンド手段として機能させるためのコンピュータグラフィックス用のプログラムがあげられる。そして，このプログラムにより得られる各手段は，上記したと同様の機能を有するものとすればよいので，ここでは上記の記載を準用することとする。【００６８】
[記録媒体]
本発明は，上記のプログラムを格納した，コンピュータにより読み取ることができる記録媒体をも提供できる。このような記録媒体としては，ＣＤ−ＲＯＭ，ＤＶＤ，ハードディスク又はコンピュータ内のメモリなどがあげられる。そして，コンピュータの入力部に所定の情報が入力さると，制御部の指令を受けてプログラムが読み取され，制御部の指令を受けた演算部が，読み出されたプログラムを用いて，入力されたデータや，記憶部に記憶されるデータなどを読み出し，例えば記憶部のメモリを作業領域として利用し，所定の演算を行う。演算結果は，例えばメモリに一時的に記憶された後，出力部から出力される。これらのデータは，例えばバスを通じて，伝達されればよい。このようにして，ハードウェア資源とプログラムとが協働した処理が行われる。【００６９】
[コンピュータの構成]
図13は，本発明のある実施態様（コンピュータ）を示すブロック図である。この実施態様は，コンピュータグラフィックスによるコンピュータ（グラフィック用コンピュータなど）に関する。図13に示されるとおり，このコンピュータ101は，中央演算装置（ＣＰＵ）102，ジオメトリ演算回路103などのジオメトリ演算部，レンダラー104などの描画部，テクスチャ生成回路105などのテクスチャ生成部，照光処理回路107などの照光処理部，表示回路108などの表示情報作成部，フレームバッファ109，及びモニター110を具備する。これらの要素は，バスなどにより接続され，相互にデータを伝達できる。そのほか，図示しないメインメモリや，各種テーブル，ワーク領域となるワークメモリ111，テクスチャを格納するテクスチャメモリ112などを具備する記憶部などを有しても良い。各部を構成するハードウェアは，例えばバスなどを介して連結されている。なお，記憶部は，ＶＲＡＭなどのＲＡＭや，ＣＲ−ＲＯＭ，ＤＶＤ，ハードディスクなどにより構成されても良い。【００７０】
中央演算装置（ＣＰＵ）102は，画像を生成するためのプログラムなどを制御するための装置である。ワークメモリ111は，ＣＰＵ102で使用するデータ及びディスプレイリストなどを記憶してもよい。そして，ＣＰＵ102は，メインメモリに記憶されたプログラムなどを読み出して，所定の処理を行ってもよい。ただし，ハードウェア処理のみにより所定の処理を行っても良い。ＣＰＵ102は，たとえばワークメモリ111から，ワールド座標の3次元オブジェクトデータとしてのポリゴンデータを読出し，ポリゴンデータをジオメトリ演算回路103へ出力する。具体的には，メインプロセッサ，コプロセッサ，データ処理プロセッサ,四則演算回路又は汎用演算回路などを適宜有するものがあげられる。これらはバスなどにより連結され，信号の授受が可能とされる。また，圧縮された情報を伸張するためのデータ伸張プロセッサを備えても良い。【００７１】
ジオメトリ演算回路103は，入力されたポリゴンデータに対して，視点を原点とする視点座標系のデータに座標変換などを行うための回路である。ジオメトリ演算回路103は，処理したポリゴンデータを，レンダラー104へ出力する。具体的なジオメトリ演算回路として，前記メインプロセッサとバスなどで連結された，ジオメトリプロセッサ，コプロセッサ，データ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。【００７２】
レンダラー104は，ポリゴン単位のデータをピクセル単位のデータに変換するための回路又は装置である。レンダラー104は，ピクセル単位のデータをテクスチャ生成回路105へ出力する。具体的なレンダラー104として，前記メインプロセッサとバスなどで連結されたデータ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。【００７３】
テクスチャ生成回路105は，テクスチャメモリ112に記憶されるテクスチャデータに基づき，ピクセル単位のテクスチャカラーを生成するための回路である。テクスチャ生成回路105は，テクスチャカラー情報を有するピクセル単位のデータを，照光処理回路107へ出力する。具体的なテクスチャ生成回路105として，前記メインプロセッサとバスなどで連結されたデータ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。【００７４】
照光処理回路107は，テクスチャカラー情報を有するポリゴンに対し，ピクセル単位で法線ベクトル，重心座標などを利用して陰影付けなどを行うための回路である。照光処理回路107は，陰影付けした画像データを，表示回路108へ出力する。具体的な照光処理回路107として，前記メインプロセッサとバスなどで連結されたデータ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。そして，メモリに格納されたテーブルなどから適宜光に関する情報を読み出して陰影付けを行えばよい。【００７５】
表示回路108は，照光処理回路107から入力された画像データをフレームバッファ109に書き込み，またフレームバッファ109に書き込まれた画像データを読み出し，制御して表示画像情報を得るための回路である。表示回路108は，表示画像情報をモニター110へ出力する。具体的な表示回路として，前記メインプロセッサとバスなどで連結された描画プロセッサ，データ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。【００７６】
モニター110は，入力された表示画像情報にしたがって，コンピュータグラフィックス画像を表示するための装置である。【００７７】
本発明のコンピュータは，照光処理回路などの照光処理部に，本発明の画像生成装置を具備するので，シェーディング画像などを効果的に生成できる。【００７８】
[コンピュータの動作]
以下，コンピュータを用いて画像を生成する動作例を説明する。ＣＰＵ102は，ワークメモリ111から，ポリゴンデータを読出し，ポリゴンデータをジオメトリ演算回路103へ出力する。ジオメトリ演算回路103は，入力されたポリゴンデータに対して，視点を原点とする視点座標系のデータに座標変換するなどの処理を行う。ジオメトリ演算回路103は，処理したポリゴンデータを，レンダラー104へ出力する。レンダラー104は，ポリゴン単位のデータをピクセル単位のデータに変換する。レンダラー104は，ピクセル単位のデータをテクスチャ生成回路105へ出力する。テクスチャ生成回路105は，テクスチャメモリ112に記憶されるテクスチャデータに基づき，ピクセル単位のテクスチャカラーを生成する。テクスチャ生成回路105は，テクスチャカラー情報を有するピクセル単位のデータを，照光処理回路107へ出力する。照光処理回路107は，テクスチャカラー情報を有するポリゴンに対し，ピクセル単位で法線ベクトル，重心座標などを利用して陰影付けを行う。照光処理回路107は，陰影付けした画像データを，表示回路108へ出力する。表示回路108は，照光処理回路107から入力された画像データをフレームバッファ109に書き込み，またフレームバッファ109に書き込まれた画像データを読み出し，表示画像情報を得る。表示回路108は，表示画像情報をモニター110へ出力する。モニター110は，入力された表示画像情報にしたがって，コンピュータグラフィックス画像を表示する。【００７９】
本発明のコンピュータは，照光処理回路などの照光処理部に，本発明の画像生成装置を具備するので，特定のピクセル以外のピクセルへの入射光を考慮しなくとも，輝度計算などを効果的に行うことができるので，高速に陰影などを演算することができる。【００８０】
[ゲーム機の構成]
図14は，本発明のある実施形態（ゲーム機）のブロック図である。このブロック図で表される実施形態は，特に携帯用，家庭用又は業務用のゲーム機として好適に利用されうる。そこで，以下では，ゲーム機として説明する。なお，同図に示されるゲーム機は，少なくとも処理部200を含めばよく（又は処理部200と記憶部270，又は処理部200と記憶部270と情報記憶媒体280を含んでもよく），それ以外のブロック（例えば操作部260，表示部290，音出力部292，携帯型情報記憶装置294，通信部296）については，任意の構成要素とすることができる。【００８１】
処理部200は，システム全体の制御，システム内の各ブロックへの命令の指示，ゲーム処理，画像処理，音処理などの各種の処理を行うものである。処理部200の機能は，各種プロセッサ（ＣＰＵ，ＤＳＰ等），又はＡＳＩＣ（ゲートアレイ等）などのハードウェアや，所与のプログラム（ゲームプログラム）により実現できる。
【００８２】
操作部260は，プレーヤが操作データを入力するためのものである。操作部260は，の機能は，例えば，レバー，ボタン，外枠，及びハードウェアを備えたコントローラにより実現できる。なお，特に携帯用ゲーム機の場合は，操作部260は，ゲーム機本体と一体として形成されても良い。コントローラからの処理情報は，シリアルインターフェース(I/F)やバスを介してメインプロセッサなどに伝えられる。【００８３】
記憶部270は，処理部200や通信部296などのワーク領域となるものである。また，プログラムや各種テーブルなどを格納しても良い。記憶部270は，例えば，メインメモリ272，フレームバッファ274，及びテクスチャ記憶部276を含んでもよく，そのほか各種テーブルなどを記憶しても良い。記憶部270の機能は，ＲＯＭやＲＡＭなどのハードウェアにより実現できる。
ＲＡＭとして，ＶＲＡＭ，ＤＲＡＭ又はＳＲＡＭなどがあげられ，用途に応じて適宜選択すればよい。フレームバッファ274を構成するＶＲＡＭなどは，各種プロセッサの作業領域として用いられる。【００８４】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）280は，プログラムやデータなどの情報を格納するものである。情報記憶媒体280は，いわゆるゲームカセットなどとして販売されうる。そして，情報記憶媒体280の機能は，光ディスク（ＣＤ，ＤＶＤ），光磁気ディスク（ＭＯ），磁気ディスク，ハードディスク，磁気テープ，又はメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部200は，この情報記憶媒体280に格納される情報に基づいて種々の処理を行う。情報記憶媒体280には，本発明（本実施形態）の手段（特に処理部200に含まれるブロック）を実行するための情報（プログラム又はプログラム及びデータ）が格納される。なお，上記記憶部にプログラムやデータなどの情報を格納した場合は，情報記憶媒体280は必ずしも必要ない。情報記憶媒体280に格納される情報の一部又は全部は，例えば，システムへの電源投入時等に記憶部270に転送されることになる。また，情報記憶媒体280に記憶される情報として，所定の処理を行うためのプログラムコード，画像データ，音データ，表示物の形状データ，テーブルデータ，リストデータ，本発明の処理を指示するための情報，その指示に従って処理を行うための情報等の少なくとも2つを含むものがあげられる。
【００８５】
表示部290は，本実施形態により生成された画像を出力するものであり，その機能は，ＣＲＴ（ブラウン管），ＬＣＤ（液晶），ＯＥＬ（有機電界発光素子），ＰＤＰ（プラズマディスプレイパネル）又はＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００８６】
音出力部292は，音を出力するものである。音出力部292の機能は，スピーカなどのハードウェアにより実現できる。音出力は，例えばバスを介してメインプロセッサなどと接続されたサウンドプロセッサにより，音処理が施され，スピーカなどの音出力部から出力される。【００８７】
携帯型情報記憶装置294は，プレーヤの個人データやセーブデータなどが記憶されるものである。この携帯型情報記憶装置294としては，メモリカードや携帯型ゲーム装置などがあげられる。携帯型情報記憶装置294の機能は，メモリカード，フラッシュメモリ，ハードディスク，ＵＳＢメモリなど公知の記憶手段により達成できる。【００８８】
通信部296は，外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行う任意のものである。通信部296の機能は，各種プロセッサ，又は通信用ＡＳＩＣなどのハードウェアや，プログラムなどにより実現できる。
【００８９】
ゲーム機を実行するためのプログラム又はデータは，ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部296を介して情報記憶媒体280に配信するようにしてもよい。【００９０】
処理部200は，ゲーム処理部220，画像処理部230，及び音処理部250を含むものがあげられる。具体的には，メインプロセッサ，コプロセッサ，ジオメトリプロセッサ，描画プロセッサ，データ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。これらは適宜バスなどにより連結され，信号の授受が可能とされる。また，圧縮された情報を伸張するためのデータ伸張プロセッサを備えても良い。【００９１】
ここでゲーム処理部220は，コイン（代価）の受け付け処理，各種モードの設定処理，ゲームの進行処理，選択画面の設定処理，オブジェクトの位置や回転角度（Ｘ，Ｙ又はＺ軸回り回転角度）を求める処理，オブジェクトを動作させる処理（モーション処理），視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理，マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理，ヒットチェック処理，ゲーム結果（成果，成績）を演算する処理，複数のプレーヤが共通のゲーム空間でプレイするための処理，又はゲームオーバー処理などの種々のゲーム処理を，操作部260からの操作データや，携帯型情報記憶装置294からの個人データ，保存データや，ゲームプログラムなどに基づいて行う。【００９２】
画像処理部230は，ゲーム処理部220からの指示等にしたがって，各種の画像処理を行うものである。また，音処理部250は，ゲーム処理部220からの指示等にしたがって，各種の音処理を行う。【００９３】
ゲーム処理部220，画像処理部230，音処理部250の機能は，その全てをハードウェアにより実現してもよいし，その全てをプログラムにより実現してもよい。又は，ハードウェアとプログラムの両方により実現してもよい。画像処理部230は，ジオメトリ演算部232（3次元座標演算部），描画部240（レンダリング部）を含むものがあげられる。
【００９４】
ジオメトリ演算部232は，座標変換，クリッピング処理，透視変換，又は光源計算などの種々のジオメトリ演算（3次元座標演算）を行う。そして，ジオメトリ処理後（透視変換後）のオブジェクトデータ（オブジェクトの頂点座標，頂点テクスチャ座標，又は輝度データ等）は，例えば，記憶部270のメインメモリ272に格納されて，保存される。【００９５】
描画部240は，ジオメトリ演算後（透視変換後）のオブジェクトデータと，テクスチャ記憶部276に記憶されるテクスチャなどに基づいて，オブジェクトをフレームバッファ274に描画する。【００９６】
描画部240は，例えば，テクスチャマッピング部242，シェーディング処理部244を含むものがあげられる。具体的には，描画プロセッサにより実装できる。描画プロセッサは，テクスチャ記憶部，各種テーブル，フレームバッファ，ＶＲＡＭなどとバスなどを介して接続され，更にディスプレイと接続される。【００９７】
テクスチャマッピング部242は，環境テクスチャをテクスチャ記憶部276から読み出し，読み出された環境テクスチャを，オブジェクトに対してマッピングする。【００９８】
シェーディング処理部244は，オブジェクトに対するシェーディング処理を行う。例えば，ジオメトリ処理部232が光源計算を行い，シェーディング処理用の光源の情報や，照明モデルや，オブジェクトの各頂点の法線ベクトルなどに基づいて，オブジェクトの各頂点の輝度（ＲＧＢ）を求める。シェーディング処理部244は，この各頂点の輝度に基づいて，プリミティブ面（ポリゴン，曲面）の各ドットの輝度を例えば，ホンシェーディングや，グーローシェーディングなどにより求める。【００９９】
ジオメトリ演算部232は，法線ベクトル処理部234を含むものがあげられる。法線ベクトル処理部234は，オブジェクトの各頂点の法線ベクトル（広義にはオブジェクトの面の法線ベクトル）を，ローカル座標系からワールド座標系への回転マトリクスで回転させる処理を行ってもよい。【０１００】
本発明のゲーム機は，たとえば，シェーディング処理部244に，本発明の画像生成装置を具備する。【０１０１】
[ゲーム機の基本動作]
システムの電源がＯＮになると，情報記憶媒体280に格納される情報の一部又は全部は，例えば，記憶部270に転送される。そして，ゲーム処理用のプログラムが，例えばメインメモリ272に格納され，様々なデータが，テクスチャ記憶部276や，図示しないテーブルなどに格納される。【０１０２】
操作部260からの操作情報は，例えば，図示しないシリアルインターフェイスやバスを介して，処理部200へ伝えられ，音処理や，様々な画像処理が行われる。音処理部250により処理された音情報は，バスを介して音出力部292へ伝えられ，音として放出される。また，メモリカードなどの携帯型情報記憶装置194に記憶されたセーブ情報なども，図示しないシリアルインターフェイスやバスを介して，処理部200へ伝えられ所定のデータが記憶部170から読み出される。【０１０３】
画像処理部230が，ゲーム処理部220からの指示等にしたがって，各種の画像処理を行う。具体的には，ジオメトリ演算部232が，座標変換，クリッピング処理，透視変換，又は光源計算などの種々のジオメトリ演算（3次元座標演算）を行う。そして，ジオメトリ処理後（透視変換後）のオブジェクトデータ（オブジェクトの頂点座標，頂点テクスチャ座標，又は輝度データ等）は，例えば，記憶部270のメインメモリ272に格納されて，保存される。次に，描画部240が，ジオメトリ演算後（透視変換後）のオブジェクトデータと，テクスチャ記憶部276に記憶されるテクスチャなどとに基づいて，オブジェクトをフレームバッファ274に描画する。【０１０４】
フレームバッファ274に格納された情報は，バスを介して表示部290へ伝えられ，描画されることとなる。このようにして，コンピュータグラフィックを有するゲーム機として機能する。【０１０５】
本発明のゲーム機は，たとえば，シェーディング処理部244に，本発明の画像生成装置を具備するので，特定のピクセル以外のピクセルへの入射光を考慮しなくとも，輝度計算などを効果的に行うことができるので，高速に陰影などを演算することができる。【０１０６】
[携帯電話機の構成]
図15は，本発明のある実施形態（コンピュータグラフィック機能つき携帯電話機）のブロック図である。このブロック図で表される実施形態は，特に3次元コンピュータグラフィック機能つき携帯電話機，特にゲーム機能付携帯電話や，ナビゲーション機能付形態電話として好適に利用されうる。【０１０７】
図15に示されるように，この携帯電話は，制御部221と，制御部221のためのプログラムや画像データなどが格納され，制御部や通信部などのワーク領域となるメモリ部222と，無線通信を行うための無線通信機能部223と，静止画や動画を撮影してデジタル信号に変換するＣＣＤカメラなどの任意要素である撮像部224と，画像や文字を表示するためのＬＣＤなどの表示部225と，テンキーや各種機能キーなどを含む操作部226と，音声通話のためのマイクなどの音声入力部227と，レシーバやスピーカなど音を出力するための音声出力部228と，当該携帯電話端末を動作させるための電池229と，電池229を安定化し各機能部へ分配する電源部230を含む。【０１０８】
制御部201は，携帯電話システム全体の制御，システム内の各ブロックへの命令の指示，ゲーム処理，画像処理，音処理などの各種の処理を行うものである。制御部221の機能は，各種プロセッサ（ＣＰＵ，ＤＳＰ等），又はＡＳＩＣ（ゲートアレイ等）などのハードウェアや，所与のプログラム（ゲームプログラム）により実現できる。【０１０９】
より具体的には，制御部は，図示しない画像処理部を具備し，画像処理部は，ジオメトリ演算回路などのジオメトリ演算部と，描画部（レンダラー）とを具備する。さらに，テクスチャ生成回路，照光処理回路，又は表示回路などを具備してもよい。更には，先に説明したコンピュータやゲーム機における描画処理回路を適宜具備すればよい。【０１１０】
本発明の携帯電話は，たとえば，描画部（レンダラー）に，本発明の画像生成装置を具備する。【０１１１】
[携帯電話機の動作例]
まず，音声による通信動作について説明する。例えば音声入力部227に入力された音声は，インターフェイスによりデジタル情報に変換され，制御部221によって，所定の処理が施され，無線通信機能部223から無線信号として出力される。また，相手の音情報を受信する場合は，無線通信機能部223が無線信号を受信し，所定の変換処理が施された後，制御部221の制御を受けて，音声出力部228から出力される。【０１１２】
次に，画像を処理するための動作や処理は，基本的には先に説明したコンピュータやゲーム機における動作や処理と同様である。操作部224から，図示しないインターフェイスやバスを介して処理情報が入力されると，例えば，制御部221中の画像処理部の指令に基づき，ジオメトリプロセッサなどが，ＲＡＭなどの作業領域，各種テーブルなどを適宜利用し，ジオメトリ演算を行う。さらに,制御部221のレンダラーは，制御部221中の画像処理部の指令に基づき，レンダリング処理を行う。カリング処理やクリッピング処理，アンチエイリアス処理などが適宜施された画像情報は，描画プロセッサにより所定の描画処理を施され，フレームバッファに記憶され，表示部に画像として表示される。このようにして，3次元コンピュータグラフィックスが表示される。【０１１３】
本発明の携帯電話は，たとえば，描画部（レンダラー）に，本発明の画像生成装置を具備するので，特定のピクセル以外のピクセルへの入射光を考慮しなくとも，輝度計算などを効果的に行うことができるので，高速に陰影などを演算することができる。携帯電話におけるコンピュータグラフィックス，特に3次元コンピュータグラフィックス，のレベルはそれほど高くはないので，本発明のようなシェーディング技術は要求されていないが，あえて本発明の画像生成装置を盛り込むことで，陰影の美しい画像を効果的に表示できることとなる。【０１１４】
[カーナビの構成]
図16は，本発明のある実施形態（ナビゲーションシステム）のブロック図である。このブロック図で表される実施形態は，特に3次元コンピュータグラフィック機能つきカーナビゲーションとして好適に利用されうる。図16に示されるように，このナビゲーションシステムは，ＧＰＳ部241と，任意要素としての自律測位部242と，地図記憶部243と，制御部244と，表示部245と，任意要素としてのマップマッチング部246とを含むものがあげられる。【０１１５】
ＧＰＳ部241は，ＧＰＳ受信機を備え，複数のＧＰＳ衛星からの電波を同時に受信して車両の測位データを得るＧＰＳ部である。ＧＰＳ部241は，ＧＰＳ受信機において受信したデータから車両の絶対位置を得るものであるが，この測位データには車両の位置情報の他に車両の進行方向情報，仰角情報が含まれている。【０１１６】
自律測位部242は，自律型センサを備え，自律型センサの出力データから車両の移動距離，移動方位を算出する自律測位部である。自律型センサとしては，車輪の回転数に応じた信号を検出する車輪側センサ，車両の加速度を検出する加速度センサ，車両の角速度を検出するジャイロセンサなどが含まれる。この例では，ジャイロセンサとして，さらに車両のピッチ動作方向における姿勢角度（以下「ピッチ角」と称する）も検出できる3次元ジャイロセンサが使用されており，したがって，自律測位部242から出力される測位データには車両のピッチ角が含まれている。【０１１７】
地図記憶部243は，2次元地図情報，3次元道路情報，及び3次元建物情報を有するデジタル地図データが記憶された地図記憶部である。地図記憶部243を構成する記憶媒体として，ＣＤ−ＲＯＭ，ハードディスクがあげられる。地図データは，データ量が大きいと読み込み時間を要するため，好ましくは複数のブロックに分割されて記憶される。また，道路情報とは，交差点や屈曲点などの主要な地点（ノード）を示す情報を有したものであってもよく，ノード情報はその地点における座標データなどを備え，道路は各ノードを結ぶ直線（リンク）として近似されてもよい。このシステムでの3次元道路情報とは，ノード情報が3次元の座標データを備えていることを意味している。【０１１８】
制御部244は，ＧＰＳ部241または自律測位部242から得られた車両の位置情報に基づいて，地図記憶部243から車両の位置が該当する所定領域の地図データを読み出すなど所定の制御を行うためのものである。【０１１９】
表示部245は，測位制御部244により読み出された地図データを表示するためのものである。
【０１２０】
マップマッチング部246は，車両の測位データおよび地図データの3次元道路情報を基に，車両の位置を道路上に補正するためのものである。【０１２１】
本発明のカーナビは，たとえば，制御部に幾何演算部と描画部とを具備し，描画部（レンダラー）に，本発明の画像生成装置を具備する。【０１２２】
[カーナビの動作例]
ＧＰＳ部241が，複数のＧＰＳ衛星からの電波を同時に受信し車両の測位データを得る。自律測位部242は，自律型センサの出力データから車両の移動距離，移動方位を算出する。制御部244は，ＧＰＳ部241または自律測位部242から得られたデータに所定の処理を施して車両の位置情報を得る。そして，車両の位置情報に基づいて，地図記憶部243から車両の位置に関連する所定領域の地図データを読み出す。また，図示しない操作部からの操作情報を受けて表示モードを変え，表示モードに応じた地図データを読み出す。また，制御部244は，位置情報に基づいて，所定の描画処理を行い建物の立体画像，地図の立体画像，車の立体画像などを表示する。さらに，Ｚ値に基づいて，カリング処理などを行う。表示部245が，制御部244により読み出された地図データを表示する。【０１２３】
本発明のカーナビは，たとえば，描画部（レンダラー）に，本発明の画像生成装置を具備するので，特定のピクセル以外のピクセルへの入射光を考慮しなくとも，輝度計算などを効果的に行うことができる。これにより，本発明のカーナビは，高速に陰影などを演算することができる。カーナビにおけるコンピュータグラフィックス，特に3次元コンピュータグラフィックス，のレベルはそれほど高くはないので，本発明のようなシェーディング技術は要求されていないが，あえて本発明の画像生成装置を盛り込むことで，陰影の美しい画像を効果的に表示できることとなる。
【産業上の利用可能性】
【０１２４】
本発明の画像生成装置は，特に3次元のコンピュータグラフィックを生成することができるのでコンピュータなどの分野で利用されうる。また，ゲーム機，携帯電話，ナビゲーション装置などの分野でも好適に利用されうる。
【図１】
2007013492.tif 000002
【図２】
2007013492.tif 000003
【図３】
2007013492.tif 000004
【図４】
2007013492.tif 000005
【図５】
2007013492.tif 000006
【図６】
2007013492.tif 000007
【図７】
2007013492.tif 000008
【図８】
2007013492.tif 000009
【図９】
2007013492.tif 000010
【図１０】
2007013492.tif 000011
【図１１】
2007013492.tif 000012
【図１２】
2007013492.tif 000013
【図１３】
2007013492.tif 000014
【図１４】
2007013492.tif 000015
【図１５】
2007013492.tif 000016
【図１６】
2007013492.tif 000017
【国際調査報告】
2007013492.tif 000018
2007013492.tif 000019