(57)【要約】【課題】部分的に質感が異なる画像を少ない処理ステップで高品質に生成できるようにする。【解決手段】法線マップの法線ベクトルの長さを、対応するテクスチャ画像の質感の違いにより異ならせる。そして、ライトベクトルをテクスチャ画像に乗算してディフューズ光によるレンダリング画像を生成するとともに、ハーフアングルベクトルとテクスチャ画像に対応した上記法線マップの法線ベクトルとの内積を計算し、この内積値を所定のスペキュラカラーに乗算してスペキュラ光によるレンダリング画像を生成する。そして、ディフューズ光によるレンダリング画像とスペキュラ光によるレンダリング画像とを加算して出力画像を生成する。【選択図】　図６
2004102900.tif 000002
【特許請求の範囲】
【請求項１】
立体空間に、部分的に質感が異なる画像のテクスチャを貼り付けた立体モデルと光源と視点をそれぞれ設定して、前記視点から前記立体モデルを見たときの画像を生成する画像生成方法であって、
前記立体モデルの前記テクスチャ画像が貼り付けられる面の前記光源方向への向きを示すライトベクトルを前記テクスチャ画像に乗算してディフューズ光によるレンダリング画像を生成するステップと、
前記立体モデルの前記テクスチャ画像が貼り付けられる面の前記光源からの光方向と前記視点からの視線方向との和の向きを示すハーフアングルベクトルと前記テクスチャ画像に対応した法線マップの法線ベクトルとの内積を計算し、この内積値を所定のスペキュラカラーに乗算してスペキュラ光によるレンダリング画像を生成するステップと、
前記ディフューズ光によるレンダリング画像と前記スペキュラ光によるレンダリング画像とを加算して出力画像を生成するステップとからなり、
前記法線マップの法線ベクトルの長さを、対応するテクスチャ画像の質感の違いにより異ならせたことを特徴とする画像生成方法。
【請求項２】
請求項１記載の画像生成方法において、
部分的に光沢感が異なる画像のテクスチャに対応する法線マップは、画素毎に設定された各法線ベクトルのうち、対応するテクスチャ画像の中で光沢感を抑える画像に対応する画素の法線ベクトルを他の画素の法線ベクトルより短くしたものであることを特徴とする画像生成方法。
【請求項３】
立体空間に立体モデルと光源と視点をそれぞれ設定して、前記視点から前記立体モデルを見たときの画像を生成する画像生成装置において、
前記立体モデルに貼り付けるテクスチャ画像及びこのテクスチャ画像に対応した法線マップを記憶する記憶手段と、
前記テクスチャ画像が光沢感に斑のある画像であるとき、前記立体モデルの前記テクスチャ画像が貼り付けられる面の前記光源方向への向きを示すライトベクトルを当該テクスチャ画像に乗算してディフューズ光によるレンダリング画像を生成するディフューズ光レンダリング手段と、
前記テクスチャの画像が光沢感に斑のある画像であるとき、前記立体モデルの前記テクスチャ画像が貼り付けられる面の前記光源からの光方向と前記視点からの視線方向との和の向きを示すハーフアングルベクトルと前記テクスチャ画像に対応した法線マップの法線ベクトルとの内積を計算し、この内積値を所定のスペキュラカラーに乗算してスペキュラ光によるレンダリング画像を生成するスペキュラ光レンダリング手段と、
前記ディフューズ光レンダリング手段により生成されたディフューズ光によるレンダリング画像と前記スペキュラ光レンダリング手段により生成されたスペキュラ光によるレンダリング画像とを加算して出力画像を生成する出力画像生成手段とを具備し、
前記法線マップは、法線ベクトルの長さを、対応するテクスチャ画像の質感の違いにより異ならせたものであることを特徴とする画像生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、立体空間に立体モデルと光源と視点を設定して、視点から立体モデルを見たときの画像を生成する画像生成方法及びその装置に関し、特に、法線マップを用いたバンプマッピング技術を応用して部分的に質感が異なる画像を生成する方法及びその装置に関する。
【０００２】
【従来の技術】
例えばバーチャルリアリティ（ＶＲ）システムは、コンピュータの中に互いに直交する３つの座標軸（Ｘ軸，Ｙ軸，Ｚ軸）によって仮想的に表現された三次元座標系の立体空間に、種々の立体モデルと光源を設定するとともに、入力装置からの入力信号によって上記立体空間内を自由に移動できる視点を設定し、この視点から見た立体空間の画像を生成し、スクリーンやディスプレイ等の画面に表示させることによって、鑑賞者自身があたかも仮想空間内に入り込み、立体モデルを見ているような感覚が得られるというものである。
【０００３】
ところで、立体モデルの表面は様々な模様を持つ。これらの模様は、テクスチャと称される画像データとしてコンピュータ内の記憶装置に予め記憶されている。そして画像生成時に、テクスチャ画像は該当する立体モデルの表面に貼り付けられ、視点や光源の位置等によりシェーディング（陰影付け）されて、画面に表示される。
【０００４】
また、模様のなかには凸凹感を持たせることによって、よりリアルな画像が得られる場合がある。凸凹のないテクスチャ画像を凸凹があるかのように見せるのも、シェーディングによって可能である。このようなシェーディングを、バンプマッピングと称している。バンプマッピングとしては、法線マップを用いた技術が一般的である。
【０００５】
図１３に法線マップ１の一例を示す。この法線マップ１は、図１４に示すテクスチャ２の画像に対応して作成されたものである。法線マップ１は、図１５に示すように、Ｘ軸，Ｙ軸及びＺ軸からなる三次元座標系に対する画素ｐの向きを、画素ｐ毎に法線ベクトルＳ（Ｘ，Ｙ，Ｚの各ベクトル値からなる）の傾きで表現したもので、Ｘ，Ｙ，Ｚの各々のベクトル値がそれぞれＲ（Ｒｅｄ），Ｇ（Ｇｒｅｅｎ），Ｂ（Ｂｌｕｅ）値に変換されて画素ｐ毎に設定されている。ここで、法線ベクトルＳの長さは、全て“１”に正規化されている。したがって、法線ベクトルＳの傾きの大きさは−１．０〜１．０の範囲となるが、色の強さは０〜２５５なので、例えば法線ベクトルＳ（Ｘ，Ｙ，Ｚ）が（０．０，０．０，１．０）となる平らの部分は、（Ｒ，Ｇ，Ｂ）＝（１２７，１２７，２５５）となり、青色で表現される。
【０００６】
図１６は、この種の画像を生成する画像生成装置が実行する従来のバンプマップ処理の手順を示す流れ図である。すなわち画像生成装置は、立体モデルの表面に貼り付けられる画像のテクスチャ２と、このテクスチャ２の画像に対応して作成された法線マップ１を記憶部から取得する（ＳＴ１，ＳＴ２）。
【０００７】
次に、画像生成装置は、当該テクスチャ２の画像が貼り付けられる立体モデルの面の向きと光源の位置とから、当該面の光源方向への向きを示すライトベクトルを画素ｐ毎に計算する（ＳＴ３）。次に、画像生成装置は、このライトベクトルと、当該テクスチャ２の画像に対応する法線マップ１の法線ベクトルＳとの内積を画素ｐ毎に計算して、ディフューズ（Ｄｉｆｆｕｓｅ：拡散反射）光に対する各画素ｐの輝度値を求める（ＳＴ４）。しかる後、この内積演算結果（内積値）である各画素ｐの輝度値を当該テクスチャ２の画像に乗算して、ディフューズ光によるレンダリング画像を生成する（ＳＴ５）。
【０００８】
また、画像生成装置は、当該テクスチャ２の画像が貼り付けられる立体モデルの面の向きと光源及び視点の各位置とから、当該面の光源からの光方向と視点からの視線方向との和の向きを示すハーフアングルベクトルを画素ｐ毎に計算する（ＳＴ６）。次に、画像生成装置は、このハーフアングルベクトルと前記法線マップ１の法線ベクトルＳとの内積を画素ｐ毎に計算して、スペキュラ（Ｓｐｅｃｕｌａｒ：鏡面反射）光に対する各画素ｐの輝度値を求める（ＳＴ７）。しかる後、この内積演算結果である各画素ｐの輝度値を、所定のスペキュラカラーに乗算して、スペキュラ光によるレンダリング画像を生成する（ＳＴ８）。なお、スペキュラカラーは、当該テクスチャ２の画像が貼り付けられる面を照射する光源の種類によって決まる。
【０００９】
こうして、ディフューズ光によるレンダリング画像とスペキュラ光によるレンダリング画像とを生成したならば、画像生成装置は、両レンダリング画像を加算して最終出力画像を得る（ＳＴ９）。そして画像生成装置は、この最終出力画像を表示装置に出力して（ＳＴ１０）、スクリーンやディスプレイの画面に表示させていた。
【００１０】
なお、ＳＴ３〜ＳＴ５のディフューズ光によるレンダリング画像生成処理と、ＳＴ６〜ＳＴ８のスペキュラ光によるレンダリング画像生成処理とは、どちらを先に処理してもよく、また、並行して処理してもよいものである。
【００１１】
さて、従来のバンプマップ処理によってシェーディングが施された画像の一例を図１７に示す。この画像は、画面中央の襖を示す立体モデルの表面に、図１４に示したテクスチャ２の画像を貼り付けたもので、テクスチャ２の画像は、松以外の部分に金箔が貼られていることを表現しているので、バンプマップ処理を施して金箔の光沢感を高めている。しかしながら、従来のバンプマップ処理では、襖絵全体で光沢感が均一となるため、襖絵全体に光沢があるように表現されてしまっており、金箔の部分が目立たなくなっていた。
【００１２】
そこで、図１８に示すように、襖絵の光沢感がない松の部分を黒くしたマスク用画像のテクスチャ３を用意する。そして画像生成装置は、図１６の破線で示すように、スペキュラ光によるレンダリング画像に上記マスク用画像を乗算して、マスク部分の輝度値を低くした後（ＳＴ１１）、ディフューズ光によるレンダリング画像を加算して（ＳＴ９）、最終出力画像を得るようにする（ＳＴ１０）。こうすることにより、金箔が貼られていない松の部分は光沢が抑えられるので、金箔の光沢感が高められる。
【００１３】
因みに、図１７に示した画像を生成する場合において、マスク用画像のテクスチャ３を適用する前のスペキュラ光によるレンダリング画像を図１９に示し、マスク用画像のテクスチャ３を適用した後のスペキュラ光によるレンダリング画像を図２０に示す。
【００１４】
【発明が解決しようとする課題】
しかしながら、テクスチャ画像の光沢感が部分的に異なるためにマスク用画像のテクスチャ３を適用する場合には、テクスチャ２の画像からマスク用画像のテクスチャ３を予め作成しておかなければならない煩雑さがある上、テクスチャ２や法線マップ１以外に、マスク用画像のテクスチャ３を記憶保持するための記憶領域も必要で、記憶容量が大容量になるという問題があった。また、スペキュラ光によるレンダリング画像に上記マスク用画像を乗算する処理ステップが追加されるため処理に時間がかかり、バーチャルリアリティシステムのように画像をごく短時間に次々と生成しなければならないものに対しては不向きであった。
【００１５】
本発明はこのような事情に基づいてなされたもので、その目的とするところは、部分的に質感が異なる画像を少ない処理ステップで高品質に生成できる上、記憶容量も節約できる画像生成方法及びその装置を提供しようとするものである。
【００１６】
【課題を解決するための手段】
本発明はかかる課題を解決するものであり、請求項１に対応する発明は、立体空間に、部分的に質感が異なる画像のテクスチャを貼り付けた立体モデルと光源と視点をそれぞれ設定して、視点から立体モデルを見たときの画像を生成する画像生成方法であって、立体モデルのテクスチャ画像が貼り付けられる面の光源方向への向きを示すライトベクトルをテクスチャ画像に乗算してディフューズ光によるレンダリング画像を生成するステップと、立体モデルのテクスチャ画像が貼り付けられる面の光源からの光方向と視点からの視線方向との和の向きを示すハーフアングルベクトルとテクスチャ画像に対応した法線マップの法線ベクトルとの内積を計算し、この内積値を所定のスペキュラカラーに乗算してスペキュラ光によるレンダリング画像を生成するステップと、ディフューズ光によるレンダリング画像とスペキュラ光によるレンダリング画像とを加算して出力画像を生成するステップとからなり、法線マップの法線ベクトルの長さを、対応するテクスチャ画像の質感の違いにより異ならせたしたものである。
【００１７】
この請求項１に対応する発明の画像生成方法においては、法線マップの画素毎に設定された各法線ベクトルの長さが、対応するテクスチャ画像の質感の違いにより異なっている。したがって、スペキュラ光によるレンダリング画像は、ハーフアングルベクトルと上記法線マップの法線ベクトルとの内積を計算し、この内積値を所定のスペキュラカラーに乗算することによって生成しているので、法線ベクトルに応じてスペキュラ光の輝度値が異なり、質感の違いが高品質に表現される。なお、法線ベクトルの長さが不揃いだと、ディフューズ光の計算時にテクスチャの画像情報が損なわれて黒ずんでしまう。そこで、本発明では、ディフューズ光の計算に法線ベクトルを考慮しないように、ライトベクトルの高さ方向の成分をテクスチャの画像データに乗算するだけでディフューズ光によるレンダリング画像を生成している。
【００１８】
本発明の請求項２に対応する発明は、上記請求項１に対応する発明において、部分的に光沢感が異なる画像のテクスチャに対応する法線マップは、画素毎に設定された各法線ベクトルのうち、対応するテクスチャ画像の中で光沢感を抑える画像に対応する画素の法線ベクトルを他の画素の法線ベクトルより短くしたものである。
【００１９】
この請求項２に対応する発明の画像生成方法においては、法線マップの法線ベクトルは、対応するテクスチャ画像の中で光沢感を抑える画像に対応する画素の法線ベクトルが他の画素の法線ベクトルより短くなっている。したがって、スペキュラ光によるレンダリング画像は、法線ベクトルが短い部分はスペキュラ光の輝度がその分小さくなるので、この部分に対応した画像の光沢感が抑えられる。
【００２０】
本発明の請求項３に対応する発明は、立体空間に立体モデルと光源と視点をそれぞれ設定して、視点から立体モデルを見たときの画像を生成する画像生成装置において、立体モデルに貼り付けるテクスチャ画像及びこのテクスチャ画像に対応した法線マップを記憶する記憶手段と、テクスチャ画像が光沢感に斑のある画像であるとき、立体モデルのテクスチャ画像が貼り付けられる面の光源方向への向きを示すライトベクトルを当該テクスチャ画像に乗算してディフューズ光によるレンダリング画像を生成するディフューズ光レンダリング手段と、テクスチャの画像が光沢感に斑のある画像であるとき、立体モデルのテクスチャ画像が貼り付けられる面の光源からの光方向と視点からの視線方向との和の向きを示すハーフアングルベクトルとテクスチャ画像に対応した法線マップの法線ベクトルとの内積を計算し、この内積値を所定のスペキュラカラーに乗算してスペキュラ光によるレンダリング画像を生成するスペキュラ光レンダリング手段と、ディフューズ光レンダリング手段により生成されたディフューズ光によるレンダリング画像とスペキュラ光レンダリング手段により生成されたスペキュラ光によるレンダリング画像とを加算して出力画像を生成する出力画像生成手段とを備え、法線マップは、法線ベクトルの長さを、対応するテクスチャ画像の質感の違いにより異ならせたものである。
【００２１】
この請求項３に対応する発明の画像生成装置においては、記憶手段により、立体モデルに貼り付けるテクスチャ画像と、このテクスチャ画像に対応した法線マップとが記憶手段により記憶されている。ここで、法線マップは、法線ベクトルの長さが、対応するテクスチャ画像の質感の違いにより異なっている。
【００２２】
ディフューズ光によるレンダリング画像は、ライトベクトルの高さ方向の成分が当該テクスチャ画像に乗算されて生成される。一方、スペキュラ光によるレンダリング画像は、ハーフアングルベクトルと当該テクスチャ画像に対応する法線マップの法線ベクトルとの内積が計算され、この内積値がスペキュラカラーに乗算されて生成される。しかして、ディフューズ光によるレンダリング画像とスペキュラ光によるレンダリング画像とが加算されて、法線ベクトルの長さにより部分的に質感が異なった出力画像が生成される。
【００２３】
【発明の実施の形態】
以下、本発明の一実施の形態を図面を用いて説明する。
なお、この実施の形態は、バーチャルリアリティシステムで表示される立体空間画像を生成する場合について説明する。
【００２４】
図１は本実施の形態における画像生成装置１０の要部構成を示すブロック図であり、この画像生成装置１０は、例えばパーソナルコンピュータやワークステーション等のコンピュータによって構成されている。
【００２５】
画像生成装置１０は、入力装置２０から入力される各種の信号を、それぞれ対応する内容の入力指令に変換し、この入力指令を画像生成演算部１３に与える入力信号変換部１１と、モデルファイル１２１，光源ファイル１２２，テクスチャファイル１２３，法線マップファイル１２４などの種々のデータファイルを記憶保存する記憶手段としてのデータ記憶部１２と、前記入力信号変換部１１から与えられた入力指令に従い前記データ記憶部１２のデータを使用して立体空間画像を生成する画像生成演算部１３と、この画像生成演算部１３により生成された立体空間画像のデータを記憶するフレームメモリ１４と、このフレームメモリ１４に記憶された画像データを読出し、アナログの映像信号に変換して表示装置３０に出力するＤ／Ａ（ディジタル／アナログ）変換部１５とから構成されている。
【００２６】
なお、入力装置２０は、立体空間に設定される視点の位置や視線方向を移動させるためのものである。表示装置３０は、スクリーンやディスプレイ等の画面に立体空間画像を投影して表示するものである。
【００２７】
モデルファイル１２１には、立体空間に設定される各種立体モデルの形状や位置等に関するデータが記憶保存されている。図２に、モデルファイル１２１に記憶保存されるデータレコード４１の一例を示す。図２において、項目「モデルＩＤ」は、各種立体モデルを一意に識別するためにモデル毎に設定された固有のコードである。例えば、一意に定めたモデル毎のファイル名であってもよい。項目「形状データ」は、対応するモデルＩＤが設定された立体モデルの三次元形状の各頂点座標等を示すデータである。項目「位置座標」は、互いに直交する３つの座標軸（Ｘ軸，Ｙ軸，Ｚ軸）によって仮想的に表現された三次元座標系の立体空間において、対応するモデルＩＤの立体モデルが設置された位置座標を示すデータである。項目「テクスチャＮｏ」は、対応するモデルＩＤが設定された立体モデルの表面に貼り付けられるテクスチャ画像を特定する識別記号である。この識別記号は、例えばテクスチャ画像のファイル名であってもよい。
【００２８】
光源ファイル１２２には、立体空間に設定される各種光源に関するデータが記憶保存されている。図３に、光源ファイル１２２に記憶保存されるデータレコード４２の一例を示す。図３において、項目「光源ＩＤ」は、各種光源を識別するために光源毎に一意に設定された固有のコードである。項目「種別」は、対応する光源ＩＤが設定された光源の種類（無限遠光源，点光源，線光源，環境光等）を示すデータである。項目「位置座標」は、前記三次元座標系の立体空間において、対応する光源ＩＤの光源が設置された位置座標を示すデータである。
【００２９】
テクスチャファイル１２３には、各種立体モデルの面に貼り付けられる模様や材質等を示すテクスチャデータが記憶保存されている。図４に、テクスチャファイル１２３に記憶保存されるデータレコードの一例を示す。図４において、項目「テクスチャＮｏ」は、各テクスチャデータを識別するためにテクスチャ毎に設定された固有の識別記号である。例えばテクスチャＮｏは、テクスチャデータのファイル名であってもよい。項目「画像データ」は、対応するテクスチャＮｏが設定されたテクスチャの画像データである。項目「法線マップＮｏ」は、対応するテクスチャＮｏのテクスチャ画像から作成された法線マップを特定する識別記号である。例えば法線マップＮｏは、法線マップデータのファイル名であってもよい。項目「光沢フラグ」は、対応するテクスチャＮｏのテクスチャ画像が光沢感に斑のある画像か否かを識別するデータである。
【００３０】
また、このテクスチャファイル１２３のファイルには、「レンダリング指示」と呼ばれる項目が備えられていてもよい。このレンダリング指示とは、モデルの表面をレンダリングする際の指示が記載されたものである。例えば、このレンダリング指示は、モデルＡに対して通常のバンプマッピング、モデルＢに対しては法線マップＡと法線マップＢ、モデルＣに対しては法線マップＢ、モデルＤに対しては本発明を実施するに必要な法線マップＥ等のように、立体モデルと手法との対応付けが行なわれているものである。このようなレンダリング指示をファイルに記載しておくことによって、異なった立体モデルに対して同一の法線マップなどの手法を対応付けることができる。これにより、重複した法線マップを記録する必要がなくなる。
【００３１】
法線マップファイル１２４には、各種テクスチャ画像から生成された法線マップに関するデータが記憶保存されている。図５に、法線マップファイル１２４に記憶保存されるデータレコードの一例を示す。図５において、項目「法線マップＮｏ」は、各法線マップを識別するために法線マップ毎に設定された固有の識別記号である。各「法線マップデータ」は、対応する法線マップＮｏが設定された法線マップの各画素の法線ベクトルである。
【００３２】
また、図２から図５までの各種ファイルの各レコードを集約して一つのファイル、１つのレコードとしてもよい。この場合には、重複する項目は省略される。
【００３３】
ここで、本実施の形態では、従来の手法で行なわれている各法線ベクトルの長さを１に正規化するという制約を外し、法線マップの画素毎に設定された各法線ベクトルの大きさを、対応するテクスチャ画像の質感の違いによって異ならせている。このような法線ベクトルは、例えば下記（１）式によって算出される。
【００３４】
（Ｒ，Ｇ，Ｂ）＝［（ｒ，ｇ，ｂ）−（１２７，１２７，１２７）］×α＋（１２７，１２７，１２７）　　…（１）
ただし、ｒ，ｇ，ｂは法線ベクトルを１に正規化したときのＸ，Ｙ，Ｚのベクトルにそれぞれ対応したＲＧＢ値。αは０≦α≦１の範囲内で任意。
【００３５】
さて、かかる構成の画像生成装置において、画像生成演算部１３は、三次元座標系の立体空間に、モデルファイル１２１に設定された各種立体モデルと、光源ファイル１２２に設定された各種光源を設定し、入力装置２０からの入力信号によって視点の位置と視線方向とが定まると、その視点から見た立体空間の画像を生成する。このとき、画像生成演算部１３は、所定の立体モデルに対してバンプマップ処理を実行して、その立体モデルの面に凹凸感のあるテクスチャ画像を貼り付ける。
【００３６】
図６は、画像生成演算部１３が実行するバンプマップ処理の手順を示す流れ図である。先ず、画像生成演算部１３は、モデルファイル２１から取得した立体モデルに関するデータレコード４１から当該モデルに貼り付けるテクスチャの画像データのテクスチャＮｏを取得すると、ＳＴ２１としてテクスチャファイル１２３から当該テクスチャＮｏのデータレコード４３を読込む。
【００３７】
次に、画像生成演算部１３は、ＳＴ２２としてテクスチャデータレコード４３から法線マップＮｏを検出し、法線マップファイル１２４から当該法線マップＮｏのデータレコード４４を読込む。
【００３８】
次に、画像生成演算部１３は、テクスチャデータレコードの光沢フラグを調べる。そして、光沢フラグが光沢感に斑のある画像であることを示すときには、ＳＴ２４，２５で示すディフューズ光によるレンダリング画像生成処理と、ＳＴ２６〜ＳＴ２８で示すスペキュラ光によるレンダリング画像生成処理を実行する。なお、この処理はどちらを先に処理してもよいし、両方を並行して処理してもよい。
【００３９】
すなわち、画像生成演算部１３は、ＳＴ２４としてテクスチャの画像が貼り付けられる立体モデルの面の向きと光源の位置とから、当該面の光源方向への向きを示すライトベクトルを画素ｐ毎に計算する。そして画像生成演算部１３は、ＳＴ２５としてこのライトベクトルの高さ方向の成分（通常はライトベクトルのＺ軸成分）を、テクスチャファイル１２３から読込んだテクスチャデータレコード４３の画像データ（テクスチャの画像データ）に乗算して、ディフューズ光によるレンダリング画像を生成する（ディフューズ光レンダリング手段）。
【００４０】
また、画像生成演算部１３は、ＳＴ２６としてテクスチャの画像データが貼り付けられる立体モデルの面の向きと光源及び視点の各位置とから、当該面の光源からの光方向と視点からの視線方向との和の向きを示すハーフアングルベクトルを画素毎に計算する。次いで、画像生成演算部１３は、このハーフアングルベクトルと、法線マップファイル１２４から読込んだ法線マップデータレコード４４の法線マップデータ（法線ベクトルＳ）との内積を画素毎に計算して、スペキュラ光に対する各画素の内積値つまり輝度値を求める。そして、この内積演算結果である各画素の輝度値を、所定のスペキュラカラーに乗算して、スペキュラ光によるレンダリング画像を生成する。なお、スペキュラカラーは、当該テクスチャの画像が貼り付けられる面を照射する光源の種類によって決まる。
【００４１】
こうして、ディフューズ光によるレンダリング画像とスペキュラ光によるレンダリング画像とを生成したならば、画像生成演算部１３は、ＳＴ２９として両レンダリング画像を加算して最終出力画像を得る。そこで、画像生成演算部１３は、ＳＴ３０としてこの最終出力画像をフレームメモリ１４に描画出力する。
【００４２】
フレームメモリ１４に描画された最終出力画像の画像データは、Ｄ／Ａ変換部１５によりアナログの映像信号に変換されて、表示装置３２によりスクリーンやディスプレイ等の画面に表示されるものとなっている。
【００４３】
このように構成された本実施の形態においては、例えば図１２に示す立体空間画像を生成する場合、予め画面中央の襖を形成する立体モデルの面に貼り付けられる襖絵のテクスチャとして、図１４に示す画像のテクスチャ２をテクスチャファイル１２３に記憶するとともに、このテクスチャ２の画像に対応した法線マップとして、図７に示すように、テクスチャ画像の光沢感がない松の部分に対応する画素の法線ベクトルを、光沢感がある金箔の部分に対応する画素の法線ベクトルよりも短くした法線マップ１′を、法線マップファイル１２４に記憶しておく。
【００４４】
そして、画像生成演算部１３において、当該立体モデルに対するバンプマップ処理が実行されると、図８に示すようなライトベクトルが計算され、このライトベクトルの高さ方向の成分がテクスチャ２の画像データに乗算されて、図１０に示すようなディフューズ光によるレンダリング画像が生成される。また、図９に示すようなハーフアングルベクトルが算出され、このハーフアングルベクトルと法線マップ１′の法線ベクトルとの内積が計算された後、この内積値、つまり輝度値に所定のスペキュラカラーが乗算されて、図１１に示すようなスペキュラ光によるレンダリング画像が生成される。そして、このディフューズ光によるレンダリング画像とスペキュラ光によるレンダリング画像とが加算されて、図１２に示すような最終出力画像が得られる。この最終出力画像は、法線マップ１′の法線ベクトルが短い部分、つまり光沢感のない松の部分の光沢が抑えられるので、逆に、法線ベクトルが長い部分、つまり金箔が貼られている部分の光沢感が高められ、従来のマスク用画像のテクスチャ３を用いたときと同等若しくはそれに近い品質の画像が得られる。
【００４５】
したがって、本実施の形態によれば、マスク用画像のテクスチャ３を不要にできるので、このマスク用画像のテクスチャ３を作成する手間をなくすことができる上、このマスク用画像のテクスチャを保存する記憶部の記憶容量も節約できる。また、スペキュラ光によるレンダリング画像にマスク用画像のテクスチャ３を乗算する処理ステップが不要となり処理ステップも少なくなるので、処理時間を短縮できる。
【００４６】
しかも、法線ベクトルの長さが不揃いだと、ディフューズ光の計算時にテクスチャの画像情報が損なわれて黒ずんでしまうおそれがあるが、本実施の形態では、ディフューズ光の計算に法線ベクトルを考慮しないように、ライトベクトルの高さ方向の成分をテクスチャの画像データに乗算するだけでディフューズ光によるレンダリング画像を生成しているので、このような問題も起こり得ない。
【００４７】
なお、この発明は、バーチャルリアリティシステムにおける画像生成技術に限らず、例えばＣＧアニメーションやＴＶゲームにおいて立体空間画像を生成する際にも適用できる。
【００４８】
また、この発明は、金箔部以外の質感が異なる画像の生成にも適用して効果的である。
【００４９】
また、従来の技術ではディフューズ光の輝度値をライトベクトルと法線ベクトルとの内積を求めることにより得ていたが、この発明においては、全ての画素において法線ベクトルは鉛直上向き（０，０，１）とすることにより、ライトベクトルの高さ成分だけで輝度値を得ている。したがって、この発明では、立体空間画像が全く均一に光を受ける平坦な表面であるならば、より一層の質感及び光沢感を演出することができる。
【００５０】
【発明の効果】
以上詳述したように、請求項１に対応する発明によれば、部分的に質感が異なる画像を少ない処理ステップで高品質に生成できる上、記憶容量も節約できる画像生成方法を提供できる。
【００５１】
また、請求項２に対応する発明によれば、部分的に光沢感が異なる画像を少ない処理ステップで高品質に生成できる上、記憶容量も節約できる画像生成方法を提供できる。
【００５２】
また、請求項３に対応する発明によれば、部分的に質感が異なる画像を少ない処理ステップで高品質に生成できる上、記憶容量も節約できる画像生成装置を提供できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態における画像生成装置の要部構成を示すブロック図。
【図２】同実施の形態における画像生成装置のモデルファイルに記憶されるデータレコードの一例を示す模式図。
【図３】同実施の形態における画像生成装置の光源ファイルに記憶されるデータレコードの一例を示す模式図。
【図４】同実施の形態における画像生成装置のテクスチャファイルに記憶されるデータレコードの一例を示す模式図。
【図５】同実施の形態における画像生成装置の法線マップファイルに記憶されるデータレコードの一例を示す模式図。
【図６】同実施の形態における画像生成装置の画像生成演算部が実行するバンプマップ処理の主要な手順を示す流れ図。
【図７】同実施の形態において使用する法線マップを示す画像。
【図８】同実施の形態において算出されるライトベクトルの概念図。
【図９】同実施の形態において算出されるハーフアングルベクトルの概念図。
【図１０】同実施の形態において生成されるディフューズ光によるレンダリング画像。
【図１１】同実施の形態において生成されるスペキュラ光によるレンダリング画像。
【図１２】同実施の形態において生成される最終出力画像。
【図１３】従来説明において使用する法線マップを示す画像。
【図１４】同実施の形態及び従来説明において使用するテクスチャを示す画像。
【図１５】法線マップの説明に用いる概念図。
【図１６】従来の画像生成時に行なわれるバンプマップ処理の主要な手順を示す流れ図。
【図１７】従来のバンプマップ処理で生成される出力画像。
【図１８】従来において使用されるマスク用画像。
【図１９】従来のバンプマップ処理で生成されるスペキュラ光によるレンダリング画像。
【図２０】従来のマスク用画像を使用したバンプマップ処理で生成されるスペキュラ光によるレンダリング画像。
【符号の説明】
１，１′…法線マップ
２…テクスチャ
１０…画像生成装置
１１…入力信号変換部
１２…データ記憶部
１３…画像生成演算部
１４…フレームメモリ
１５…Ｄ／Ａ変換部
２０…入力装置
３０…表示装置
１２１…モデルファイル
１２２…光源ファイル
１２３…テクスチャファイル
１２４…法線マップファイル
【図１】
2004102900.tif 000003
【図２】
2004102900.tif 000004
【図３】
2004102900.tif 000005
【図４】
2004102900.tif 000006
【図５】
2004102900.tif 000007
【図６】
2004102900.tif 000008
【図７】
2004102900.tif 000009
【図８】
2004102900.tif 000010
【図９】
2004102900.tif 000011
【図１０】
2004102900.tif 000012
【図１１】
2004102900.tif 000013
【図１２】
2004102900.tif 000014
【図１３】
2004102900.tif 000015
【図１４】
2004102900.tif 000016
【図１５】
2004102900.tif 000017
【図１６】
2004102900.tif 000018
【図１７】
2004102900.tif 000019
【図１８】
2004102900.tif 000020
【図１９】
2004102900.tif 000021
【図２０】
2004102900.tif 000022