(57)【要約】【課題】  高速な描画処理を行うためのバンプマッピング技術を提供する。【解決手段】  法線ベクトルで記述される初期法線バンプマップデータＢＭｎを取得し（Ｓ１２０）、積分演算処理により一旦高度データの形式で記述される初期高度バンプマップデータＢＭｈへと変換する（Ｓ１４０）。変形の内容を高度データの形式で記述する変形高度データＭＤを生成し（Ｓ１６０）、この変形高度データＭＤを、初期高度バンプマップデータＢＭｈへと合成し、修正高度バンプマップデータＭＢＭｈを生成する（Ｓ１８０）。修正高度バンプマップデータＭＢＭｈを偏微分演算処理により法線ベクトルで記述される修正法線バンプマップデータＭＢＭｎへ変換し（Ｓ２００）、修正法線バンプマップデータを保存する（Ｓ２２０）。【選択図】  図３
2006163944.tif 000002
【特許請求の範囲】
【請求項１】
法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換ステップと、
変形の内容を高度データの形式で記述する変形高度データを前記高度マップデータへ合成し、修正高度マップデータを生成する合成ステップと、
前記修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換ステップと、
前記修正法線マップデータを保存する保存ステップと、
を備えることを特徴とする法線マップデータ生成方法。
【請求項２】
法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換ステップと、
前記逆変換ステップで得られた前記高度マップデータを記述する高度データを変形の内容に対応させて修正し、修正高度マップデータを生成する変形ステップと、
前記修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換ステップと、
前記修正法線マップデータを保存する保存ステップと、
を備えることを特徴とする法線マップデータ生成方法。
【請求項３】
前記逆変換ステップに投入される前記法線マップデータを記述する法線ベクトルは量子化されており、前記保存ステップにおいて、前記修正法線マップデータを記述する法線ベクトルも量子化して保存することを特徴とする請求項１または２に記載の法線マップデータ生成方法。
【請求項４】
量子化された法線ベクトルに対してそれぞれ予め輝度値を計算しておき、
請求項３に記載の法線マップデータ生成方法により生成された前記修正法線マップデータにもとづいてシェーディング処理する際に、前記修正法線マップデータを記述する量子化された法線ベクトルに対応する輝度値を参照し、参照された輝度値にもとづいてシェーディング処理を行うことを特徴とする描画処理方法。
【請求項５】
変形の内容を高度データの形式で記述する変形高度データを、法線ベクトルで記述される変形法線データに変換する変換ステップと、
前記変形法線データを、法線ベクトルで記述される法線マップデータに合成し、修正法線マップデータを生成する合成ステップと、
前記修正法線マップデータを保存する保存ステップと、
を備えることを特徴とする法線マップデータ生成方法。
【請求項６】
前記合成ステップにおいて、前記変形法線データと前記法線マップデータを重み付けして加算することを特徴とする請求項５に記載の法線マップデータ生成方法。
【請求項７】
前記合成ステップにおいて、前記変形高度データが示す形状が特徴的な領域について、前記変形高度データを変換して得られる前記変形法線データの重みを大きくすることを特徴とする請求項６に記載の法線マップデータ生成方法。
【請求項８】
前記法線マップデータを記述する法線ベクトルは量子化されており、前記保存ステップにおいて、前記修正法線マップデータを記述する法線ベクトルも量子化して保存することを特徴とする請求項５に記載の法線マップデータ生成方法。
【請求項９】
量子化された法線ベクトルに対してそれぞれ予め輝度値を計算しておき、
請求項８に記載の法線マップデータ生成方法により生成された前記修正法線マップデータにもとづいてシェーディング処理する際に、前記修正法線マップデータを記述する量子化された法線ベクトルに対応する輝度値を参照し、参照された輝度値にもとづいてシェーディング処理を行うことを特徴とする描画処理方法。
【請求項１０】
法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換部と、
変形の内容を高度データで記述する変形高度データを前記高度マップデータへ合成し、修正高度マップデータを生成する合成部と、
前記修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換部と、
前記修正法線マップデータを保存するメモリと、
を備えることを特徴とする描画処理装置。
【請求項１１】
変形の内容を高度データで記述する変形高度データを、法線ベクトルで記述される変形法線データに変換する変換部と、
前記変形法線データを、法線ベクトルで記述される法線マップデータに合成し、修正法線マップデータを生成する合成部と、
前記修正法線マップデータを保存するメモリと、
を備えることを特徴とする描画処理装置。
【請求項１２】
コンピュータに、
法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換ステップと、
変形の内容を高度データの形式で記述する変形高度データを前記高度マップデータへ合成し、修正高度マップデータを生成する合成ステップと、
前記修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換ステップと、
前記修正法線マップデータを保存する保存ステップと、
を実行させるためのプログラム。
【請求項１３】
コンピュータに、
法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換ステップと、
前記逆変換ステップで得られた前記高度マップデータを記述する高度データを変形の内容に対応させて修正し、修正高度マップデータを生成する変形ステップと、
前記修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換ステップと、
前記修正法線マップデータを保存する保存ステップと、
を実行させるためのプログラム。
【請求項１４】
コンピュータに、
変形の内容を高度データの形式で記述する変形高度データを、法線ベクトルで記述される変形法線データに変換する変換ステップと、
前記変形法線データを、法線ベクトルで記述される法線マップデータに合成し、修正法線マップデータを生成する合成ステップと、
前記修正法線マップデータを保存する保存ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はコンピュータグラフィックスにおける描画処理技術に関し、特に物体の凹凸を表現するバンプマッピング処理技術に関する。
【背景技術】
【０００２】
３次元コンピュータグラフィックスでは、一般的に３次元空間のオブジェクトを多数のポリゴンにより表現するポリゴンモデルが利用される。ポリゴンモデルの描画処理において、光源、視点位置、物体表面の反射率などを考慮してポリゴン表面に陰影をつけるシェーディングが行われる。
【０００３】
オブジェクトの表面に凹凸を簡易に表現する方法として、テクスチャマッピングの考えを応用したバンプマッピングと呼ばれる方法がある。バンプマッピングでは、オブジェクトの表面に法線ベクトルをマッピングしてオブジェクトの表面に擬似的な法線ベクトルを生成する。こうして生成された疑似法線ベクトルがオブジェクトの表面の法線方向であると仮定してシェーディング処理を行い、表面の輝度値を求め、陰影付けを行う。これによってオブジェクト表面上に擬似的に凹凸が表現される。
【０００４】
本出願人は、特許文献１において、テクスチャマッピングにおいて色変換に用いられるカラールックアップテーブルを法線ベクトルの参照テーブルとして利用したバンプマッピング手法を提案した。
【０００５】
バンプマッピングによれば、オブジェクトの表面の微細なモデリングをすることなく、凹凸を簡易に表現することができるが、オブジェクト表面のピクセルごとに法線ベクトルをマッピングし、すべての法線ベクトルについて輝度計算をする必要があり、計算コストが大きく、処理に時間がかかる。また、ピクセルごとに法線ベクトルの値を格納するため、メモリ量も多くなる。そこで、特許文献１において提案したカラールックアップテーブルを利用したバンプマッピング手法では、法線ベクトルをより数の少ない基準法線ベクトルに量子化するため、計算コストを抑え、メモリ量も少なくすることができる。法線ベクトルの量子化により、処理速度とメモリ容量の面の問題を解決することができた。
【特許文献１】特開２００２−２０３２５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ここで、このような法線ベクトルによるバンプマッピング処理によって凹凸が表現されたオブジェクトに変形処理を施して、変形処理後のオブジェクトを描画する場合を考える。たとえば、予め法線ベクトルがマッピングされてバンプマッピング処理された球体に、新たな凹凸を付加して変形処理を行うものとする。従来の手法のバンプマッピング処理によりこのような新たな凹凸が付加された変形処理後の球体を描画する場合、もとの球体に新たな凹凸を付加したポリゴンを生成し、そのポリゴンの表面に再度、法線ベクトルで記述される法線データをマッピングするバンプマッピング処理を行い、その後シェーディング処理を行うことになる。しかしながら、このような処理を行ったのでは、描画処理に必要な演算量が増加することとなる。特に、ゲームに代表されるようにユーザの指示に従って描画すべき情報が刻々と変化するような３次元コンピュータグラフィックにおいては、オブジェクトの描画処理にリアルタイム性が要求されるため、描画処理速度の向上は重要な課題となる。
【０００７】
本発明はこうした課題に鑑みてなされたものであり、その目的は、高速な描画処理を行うためのバンプマッピング技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある態様の法線マップデータ生成方法は、逆変換ステップにおいて、法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する。つぎに、合成ステップにおいて、変形の内容を高度データの形式で記述する変形高度データを、上記逆変換ステップにおいて得られた高度マップデータへ合成し、修正高度マップデータを生成する。さらに、変換ステップにおいて、この修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換し、保存ステップにおいて修正法線マップデータを保存する。
【０００９】
この態様によると、オブジェクトを構成するポリゴンの形状は変更せずに、変形処理を法線マップデータに対して行い、法線マップデータにより変形処理後のオブジェクトの凹凸を表現するため、高速な描画処理を行うことができる。
【００１０】
さらに、法線ベクトルで記述される法線マップデータを高度データの形式に変換して高度データにて変形処理を行い、その後、法線マップデータへと変換するため、高さをパラメータとして利用する変形処理を行う場合には、高度データを利用することができる。
【００１１】
合成ステップにおいては、逆変換ステップで得られた高度マップデータを、変形の内容に対応させて高度データを直接修正することによって、修正高度マップデータを生成してもよい。
【００１２】
本発明の別の態様もまた、法線マップデータ生成方法である。この方法は、変換ステップにおいて、変形の内容を高度データの形式で記述する変形高度データを、法線ベクトルで記述される変形法線データに変換する。つぎに、合成ステップにおいて、この変形法線データを、法線ベクトルで記述される法線マップデータに合成することによって修正法線マップデータを生成し、保存ステップにおいてこの修正法線マップデータを保存する。
【００１３】
この態様においても、オブジェクトを構成するポリゴンの形状は変更せずに、変形処理を法線マップデータに対して行い、法線マップデータにより変形処理後のオブジェクトの凹凸を表現することになるため、高速な描画処理を行うことができる。
【発明の効果】
【００１４】
本発明によれば、オブジェクトの変形を伴うアニメーションなどにおいて、描画処理を高速化することができる。
【発明を実施するための最良の形態】
【００１５】
実施形態の詳細について説明する前に、その概要を述べる。
【００１６】
本発明のある態様の法線マップデータ生成方法は、法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換ステップと、変形の内容を高度データの形式で記述する変形高度データを高度マップデータへ合成し、修正高度マップデータを生成する合成ステップと、修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換ステップと、修正法線マップデータを保存する保存ステップと、を備える。
【００１７】
この態様によると、法線ベクトルで記述される法線マップデータを高度データの形式に変換して高度データにて変形処理を行い、その後、法線マップデータへと変換する。この結果、もとのオブジェクトの形状データではなく、法線マップデータに対して変形処理を施すことになるため、ポリゴンの形状を変形して再度バンプマッピング処理を行う場合に比べて高速な描画処理を行うことが可能となる。さらに、高さをパラメータとして利用する変形処理を行う場合には、高度データを利用することができる。
【００１８】
本発明の別の態様もまた、法線マップデータ生成方法である。この法線マップデータ生成方法は、法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換ステップと、逆変換ステップで得られた高度マップデータを記述する高度データを、変形の内容に対応させて修正し、修正高度マップデータを生成する変形ステップと、修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換ステップと、修正法線マップデータを保存する保存ステップと、を備える。
【００１９】
この態様によっても、もとのオブジェクトの形状データではなく、法線マップデータに対して変形処理を施すことになるため、ポリゴンの形状を変形して再度バンプマッピング処理を行う場合に比べて高速な描画処理を行うことが可能となる。さらに、高さをパラメータとして利用する変形処理を行う場合には、高度データを利用することができる。
【００２０】
逆変換ステップに投入される法線マップデータを記述する法線ベクトルは量子化されており、保存ステップにおいて、修正法線マップデータを記述する法線ベクトルも量子化して保存してもよい。
【００２１】
法線マップデータを記述する法線ベクトルを量子化することによって、必要なメモリの容量を削減することができる。
【００２２】
本発明のさらに別の態様は、描画処理方法である。この方法は、量子化された法線ベクトルに対してそれぞれ予め輝度値を計算しておき、上述の法線マップデータ生成方法により生成された量子化された修正法線マップデータにもとづいてシェーディング処理する際に、修正法線マップデータを記述する量子化された法線ベクトルに対応する輝度値を参照し、参照された輝度値にもとづいてシェーディング処理を行う。
【００２３】
この態様によると、量子化された法線ベクトルに対して輝度値を計算しておくことにより、変形処理後のシェーディング処理を行う際に、すべての法線ベクトルに対して輝度値を計算する必要がなくなるため、演算量およびメモリを低減することができ、高速な描画処理を行うことができる。
【００２４】
本発明の別の態様もまた、法線マップデータ生成方法である。この方法は、変形の内容を高度データの形式で記述する変形高度データを、法線ベクトルで記述される変形法線データに変換する変換ステップと、変形法線データを、法線ベクトルで記述される法線マップデータに合成し、修正法線マップデータを生成する合成ステップと、修正法線マップデータを保存する保存ステップと、を備える。
【００２５】
この態様によると、高度データで表現される変形内容を法線データの形式に変換し、法線ベクトル同士の演算を行い、法線マップデータに対して直接変形処理を施すことになるため、ポリゴンの形状を変形して再度バンプマッピング処理を行う場合に比べて高速な描画処理を行うことが可能となる。
【００２６】
合成ステップにおいて、変形法線データと法線マップデータを重み付けして加算してもよい。
【００２７】
このように重み付けすることによって、変形内容に対応した形状と、法線マップデータにより表現される凹凸のいずれを支配的に表現するかを調節することができる。
【００２８】
この合成ステップにおいては、変形高度データが示す形状が特徴的な領域について、変形高度データを変換して得られる変形法線データの重みを大きくしてもよい。
【００２９】
法線マップデータを記述する法線ベクトルは量子化されており、保存ステップにおいて、修正法線マップデータを記述する法線ベクトルも量子化して保存してもよい。
【００３０】
法線マップデータを記述する法線ベクトルを量子化することによって、必要なメモリの容量を削減することができる。
【００３１】
本発明のさらに別の態様は、描画処理方法である。この方法は、量子化された法線ベクトルに対してそれぞれ予め輝度値を計算しておき、上述の法線マップデータ生成方法により生成された量子化された修正法線マップデータにもとづいてシェーディング処理する際に、修正法線マップデータを記述する量子化された法線ベクトルに対応する輝度値を参照し、参照された輝度値にもとづいてシェーディング処理を行う。
【００３２】
この態様によると、量子化された法線ベクトルに対して輝度値を計算しておくことにより、変形処理後のシェーディング処理を行う際に、すべての法線ベクトルに対して輝度値を計算する必要がなくなるため、演算量およびメモリを低減することができ、高速な描画処理を行うことができる。
【００３３】
本発明のさらに別の態様は、描画処理装置である。この装置は、法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換部と、変形の内容を高度データで記述する変形高度データを高度マップデータへ合成し、修正高度マップデータを生成する合成部と、修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換部と、修正法線マップデータを保存するメモリと、を備える。
【００３４】
この態様によると、オリジナルの形状データではなく、法線マップデータに対して直接変形処理を施すことになるため、高速な描画処理を行うことが可能となる。さらに、高さをパラメータとして利用する変形処理を行う場合には、高度データを利用することができる。
【００３５】
修正高度マップデータを生成する合成部は、逆変換部で得られた高度マップデータを記述する高度データを変形の内容に対応させて修正して、修正高度マップデータを生成する変形処理部に置換されてもよい。
【００３６】
本発明のさらに別の態様もまた、描画処理装置である。この装置は、変形の内容を高度データで記述する変形高度データを、法線ベクトルで記述される変形法線データに変換する変換部と、変形法線データを、法線ベクトルで記述される法線マップデータに合成し、修正法線マップデータを生成する合成部と、修正法線マップデータを保存するメモリと、を備える。
【００３７】
この態様によると、高度データで表現される変形内容を法線データの形式に変換し、法線ベクトル同士の演算を行い、法線マップデータに対して直接変形処理を施すことになるため、高速な描画処理を行うことが可能となる。
【００３８】
本発明のさらに別の態様は、プログラムである。このプラグラムは、コンピュータに、
法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換ステップと、変形の内容を高度データの形式で記述する変形高度データを高度マップデータへ合成し、修正高度マップデータを生成する合成ステップと、修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換ステップと、修正法線マップデータを保存する保存ステップと、を実行させる。
【００３９】
本発明のさらに別の態様もまた、プログラムである。このプログラムは、コンピュータに、法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換ステップと、逆変換ステップで得られた高度マップデータを記述する高度データを変形の内容に対応させて修正し、修正高度マップデータを生成する変形ステップと、修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換ステップと、修正法線マップデータを保存する保存ステップと、を実行させる。
【００４０】
本発明のさらに別の態様もまた、プログラムである。このプログラムは、コンピュータに、変形の内容を高度データの形式で記述する変形高度データを、法線ベクトルで記述される変形法線データに変換する変換ステップと、変形法線データを、法線ベクトルで記述される法線マップデータに合成し、修正法線マップデータを生成する合成ステップと、修正法線マップデータを保存する保存ステップと、を実行させる。
【００４１】
なお、以上の構成要素の任意の組み合せや、各構成要素や表現を方法、装置、システム、プログラムなどの間で相互に置換したものもまた、その一態様として有効である。
【００４２】
以下、発明の態様の詳細について、実施の形態をもとに説明する。
【００４３】
はじめに各実施形態において行う処理の概要について説明する。図１は、実施形態に係るバンプマップデータ生成方法を好適に利用することのできる画像処理の内容を示す図であり、図１（ａ）に示す浅い凹凸を有する球体として表現される月に、変形処理が施され、クレータが付加される場合について説明する。図１（ａ）に示すオブジェクト１０は、予め法線ベクトルで記述される法線マップデータがマッピングされて凹凸１２が表現された球体である。図１（ｂ）に示すオブジェクト１０’は、図１（ａ）のオブジェクト１０に対して変形処理を行い、クレータに対応する新たな凹凸１４が付加されたものである。
【００４４】
図２（ａ）〜（ｃ）は、図１に示されるオブジェクト１０の一部を示す。図２（ａ）は、図１（ａ）に示されるオブジェクト１０の一部分を示す。図２（ｂ）は、図２（ａ）に示されるオブジェクト１０の一部に対する変形内容を示している。図２（ｃ）は、図１（ｃ）に示す変形処理後のオブジェクト１０’の一部分を示している。
【００４５】
以下に説明する本実施の形態に係るバンプマップデータ生成方法は、このような変形処理後のオブジェクト１０’の描画処理に好適に用いることができる。
【００４６】
（第１の実施形態）
図３は、第１の実施形態に係るバンプマップデータ生成方法のフローチャートを示す。図４は、第１の実施形態に係るバンプマップデータ生成方法を模式的に示した図である。図３および図４において、互いに対応する工程には同一の符号が付されている。
【００４７】
以下、第１の実施形態に係るバンプマップデータ生成方法について図面を参照しつつ説明する。
【００４８】
本実施の形態に係るバンプマップデータ生成方法では、図２（ａ）に示す浅い凹凸１２を有する変形処理前のオブジェクト１０の法線ベクトルにより記述される法線バンプマップデータ（以下、初期法線バンプマップデータＢＭｎという）を取得する（Ｓ１２０）。
【００４９】
図５（ａ）〜（ｃ）は、変形処理前のオブジェクト１０にマッピングされているバンプマップデータを示す図である。図５（ａ）は、オブジェクト１０の法線ベクトルＮｖを示しており、図５（ｂ）は、このオブジェクト１０の凹凸を表現するためにマッピングされたバンプマップデータＭｖを示している。図５（ｃ）は、オブジェクト１０にバンプマップデータＭｖをマッピングすることにより得られる擬似的な法線バンプマップデータＢＭｎを示している。３次元コンピュータグラフィックにおいては、バンプマップ処理によって、オブジェクトの表面形状を変更することなく、法線方向のみを変更することによって擬似的に凹凸を表現している。
【００５０】
図３に戻る。上述の処理Ｓ１２０で取得する法線バンプマップデータＢＭｎは、図５（ｃ）に示されるデータに対応する。この初期法線バンプマップデータＢＭｎは、すでにオブジェクト１０をこの法線バンプマップデータＢＭｎを用いてシェーディング処理を行って描画している場合には、メモリから読み出すことで取得することができる。また、描画前であれば、オブジェクト１０の法線ベクトルＮｖと、バンプマップデータＭｖをベクトル的に合成し、ＢＭｎ＝Ｍｖ＋Ｎｖを計算することにより取得することができる。
【００５１】
つぎに、法線ベクトルで記述されている初期法線バンプマップデータＢＭｎを、基準面からの高さに相当する高度データの形式に変換する（Ｓ１４０）。高度データ形式に変換されたデータを、初期高度バンプマップデータＢＭｈという。
【００５２】
高度がｚ＝Ｈ（ｘ，ｙ）で与えられ、Ｈ（ｘ，ｙ）が微分可能なとき、法線データＮ（ｘ，ｙ）は、Ｎ（ｘ，ｙ）＝［−∂Ｈ／∂ｘ，−∂Ｈ／∂ｙ，１］で与えられる。ここで、∂／∂ｘ，∂／∂ｙはそれぞれ、変数ｘ、ｙで偏微分することを示す。したがって、法線データの形式の初期法線バンプマップデータＢＭｎを空間的に積分処理を行うことにより、高度データ形式の初期高度バンプマップデータＢＭｈに変換することができる。
【００５３】
図６は、法線データから高度データへの変換処理を図式的に示す。図６において、基準面Ｐｒｅｆは破線にて示されている。なお、目的とされるバンプマップデータを得るために、後述の微分処理を行うため、どこを基準面に選んでも、同一のバンプマップデータを生成することができる。
【００５４】
つぎに、図２（ｂ）に示されるオブジェクト１０に付加すべき形状に対応した変形データ（以下、変形高度データＭＤｈ）を作成する（Ｓ１６０）。この変形高度データＭＤｈは、高度データにより記述されるデータである。
Ｓ１６０において行われる処理は、Ｓ１２０、あるいはＳ１４０の処理と順番が入れ替わってもよい。
【００５５】
つぎに、図４に示すように、変形高度データＭＤｈと、上述の初期高度バンプマップデータＢＭｈを合成する（Ｓ１８０）。この合成処理により得られるデータは高度データ形式にて、変形処理後のオブジェクト１０’の形状を表している。この変形処理後のオブジェクトの形状を表すデータを、修正高度バンプマップデータＭＢＭｈという。高度データ形式で記述されるデータ同士の合成は、互いに対応する座標（ピクセル）同士の高度データのスカラー和を求めることによって行うことができる。
【００５６】
なお、この修正高度バンプマップデータＭＢＭｈの生成に際しては、必ずしも変形高度データＭＤｈを作成してから合成する必要はなく、初期高度バンプマップデータＢＭｈの高度データを直接変更、修正することによって、新たな形状に対応する修正高度バンプマップデータＭＢＭｈを生成してもよい。
【００５７】
つぎに、修正高度バンプマップデータＭＢＭｈを、高度データ形式から法線ベクトルで記述される修正法線マップデータＭＢＭｎへ変換する（Ｓ２００）。この変換は、上述したように、高度データを空間的に偏微分することによって行うことができる。こうして得られた修正法線バンプマップデータＭＢＭｎが、変形後のオブジェクト１０’の表面形状の法線方向を表している。
【００５８】
この修正法線バンプマップデータＭＢＭｎを、オブジェクト１０’をシェーディング処理するために保存する（Ｓ２２０）。
【００５９】
変形処理後のオブジェクト１０’をシェーディング処理して描画する際には、修正法線バンプマップデータＭＢＭｎを用いて輝度値αを計算することによってオブジェクト１０’の凹凸を表現することができる。
【００６０】
本実施形態に係るバンプマップデータ生成方法によれば、オブジェクト１０に対する変形を、オブジェクト１０そのものの形状を変更するのではなく、バンプマップデータの領域で実行することによって計算量を減らすことができ、高速な変形処理を行うことができる。
【００６１】
さらに、変形処理に対応する合成処理を行う際には、バンプマップデータを高度データによって記述しているため、変形処理のパラメータに高さを用いることができる。
【００６２】
たとえば、変形処理前のオブジェクト１０に対して変形処理を行う場合に、初期高度バンプマップデータＢＭｈをパラメータとし、もとのオブジェクト１０において、高度が高い箇所に対しては変形量を大きくし、高度が低い箇所には変形量を小さくするなどの変形処理を行うことができる。
【００６３】
（第２の実施形態）
第２の実施形態では、第１の実施形態に係るバンプマップデータ生成方法を用い、バンプマップデータを記述する法線ベクトルを量子化することによって高速な描画処理を行い、またメモリ消費量の低減を実現するための方法について説明する。
【００６４】
本実施形態においては、予め用意した複数の基準法線ベクトルを用いてバンプマップデータを記述する。法線ベクトルの量子化は、３次元オブジェクトの表面上で取りうる任意の疑似法線ベクトルに対して、所定の個数の基準法線ベクトルを代表ベクトルとして予め定めておき、与えられた疑似法線ベクトルをそれに最も近い基準法線ベクトルで近似することにより行われる。ここで、基準法線ベクトルの個数は、３次元オブジェクトの表面上に生成される疑似法線ベクトルの個数よりも少なく設定する。
【００６５】
本実施形態では、８ビットで法線ベクトルを量子化する場合について説明する。法線ベクトルを８ビットで量子化した場合、２５６個の基準法線ベクトルＶｑｎ０〜Ｖｑｎ２５５が予め規定されることになる。インデックスＩＤと、量子化された基準法線ベクトルの対応は、ＶＱ（Ｖｅｃｔｏｒ  Ｑｕａｎｔｉｚａｔｉｏｎ）テーブルに格納しておく。本実施の形態に係る描画処理においては、バンプマップデータは、このインデックスＩＤによって間接的に記述されることになる。
【００６６】
基準法線ベクトルＶｑｎの組み合せは、たとえば、球面を２５６分割し、２５６面の多面体で近似したときの各分割面の垂直方向を示す２５６個の法線ベクトルから構成される。２５６個の基準法線ベクトルの選び方には任意性があり、球面を２５６分割するときの多面体の位相をずらせば、異なる２５６個の基準法線ベクトルが得られる。
【００６７】
さらに、それぞれの基準法線ベクトルＶｑｎ０〜Ｖｑｎ２５５に対して、現在の光源および視点の位置に対応する輝度値αを計算しておく。カラールックアップテーブルＣＬＵＴに基準法線ベクトルのインデックスＩＤに対応付けて保存しておく。この輝度値αは、一度計算しておけば、光源の色や向き、あるいは視点の位置や向きなどのパラメータが変更されるまで再計算する必要はない。
図７は、量子化された基準法線ベクトルとインデックスＩＤの対応を示すＶＱテーブルおよびＣＬＵＴの内容を示す図である。
【００６８】
図８は、第２の実施形態に係るバンプマップデータ生成方法のフローチャートを示す。第２の実施形態に係るバンプマップデータ生成方法において、第１の実施形態に係るバンプマップデータの生成方法と共通する点については説明を省略し、相違点を中心に説明する。
【００６９】
まず、変形処理前のオブジェクトの法線データを表す初期量子化バンプマップデータＢＭｑを取得する（Ｓ１１０）。この初期量子化バンプマップデータＢＭｑは、法線ベクトルが量子化されており、インデックスＩＤにより記述されている。
【００７０】
つぎに、そのインデックスＩＤと基準法線ベクトルＶｑｎを対応付けるＶＱテーブルを参照することによって、初期量子化バンプマップデータＢＭｑを逆量子化し、法線ベクトルによって記述される初期法線バンプマップデータＢＭｎを取得する（Ｓ１２０’）。
【００７１】
つぎに、第１の実施形態と同様の手順（Ｓ１４０からＳ２００）により、修正法線バンプマップデータＭＢＭｎを生成する。
【００７２】
第２の実施形態では、つぎに、修正法線バンプマップデータＭＢＭｎを記述する法線ベクトルを量子化し、修正量子化バンプマップデータＭＢＭｑを生成し、保存する（Ｓ２１０、Ｓ２２０’）。この量子化においては、修正法線バンプマップデータＭＢＭｎを記述する各法線ベクトルを、基準法線ベクトルＶｑｎのうち最も近似する法線ベクトルに置き換え、そのインデックスＩＤで記述する。
【００７３】
以上の手順により、法線ベクトルが８ビットのインデックスＩＤにより記述された修正量子化バンプマップデータＭＢＭｑを生成することができる。
【００７４】
こうして生成した修正量子化バンプマップデータＭＢＭｑによって凹凸が表現された変形処理後のオブジェクト１０’のシェーディング処理は以下のようにして行うことができる。
【００７５】
上述のように、複数の基準法線ベクトルについては予め輝度値αが計算されており、ＣＬＵＴに保存されている。したがって、各ピクセルの法線ベクトルのインデックスＩＤにもとづいてＣＬＵＴを参照し、そのインデックスＩＤに対応する輝度値αを取得し、この輝度値αを用いてブレンディング処理を行い、各ピクセルの色を補正することにより、オブジェクトの凹凸を表現することができる。
【００７６】
上述の一連の変形処理を行い、修正量子化バンプマップデータＭＢＭｑを生成した後に、Ｓ１１０の処理に戻り、この修正量子化バンプマップデータＭＢＭｑを初期量子化バンプマップデータＢＭｑとして同様の処理を繰り返すことにより、高速なアニメーションを生成することが可能となる。
【００７７】
本実施の形態に係るバンプマップデータ生成方法および描画処理方法によれば、量子化した基準法線ベクトルによってバンプマップデータを記述し、さらに基準法線ベクトルごとに予め輝度値αを計算しておくことにより、各ピクセルの輝度値を、変形処理のたびに計算する必要がなくなるため、高速な描画が可能となる。
【００７８】
さらに、バンプマップデータがインデックスによって保持されるため、メモリの消費量も低減することができる。
【００７９】
つぎに、本実施の形態に係る描画処理を実現するための描画処理装置１００について説明する。
図９は、第２の実施形態に係る描画処理装置１００の構成図である。描画処理装置１００は、３次元オブジェクトのモデル情報をもとに表示装置に表示するための描画データを生成するものであり、必要に応じて３次元オブジェクトの表面に擬似的な凹凸をもたせるためにバンプマッピング処理を行う。このバンプマッピング処理により、第１、第２の実施形態で説明したオブジェクトの形状の変形が擬似的に表現される。
【００８０】
ジオメトリ処理部１０２は、３次元オブジェクトのジオメトリ処理を行い、ポリゴンの形状やその座標位置、ポリゴンを描画する際の詳細度を示すＬＯＤ（Ｌｅｖｅｌ  ｏｆ  Ｄｅｔａｉｌ）値などのポリゴン定義情報からなるディスプレイリストを生成する。バンプマッピングが行われるポリゴンについては、バンプマッピングの対象となることを示すデータが付加される。バンプマッピングを行うかどうかは、オブジェクトのモデリングの際に予め決めてもよく、描画処理の際に動的に決めてもよい。
【００８１】
バンプマッピング処理部１０６は、ジオメトリ処理部１０２からディスプレイリストを受け取り、ポリゴン表面に擬似的な凹凸をもたさせるための法線データ１１８を生成し、バンプマッピングの対象となるポリゴンについて、バンプマッピング処理を行う。本実施の形態のバンプマッピング処理部１０６は、ポリゴン表面に生成された疑似法線ベクトルをベクトル量子化により基準法線ベクトルに置換し、基準法線ベクトルに対してのみ輝度計算を行う「量子化バンプマッピング」の手法を利用する。
【００８２】
描画処理部１０４は、描画データ記憶部１２４に設けられたフレームバッファ１２６に対して描画データの読み書きを行う。描画処理部１０４は、テクスチャをポリゴン面にマッピングしてポリゴン面の各ピクセルのＲＧＢ値を求め、バンプマッピング処理部１０６によりバンプマッピングがなされたポリゴンについては、求められたＲＧＢ値にバンプマッピング処理部１０６により取得された輝度値αをブレンディングして陰影を付けて最終的なＲＧＢ値を決定し、フレームバッファ１２６に書き込む。
【００８３】
このようにしてフレームバッファ１２６に描画された画像データは、ビデオ出力に変換されて表示装置に入力され、バンプマッピングにより表面に凹凸が擬似的に表現されたオブジェクトの画像が表示される。
【００８４】
以下、バンプマッピング処理部１０６の構成を詳しく説明する。
バンプマッピング処理部１０６は、法線データマッピング部１０８、法線ベクトル置換部１１０、輝度値取得部１１２、修正バンプマップデータ生成部２００を含む。
【００８５】
法線データマッピング部１０８は、ジオメトリ処理部１０２により生成されたディスプレイリストにもとづいて、バンプマッピングを行うポリゴンを特定し、特定されたポリゴンの表面に擬似的な凹凸をもたせるために法線データ１１８をマッピングする。この法線データ１１８は、図５（ｂ）に示すような、オブジェクトにマッピングされる前の法線ベクトルである。
【００８６】
ポリゴン表面に擬似的な凹凸をもたせるための法線データ１１８は、法線データ記憶部１１６にテクスチャの形式で格納されている。法線データ１１８は、通常のテクスチャマッピングで利用される場合は、各ピクセルの色データを格納したものであるが、ここではピクセルごとに法線ベクトルの値を格納したバンプマップデータとして利用される。
【００８７】
法線データマッピング部１０８は、法線データ記憶部１１６から法線データ１１８を読み出し、通常のテクスチャマッピングの方法によって、法線データ１１８をポリゴン面に貼り付ける。これによりポリゴン面の本来の垂直方向を示す法線ベクトルに対してバンプマップによる揺らぎが加わり、図５（ｃ）に示すようなバンプマップデータＢＭｎが生成される。
【００８８】
法線ベクトル置換部１１０は、法線データマッピング部１０８により生成されたバンプマップデータＢＭｎを記述する法線ベクトルに対してベクトル量子化の処理を施し、基準法線ベクトルＶｑｎに置換する。ベクトル量子化は、３次元オブジェクトの表面上で取りうる任意の疑似法線ベクトルに対して、所定の個数の基準法線ベクトルＶｑｎを代表ベクトルとして定めておき、与えられた疑似法線ベクトルをそれに最も近い基準法線ベクトルＶｑｎで近似することにより行われる。
【００８９】
基準法線ベクトルの組み合せは、ＶＱテーブル１２１の形で量子化ベクトル記憶部１２０に格納されている。ＶＱテーブル１２１は、図７に示した基準法線ベクトルＶｑｎとそのインデックスＩＤを対応付けるテーブルである。
【００９０】
法線ベクトル置換部１１０は、ＶＱテーブル１２１を参照し、ポリゴン表面上に生成された疑似法線ベクトルをその疑似法線ベクトルに最も近い基準法線ベクトルに変換してそのインデックスＩＤを取得する。
このようにして量子化された量子化バンプマップデータＢＭｑは、必要に応じて法線データ記憶部１１６に保存しておく。
【００９１】
量子化ベクトル記憶部１２０には、ＶＱテーブル１２１内の基準法線ベクトルのインデックスに輝度値αを対応付けて格納したＣＬＵＴ１２２が記憶されている。オブジェクトの表面の法線方向がＶＱテーブル１２１内の基準法線ベクトルであるとした場合、その表面の輝度値は、光源の種類と位置を仮定してシェーディング処理を行うことにより算出することができる。
【００９２】
輝度値取得部１１２は、法線ベクトル置換部１１０により取得されたインデックスＩＤにもとづき、ＣＬＵＴ１２２を参照し、基準法線ベクトルに対応する輝度値αを取得する。輝度値取得部１１２は、バンプマッピングにより決定されたポリゴン表面の輝度値αに関するデータを描画処理部１０４に与える。
【００９３】
修正バンプマップデータ生成部２００は、描画対象となるオブジェクトに変形処理を施す際に使用される修正法線バンプマップデータＭＢＭｎを生成する。
修正バンプマップデータ生成部２００は、バンプマップデータ取得部２０２、逆変換部２０４、合成部２０６、変形データ取得部２０８、変換部２１０を含む。
【００９４】
バンプマップデータ取得部２０２は、法線データ記憶部１１６から、変形処理前のオブジェクトにマッピングされた量子化バンプマップデータＢＭｑを取得する。この量子化バンプマップデータＢＭｑは、インデックスＩＤにより記述されているため、バンプマップデータ取得部２０２は、ＶＱテーブル１２１を参照して、インデックスから法線ベクトルに変換し、初期法線バンプマップデータＢＭｎを取得する。
【００９５】
逆変換部２０４は、初期法線バンプマップデータＢＭｎのデータ形式を、法線データ形式から高度データの形式の初期高度バンプマップデータＢＭｈへと逆変換する。
変形データ取得部２０８は、ジオメトリ処理部１０２から出力されるオブジェクトの変形内容を示すデータを受け取り、高度データ形式で記述される変形処理の内容に対応した変形高度データＭＤｈを生成する。
【００９６】
合成部２０６は、逆変換部２０４から出力される初期高度バンプマップデータＢＭｈと、変形データ取得部２０８から出力される変形高度データＭＤｈを合成して修正高度バンプマップデータＭＢＭｈを生成し、変換部２１０へと出力する。
変換部２１０は、修正高度バンプマップデータＭＢＭｈのデータ形式を、高度データ形式から法線データの形式へと変換した修正法線バンプマップデータＭＢＭｎを、法線ベクトル置換部１１０へと出力する。
【００９７】
法線ベクトル置換部１１０は、修正法線バンプマップデータＭＢＭｎを量子化して修正量子化バンプマップデータＭＢＭｑに変換する。この量子化バンプマップデータＭＢＭｑは、法線データ記憶部１１６に書き込まれるとともに、輝度値取得部１１２へと出力される。
【００９８】
以上のように構成された描画処理装置１００の動作について説明する。いま、この描画処理装置１００により浅い凹凸１２がバンプマップデータによって擬似的に表現された図１（ａ）に示すオブジェクト１０がフレームバッファ上に描画されており、このオブジェクト１０に変形処理を施し、新たな凹凸１４を付加して、図１（ｂ）に示すオブジェクト１０’を描画する一連の処理を行う場合について説明する。
【００９９】
この変形処理を表現するために使用されるバンプマップデータは、修正バンプマップデータ生成部２００により以下のようにして生成される。
【０１００】
変形処理前のオブジェクト１０を描画するために使用された法線データは、量子化された状態で量子化バンプマップデータＢＭｑとして法線データ記憶部１１６に保存されている。バンプマップデータ取得部２０２は、量子化バンプマップデータＢＭｑを初期量子化バンプマップデータとして取得し、法線データ形式の初期法線バンプマップデータＢＭｎに変換する。
逆変換部２０４は、初期法線バンプマップデータＢＭｎを高度データ形式の初期高度バンプマップデータＢＭｈに変換する。
【０１０１】
修正バンプマップデータ生成部２００の変形データ取得部２０８には、ジオメトリ処理部１０２から、オブジェクト１０に対する変形内容に対応するデータ、すなわち新たな凹凸１４を記述する変形データＭＤが入力される。
この変形データＭＤは、変形データ取得部２０８により高度データ形式の変形高度データＭＤｈに変換され合成部２０６へ出力される。合成部２０６は、これらの初期高度バンプマップデータＢＭｈと変形高度データＭＤｈを合成して、修正高度バンプマップデータＭＢＭｈを生成する。修正高度バンプマップデータＭＢＭｈは、変換部２１０によって法線データ形式の修正法線バンプマップデータＭＢＭｎに変換される。
【０１０２】
このようにして修正バンプマップデータ生成部２００により生成された修正法線バンプマップデータＭＢＭｎは、法線ベクトル置換部１１０に入力される。法線ベクトル置換部１１０は、修正法線バンプマップデータＭＢＭｎを量子化し、修正量子化バンプマップデータＭＢＭｑに変換する。輝度値取得部１１２は、ＣＬＵＴ１２２を参照して修正量子化バンプマップデータＭＢＭｑから各ピクセルごとの輝度値αを取得し、描画処理部１０４へと出力する。描画処理部１０４は、取得された輝度値αをブレンディングして陰影を付けて最終的なＲＧＢ値を決定し、フレームバッファ１２６に書き込む。
【０１０３】
この描画処理装置１００によれば、オブジェクトの変形処理を修正バンプマップデータ生成部２００により生成される修正バンプマップデータにより擬似的に表現するため、オブジェクトの形状そのものをポリゴンレベルで修正し、再度バンプマップ処理を行う場合に比べて高速な描画処理が可能となる。
【０１０４】
（第３の実施形態）
第１、第２の実施形態では、高度データ形式で変形処理を行い、法線データ形式に再度変換することによりバンプマップデータを生成したが、以下の第３の実施形態では、変形処理を法線データ形式で行う。
【０１０５】
図１０は、第３の実施形態に係るバンプマップデータ生成方法のフローチャートを示す。図１１は、第３の実施形態に係るバンプマップデータ生成方法を模式的に示した図である。図１０および図１１において、互いに対応する工程には同一の符号が付されている。
【０１０６】
本実施の形態に係るバンプマップデータ生成方法では、はじめに、変形処理前のオブジェクト１０の法線データである初期法線バンプマップデータＢＭｎを取得する（Ｓ４２０）。
【０１０７】
つぎに、オブジェクト１０に付加すべき形状に対応した変形高度データＭＤｈを作成する（Ｓ４４０）。この変形高度データＭＤｈは、高度データにより記述されるデータである。
【０１０８】
つぎに、この変形高度データＭＤｈを法線データ形式の変形法線データＭＤｎに変換する（Ｓ４６０）。この変換ステップは、上述したように、高度データを空間的に偏微分することによって行うことができる。なお、上記ステップＳ４２０の処理は、ステップＳ４６０の処理後に行ってもよい。
【０１０９】
つぎに、変形法線データＭＤｎと、上述の初期法線バンプマップデータＢＭｎを合成する（Ｓ４８０）。
Ｓ４８０で行われる合成処理は、ベクトルの和を計算することによって行うことができる。この合成処理においては、初期法線バンプマップデータＢＭｎと、変形法線データＭＤｎを、係数ｍ、ｎを用いて重み付けを行って合成してもよい。重み付けして合成した結果得られる修正法線バンプマップデータＭＢＭｎは、ＭＢＭｎ＝ｍ×ＭＤｎ＋ｎ×ＢＭｎで与えられる。
【０１１０】
重み付け係数ｍ、ｎは、定数としてもよいし、座標（ｘ、ｙ）の変数としてもよい。係数ｍ、ｎを座標（ｘ、ｙ）の関数とした場合、たとえば、オブジェクト１０に対する変形処理に際し、変形後の形状が特徴的となる領域について変形法線データＭＤｎの重みｎを大きくするなどの処理が可能となる。
【０１１１】
また、重み付け係数は、変形高度データＭＤｈの値にもとづいて決定してもよい。たとえば、変形高度データＭＤｈによって高度が大きな領域について重み付けｎを大きくすることによって、変形処理後のオブジェクトの凹凸を強調することができる。
【０１１２】
このような合成処理によって得られた修正法線バンプマップデータＭＢＭｎが、変形処理後のオブジェクト１０’の表面形状の法線方向を表すことになる。
【０１１３】
最後にこの修正法線バンプマップデータＭＢＭｎを、オブジェクト１０’をシェーディング処理するために保存する（Ｓ５００）。
【０１１４】
変形処理後のオブジェクト１０’をシェーディング処理して描画する際には、第１の実施形態と同様に、修正法線バンプマップデータＭＢＭｎを用いて各ピクセルごとに輝度値αを計算することによってオブジェクト１０’の凹凸を表現することができる。
【０１１５】
本実施形態に係るバンプマップデータ生成方法によれば、オブジェクト１０に対する変形を、オブジェクト１０そのものの形状を変更するのではなく、バンプマップデータの領域で実行することによって計算量を減らすことができるため、高速な変形処理を行うことができる。
【０１１６】
さらに、本実施の形態に係るバンプマップデータの生成方法では、変形処理前の法線データＢＭｎと、変形処理の内容を表す法線データＭＤｎをベクトル的に合成するため、合成処理後に得られるバンプマップデータも法線データによって記述されることになる。その結果、第１の実施形態に比べて、高度データと法線データ間の変換処理の回数を減らすことができる。
【０１１７】
（第４の実施形態）
第４の実施形態に係るバンプマップデータ生成方法は、第２の実施形態と同様に法線バンプマップを記述する法線ベクトルを量子化することにより、高速な描画処理を行うものである。このために、第２の実施形態と同様に、予め基準法線ベクトルを用意しておき、各基準法線ベクトルについて輝度値αを計算し、ＣＬＵＴに保存に保存しておく。
【０１１８】
図１２は、第４の実施形態に係るバンプマップデータ生成方法のフローチャートを示す。以下、第３の実施形態に係るバンプマップデータの生成方法との相違点を中心に説明する。
【０１１９】
まず、初期量子化バンプマップデータＢＭｑを取得する（Ｓ４１０）。この初期量子化バンプマップデータＢＭｑは、法線ベクトルが量子化されており、インデックスＩＤにより記述されている。
【０１２０】
つぎに、インデックスＩＤと基準法線ベクトルを対応付けるＶＱテーブルを参照することによって、法線ベクトルによって記述される初期法線バンプマップデータＢＭｎを取得する（Ｓ４２０’）。
【０１２１】
つぎに、第３の実施形態と同様のにＳ４４０からＳ４８０までの処理により、修正法線バンプマップデータＭＢＭｎを生成する。
【０１２２】
つぎに、修正法線バンプマップデータＭＢＭｎを、各ピクセルごとの法線ベクトルを基準法線ベクトルのうち最も近似するベクトルに量子化し、その基準法線ベクトルのインデックスＩＤで記述した修正量子化バンプマップＭＢＭｑに変換して（Ｓ４９０）、保存する（Ｓ５００’）。
【０１２３】
以上の手順により、法線データがインデックスにより記述された修正量子化バンプマップデータＭＢＭｑを生成することができる。
【０１２４】
図１２に示す第４の実施形態に係るバンプマップデータ生成方法におけるＳ４２０’からＳ４９０までの処理は以下のようにして行うこともできる。
まず、量子化された基準法線ベクトルＶｑｎのすべての組み合せについてベクトル和を予め計算した演算テーブルを作成しておく。この演算テーブルには、ベクトル合成の結果得られる法線ベクトルを量子化して基準法線ベクトルに置換し、そのインデックスとして保存しておく。たとえば、法線ベクトルを８ビットで量子化した場合、ベクトル和の組み合せは２５６×２５６通りあり、それぞれについて合成ベクトルを計算しておく。
【０１２５】
Ｓ４２０’の処理を省略し、変形高度データＭＤｈを作成し（Ｓ４４０）、変形法線データＭＤｎに変換し（Ｓ４６０）、つぎに、この変形法線データＭＤｎを量子化して、変形量子化データＭＤｑを生成する（Ｓ４６０’）。
つぎに、この変形量子化データＭＤｑと、初期量子化バンプマップデータＢＭｑを合成する（Ｓ４８０’）。この合成処理は、上述の演算テーブルを参照することによって行うことができる。この合成処理により得られた結果が、修正量子化バンプマップデータＭＢＭｑとなる（Ｓ５００’）。
このように、量子化された基準法線ベクトルについて、ベクトル合成の演算テーブルを予め作成しておくことにより、量子化データを法線データ形式に変換し、再度量子化する必要がなくなるため、演算処理速度を上げることができる。
【０１２６】
図１２に示すフローチャートにもとづき作成された修正量子化バンプマップデータＭＢＭｑにもとづく描画処理は以下のようにして行う。
複数の基準法線ベクトルについては予め輝度値αが計算されており、ＣＬＵＴに保存されている。したがって、こうして生成した修正量子化バンプマップデータＭＢＭｑによって凹凸が表現されたオブジェクト１０’のシェーディング処理は、各ピクセルの法線ベクトルのインデックスを取得した後、カラールックアップテーブルＣＬＵＴを参照してその法線ベクトルに対応する輝度値αを取得し、この輝度値αを用いて各ピクセルの色を補正することにより行うことができる。
【０１２７】
上述の一連の変形処理を行い、修正量子化バンプマップデータＭＢＭｑを生成した後に、Ｓ４１０の処理に戻り、この修正量子化バンプマップデータＭＢＭｑを初期量子化バンプマップデータＢＭｑとして同様の処理を繰り返すことにより、高速なアニメーションを生成することが可能となる。
【０１２８】
本実施の形態の形態に係る描画処理は、図９に示す描画処理装置１００の修正バンプマップデータ生成部２００の構成を変形することによって実現することができる。
図１３は、本実施の形態に係る描画処理方法を実現するための修正バンプマップデータ生成部２００’の構成を示す図である。
【０１２９】
修正バンプマップデータ生成部２００’は、バンプマップデータ取得部２０２、変形データ取得部２０８、変換部２１０、合成部２０６を含む。
バンプマップデータ取得部２０２は、法線データ記憶部１１６から、変形処理前のオブジェクトにマッピングされた量子化バンプマップデータＢＭｑを取得する。バンプマップデータ取得部２０２は、ＶＱテーブル１２１を参照して、インデックスから法線データの形式に変換し、初期法線バンプマップデータＢＭｎを取得する。
【０１３０】
変形データ取得部２０８は、ジオメトリ処理部１０２から出力されるオブジェクトの変形内容を示す変形データＭＤを受け取り、高度データ形式で記述される変形処理の内容に対応した変形高度データＭＤｈを生成する。
【０１３１】
変換部２１０は、高度データで記述される変形高度データＭＤｈを法線データ形式の変形法線データＭＤｎへと変換する。
合成部２０６は、バンプマップデータ取得部２０２から出力される初期法線バンプマップデータＢＭｎと、変換部２１０から出力される変形法線データＭＤｎを合成して修正法線バンプマップデータＭＢＭｎを生成し、法線ベクトル置換部１１０へ出力する。
【０１３２】
法線ベクトル置換部１１０は、修正法線バンプマップデータＭＢＭｎを量子化して修正量子化バンプマップデータＭＢＭｑに変換する。この量子化バンプマップデータＭＢＭｑは、法線データ記憶部１１６に書き込まれるとともに、輝度値取得部１１２へと出力される。
【０１３３】
本実施の形態に係るバンプマップデータ生成方法、描画処理方法、描画処理装置１００によれば、法線データを量子化した基準法線ベクトルによってバンプマップデータを記述し、さらに基準法線ベクトルごとに予め輝度値αを計算しておくことにより、各ピクセルの輝度値を、変形処理のたびに計算する必要がなくなるため、高速な描画が可能となる。
【０１３４】
以上、本発明を実施形態をもとに説明した。実施形態は例示であり、それらの各構成要素や各処理プロセスの組み合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１３５】
上記の実施形態では、図５（ｃ）に示すオブジェクトに法線データがマッピングされたバンプマップデータＢＭｎに対して変形処理を施し、オブジェクト単位で演算する場合について説明したがこれには限定されない。
たとえば、図５（ｂ）に示すような、オブジェクトにマッピングする前の法線データＭｖに対して、実施形態で説明したバンプマップ生成方法を利用した変形処理を施し、生成されたバンプマップデータをオブジェクトにマッピングすることにより、変形処理後のバンプマップデータを生成してもよい。
この場合、実施形態で説明したようなオブジェクト単位での描画処理ではなく、ポリゴンの面を単位としてバンプマップデータ生成およびマッピング処理を行うことになる。
【０１３６】
上記の実施形態では、球面を２５６分割したときの分割面の法線方向を示す基準法線ベクトルの組み合せを用意しておき、その基準法線ベクトルの組み合せに対して輝度値を予め計算してＣＬＵＴに格納したが、基準法線ベクトルはバンプマッピングの際に動的に生成してもよい。バンプマップをポリゴン面にマッピングして疑似法線ベクトルを求める時点で、その都度、疑似法線ベクトルを量子化し、基準法線ベクトルを求め、その基準法線ベクトルに対して輝度計算してＣＬＵＴに格納するようにしてもよい。ポリゴンごとに量子化と輝度計算の手間がかかるが、ポリゴンごとに最適化した処理が可能になり、画質が向上する。
【０１３７】
また、上記の実施形態では、光源の種類や位置に変化がないとして、予め輝度計算した後のＣＬＵＴを利用して輝度値を取得したが、光源の種類や位置に変化がある場合は、その都度輝度計算をやり直して、ＣＬＵＴを更新してもよい。
【０１３８】
基準法線ベクトルの個数は、量子化バンプマッピングに求められる精度や最終的な画像の品質に対する要求などに応じて、オブジェクトのモデリング時に設計することができる。一般には、基準法線ベクトルの個数は、計算量と画質のトレードオフによって決まる。また、状況に応じて画質のニーズが変わる場合には、動的に基準法線ベクトルの個数を変更してもよい。また、ＬＯＤ値に応じて基準法線ベクトルの個数を変えてもよい。たとえば、ポリゴンの描画詳細度が上がるにつれて、基準法線ベクトルの個数を増やすことにより、バンプマッピングの精度を調整することができる。
【図面の簡単な説明】
【０１３９】
【図１】図１（ａ）、（ｂ）は、実施形態に係るバンプマップデータ生成方法を好適に利用することのできる画像処理の内容を示す図である。
【図２】図２（ａ）〜（ｃ）は、図１（ａ）に示されるオブジェクトの一部分を示す図である。
【図３】第１の実施形態に係るバンプマップデータ生成方法のフローチャートである。
【図４】第１の実施形態に係るバンプマップデータ生成方法を模式的に示した図である。
【図５】図５（ａ）〜（ｃ）は、変形処理前のオブジェクトにマッピングされているバンプマップデータを示す図である。
【図６】法線データから高度データへの変換処理を図式的に示す図である。
【図７】量子化された基準法線ベクトルとインデックスおよび輝度値の対応を示す図である。
【図８】第２の実施形態に係るバンプマップデータ生成方法のフローチャートである。
【図９】第２の実施形態に係る描画処理装置の構成図である。
【図１０】第３の実施形態に係るバンプマップデータ生成方法のフローチャートである。
【図１１】第３の実施形態に係るバンプマップデータ生成方法を模式的に示す図である。
【図１２】第４の実施形態に係るバンプマップデータ生成方法のフローチャートである。
【図１３】第４の実施形態に係る描画処理方法を実現するための修正バンプマップデータ生成部の構成を示す図である。
【符号の説明】
【０１４０】
１００  描画処理装置、  １０２  ジオメトリ処理部、  １０４  描画処理部、  １０６  バンプマッピング処理部、  １０８  法線データマッピング部、  １１０  法線ベクトル置換部、  １１２  輝度値取得部、  １１６  法線データ記憶部、  １１８  法線データ、  １２０  量子化ベクトル記憶部、  １２２  ＣＬＵＴ、  １２４  描画データ記憶部、  １２６  フレームバッファ、  ２００  修正バンプマップデータ生成部、  ２０２  バンプマップデータ取得部、  ２０４  逆変換部、  ２０６  合成部、  ２０８  変形データ取得部、  ２１０  変換部。
【図１】
2006163944.tif 000003
【図２】
2006163944.tif 000004
【図３】
2006163944.tif 000005
【図４】
2006163944.tif 000006
【図５】
2006163944.tif 000007
【図６】
2006163944.tif 000008
【図７】
2006163944.tif 000009
【図８】
2006163944.tif 000010
【図９】
2006163944.tif 000011
【図１０】
2006163944.tif 000012
【図１１】
2006163944.tif 000013
【図１２】
2006163944.tif 000014
【図１３】
2006163944.tif 000015