JP2006163944A - 法線マップデータ生成方法、描画処理方法および描画処理装置 - Google Patents

法線マップデータ生成方法、描画処理方法および描画処理装置 Download PDF

Info

Publication number
JP2006163944A
JP2006163944A JP2004355837A JP2004355837A JP2006163944A JP 2006163944 A JP2006163944 A JP 2006163944A JP 2004355837 A JP2004355837 A JP 2004355837A JP 2004355837 A JP2004355837 A JP 2004355837A JP 2006163944 A JP2006163944 A JP 2006163944A
Authority
JP
Japan
Prior art keywords
map data
normal
data
altitude
deformation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004355837A
Other languages
English (en)
Other versions
JP4265791B2 (ja
Inventor
Akio Oba
章男 大場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2004355837A priority Critical patent/JP4265791B2/ja
Priority to US11/296,693 priority patent/US20060146063A1/en
Publication of JP2006163944A publication Critical patent/JP2006163944A/ja
Application granted granted Critical
Publication of JP4265791B2 publication Critical patent/JP4265791B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】 高速な描画処理を行うためのバンプマッピング技術を提供する。
【解決手段】 法線ベクトルで記述される初期法線バンプマップデータBMnを取得し(S120)、積分演算処理により一旦高度データの形式で記述される初期高度バンプマップデータBMhへと変換する(S140)。変形の内容を高度データの形式で記述する変形高度データMDを生成し(S160)、この変形高度データMDを、初期高度バンプマップデータBMhへと合成し、修正高度バンプマップデータMBMhを生成する(S180)。修正高度バンプマップデータMBMhを偏微分演算処理により法線ベクトルで記述される修正法線バンプマップデータMBMnへ変換し(S200)、修正法線バンプマップデータを保存する(S220)。
【選択図】 図3

Description

この発明はコンピュータグラフィックスにおける描画処理技術に関し、特に物体の凹凸を表現するバンプマッピング処理技術に関する。
3次元コンピュータグラフィックスでは、一般的に3次元空間のオブジェクトを多数のポリゴンにより表現するポリゴンモデルが利用される。ポリゴンモデルの描画処理において、光源、視点位置、物体表面の反射率などを考慮してポリゴン表面に陰影をつけるシェーディングが行われる。
オブジェクトの表面に凹凸を簡易に表現する方法として、テクスチャマッピングの考えを応用したバンプマッピングと呼ばれる方法がある。バンプマッピングでは、オブジェクトの表面に法線ベクトルをマッピングしてオブジェクトの表面に擬似的な法線ベクトルを生成する。こうして生成された疑似法線ベクトルがオブジェクトの表面の法線方向であると仮定してシェーディング処理を行い、表面の輝度値を求め、陰影付けを行う。これによってオブジェクト表面上に擬似的に凹凸が表現される。
本出願人は、特許文献1において、テクスチャマッピングにおいて色変換に用いられるカラールックアップテーブルを法線ベクトルの参照テーブルとして利用したバンプマッピング手法を提案した。
バンプマッピングによれば、オブジェクトの表面の微細なモデリングをすることなく、凹凸を簡易に表現することができるが、オブジェクト表面のピクセルごとに法線ベクトルをマッピングし、すべての法線ベクトルについて輝度計算をする必要があり、計算コストが大きく、処理に時間がかかる。また、ピクセルごとに法線ベクトルの値を格納するため、メモリ量も多くなる。そこで、特許文献1において提案したカラールックアップテーブルを利用したバンプマッピング手法では、法線ベクトルをより数の少ない基準法線ベクトルに量子化するため、計算コストを抑え、メモリ量も少なくすることができる。法線ベクトルの量子化により、処理速度とメモリ容量の面の問題を解決することができた。
特開2002−203255号公報
ここで、このような法線ベクトルによるバンプマッピング処理によって凹凸が表現されたオブジェクトに変形処理を施して、変形処理後のオブジェクトを描画する場合を考える。たとえば、予め法線ベクトルがマッピングされてバンプマッピング処理された球体に、新たな凹凸を付加して変形処理を行うものとする。従来の手法のバンプマッピング処理によりこのような新たな凹凸が付加された変形処理後の球体を描画する場合、もとの球体に新たな凹凸を付加したポリゴンを生成し、そのポリゴンの表面に再度、法線ベクトルで記述される法線データをマッピングするバンプマッピング処理を行い、その後シェーディング処理を行うことになる。しかしながら、このような処理を行ったのでは、描画処理に必要な演算量が増加することとなる。特に、ゲームに代表されるようにユーザの指示に従って描画すべき情報が刻々と変化するような3次元コンピュータグラフィックにおいては、オブジェクトの描画処理にリアルタイム性が要求されるため、描画処理速度の向上は重要な課題となる。
本発明はこうした課題に鑑みてなされたものであり、その目的は、高速な描画処理を行うためのバンプマッピング技術を提供することにある。
上記課題を解決するために、本発明のある態様の法線マップデータ生成方法は、逆変換ステップにおいて、法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する。つぎに、合成ステップにおいて、変形の内容を高度データの形式で記述する変形高度データを、上記逆変換ステップにおいて得られた高度マップデータへ合成し、修正高度マップデータを生成する。さらに、変換ステップにおいて、この修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換し、保存ステップにおいて修正法線マップデータを保存する。
この態様によると、オブジェクトを構成するポリゴンの形状は変更せずに、変形処理を法線マップデータに対して行い、法線マップデータにより変形処理後のオブジェクトの凹凸を表現するため、高速な描画処理を行うことができる。
さらに、法線ベクトルで記述される法線マップデータを高度データの形式に変換して高度データにて変形処理を行い、その後、法線マップデータへと変換するため、高さをパラメータとして利用する変形処理を行う場合には、高度データを利用することができる。
合成ステップにおいては、逆変換ステップで得られた高度マップデータを、変形の内容に対応させて高度データを直接修正することによって、修正高度マップデータを生成してもよい。
本発明の別の態様もまた、法線マップデータ生成方法である。この方法は、変換ステップにおいて、変形の内容を高度データの形式で記述する変形高度データを、法線ベクトルで記述される変形法線データに変換する。つぎに、合成ステップにおいて、この変形法線データを、法線ベクトルで記述される法線マップデータに合成することによって修正法線マップデータを生成し、保存ステップにおいてこの修正法線マップデータを保存する。
この態様においても、オブジェクトを構成するポリゴンの形状は変更せずに、変形処理を法線マップデータに対して行い、法線マップデータにより変形処理後のオブジェクトの凹凸を表現することになるため、高速な描画処理を行うことができる。
本発明によれば、オブジェクトの変形を伴うアニメーションなどにおいて、描画処理を高速化することができる。
実施形態の詳細について説明する前に、その概要を述べる。
本発明のある態様の法線マップデータ生成方法は、法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換ステップと、変形の内容を高度データの形式で記述する変形高度データを高度マップデータへ合成し、修正高度マップデータを生成する合成ステップと、修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換ステップと、修正法線マップデータを保存する保存ステップと、を備える。
この態様によると、法線ベクトルで記述される法線マップデータを高度データの形式に変換して高度データにて変形処理を行い、その後、法線マップデータへと変換する。この結果、もとのオブジェクトの形状データではなく、法線マップデータに対して変形処理を施すことになるため、ポリゴンの形状を変形して再度バンプマッピング処理を行う場合に比べて高速な描画処理を行うことが可能となる。さらに、高さをパラメータとして利用する変形処理を行う場合には、高度データを利用することができる。
本発明の別の態様もまた、法線マップデータ生成方法である。この法線マップデータ生成方法は、法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換ステップと、逆変換ステップで得られた高度マップデータを記述する高度データを、変形の内容に対応させて修正し、修正高度マップデータを生成する変形ステップと、修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換ステップと、修正法線マップデータを保存する保存ステップと、を備える。
この態様によっても、もとのオブジェクトの形状データではなく、法線マップデータに対して変形処理を施すことになるため、ポリゴンの形状を変形して再度バンプマッピング処理を行う場合に比べて高速な描画処理を行うことが可能となる。さらに、高さをパラメータとして利用する変形処理を行う場合には、高度データを利用することができる。
逆変換ステップに投入される法線マップデータを記述する法線ベクトルは量子化されており、保存ステップにおいて、修正法線マップデータを記述する法線ベクトルも量子化して保存してもよい。
法線マップデータを記述する法線ベクトルを量子化することによって、必要なメモリの容量を削減することができる。
本発明のさらに別の態様は、描画処理方法である。この方法は、量子化された法線ベクトルに対してそれぞれ予め輝度値を計算しておき、上述の法線マップデータ生成方法により生成された量子化された修正法線マップデータにもとづいてシェーディング処理する際に、修正法線マップデータを記述する量子化された法線ベクトルに対応する輝度値を参照し、参照された輝度値にもとづいてシェーディング処理を行う。
この態様によると、量子化された法線ベクトルに対して輝度値を計算しておくことにより、変形処理後のシェーディング処理を行う際に、すべての法線ベクトルに対して輝度値を計算する必要がなくなるため、演算量およびメモリを低減することができ、高速な描画処理を行うことができる。
本発明の別の態様もまた、法線マップデータ生成方法である。この方法は、変形の内容を高度データの形式で記述する変形高度データを、法線ベクトルで記述される変形法線データに変換する変換ステップと、変形法線データを、法線ベクトルで記述される法線マップデータに合成し、修正法線マップデータを生成する合成ステップと、修正法線マップデータを保存する保存ステップと、を備える。
この態様によると、高度データで表現される変形内容を法線データの形式に変換し、法線ベクトル同士の演算を行い、法線マップデータに対して直接変形処理を施すことになるため、ポリゴンの形状を変形して再度バンプマッピング処理を行う場合に比べて高速な描画処理を行うことが可能となる。
合成ステップにおいて、変形法線データと法線マップデータを重み付けして加算してもよい。
このように重み付けすることによって、変形内容に対応した形状と、法線マップデータにより表現される凹凸のいずれを支配的に表現するかを調節することができる。
この合成ステップにおいては、変形高度データが示す形状が特徴的な領域について、変形高度データを変換して得られる変形法線データの重みを大きくしてもよい。
法線マップデータを記述する法線ベクトルは量子化されており、保存ステップにおいて、修正法線マップデータを記述する法線ベクトルも量子化して保存してもよい。
法線マップデータを記述する法線ベクトルを量子化することによって、必要なメモリの容量を削減することができる。
本発明のさらに別の態様は、描画処理方法である。この方法は、量子化された法線ベクトルに対してそれぞれ予め輝度値を計算しておき、上述の法線マップデータ生成方法により生成された量子化された修正法線マップデータにもとづいてシェーディング処理する際に、修正法線マップデータを記述する量子化された法線ベクトルに対応する輝度値を参照し、参照された輝度値にもとづいてシェーディング処理を行う。
この態様によると、量子化された法線ベクトルに対して輝度値を計算しておくことにより、変形処理後のシェーディング処理を行う際に、すべての法線ベクトルに対して輝度値を計算する必要がなくなるため、演算量およびメモリを低減することができ、高速な描画処理を行うことができる。
本発明のさらに別の態様は、描画処理装置である。この装置は、法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換部と、変形の内容を高度データで記述する変形高度データを高度マップデータへ合成し、修正高度マップデータを生成する合成部と、修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換部と、修正法線マップデータを保存するメモリと、を備える。
この態様によると、オリジナルの形状データではなく、法線マップデータに対して直接変形処理を施すことになるため、高速な描画処理を行うことが可能となる。さらに、高さをパラメータとして利用する変形処理を行う場合には、高度データを利用することができる。
修正高度マップデータを生成する合成部は、逆変換部で得られた高度マップデータを記述する高度データを変形の内容に対応させて修正して、修正高度マップデータを生成する変形処理部に置換されてもよい。
本発明のさらに別の態様もまた、描画処理装置である。この装置は、変形の内容を高度データで記述する変形高度データを、法線ベクトルで記述される変形法線データに変換する変換部と、変形法線データを、法線ベクトルで記述される法線マップデータに合成し、修正法線マップデータを生成する合成部と、修正法線マップデータを保存するメモリと、を備える。
この態様によると、高度データで表現される変形内容を法線データの形式に変換し、法線ベクトル同士の演算を行い、法線マップデータに対して直接変形処理を施すことになるため、高速な描画処理を行うことが可能となる。
本発明のさらに別の態様は、プログラムである。このプラグラムは、コンピュータに、
法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換ステップと、変形の内容を高度データの形式で記述する変形高度データを高度マップデータへ合成し、修正高度マップデータを生成する合成ステップと、修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換ステップと、修正法線マップデータを保存する保存ステップと、を実行させる。
本発明のさらに別の態様もまた、プログラムである。このプログラムは、コンピュータに、法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換ステップと、逆変換ステップで得られた高度マップデータを記述する高度データを変形の内容に対応させて修正し、修正高度マップデータを生成する変形ステップと、修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換ステップと、修正法線マップデータを保存する保存ステップと、を実行させる。
本発明のさらに別の態様もまた、プログラムである。このプログラムは、コンピュータに、変形の内容を高度データの形式で記述する変形高度データを、法線ベクトルで記述される変形法線データに変換する変換ステップと、変形法線データを、法線ベクトルで記述される法線マップデータに合成し、修正法線マップデータを生成する合成ステップと、修正法線マップデータを保存する保存ステップと、を実行させる。
なお、以上の構成要素の任意の組み合せや、各構成要素や表現を方法、装置、システム、プログラムなどの間で相互に置換したものもまた、その一態様として有効である。
以下、発明の態様の詳細について、実施の形態をもとに説明する。
はじめに各実施形態において行う処理の概要について説明する。図1は、実施形態に係るバンプマップデータ生成方法を好適に利用することのできる画像処理の内容を示す図であり、図1(a)に示す浅い凹凸を有する球体として表現される月に、変形処理が施され、クレータが付加される場合について説明する。図1(a)に示すオブジェクト10は、予め法線ベクトルで記述される法線マップデータがマッピングされて凹凸12が表現された球体である。図1(b)に示すオブジェクト10’は、図1(a)のオブジェクト10に対して変形処理を行い、クレータに対応する新たな凹凸14が付加されたものである。
図2(a)〜(c)は、図1に示されるオブジェクト10の一部を示す。図2(a)は、図1(a)に示されるオブジェクト10の一部分を示す。図2(b)は、図2(a)に示されるオブジェクト10の一部に対する変形内容を示している。図2(c)は、図1(c)に示す変形処理後のオブジェクト10’の一部分を示している。
以下に説明する本実施の形態に係るバンプマップデータ生成方法は、このような変形処理後のオブジェクト10’の描画処理に好適に用いることができる。
(第1の実施形態)
図3は、第1の実施形態に係るバンプマップデータ生成方法のフローチャートを示す。図4は、第1の実施形態に係るバンプマップデータ生成方法を模式的に示した図である。図3および図4において、互いに対応する工程には同一の符号が付されている。
以下、第1の実施形態に係るバンプマップデータ生成方法について図面を参照しつつ説明する。
本実施の形態に係るバンプマップデータ生成方法では、図2(a)に示す浅い凹凸12を有する変形処理前のオブジェクト10の法線ベクトルにより記述される法線バンプマップデータ(以下、初期法線バンプマップデータBMnという)を取得する(S120)。
図5(a)〜(c)は、変形処理前のオブジェクト10にマッピングされているバンプマップデータを示す図である。図5(a)は、オブジェクト10の法線ベクトルNvを示しており、図5(b)は、このオブジェクト10の凹凸を表現するためにマッピングされたバンプマップデータMvを示している。図5(c)は、オブジェクト10にバンプマップデータMvをマッピングすることにより得られる擬似的な法線バンプマップデータBMnを示している。3次元コンピュータグラフィックにおいては、バンプマップ処理によって、オブジェクトの表面形状を変更することなく、法線方向のみを変更することによって擬似的に凹凸を表現している。
図3に戻る。上述の処理S120で取得する法線バンプマップデータBMnは、図5(c)に示されるデータに対応する。この初期法線バンプマップデータBMnは、すでにオブジェクト10をこの法線バンプマップデータBMnを用いてシェーディング処理を行って描画している場合には、メモリから読み出すことで取得することができる。また、描画前であれば、オブジェクト10の法線ベクトルNvと、バンプマップデータMvをベクトル的に合成し、BMn=Mv+Nvを計算することにより取得することができる。
つぎに、法線ベクトルで記述されている初期法線バンプマップデータBMnを、基準面からの高さに相当する高度データの形式に変換する(S140)。高度データ形式に変換されたデータを、初期高度バンプマップデータBMhという。
高度がz=H(x,y)で与えられ、H(x,y)が微分可能なとき、法線データN(x,y)は、N(x,y)=[−∂H/∂x,−∂H/∂y,1]で与えられる。ここで、∂/∂x,∂/∂yはそれぞれ、変数x、yで偏微分することを示す。したがって、法線データの形式の初期法線バンプマップデータBMnを空間的に積分処理を行うことにより、高度データ形式の初期高度バンプマップデータBMhに変換することができる。
図6は、法線データから高度データへの変換処理を図式的に示す。図6において、基準面Prefは破線にて示されている。なお、目的とされるバンプマップデータを得るために、後述の微分処理を行うため、どこを基準面に選んでも、同一のバンプマップデータを生成することができる。
つぎに、図2(b)に示されるオブジェクト10に付加すべき形状に対応した変形データ(以下、変形高度データMDh)を作成する(S160)。この変形高度データMDhは、高度データにより記述されるデータである。
S160において行われる処理は、S120、あるいはS140の処理と順番が入れ替わってもよい。
つぎに、図4に示すように、変形高度データMDhと、上述の初期高度バンプマップデータBMhを合成する(S180)。この合成処理により得られるデータは高度データ形式にて、変形処理後のオブジェクト10’の形状を表している。この変形処理後のオブジェクトの形状を表すデータを、修正高度バンプマップデータMBMhという。高度データ形式で記述されるデータ同士の合成は、互いに対応する座標(ピクセル)同士の高度データのスカラー和を求めることによって行うことができる。
なお、この修正高度バンプマップデータMBMhの生成に際しては、必ずしも変形高度データMDhを作成してから合成する必要はなく、初期高度バンプマップデータBMhの高度データを直接変更、修正することによって、新たな形状に対応する修正高度バンプマップデータMBMhを生成してもよい。
つぎに、修正高度バンプマップデータMBMhを、高度データ形式から法線ベクトルで記述される修正法線マップデータMBMnへ変換する(S200)。この変換は、上述したように、高度データを空間的に偏微分することによって行うことができる。こうして得られた修正法線バンプマップデータMBMnが、変形後のオブジェクト10’の表面形状の法線方向を表している。
この修正法線バンプマップデータMBMnを、オブジェクト10’をシェーディング処理するために保存する(S220)。
変形処理後のオブジェクト10’をシェーディング処理して描画する際には、修正法線バンプマップデータMBMnを用いて輝度値αを計算することによってオブジェクト10’の凹凸を表現することができる。
本実施形態に係るバンプマップデータ生成方法によれば、オブジェクト10に対する変形を、オブジェクト10そのものの形状を変更するのではなく、バンプマップデータの領域で実行することによって計算量を減らすことができ、高速な変形処理を行うことができる。
さらに、変形処理に対応する合成処理を行う際には、バンプマップデータを高度データによって記述しているため、変形処理のパラメータに高さを用いることができる。
たとえば、変形処理前のオブジェクト10に対して変形処理を行う場合に、初期高度バンプマップデータBMhをパラメータとし、もとのオブジェクト10において、高度が高い箇所に対しては変形量を大きくし、高度が低い箇所には変形量を小さくするなどの変形処理を行うことができる。
(第2の実施形態)
第2の実施形態では、第1の実施形態に係るバンプマップデータ生成方法を用い、バンプマップデータを記述する法線ベクトルを量子化することによって高速な描画処理を行い、またメモリ消費量の低減を実現するための方法について説明する。
本実施形態においては、予め用意した複数の基準法線ベクトルを用いてバンプマップデータを記述する。法線ベクトルの量子化は、3次元オブジェクトの表面上で取りうる任意の疑似法線ベクトルに対して、所定の個数の基準法線ベクトルを代表ベクトルとして予め定めておき、与えられた疑似法線ベクトルをそれに最も近い基準法線ベクトルで近似することにより行われる。ここで、基準法線ベクトルの個数は、3次元オブジェクトの表面上に生成される疑似法線ベクトルの個数よりも少なく設定する。
本実施形態では、8ビットで法線ベクトルを量子化する場合について説明する。法線ベクトルを8ビットで量子化した場合、256個の基準法線ベクトルVqn0〜Vqn255が予め規定されることになる。インデックスIDと、量子化された基準法線ベクトルの対応は、VQ(Vector Quantization)テーブルに格納しておく。本実施の形態に係る描画処理においては、バンプマップデータは、このインデックスIDによって間接的に記述されることになる。
基準法線ベクトルVqnの組み合せは、たとえば、球面を256分割し、256面の多面体で近似したときの各分割面の垂直方向を示す256個の法線ベクトルから構成される。256個の基準法線ベクトルの選び方には任意性があり、球面を256分割するときの多面体の位相をずらせば、異なる256個の基準法線ベクトルが得られる。
さらに、それぞれの基準法線ベクトルVqn0〜Vqn255に対して、現在の光源および視点の位置に対応する輝度値αを計算しておく。カラールックアップテーブルCLUTに基準法線ベクトルのインデックスIDに対応付けて保存しておく。この輝度値αは、一度計算しておけば、光源の色や向き、あるいは視点の位置や向きなどのパラメータが変更されるまで再計算する必要はない。
図7は、量子化された基準法線ベクトルとインデックスIDの対応を示すVQテーブルおよびCLUTの内容を示す図である。
図8は、第2の実施形態に係るバンプマップデータ生成方法のフローチャートを示す。第2の実施形態に係るバンプマップデータ生成方法において、第1の実施形態に係るバンプマップデータの生成方法と共通する点については説明を省略し、相違点を中心に説明する。
まず、変形処理前のオブジェクトの法線データを表す初期量子化バンプマップデータBMqを取得する(S110)。この初期量子化バンプマップデータBMqは、法線ベクトルが量子化されており、インデックスIDにより記述されている。
つぎに、そのインデックスIDと基準法線ベクトルVqnを対応付けるVQテーブルを参照することによって、初期量子化バンプマップデータBMqを逆量子化し、法線ベクトルによって記述される初期法線バンプマップデータBMnを取得する(S120’)。
つぎに、第1の実施形態と同様の手順(S140からS200)により、修正法線バンプマップデータMBMnを生成する。
第2の実施形態では、つぎに、修正法線バンプマップデータMBMnを記述する法線ベクトルを量子化し、修正量子化バンプマップデータMBMqを生成し、保存する(S210、S220’)。この量子化においては、修正法線バンプマップデータMBMnを記述する各法線ベクトルを、基準法線ベクトルVqnのうち最も近似する法線ベクトルに置き換え、そのインデックスIDで記述する。
以上の手順により、法線ベクトルが8ビットのインデックスIDにより記述された修正量子化バンプマップデータMBMqを生成することができる。
こうして生成した修正量子化バンプマップデータMBMqによって凹凸が表現された変形処理後のオブジェクト10’のシェーディング処理は以下のようにして行うことができる。
上述のように、複数の基準法線ベクトルについては予め輝度値αが計算されており、CLUTに保存されている。したがって、各ピクセルの法線ベクトルのインデックスIDにもとづいてCLUTを参照し、そのインデックスIDに対応する輝度値αを取得し、この輝度値αを用いてブレンディング処理を行い、各ピクセルの色を補正することにより、オブジェクトの凹凸を表現することができる。
上述の一連の変形処理を行い、修正量子化バンプマップデータMBMqを生成した後に、S110の処理に戻り、この修正量子化バンプマップデータMBMqを初期量子化バンプマップデータBMqとして同様の処理を繰り返すことにより、高速なアニメーションを生成することが可能となる。
本実施の形態に係るバンプマップデータ生成方法および描画処理方法によれば、量子化した基準法線ベクトルによってバンプマップデータを記述し、さらに基準法線ベクトルごとに予め輝度値αを計算しておくことにより、各ピクセルの輝度値を、変形処理のたびに計算する必要がなくなるため、高速な描画が可能となる。
さらに、バンプマップデータがインデックスによって保持されるため、メモリの消費量も低減することができる。
つぎに、本実施の形態に係る描画処理を実現するための描画処理装置100について説明する。
図9は、第2の実施形態に係る描画処理装置100の構成図である。描画処理装置100は、3次元オブジェクトのモデル情報をもとに表示装置に表示するための描画データを生成するものであり、必要に応じて3次元オブジェクトの表面に擬似的な凹凸をもたせるためにバンプマッピング処理を行う。このバンプマッピング処理により、第1、第2の実施形態で説明したオブジェクトの形状の変形が擬似的に表現される。
ジオメトリ処理部102は、3次元オブジェクトのジオメトリ処理を行い、ポリゴンの形状やその座標位置、ポリゴンを描画する際の詳細度を示すLOD(Level of Detail)値などのポリゴン定義情報からなるディスプレイリストを生成する。バンプマッピングが行われるポリゴンについては、バンプマッピングの対象となることを示すデータが付加される。バンプマッピングを行うかどうかは、オブジェクトのモデリングの際に予め決めてもよく、描画処理の際に動的に決めてもよい。
バンプマッピング処理部106は、ジオメトリ処理部102からディスプレイリストを受け取り、ポリゴン表面に擬似的な凹凸をもたさせるための法線データ118を生成し、バンプマッピングの対象となるポリゴンについて、バンプマッピング処理を行う。本実施の形態のバンプマッピング処理部106は、ポリゴン表面に生成された疑似法線ベクトルをベクトル量子化により基準法線ベクトルに置換し、基準法線ベクトルに対してのみ輝度計算を行う「量子化バンプマッピング」の手法を利用する。
描画処理部104は、描画データ記憶部124に設けられたフレームバッファ126に対して描画データの読み書きを行う。描画処理部104は、テクスチャをポリゴン面にマッピングしてポリゴン面の各ピクセルのRGB値を求め、バンプマッピング処理部106によりバンプマッピングがなされたポリゴンについては、求められたRGB値にバンプマッピング処理部106により取得された輝度値αをブレンディングして陰影を付けて最終的なRGB値を決定し、フレームバッファ126に書き込む。
このようにしてフレームバッファ126に描画された画像データは、ビデオ出力に変換されて表示装置に入力され、バンプマッピングにより表面に凹凸が擬似的に表現されたオブジェクトの画像が表示される。
以下、バンプマッピング処理部106の構成を詳しく説明する。
バンプマッピング処理部106は、法線データマッピング部108、法線ベクトル置換部110、輝度値取得部112、修正バンプマップデータ生成部200を含む。
法線データマッピング部108は、ジオメトリ処理部102により生成されたディスプレイリストにもとづいて、バンプマッピングを行うポリゴンを特定し、特定されたポリゴンの表面に擬似的な凹凸をもたせるために法線データ118をマッピングする。この法線データ118は、図5(b)に示すような、オブジェクトにマッピングされる前の法線ベクトルである。
ポリゴン表面に擬似的な凹凸をもたせるための法線データ118は、法線データ記憶部116にテクスチャの形式で格納されている。法線データ118は、通常のテクスチャマッピングで利用される場合は、各ピクセルの色データを格納したものであるが、ここではピクセルごとに法線ベクトルの値を格納したバンプマップデータとして利用される。
法線データマッピング部108は、法線データ記憶部116から法線データ118を読み出し、通常のテクスチャマッピングの方法によって、法線データ118をポリゴン面に貼り付ける。これによりポリゴン面の本来の垂直方向を示す法線ベクトルに対してバンプマップによる揺らぎが加わり、図5(c)に示すようなバンプマップデータBMnが生成される。
法線ベクトル置換部110は、法線データマッピング部108により生成されたバンプマップデータBMnを記述する法線ベクトルに対してベクトル量子化の処理を施し、基準法線ベクトルVqnに置換する。ベクトル量子化は、3次元オブジェクトの表面上で取りうる任意の疑似法線ベクトルに対して、所定の個数の基準法線ベクトルVqnを代表ベクトルとして定めておき、与えられた疑似法線ベクトルをそれに最も近い基準法線ベクトルVqnで近似することにより行われる。
基準法線ベクトルの組み合せは、VQテーブル121の形で量子化ベクトル記憶部120に格納されている。VQテーブル121は、図7に示した基準法線ベクトルVqnとそのインデックスIDを対応付けるテーブルである。
法線ベクトル置換部110は、VQテーブル121を参照し、ポリゴン表面上に生成された疑似法線ベクトルをその疑似法線ベクトルに最も近い基準法線ベクトルに変換してそのインデックスIDを取得する。
このようにして量子化された量子化バンプマップデータBMqは、必要に応じて法線データ記憶部116に保存しておく。
量子化ベクトル記憶部120には、VQテーブル121内の基準法線ベクトルのインデックスに輝度値αを対応付けて格納したCLUT122が記憶されている。オブジェクトの表面の法線方向がVQテーブル121内の基準法線ベクトルであるとした場合、その表面の輝度値は、光源の種類と位置を仮定してシェーディング処理を行うことにより算出することができる。
輝度値取得部112は、法線ベクトル置換部110により取得されたインデックスIDにもとづき、CLUT122を参照し、基準法線ベクトルに対応する輝度値αを取得する。輝度値取得部112は、バンプマッピングにより決定されたポリゴン表面の輝度値αに関するデータを描画処理部104に与える。
修正バンプマップデータ生成部200は、描画対象となるオブジェクトに変形処理を施す際に使用される修正法線バンプマップデータMBMnを生成する。
修正バンプマップデータ生成部200は、バンプマップデータ取得部202、逆変換部204、合成部206、変形データ取得部208、変換部210を含む。
バンプマップデータ取得部202は、法線データ記憶部116から、変形処理前のオブジェクトにマッピングされた量子化バンプマップデータBMqを取得する。この量子化バンプマップデータBMqは、インデックスIDにより記述されているため、バンプマップデータ取得部202は、VQテーブル121を参照して、インデックスから法線ベクトルに変換し、初期法線バンプマップデータBMnを取得する。
逆変換部204は、初期法線バンプマップデータBMnのデータ形式を、法線データ形式から高度データの形式の初期高度バンプマップデータBMhへと逆変換する。
変形データ取得部208は、ジオメトリ処理部102から出力されるオブジェクトの変形内容を示すデータを受け取り、高度データ形式で記述される変形処理の内容に対応した変形高度データMDhを生成する。
合成部206は、逆変換部204から出力される初期高度バンプマップデータBMhと、変形データ取得部208から出力される変形高度データMDhを合成して修正高度バンプマップデータMBMhを生成し、変換部210へと出力する。
変換部210は、修正高度バンプマップデータMBMhのデータ形式を、高度データ形式から法線データの形式へと変換した修正法線バンプマップデータMBMnを、法線ベクトル置換部110へと出力する。
法線ベクトル置換部110は、修正法線バンプマップデータMBMnを量子化して修正量子化バンプマップデータMBMqに変換する。この量子化バンプマップデータMBMqは、法線データ記憶部116に書き込まれるとともに、輝度値取得部112へと出力される。
以上のように構成された描画処理装置100の動作について説明する。いま、この描画処理装置100により浅い凹凸12がバンプマップデータによって擬似的に表現された図1(a)に示すオブジェクト10がフレームバッファ上に描画されており、このオブジェクト10に変形処理を施し、新たな凹凸14を付加して、図1(b)に示すオブジェクト10’を描画する一連の処理を行う場合について説明する。
この変形処理を表現するために使用されるバンプマップデータは、修正バンプマップデータ生成部200により以下のようにして生成される。
変形処理前のオブジェクト10を描画するために使用された法線データは、量子化された状態で量子化バンプマップデータBMqとして法線データ記憶部116に保存されている。バンプマップデータ取得部202は、量子化バンプマップデータBMqを初期量子化バンプマップデータとして取得し、法線データ形式の初期法線バンプマップデータBMnに変換する。
逆変換部204は、初期法線バンプマップデータBMnを高度データ形式の初期高度バンプマップデータBMhに変換する。
修正バンプマップデータ生成部200の変形データ取得部208には、ジオメトリ処理部102から、オブジェクト10に対する変形内容に対応するデータ、すなわち新たな凹凸14を記述する変形データMDが入力される。
この変形データMDは、変形データ取得部208により高度データ形式の変形高度データMDhに変換され合成部206へ出力される。合成部206は、これらの初期高度バンプマップデータBMhと変形高度データMDhを合成して、修正高度バンプマップデータMBMhを生成する。修正高度バンプマップデータMBMhは、変換部210によって法線データ形式の修正法線バンプマップデータMBMnに変換される。
このようにして修正バンプマップデータ生成部200により生成された修正法線バンプマップデータMBMnは、法線ベクトル置換部110に入力される。法線ベクトル置換部110は、修正法線バンプマップデータMBMnを量子化し、修正量子化バンプマップデータMBMqに変換する。輝度値取得部112は、CLUT122を参照して修正量子化バンプマップデータMBMqから各ピクセルごとの輝度値αを取得し、描画処理部104へと出力する。描画処理部104は、取得された輝度値αをブレンディングして陰影を付けて最終的なRGB値を決定し、フレームバッファ126に書き込む。
この描画処理装置100によれば、オブジェクトの変形処理を修正バンプマップデータ生成部200により生成される修正バンプマップデータにより擬似的に表現するため、オブジェクトの形状そのものをポリゴンレベルで修正し、再度バンプマップ処理を行う場合に比べて高速な描画処理が可能となる。
(第3の実施形態)
第1、第2の実施形態では、高度データ形式で変形処理を行い、法線データ形式に再度変換することによりバンプマップデータを生成したが、以下の第3の実施形態では、変形処理を法線データ形式で行う。
図10は、第3の実施形態に係るバンプマップデータ生成方法のフローチャートを示す。図11は、第3の実施形態に係るバンプマップデータ生成方法を模式的に示した図である。図10および図11において、互いに対応する工程には同一の符号が付されている。
本実施の形態に係るバンプマップデータ生成方法では、はじめに、変形処理前のオブジェクト10の法線データである初期法線バンプマップデータBMnを取得する(S420)。
つぎに、オブジェクト10に付加すべき形状に対応した変形高度データMDhを作成する(S440)。この変形高度データMDhは、高度データにより記述されるデータである。
つぎに、この変形高度データMDhを法線データ形式の変形法線データMDnに変換する(S460)。この変換ステップは、上述したように、高度データを空間的に偏微分することによって行うことができる。なお、上記ステップS420の処理は、ステップS460の処理後に行ってもよい。
つぎに、変形法線データMDnと、上述の初期法線バンプマップデータBMnを合成する(S480)。
S480で行われる合成処理は、ベクトルの和を計算することによって行うことができる。この合成処理においては、初期法線バンプマップデータBMnと、変形法線データMDnを、係数m、nを用いて重み付けを行って合成してもよい。重み付けして合成した結果得られる修正法線バンプマップデータMBMnは、MBMn=m×MDn+n×BMnで与えられる。
重み付け係数m、nは、定数としてもよいし、座標(x、y)の変数としてもよい。係数m、nを座標(x、y)の関数とした場合、たとえば、オブジェクト10に対する変形処理に際し、変形後の形状が特徴的となる領域について変形法線データMDnの重みnを大きくするなどの処理が可能となる。
また、重み付け係数は、変形高度データMDhの値にもとづいて決定してもよい。たとえば、変形高度データMDhによって高度が大きな領域について重み付けnを大きくすることによって、変形処理後のオブジェクトの凹凸を強調することができる。
このような合成処理によって得られた修正法線バンプマップデータMBMnが、変形処理後のオブジェクト10’の表面形状の法線方向を表すことになる。
最後にこの修正法線バンプマップデータMBMnを、オブジェクト10’をシェーディング処理するために保存する(S500)。
変形処理後のオブジェクト10’をシェーディング処理して描画する際には、第1の実施形態と同様に、修正法線バンプマップデータMBMnを用いて各ピクセルごとに輝度値αを計算することによってオブジェクト10’の凹凸を表現することができる。
本実施形態に係るバンプマップデータ生成方法によれば、オブジェクト10に対する変形を、オブジェクト10そのものの形状を変更するのではなく、バンプマップデータの領域で実行することによって計算量を減らすことができるため、高速な変形処理を行うことができる。
さらに、本実施の形態に係るバンプマップデータの生成方法では、変形処理前の法線データBMnと、変形処理の内容を表す法線データMDnをベクトル的に合成するため、合成処理後に得られるバンプマップデータも法線データによって記述されることになる。その結果、第1の実施形態に比べて、高度データと法線データ間の変換処理の回数を減らすことができる。
(第4の実施形態)
第4の実施形態に係るバンプマップデータ生成方法は、第2の実施形態と同様に法線バンプマップを記述する法線ベクトルを量子化することにより、高速な描画処理を行うものである。このために、第2の実施形態と同様に、予め基準法線ベクトルを用意しておき、各基準法線ベクトルについて輝度値αを計算し、CLUTに保存に保存しておく。
図12は、第4の実施形態に係るバンプマップデータ生成方法のフローチャートを示す。以下、第3の実施形態に係るバンプマップデータの生成方法との相違点を中心に説明する。
まず、初期量子化バンプマップデータBMqを取得する(S410)。この初期量子化バンプマップデータBMqは、法線ベクトルが量子化されており、インデックスIDにより記述されている。
つぎに、インデックスIDと基準法線ベクトルを対応付けるVQテーブルを参照することによって、法線ベクトルによって記述される初期法線バンプマップデータBMnを取得する(S420’)。
つぎに、第3の実施形態と同様のにS440からS480までの処理により、修正法線バンプマップデータMBMnを生成する。
つぎに、修正法線バンプマップデータMBMnを、各ピクセルごとの法線ベクトルを基準法線ベクトルのうち最も近似するベクトルに量子化し、その基準法線ベクトルのインデックスIDで記述した修正量子化バンプマップMBMqに変換して(S490)、保存する(S500’)。
以上の手順により、法線データがインデックスにより記述された修正量子化バンプマップデータMBMqを生成することができる。
図12に示す第4の実施形態に係るバンプマップデータ生成方法におけるS420’からS490までの処理は以下のようにして行うこともできる。
まず、量子化された基準法線ベクトルVqnのすべての組み合せについてベクトル和を予め計算した演算テーブルを作成しておく。この演算テーブルには、ベクトル合成の結果得られる法線ベクトルを量子化して基準法線ベクトルに置換し、そのインデックスとして保存しておく。たとえば、法線ベクトルを8ビットで量子化した場合、ベクトル和の組み合せは256×256通りあり、それぞれについて合成ベクトルを計算しておく。
S420’の処理を省略し、変形高度データMDhを作成し(S440)、変形法線データMDnに変換し(S460)、つぎに、この変形法線データMDnを量子化して、変形量子化データMDqを生成する(S460’)。
つぎに、この変形量子化データMDqと、初期量子化バンプマップデータBMqを合成する(S480’)。この合成処理は、上述の演算テーブルを参照することによって行うことができる。この合成処理により得られた結果が、修正量子化バンプマップデータMBMqとなる(S500’)。
このように、量子化された基準法線ベクトルについて、ベクトル合成の演算テーブルを予め作成しておくことにより、量子化データを法線データ形式に変換し、再度量子化する必要がなくなるため、演算処理速度を上げることができる。
図12に示すフローチャートにもとづき作成された修正量子化バンプマップデータMBMqにもとづく描画処理は以下のようにして行う。
複数の基準法線ベクトルについては予め輝度値αが計算されており、CLUTに保存されている。したがって、こうして生成した修正量子化バンプマップデータMBMqによって凹凸が表現されたオブジェクト10’のシェーディング処理は、各ピクセルの法線ベクトルのインデックスを取得した後、カラールックアップテーブルCLUTを参照してその法線ベクトルに対応する輝度値αを取得し、この輝度値αを用いて各ピクセルの色を補正することにより行うことができる。
上述の一連の変形処理を行い、修正量子化バンプマップデータMBMqを生成した後に、S410の処理に戻り、この修正量子化バンプマップデータMBMqを初期量子化バンプマップデータBMqとして同様の処理を繰り返すことにより、高速なアニメーションを生成することが可能となる。
本実施の形態の形態に係る描画処理は、図9に示す描画処理装置100の修正バンプマップデータ生成部200の構成を変形することによって実現することができる。
図13は、本実施の形態に係る描画処理方法を実現するための修正バンプマップデータ生成部200’の構成を示す図である。
修正バンプマップデータ生成部200’は、バンプマップデータ取得部202、変形データ取得部208、変換部210、合成部206を含む。
バンプマップデータ取得部202は、法線データ記憶部116から、変形処理前のオブジェクトにマッピングされた量子化バンプマップデータBMqを取得する。バンプマップデータ取得部202は、VQテーブル121を参照して、インデックスから法線データの形式に変換し、初期法線バンプマップデータBMnを取得する。
変形データ取得部208は、ジオメトリ処理部102から出力されるオブジェクトの変形内容を示す変形データMDを受け取り、高度データ形式で記述される変形処理の内容に対応した変形高度データMDhを生成する。
変換部210は、高度データで記述される変形高度データMDhを法線データ形式の変形法線データMDnへと変換する。
合成部206は、バンプマップデータ取得部202から出力される初期法線バンプマップデータBMnと、変換部210から出力される変形法線データMDnを合成して修正法線バンプマップデータMBMnを生成し、法線ベクトル置換部110へ出力する。
法線ベクトル置換部110は、修正法線バンプマップデータMBMnを量子化して修正量子化バンプマップデータMBMqに変換する。この量子化バンプマップデータMBMqは、法線データ記憶部116に書き込まれるとともに、輝度値取得部112へと出力される。
本実施の形態に係るバンプマップデータ生成方法、描画処理方法、描画処理装置100によれば、法線データを量子化した基準法線ベクトルによってバンプマップデータを記述し、さらに基準法線ベクトルごとに予め輝度値αを計算しておくことにより、各ピクセルの輝度値を、変形処理のたびに計算する必要がなくなるため、高速な描画が可能となる。
以上、本発明を実施形態をもとに説明した。実施形態は例示であり、それらの各構成要素や各処理プロセスの組み合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
上記の実施形態では、図5(c)に示すオブジェクトに法線データがマッピングされたバンプマップデータBMnに対して変形処理を施し、オブジェクト単位で演算する場合について説明したがこれには限定されない。
たとえば、図5(b)に示すような、オブジェクトにマッピングする前の法線データMvに対して、実施形態で説明したバンプマップ生成方法を利用した変形処理を施し、生成されたバンプマップデータをオブジェクトにマッピングすることにより、変形処理後のバンプマップデータを生成してもよい。
この場合、実施形態で説明したようなオブジェクト単位での描画処理ではなく、ポリゴンの面を単位としてバンプマップデータ生成およびマッピング処理を行うことになる。
上記の実施形態では、球面を256分割したときの分割面の法線方向を示す基準法線ベクトルの組み合せを用意しておき、その基準法線ベクトルの組み合せに対して輝度値を予め計算してCLUTに格納したが、基準法線ベクトルはバンプマッピングの際に動的に生成してもよい。バンプマップをポリゴン面にマッピングして疑似法線ベクトルを求める時点で、その都度、疑似法線ベクトルを量子化し、基準法線ベクトルを求め、その基準法線ベクトルに対して輝度計算してCLUTに格納するようにしてもよい。ポリゴンごとに量子化と輝度計算の手間がかかるが、ポリゴンごとに最適化した処理が可能になり、画質が向上する。
また、上記の実施形態では、光源の種類や位置に変化がないとして、予め輝度計算した後のCLUTを利用して輝度値を取得したが、光源の種類や位置に変化がある場合は、その都度輝度計算をやり直して、CLUTを更新してもよい。
基準法線ベクトルの個数は、量子化バンプマッピングに求められる精度や最終的な画像の品質に対する要求などに応じて、オブジェクトのモデリング時に設計することができる。一般には、基準法線ベクトルの個数は、計算量と画質のトレードオフによって決まる。また、状況に応じて画質のニーズが変わる場合には、動的に基準法線ベクトルの個数を変更してもよい。また、LOD値に応じて基準法線ベクトルの個数を変えてもよい。たとえば、ポリゴンの描画詳細度が上がるにつれて、基準法線ベクトルの個数を増やすことにより、バンプマッピングの精度を調整することができる。
図1(a)、(b)は、実施形態に係るバンプマップデータ生成方法を好適に利用することのできる画像処理の内容を示す図である。 図2(a)〜(c)は、図1(a)に示されるオブジェクトの一部分を示す図である。 第1の実施形態に係るバンプマップデータ生成方法のフローチャートである。 第1の実施形態に係るバンプマップデータ生成方法を模式的に示した図である。 図5(a)〜(c)は、変形処理前のオブジェクトにマッピングされているバンプマップデータを示す図である。 法線データから高度データへの変換処理を図式的に示す図である。 量子化された基準法線ベクトルとインデックスおよび輝度値の対応を示す図である。 第2の実施形態に係るバンプマップデータ生成方法のフローチャートである。 第2の実施形態に係る描画処理装置の構成図である。 第3の実施形態に係るバンプマップデータ生成方法のフローチャートである。 第3の実施形態に係るバンプマップデータ生成方法を模式的に示す図である。 第4の実施形態に係るバンプマップデータ生成方法のフローチャートである。 第4の実施形態に係る描画処理方法を実現するための修正バンプマップデータ生成部の構成を示す図である。
符号の説明
100 描画処理装置、 102 ジオメトリ処理部、 104 描画処理部、 106 バンプマッピング処理部、 108 法線データマッピング部、 110 法線ベクトル置換部、 112 輝度値取得部、 116 法線データ記憶部、 118 法線データ、 120 量子化ベクトル記憶部、 122 CLUT、 124 描画データ記憶部、 126 フレームバッファ、 200 修正バンプマップデータ生成部、 202 バンプマップデータ取得部、 204 逆変換部、 206 合成部、 208 変形データ取得部、 210 変換部。

Claims (14)

  1. 法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換ステップと、
    変形の内容を高度データの形式で記述する変形高度データを前記高度マップデータへ合成し、修正高度マップデータを生成する合成ステップと、
    前記修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換ステップと、
    前記修正法線マップデータを保存する保存ステップと、
    を備えることを特徴とする法線マップデータ生成方法。
  2. 法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換ステップと、
    前記逆変換ステップで得られた前記高度マップデータを記述する高度データを変形の内容に対応させて修正し、修正高度マップデータを生成する変形ステップと、
    前記修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換ステップと、
    前記修正法線マップデータを保存する保存ステップと、
    を備えることを特徴とする法線マップデータ生成方法。
  3. 前記逆変換ステップに投入される前記法線マップデータを記述する法線ベクトルは量子化されており、前記保存ステップにおいて、前記修正法線マップデータを記述する法線ベクトルも量子化して保存することを特徴とする請求項1または2に記載の法線マップデータ生成方法。
  4. 量子化された法線ベクトルに対してそれぞれ予め輝度値を計算しておき、
    請求項3に記載の法線マップデータ生成方法により生成された前記修正法線マップデータにもとづいてシェーディング処理する際に、前記修正法線マップデータを記述する量子化された法線ベクトルに対応する輝度値を参照し、参照された輝度値にもとづいてシェーディング処理を行うことを特徴とする描画処理方法。
  5. 変形の内容を高度データの形式で記述する変形高度データを、法線ベクトルで記述される変形法線データに変換する変換ステップと、
    前記変形法線データを、法線ベクトルで記述される法線マップデータに合成し、修正法線マップデータを生成する合成ステップと、
    前記修正法線マップデータを保存する保存ステップと、
    を備えることを特徴とする法線マップデータ生成方法。
  6. 前記合成ステップにおいて、前記変形法線データと前記法線マップデータを重み付けして加算することを特徴とする請求項5に記載の法線マップデータ生成方法。
  7. 前記合成ステップにおいて、前記変形高度データが示す形状が特徴的な領域について、前記変形高度データを変換して得られる前記変形法線データの重みを大きくすることを特徴とする請求項6に記載の法線マップデータ生成方法。
  8. 前記法線マップデータを記述する法線ベクトルは量子化されており、前記保存ステップにおいて、前記修正法線マップデータを記述する法線ベクトルも量子化して保存することを特徴とする請求項5に記載の法線マップデータ生成方法。
  9. 量子化された法線ベクトルに対してそれぞれ予め輝度値を計算しておき、
    請求項8に記載の法線マップデータ生成方法により生成された前記修正法線マップデータにもとづいてシェーディング処理する際に、前記修正法線マップデータを記述する量子化された法線ベクトルに対応する輝度値を参照し、参照された輝度値にもとづいてシェーディング処理を行うことを特徴とする描画処理方法。
  10. 法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換部と、
    変形の内容を高度データで記述する変形高度データを前記高度マップデータへ合成し、修正高度マップデータを生成する合成部と、
    前記修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換部と、
    前記修正法線マップデータを保存するメモリと、
    を備えることを特徴とする描画処理装置。
  11. 変形の内容を高度データで記述する変形高度データを、法線ベクトルで記述される変形法線データに変換する変換部と、
    前記変形法線データを、法線ベクトルで記述される法線マップデータに合成し、修正法線マップデータを生成する合成部と、
    前記修正法線マップデータを保存するメモリと、
    を備えることを特徴とする描画処理装置。
  12. コンピュータに、
    法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換ステップと、
    変形の内容を高度データの形式で記述する変形高度データを前記高度マップデータへ合成し、修正高度マップデータを生成する合成ステップと、
    前記修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換ステップと、
    前記修正法線マップデータを保存する保存ステップと、
    を実行させるためのプログラム。
  13. コンピュータに、
    法線ベクトルで記述される法線マップデータを、一旦高度データの形式で記述される高度マップデータへと変換する逆変換ステップと、
    前記逆変換ステップで得られた前記高度マップデータを記述する高度データを変形の内容に対応させて修正し、修正高度マップデータを生成する変形ステップと、
    前記修正高度マップデータを法線ベクトルで記述される修正法線マップデータへ変換する変換ステップと、
    前記修正法線マップデータを保存する保存ステップと、
    を実行させるためのプログラム。
  14. コンピュータに、
    変形の内容を高度データの形式で記述する変形高度データを、法線ベクトルで記述される変形法線データに変換する変換ステップと、
    前記変形法線データを、法線ベクトルで記述される法線マップデータに合成し、修正法線マップデータを生成する合成ステップと、
    前記修正法線マップデータを保存する保存ステップと、
    を実行させるためのプログラム。
JP2004355837A 2004-12-08 2004-12-08 法線マップデータ生成方法、描画処理方法および描画処理装置 Active JP4265791B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004355837A JP4265791B2 (ja) 2004-12-08 2004-12-08 法線マップデータ生成方法、描画処理方法および描画処理装置
US11/296,693 US20060146063A1 (en) 2004-12-08 2005-12-07 Method for creating normal map data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004355837A JP4265791B2 (ja) 2004-12-08 2004-12-08 法線マップデータ生成方法、描画処理方法および描画処理装置

Publications (2)

Publication Number Publication Date
JP2006163944A true JP2006163944A (ja) 2006-06-22
JP4265791B2 JP4265791B2 (ja) 2009-05-20

Family

ID=36639861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004355837A Active JP4265791B2 (ja) 2004-12-08 2004-12-08 法線マップデータ生成方法、描画処理方法および描画処理装置

Country Status (2)

Country Link
US (1) US20060146063A1 (ja)
JP (1) JP4265791B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033939A (ja) * 2006-07-28 2008-02-14 Sony Computer Entertainment America Inc 3次元モデルにおけるジョイントの位置に基づいたノーマルマップの選択的領域の適用
JP2008140385A (ja) * 2006-12-02 2008-06-19 Korea Electronics Telecommun キャラクタアニメーション時の皮膚のしわのリアルタイム表現方法及び装置
JP2012125421A (ja) * 2010-12-15 2012-07-05 Sanyo Product Co Ltd 遊技機
JP2014230808A (ja) * 2014-07-30 2014-12-11 株式会社三洋物産 遊技機
JP2017119227A (ja) * 2017-04-11 2017-07-06 株式会社三洋物産 遊技機
JP2019063653A (ja) * 2019-02-05 2019-04-25 株式会社三洋物産 遊技機

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4031509B1 (ja) * 2006-09-21 2008-01-09 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理装置の制御方法及びプログラム
US7973705B2 (en) * 2009-07-17 2011-07-05 Garmin Switzerland Gmbh Marine bump map display
WO2011077623A1 (ja) * 2009-12-24 2011-06-30 株式会社ソニー・コンピュータエンタテインメント 画像処理装置、画像データ生成装置、画像処理方法、画像データ生成方法、および画像ファイルのデータ構造

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5880736A (en) * 1997-02-28 1999-03-09 Silicon Graphics, Inc. Method system and computer program product for shading
US6525740B1 (en) * 1999-03-18 2003-02-25 Evans & Sutherland Computer Corporation System and method for antialiasing bump texture and bump mapping
US6441816B1 (en) * 1999-12-29 2002-08-27 Intel Corporation Method for modeling and rendering complex surfaces using local height maps
US6583790B1 (en) * 2000-03-17 2003-06-24 Hewlett-Packard Development Company Lp Apparatus for and method of converting height fields into parametric texture maps
US7154507B1 (en) * 2000-10-02 2006-12-26 Nvidia Corporation System, method and computer program product for texture shading
US6828980B1 (en) * 2000-10-02 2004-12-07 Nvidia Corporation System, method and computer program product for z-texture mapping
US7133044B2 (en) * 2001-05-15 2006-11-07 Autodesk, Inc. System of feature-based surface mapping
US6765584B1 (en) * 2002-03-14 2004-07-20 Nvidia Corporation System and method for creating a vector map in a hardware graphics pipeline
GB2400778B (en) * 2003-04-15 2006-02-01 Imagination Technologi Limited Efficient bump mapping using height map

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033939A (ja) * 2006-07-28 2008-02-14 Sony Computer Entertainment America Inc 3次元モデルにおけるジョイントの位置に基づいたノーマルマップの選択的領域の適用
JP4663693B2 (ja) * 2006-07-28 2011-04-06 ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー 3次元モデルにおけるジョイントの位置に基づいたノーマルマップの選択的領域の適用
US8115774B2 (en) 2006-07-28 2012-02-14 Sony Computer Entertainment America Llc Application of selective regions of a normal map based on joint position in a three-dimensional model
JP2008140385A (ja) * 2006-12-02 2008-06-19 Korea Electronics Telecommun キャラクタアニメーション時の皮膚のしわのリアルタイム表現方法及び装置
JP2012125421A (ja) * 2010-12-15 2012-07-05 Sanyo Product Co Ltd 遊技機
JP2014230808A (ja) * 2014-07-30 2014-12-11 株式会社三洋物産 遊技機
JP2017119227A (ja) * 2017-04-11 2017-07-06 株式会社三洋物産 遊技機
JP2019063653A (ja) * 2019-02-05 2019-04-25 株式会社三洋物産 遊技機

Also Published As

Publication number Publication date
JP4265791B2 (ja) 2009-05-20
US20060146063A1 (en) 2006-07-06

Similar Documents

Publication Publication Date Title
US10867434B2 (en) Variable rate shading
US7692662B2 (en) Graphic processing apparatus and method
US8319789B2 (en) Image generation device and image generation method
US20050243101A1 (en) Image generation apparatus and image generation method
US20110169842A1 (en) Display system having floating point rasterization and floating point framebuffering
CN106709863B (zh) 一种基于gpu的高效2d矢量图形渲染方法
US20080246760A1 (en) Method and apparatus for mapping texture onto 3-dimensional object model
KR20160051154A (ko) 렌더링 방법, 렌더링 장치 및 전자 장치
US20060146063A1 (en) Method for creating normal map data
US20080024510A1 (en) Texture engine, graphics processing unit and video processing method thereof
JP5512218B2 (ja) グラフィックス処理システム
JP2006244426A (ja) テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法
JP2008059582A (ja) 省エネのためのlod値計算方法とこれを利用した3次元レンダリングシステム
JP4487959B2 (ja) 画像処理装置および画像処理方法、並びにプログラム
US6744440B1 (en) Image processing apparatus, recording medium, and program
JP2008077604A (ja) テクスチャフィルタリング装置、テクスチャマッピング装置、方法およびプログラム
EP1288863B1 (en) Method and device for drawing
US20100302259A1 (en) Drawing data processing method, graphics drawing system and graphics drawing data generation program
JP2005332195A (ja) テクスチャユニット、画像描画装置、テクセル転送方法
JP2003168130A (ja) リアルタイムで合成シーンのフォトリアルなレンダリングをプレビューするための方法
JP4692956B2 (ja) 描画処理装置および描画処理方法
JP3685444B2 (ja) 画像表示装置、画像補正方法、及び画像補正プログラムを記録した記録媒体
JP3712015B2 (ja) 画像作成装置および方法
JP4563070B2 (ja) ゲーム装置及びゲームプログラム
JP2006127368A (ja) 奥行き値によるガンマ補正機能を備えたグラフィックス描画装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090210

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090210

R150 Certificate of patent or registration of utility model

Ref document number: 4265791

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140227

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250