JP2003216968A - 三次元画像生成方法、三次元画像生成プログラムおよび三次元画像生成装置 - Google Patents

三次元画像生成方法、三次元画像生成プログラムおよび三次元画像生成装置

Info

Publication number
JP2003216968A
JP2003216968A JP2002015913A JP2002015913A JP2003216968A JP 2003216968 A JP2003216968 A JP 2003216968A JP 2002015913 A JP2002015913 A JP 2002015913A JP 2002015913 A JP2002015913 A JP 2002015913A JP 2003216968 A JP2003216968 A JP 2003216968A
Authority
JP
Japan
Prior art keywords
specular
vector
vertex
dimensional image
coordinates
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.)
Pending
Application number
JP2002015913A
Other languages
English (en)
Inventor
Yasuhiro Sawada
保宏 沢田
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2002015913A priority Critical patent/JP2003216968A/ja
Publication of JP2003216968A publication Critical patent/JP2003216968A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 仮想物体の三次元画像を作成表示する場合に
おいて、ポリゴン頂点の鏡面反射強度を正確に表現でき
ない。 【解決手段】 仮想物体の表面形状を表現するポリゴン
の頂点ごとに、法線ベクトル、光源方向ベクトルおよび
撮像方向ベクトルに基づいて鏡面テクスチャ座標を算出
し、表示画素に対応したポリゴン内部点に対して各頂点
の鏡面テクスチャ座標から該内部点の鏡面テクスチャ座
標を求め、鏡面テクスチャ座標における鏡面テクスチャ
マップの値に、光源からの光による照度および鏡面反射
係数を乗じて該内部点の鏡面反射強度とする。各頂点の
鏡面テクスチャ座標を、法線ベクトル、光源方向ベクト
ルおよび撮像方向ベクトルから算出される外れ角ベクト
ルの射影座標と上記頂点の鏡面反射半径の逆数の積とし
て算出し、上記内部点の鏡面テクスチャ座標を上記頂点
の鏡面テクスチャ座標の内挿として算出する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、3DCG(三次元
コンピュータグラフィクス)を生成するための方法、コ
ンピュータプログラムおよび装置に関し、特に、鏡面反
射によるハイライトを高速、かつ自然に表示可能なもの
に関する。
【0002】
【従来の技術】ポリゴンベースの三次元画像生成装置で
は、物体の表面形状を多角形のポリゴンと呼ばれる微小
面の集合として表現する。一般に、ポリゴンはその頂点
ごとに空間座標と法線ベクトル、反射特性値をデータと
して持つ。平面では各頂点の法線ベクトルは同一である
が、異なった法線ベクトルを与えることにより、曲面を
も表現することができる。
【0003】このポリゴンに対して鏡面反射光によるハ
イライトを付与するには、まず各頂点に対し、光源方向
・法線ベクトル・反射定数から反射光の強さを求める。
【0004】Phong 鏡面反射モデルでは反射特性値のう
ち鏡面反射定数として、鏡面反射係数Csおよび鏡面反射
指数p を持つ。また、鏡面反射強度I は、照度IL 、視
線方向と光源方向の中間ベクトルと法線ベクトルがなす
角度ρを用いて、照度IL・鏡面反射定数Cs・鏡面反射項
fs=cospρの積である、I=IL*Cs*cospρで計算される。
【0005】そして表示デバイスの画素に対応したポリ
ゴン内部点に対しては、グローシェーディングと呼ばれ
る、各頂点の反射強度を線形補間する手法により各点の
鏡面反射強度としている。
【0006】
【発明が解決しようとする課題】例えば、凸曲面のポリ
ゴンで、中心で鏡面反射のピークが現れる場合を考え
る。上記の方法では、ポリゴンの各頂点は鏡面反射のピ
ークから外れるために中心部よりも暗くなる。これは正
しい値である。
【0007】しかしながら、これら頂点の鏡面反射強度
を線形補間して求められる中心の値は正しいピークの値
に達せず、本来よりも暗くなる。
【0008】また、ポリゴン内での鏡面反射光の強度変
化も、例えばPhong 鏡面反射モデルではcosp で示され
るように非線形であるが、線形に補間されてしまい、不
自然になる。
【0009】さらに、フォンシェーディングと呼ばれ
る、法線方向を補間し、画素に対応したポリゴン内部点
毎に反射モデル関数を計算する手法もあるが、計算コス
トが大きいという問題がある。
【0010】
【課題を解決するための手段】上記の課題を解決するた
めに、本発明では、仮想物体の表面形状をポリゴンの集
合体として表現し、ポリゴンの頂点ごとに与えられた座
標・法線情報及び反射特性値に基づいて仮想物体の三次
元画像を表示する場合に、上記頂点ごとに法線ベクト
ル、光源方向ベクトルおよび撮像方向ベクトルに基づい
て鏡面テクスチャ座標(u,v)を算出し、表示画素に対応
したポリゴン内部点に対して各頂点の鏡面テクスチャ座
標から該内部点の鏡面テクスチャ座標(u,v) を求め、鏡
面テクスチャ座標における鏡面テクスチャマップの値
に、光源からの光による照度および鏡面反射係数を乗じ
て該内部点の鏡面反射強度 I= IL *Cs*tex(u,v) とす
る三次元画像生成方法、プログラム又は装置において、
上記頂点の鏡面テクスチャ座標を、法線ベクトル、光源
方向ベクトルおよび撮像方向ベクトルから算出される外
れ角ベクトルの射影座標と上記頂点の鏡面反射半径の逆
数の積として算出し、上記内部点の鏡面テクスチャ座標
を上記頂点の鏡面テクスチャ座標の内挿として算出する
ようにしている。
【0011】また、本発明では、仮想物体の表面形状を
ポリゴンの集合体として表現し、ポリゴンの頂点ごとに
与えられた座標・法線情報及びポリゴン内部点毎に表面
属性としての反射特性値を与えて仮想物体の三次元画像
を表示する場合に、反射モデル関数の鏡面反射項を少な
くとも2次元の鏡面テクスチャマップtex(u,v)として保
持し、上記頂点ごとに法線ベクトル、光源方向ベクトル
および撮像方向ベクトルに基づいて鏡面テクスチャ座標
(u,v)を算出し、表示画素に対応したポリゴン内部点に
対して各頂点の鏡面テクスチャ座標から該内部点の鏡面
テクスチャ座標(u,v) を求め、鏡面テクスチャ座標にお
ける鏡面テクスチャマップの値に、光源からの光による
照度および鏡面反射係数を乗じて該内部点の鏡面反射強
度 I= IL*Cs*tex(u,v) とする三次元画像生成方法、プ
ログラム又は装置において、上記頂点の鏡面テクスチャ
座標を、法線ベクトル、光源方向ベクトルおよび撮像方
向ベクトルから算出される外れ角ベクトルの射影座標と
して算出し、上記内部点の鏡面テクスチャ座標を前記頂
点の鏡面テクスチャ座標の内挿と上記内部点の鏡面反射
半径の逆数の積ととして算出するようにしている。
【0012】これら発明により、仮想物体の三次元画像
を作成表示する際に、鏡面反射光によるハイライトを高
速に、かつ自然に表示することが可能となる。
【0013】また、光沢の拡がりや強さが異なる仮想物
体の表面に対しても、共通の鏡面テクスチャマップを利
用することが可能となる。
【0014】
【発明の実施の形態】(第1実施形態)図1には、本発
明の第1実施形態である三次元画像生成装置の内部構成
を示している。また、図7には、コンピュータ等により
構成される本三次元画像生成装置の外観を示している。
【0015】図7において、操作部20は三次元画像生
成装置により表示する三次元画像についての指示を行う
入力装置である。一般的にはキーボードを用いるが、予
め指示の記録された記録装置や、指示を発生するコンピ
ュータであってもよい。
【0016】表示部21は本三次元画像生成装置によっ
て作成された三次元画像を表示する装置であり、CR
T、LCDなどのディスプレイ装置あるいはプリンタで
ある。本三次元画像生成装置30は、図1に示す各部1
0〜15から構成されている。
【0017】鏡面テクスチャバッファ14には、予め鏡
面テクスチャとしてピーク値1、半径1の鏡面反射項が
に次元配列として格納されている。例として2次元ガウ
ス関数であれば、 tex(u,v)=exp(-(u2+v2)/2) なる値の二次元配列である。図3は、この配列を1を
白、0を黒とする白黒濃淡画像で示した図であり、中心
部(u,v)=(0,0)がピーク値1となり、離れるに従い減衰し
て0に近づく。
【0018】制御部10には、操作部20から、オブジ
ェクト(三次元形状モデル)の設定およびシーン設定情
報としての光源方向ベクトルl、仮想光源からの照明光
による照度b、仮想カメラの撮影方向である視点方向ベ
クトルvが与えられる。
【0019】ここで、図4には、各ベクトルの関係を示
している。図4において、Oは注目している頂点であ
る。Lは頂点Oに照明光を照射する仮想光源であり、頂
点Oの表面上の点から光源Lが位置する方向を光源方向
lとし、この光源Lからの光が頂点Oの表面で正反射す
る方向を正反射方向l’とする。また、Cは視点であ
り、上記表面上の点から視点Cが位置する方向を視線方
向vとする。
【0020】これらの値はキーボード等で使用者が直接
操作部20から入力してもよいし、予め指示の記録され
た記録装置や、指示を発生するコンピュータから入力し
てもよい。
【0021】制御部10では、オブジェクトデータ保持
部15から描画すべきオブジェクトデータを読み込み、
ポリゴンの各頂点における位置座標r、法線ベクトル
n、鏡面反射定数Cs、鏡面反射半径σ、光源方向l、
照度b、視点方向vおよび任意の単位ベクトルTを頂点
処理部11に出力する。
【0022】ここで、n,l,vは単位ベクトルであ
る。Tはvに平行でない限り任意であるが、視野上方と
考えるのが分かりやすい。
【0023】鏡面反射半径σとは、正反射方向からどれ
だけ外れた方向にまで鏡面反射光が観測されるかを示す
属性値であり、本実施形態では正反射方向に比べて鏡面
反射光が1/e の輝度になる観測方向が鏡面反射方向とな
す角度を用いる。
【0024】一般にオブジェクトデータの鏡面反射属性
は、Phong 鏡面反射モデルにおける係数(定数)Cs’と
指数p で与えられることが多い。この場合には、pをσ
に変換する。これにはPhong モデルにおける鏡面反射関
数、 f(ρ)=Cs’*cospρ と、Gauss関数、 g(ρ)=Cs*exp(-ρ2/2σ2) の二者ができるだけ一致するような変換を行う。一例と
しては、 Cs=Cs’,σ=p-1/2 によって変換する。
【0025】頂点処理部11では、各頂点に対し、図4
及び図5に示されるように正反射光方向、 l’=2(l・n)n-l,t=T-(l’・T)l’, s=l’×t を用い、外れ角ベクトル、 r=(v・s,v・t) を求め、鏡面テクスチャ座標、 (u,v)=r/σ =(l’・s/σ,l’・t/σ) を計算する。
【0026】すなわち、正反射光方向l’を法線とする
平面内に視線方向vを射影し、射影座標をσで除するこ
とにより鏡面テクスチャ座標を求める。この平面を張る
軸がs,tであり、s,tを一意に定めるためにTを与
える。
【0027】本来、鏡面反射光の分布はσにより異なる
が、その差異を吸収するために、射影座標をσで除した
ものを鏡面テクスチャ座標としている。
【0028】また、各頂点を2次元表示画像上に投影し
た座標である画像座標を求める。この求め方は投影変換
として知られている。
【0029】ピクセル処理部12では、ポリゴン内にお
いて画像保持部13に保持された表示画素に対応する内
部点に対し、内部点の画像座標となる各頂点の画像座標
の内分比に応じて、各頂点の鏡面テクスチャ座標を内分
し、内部点の鏡面テクスチャ座標(u,v)を得る。
【0030】こうして鏡面テクスチャバッファ14より
座標(u,v) に対応する値tex(u,v)を得て、IL*Cs*tex(u,
v)を当該表示画素の鏡面反射強度として画像保持部13
に加える。画像表示部21では、画像保持部13にて得
られた画像を表示する。
【0031】図8は、本実施形態の三次元画像生成装置
の処理動作を示すフローチャートである。
【0032】まず、ステップ(図ではSと略す)1に
て、制御部10はオブジェクトデータおよびシーン設定
情報を得る。ここにいうシーン設定情報は、光源方向
l、照度bおよび視点方向vを含む。
【0033】次に、ステップ2において、頂点処理部1
1は、オブジェクトデータを構成する複数のポリゴンか
ら順次ポリゴンを取り出し、以下の処理を行う。
【0034】ステップ3においては、ポリゴンの各頂点
に対し、画像座標および鏡面テクスチャ座標を求める。
この計算の方法は、上述した頂点処理部11で説明した
通りである。
【0035】次に、ステップ4においては、表示画像上
でポリゴン内部点となる画素を順次得て、内部点として
以下の処理を行う。
【0036】ステップ5においては、内部点の鏡面テク
スチャ座標を求める。これは、内部点の画像座標を得る
各頂点の画像上での座標の内分比を、各頂点の鏡面テク
スチャ座標に適用することによって得られる。
【0037】ステップ6においては、内部点の鏡面テク
スチャ座標に対応する鏡面テクスチャ値を鏡面テクスチ
ャバッファから得て、鏡面テクスチャ値、照度、鏡面反
射定数の積を鏡面反射強度として画像保持部13に保持
された表示画像の当該画素の輝度に加える。なお、画像
保持部13には予め散乱反射成分の輝度が記録されてい
るものとする。また、ステップ6の処理は、ピクセル処
理部12で行われる。
【0038】以上の処理を各内部点、各ポリゴンに対し
て行った後、ステップ7において、画像保持部13にて
保持された表示画像(三次元画像)を画像表示部21に
て表示する。
【0039】以上の処理を行うことにより、ハイライト
を含めた高品位な三次元画像を画像表示部21に表示す
ることができる。
【0040】ここで、例として図6のような三角ポリゴ
ンに対する計算例を記す
【0041】
【表1】
【0042】光源は平行光源とし、ポリゴンの3頂点と
も、 l=(0,0,-1), b=100 である。
【0043】また、視点は光源と同じ方向で十分遠い
(平行投影)として、3頂点ともに、 v=(0,0,-1) とする。
【0044】Cs,pは3頂点共通であり、 Cs=0.8, p=15,T=(0,1,0) とする。
【0045】つまり、こちらに向いて凸に曲がった3角
形を、こちら側から光を当てている状態である。このと
き、t,s,σは3頂点で同じ値 t=(0,1,0)s=(1,0,0)、σ≒0.25 であり、
【0046】
【表2】
【0047】と求まる。
【0048】さらに、これら3点と中心近傍の点の輝度
を計算してみる。
【0049】
【表3】
【0050】このように、中心近傍で各頂点近傍より明
るいハイライトが得られる。
【0051】なお、本発明においては、本実施形態にて
説明した鏡面反射成分の計算方法を用いれば、ポリゴン
ベースの三次元画像表示における本実施形態以外の処理
方法や装置構成を用いてもよい。
【0052】また、本実施形態では、各種の値を単色の
ものとして扱っているが、例えばR,G,B等、複数の
カラーバンドに対して計算し、色合成することにカラー
画像にも利用することができる。
【0053】また、本実施形態では、1つの光源を有す
る場合について説明したが、複数の光源がある場合は、
光源毎に上述した処理を繰り返し、画像保持部13に加
算することにより、複数の光源下でのハイライトを再現
できる。
【0054】(第2実施形態)図2には、本発明の第2
実施形態である三次元画像生成装置の構成を示してい
る。なお、本実施形態は、上記第1実施形態にて説明し
た三次元画像生成装置の構成および処理動作をより具体
的、実際的に説明するものである。
【0055】鏡面テクスチャバッファ14には、鏡面テ
クスチャとして予め、 texs(u,v)=exp(-(u2+v2)/2) なる値の二次元配列が格納されている。
【0056】操作部20からは、シーン設定情報とし
て、オブジェクトの配置、ワールド座標系における光源
座標L、光源輝度b、視点位置座標Vが与えられ、頂点
処理定数保持部17に記憶される。これらの値はキーボ
ード等で使用者に直接入力を求めてもよいし、使用者に
表示部21の画像を示して修正値を得てもよい。
【0057】(頂点バッファ格納)制御部10は、オブ
ジェクトデータ保持部15から描画すべきオブジェクト
データを読み込み、頂点バッファ16に各頂点のオブジ
ェクト固有空間における位置座標r’、法線ベクトル
n’、鏡面反射定数Cs、鏡面反射半径σ、散乱テクスチ
ャ座標(ud,vd)を格納する。
【0058】一般にオブジェクトデータの鏡面反射属性
はPhong 鏡面反射モデルにおける係数(定数)Cs’と指
数pとで与えられることが多い。この場合には、 σ=(p+5/6)-1/2 により変換を行う。
【0059】また、制御部10には、モデルデータに付
随したオブジェクト固有の散乱テクスチャマップをオブ
ジェクトデータ保持部15より読み込み、散乱テクスチ
ャバッファ18に格納するものとする。
【0060】制御部10は、頂点処理定数保持部17に
対し、再現すべき三次元画像におけるシーン設定情報と
して、ワールド座標系における光源座標L、光源輝度
b、視点位置座標V、アフィン変換行列Wおよび環境光
照度a、任意の単位ベクトルTを与える。Tは任意であ
るが、上方とするのが分かりやすい。
【0061】アフィン変換行列Wは、オブジェクトの配
置から求まり、オブジェクトデータに用いられる座標系
からワールド座標系への変換を表す。
【0062】頂点処理部11はポリゴン各頂点に対して
次の処理を順次行う。まず、頂点バッファ16および頂
点処理定数保持部17から必要な値を読み出し、アフィ
ン変換行列によりr’,n’をワールド座標系r,nに
変換し、 光源方向ベクトルl=normalize(L-r)、 視線方向ベクトルc=normalize(V-r)、 中間ベクトルh=normalize(l+c)、 t=normalize(T-(T・h)h), s=h×t を求め、 us=n・t/σ, vs=s・t/σ を鏡面テクスチャ座標(us,vs)とする。
【0063】また、照度を、 IL=B/|L-r|2 とし、さらに、散乱反射項、 Id=IL×n・l+a を求める。ただし、n・l <0であれば、 Id=Ia にする。
【0064】ピクセル処理部12では、ポリゴン内で画
像保持部13の表示画素に対応するポリゴン内部点に対
し、以下の処理を順次行う。
【0065】まず、頂点処理部11よりポリゴン頂点の
値を読み出し、鏡面・散乱双方において各頂点のテクス
チャ座標を内挿し、内部点のテクスチャ座標(ud,vd),
(us,v s)を得る。
【0066】また、鏡面テクスチャバッファ14より座
標(us,vs)に対応する値texs(us,vs)を得る。
【0067】さらに、散乱テクスチャバッファ18より
座標(ud,vd)における散乱反射定数tesd(ud,vd)を得る。
【0068】そして、 Id×tesd(ud,vd)+IL×Cs×texs(us,vs) を当該表示画素の反射強度として画像保持部13に記録
する。ここでIL,Id,Csは各頂点の値を内挿した
値を用いる。
【0069】このようにして画像保持部13に得られた
画像を画像表示部21で表示する。画像表示部21とし
ては例としてCRT、LCDなどのディスプレイ装置あ
るいはプリンタが用いられる。
【0070】以上の処理を行うことにより、ハイライト
を含めた高品位な三次元画像が画像表示部21に表示す
ることができる。
【0071】図9は、本実施形態の三次元画像生成装置
の処理動作を示すフローチャートである。
【0072】まず、ステップ11にて、制御部10はオ
ブジェクトデータおよびシーン設定情報を得る。シーン
設定情報とはオブジェクトの配置、ワールド座標系にお
ける光源座標L、光源輝度b、視点位置座標V、環境光
照度aを含む。
【0073】次にステップ12において、制御部10
は、オブジェクトデータのうち頂点データを頂点バッフ
ァ16に、散乱テクスチャマップを散乱テクスチャバッ
ファ18に格納する。
【0074】さらに、ステップ13において、シーン設
定情報からワールド座標系における光源座標L、光源輝
度b、環境光照度a、視点位置座標V、アフィン変換行
列Wおよび任意の単位ベクトルTを計算し、頂点処理定
数保持部17へ記録する。
【0075】次に、ステップ14において、オブジェク
トデータを構成する複数のポリゴンより順次ポリゴンを
取り出し、以下の処理を行う。
【0076】まず、ステップ15において、ポリゴンの
各頂点に対し、鏡面テクスチャ座標、照度、散乱反射光
を計算する。この計算は頂点処理部11で行われ、計算
法は上述した頂点処理部11の説明の通りである。
【0077】さらに、ステップ16において、表示画像
上でポリゴンの内部となる画素を順次得て、内部点とし
て以下の処理を行う。
【0078】ステップ17において、鏡面・散乱双方に
おいて内部点のテクスチャ座標を求める。これには、内
部点の画像座標を得る各頂点の画像座標の内分比を、各
頂点のテクスチャ座標に適用することによって得られ
る。
【0079】ステップ18においては、鏡面・散乱双方
において内部点のテクスチャ座標に対応するテクスチャ
値を鏡面テクスチャバッファ14及び散乱テクスチャバ
ッファ18から得て、鏡面テクスチャ値、照度、鏡面反
射定数の積と、散乱テクスチャ値、散乱反射項の積との
和を画像保持部13の当該表示画素の輝度として記録す
る。これらステップ17およびステップ18の処理はピ
クセル処理部12で行われる。
【0080】以上の処理を各内部点、各ポリゴンに対し
て行った後、ステップ19において画像保持部13に得
られた画像を画像表示部21にて表示する。
【0081】アニメーション等で、同じオブジェクトを
異なるシーン設定で描画する際は、ステップ20にてシ
ーン設定情報を更新し、ステップ13以下の処理を繰り
返す。
【0082】本実施形態では、光源や撮像装置の配置
等、シーン設定の変更があっても、頂点処理定数保持部
のみ更新すれば、頂点バッファは変更する必要がないの
で、高速なアニメーション表示を行うことができる。
【0083】なお、複数の仮想光源がある場合は、光源
毎に上記の処理を繰り返し、画像保持部13で和をとる
ことにより、複数の光源下でのハイライトを再現でき
る。ただし、散乱反射成分は頂点処理部で各光源のId
の和とをることにより、一度で済ませることもでき、こ
の場合、散乱反射成分は光源の数だけ鏡面テクスチャ座
標を計算し、頂点処理部11で複数の鏡面テクスチャを
重ね合わせる。
【0084】(第3実施形態)本発明を図11に示す構
成のコンピューター上でプログラムとして実施する際の
動作の例を図10のフローチャートで示す。本発明に基
づくプログラムが動作するコンピュータとは、制御演算
部10、メモリ11、データ入力部12、画像表示部2
1を備え、例えばバスなどを介して各要素は各々データ
を授受可能である。また、以下ではメモリ上の一定領域
を鏡面テクスチャバッファ、フレームバッファと呼ぶ。
【0085】ステップS30では、鏡面テクスチャバッ
ファに鏡面テクスチャマップとして、図3に示すよう
に、ガウス関数 tex(u,v)=exp(-(u2+v2)/2) なる値の二次元配列を格納する。
【0086】ステップ31では、オブジェクトデータお
よびシーン設定情報として光源方向l、照度b、視点方
向vを取り込む。これらの値はデータ入力部12に接続
されたキーボード等を通じて使用者に直接入力を求めて
もよいし、使用者に表示部21の画像を示して修正値を
得てもよい。
【0087】また、オブジェクトデータおよびシーン設
定情報を他のプログラムから得ることもできる。オブジ
ェクトデータは補助記憶装置或いはデータ入力部12に
接続されたネットワークを通じてデータの取り込みが可
能な他のコンピュータ上のデータから得てもよい。
【0088】ステップ32では、オブジェクトデータを
構成する複数のポリゴンより順次ポリゴンを選択し、以
下の処理を行う。
【0089】まず、ステップ33はポリゴンの各頂点に
おける位置座標r、法線ベクトルn、鏡面反射定数C
s、鏡面反射半径σをオブジェクトデータから得て、正
反射光方向、 l’=2(l・n)n-l、t=T-(v・T)v,s=v×t を用い、外れ角ベクトル、 r=(l’・s,l’・t) を求め、鏡面テクスチャ座標 (u,v)=r/σ=(l’・s/σ,l’・t/σ) を計算する。
【0090】ここでn,l,vは単位ベクトルである。
また、Tはvに平行でない限り任意であるが、視野上方
と考えるのが分かりやすい。
【0091】また、各頂点の2次元表示画像上に投影し
た座標である画像座標を求める。この求め方は投影変換
として知られている。
【0092】一般に、オブジェクトデータの鏡面反射属
性はPhong 鏡面反射モデルにおける係数(定数)Cs’と
指数p で与えられることが多いので、そのような場合に
はpをσに変換する。これにはPhong モデルにおける鏡
面反射関数、 f(ρ)=Cs’*cospρ と、Gauss関数、 g(ρ)=Cs*exp(-ρ2/2σ2) の二者ができるだけ一致するような変換を行う。一例と
しては、 Cs=Cs’,σ=(p+5/6)-1/2 によって変換する。
【0093】ステップ34においては、画像上でポリゴ
ンの内部となる画素を順次得て、内部点として以下の処
理を行う。
【0094】ステップ35では、内部点の画像座標とな
る各頂点の画像座標の内分比に応じて、ポリゴンの各頂
点の鏡面テクスチャ座標を内分し、内部点の鏡面テクス
チャ座標(u,v) を得る。また、同様にポリゴン各頂点の
鏡面反射定数Cs を内分して内部点の鏡面反射定数Cs を
得る。
【0095】ステップ36では、鏡面テクスチャバッフ
ァより鏡面テクスチャ座標(u,v) に対応する鏡面テクス
チャ値tex(u,v)を得て、 b*Cs*tex(u,v) を当該表示画素の鏡面反射強度としてフレームバッファ
に加える。
【0096】以上の処理を各内部点、各ポリゴンに対し
て行った後、ステップ37でフレームバッファのデータ
を画像表示部21に転送する。画像表示部21に接続さ
れる表示装置としては、CRT、LCDなどのディスプ
レイ装置あるいはプリンタが用いられる。
【0097】以上の処理を行うことにより、ハイライト
を含めた高品位な三次元画像を画像表示部21に表示す
ることができる。
【0098】
【発明の効果】以上説明したように、本発明によれば、
仮想物体の三次元画像を作成表示する際に、鏡面反射光
によるハイライトを高速に、かつ自然に表示することが
できる。これにより、従来は困難であった光沢を持つ素
材を、リアルにコンピュータグラフィクスアニメーショ
ンで表示することができる。
【0099】また、本発明によれば、光沢の拡がりや強
さが異なる物体の表面に対しても、共通の鏡面テクスチ
ャマップを利用することができるので、メモリ領域を少
なくすることができ、また鏡面テクスチャマップの入れ
替えを省くことができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態である三次元画像生成装
置の構成を示すブロック図である。
【図2】本発明の第2実施形態である三次元画像生成装
置の構成を示すブロック図である。
【図3】鏡面反射テクスチャの例を示す図である。
【図4】鏡面反射およびベクトルの関係を示す説明図で
ある。
【図5】ベクトルの関係を示す説明図である。
【図6】計算例の説明図である
【図7】上記第1実施形態の三次元画像生成装置の外観
構成を示す図である。
【図8】上記第1実施形態である三次元画像生成装置の
動作を示すフローチャートである。
【図9】上記第2実施形態である三次元画像生成装置の
動作を示すフローチャートである。
【図10】本発明の第3実施形態である三次元画像生成
プログラムの内容を示すフローチャートである。
【図11】上記第3実施形態である三次元画像生成プロ
グラムを動作させるコンピュータの構成例を示すブロッ
ク図である。
【符号の説明】
20 操作部 21 表示部 30 三次元画像生成装置 C 撮像装置 L 光源 O 頂点

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 仮想物体の表面形状をポリゴンの集合体
    として表現し、ポリゴンの頂点ごとに与えられた座標・
    法線情報及び反射特性値に基づいて前記仮想物体の三次
    元画像を表示する三次元画像生成方法であって、 反射モデル関数の鏡面反射項を少なくとも2次元の鏡面
    テクスチャマップとして保持する第1のステップと、 前記頂点ごとに法線ベクトル、光源方向ベクトルおよび
    撮像方向ベクトルに基づいて鏡面テクスチャ座標を算出
    する第2のステップと、 表示画素に対応したポリゴン内部点に対し、各頂点の鏡
    面テクスチャ座標を内挿して該内部点の鏡面テクスチャ
    座標を求める第3のステップと、 前記鏡面テクスチャ座標における鏡面テクスチャマップ
    の値に、前記光源からの光による照度および鏡面反射係
    数を乗じて該内部点の鏡面反射強度とする第4のステッ
    プとを有し、 前記第2のステップにおいて、前記鏡面テクスチャ座標
    を、法線ベクトル、光源方向ベクトルおよび撮像方向ベ
    クトルから算出される外れ角ベクトルの射影と該頂点の
    鏡面反射半径の逆数の積として算出することを特徴とす
    る三次元画像生成方法。
  2. 【請求項2】 仮想物体の表面形状をポリゴンの集合体
    として表現し、ポリゴンの頂点ごとに与えられた座標・
    法線情報及びポリゴン内部点毎に与えられた反射特性値
    に基づいて前記仮想物体の三次元画像を表示する三次元
    画像生成方法であって、 反射モデル関数の鏡面反射項を少なくとも2次元の鏡面
    テクスチャマップとして保持する第1のステップと、 前記頂点ごとに法線ベクトル、光源方向ベクトルおよび
    撮像方向ベクトルから算出される外れ角ベクトルの射影
    として鏡面テクスチャ座標を算出する第2のステップ
    と、 表示画素に対応したポリゴン内部点に対し、各頂点の鏡
    面テクスチャ座標を内挿した値から該内部点の鏡面テク
    スチャ座標を求める第3のステップと、 前記鏡面テクスチャ座標における鏡面テクスチャマップ
    の値に、前記光源からの光による照度および鏡面反射係
    数を乗じて該内部点の鏡面反射強度とする第4のステッ
    プとを有し、 前記第3のステップにおいて、各頂点の鏡面テクスチャ
    座標を内挿した値と該内部点の鏡面反射半径の逆数の積
    として、該内部点の鏡面テクスチャ座標を算出すること
    を特徴とする三次元画像生成方法。
  3. 【請求項3】 前記第2のステップにおいて、前記外れ
    角ベクトルを、前記光源からの光の正反射方向と撮像方
    向とがなす角度、又は撮像方向に対する正反射方向と光
    源方向とがなす角度を水平方向角および仰角若しくはこ
    れらと同等な2つの自由度を持つベクトルで表すことを
    特徴とする請求項1又は2に記載の三次元画像生成方
    法。
  4. 【請求項4】 前記第2のステップにおいて、前記外れ
    角ベクトルを、前記光源からの光の正反射方向と撮像方
    向との二等分角度と法線方向とがなす角度を水平方向角
    および仰角若しくはこれらと同等な2つの自由度を持つ
    ベクトルで表すことを特徴とする請求項1又は2に記載
    の三次元画像生成方法。
  5. 【請求項5】 前記3のステップにおいて、前記内部点
    に対する各頂点の鏡面テクスチャ座標の内挿は、前記内
    部点の座標を前記頂点の座標の線形結合により表し、こ
    の線形結合の係数比で前記頂点の鏡面テクスチャ座標を
    線形結合した値であることを特徴とする請求項1又は2
    に記載の三次元画像生成方法。
  6. 【請求項6】 前記第1のステップにおいて、鏡面反射
    を、ピーク強度と半径とを示す2つの定数を持つ関数に
    よりモデル化し、 鏡面テクスチャマップとして、単位ピーク強度および単
    位ピーク半径における関数形を保持することを特徴とす
    る請求項1又は2に記載の三次元画像生成方法。
  7. 【請求項7】 前記第1のステップにおいて、鏡面反射
    を、外れ角ベクトルの射影の絶対値を引数とするガウス
    関数によりモデル化し、 鏡面テクスチャマップとして、2次元ガウス分布を保持
    することを特徴とする請求項1又は2に記載の三次元画
    像生成方法。
  8. 【請求項8】 仮想物体の表面形状をポリゴンの集合体
    として表現し、ポリゴンの頂点ごとに与えられた座標・
    法線情報及び反射特性値に基づいて前記仮想物体の三次
    元画像を表示するようコンピュータを動作させる三次元
    画像生成プログラムであって、 反射モデル関数の鏡面反射項を少なくとも2次元の鏡面
    テクスチャマップとして保持する第1のステップと、 前記頂点ごとに法線ベクトル、光源方向ベクトルおよび
    撮像方向ベクトルに基づいて鏡面テクスチャ座標を算出
    する第2のステップと、 表示画素に対応したポリゴン内部点に対し、各頂点の鏡
    面テクスチャ座標を内挿して該内部点の鏡面テクスチャ
    座標を求める第3のステップと、 前記鏡面テクスチャ座標における鏡面テクスチャマップ
    の値に、前記光源からの光による照度および鏡面反射係
    数を乗じて該内部点の鏡面反射強度とする第4のステッ
    プとを有し、 前記第2のステップにおいて、前記鏡面テクスチャ座標
    を、法線ベクトル、光源方向ベクトルおよび撮像方向ベ
    クトルから算出される外れ角ベクトルと該頂点の鏡面反
    射半径の逆数の積として算出することを特徴とする三次
    元画像生成プログラム。
  9. 【請求項9】 仮想物体の表面形状をポリゴンの集合体
    として表現し、ポリゴンの頂点ごとに与えられた座標・
    法線情報及びポリゴン内部点毎に与えられた反射特性値
    に基づいて前記仮想物体の三次元画像を表示するようコ
    ンピュータを動作させる三次元画像生成プログラムであ
    って、 反射モデル関数の鏡面反射項を少なくとも2次元の鏡面
    テクスチャマップとして保持する第1のステップと、 前記頂点ごとに法線ベクトル、光源方向ベクトルおよび
    撮像方向ベクトルから算出される外れ角ベクトルの射影
    として鏡面テクスチャ座標を算出する第2のステップ
    と、 表示画素に対応したポリゴン内部点に対し、各頂点の鏡
    面テクスチャ座標を内挿して該内部点の鏡面テクスチャ
    座標を求める第3のステップと、 前記鏡面テクスチャ座標における鏡面テクスチャマップ
    の値に、前記光源からの光による照度および鏡面反射係
    数を乗じて該内部点の鏡面反射強度とする第4のステッ
    プとを有し、 前記第3のステップにおいて、各頂点の鏡面テクスチャ
    座標を内挿した値と該内部点の鏡面反射半径の逆数の積
    として、該内部点の鏡面テクスチャ座標を算出すること
    を特徴とする三次元画像生成プログラム。
  10. 【請求項10】 前記第2のステップにおいて、前記外
    れ角ベクトルを、前記光源からの光の正反射方向と撮像
    方向とがなす角度又は撮像方向に対する正反射方向と光
    源方向とがなす角度を水平方向角および仰角若しくはこ
    れらと同等な2つの自由度を持つベクトルで表すことを
    特徴とする請求項8又は9に記載の三次元画像生成プロ
    グラム。
  11. 【請求項11】 前記第2のステップにおいて、前記外
    れ角ベクトルを、前記光源からの光の正反射方向と撮像
    方向との二等分角度と法線方向とがなす角度を水平方向
    角および仰角若しくはこれらと同等な2つの自由度を持
    つベクトルで表すことを特徴とする請求項8又は9に記
    載の三次元画像生成プログラム。
  12. 【請求項12】 前記3のステップにおいて、前記内部
    点に対する各頂点の鏡面テクスチャ座標の内挿は、表示
    画像上での前記内部点の座標を前記頂点の座標の線形結
    合により表し、この線形結合の係数比で前記頂点の鏡面
    テクスチャ座標を線形結合した値であることを特徴とす
    る請求項8又は9に記載の三次元画像生成プログラム。
  13. 【請求項13】 前記第1のステップにおいて、鏡面反
    射を、ピーク強度と半径とを示す2つの定数を持つ関数
    によりモデル化し、 鏡面テクスチャマップとして、単位ピーク強度および単
    位ピーク半径における関数形を保持することを特徴とす
    る請求項8又は9に記載の三次元画像生成プログラム。
  14. 【請求項14】 前記第1のステップにおいて、鏡面反
    射を、外れ角ベクトルの射影の絶対値を引数とするガウ
    ス関数によりモデル化し、 鏡面テクスチャマップとして、2次元ガウス分布を保持
    することを特徴とする請求項8又は9に記載の三次元画
    像生成プログラム。
  15. 【請求項15】 仮想物体の表面形状をポリゴンの集
    合体として表現し、ポリゴンの頂点ごとに与えられた座
    標・法線情報及び反射特性値に基づいて前記仮想物体の
    三次元画像を表示する三次元画像生成装置であって、 反射モデル関数の鏡面反射項を少なくとも2次元の鏡面
    テクスチャマップとして保持するテクスチャ保持部と、 前記頂点ごとに法線ベクトル、光源方向ベクトルおよび
    撮像方向ベクトルに基づいて鏡面テクスチャ座標を算出
    する頂点処理部と、 表示画素に対応したポリゴン内部点に対し、各頂点の鏡
    面テクスチャ座標を内挿して該内部点の鏡面テクスチャ
    座標を求めるとともに、前記鏡面テクスチャ座標におけ
    る鏡面テクスチャマップの値に、前記光源からの光によ
    る照度および鏡面反射係数を乗じて該内部点の鏡面反射
    強度とするピクセル処理部とを有し、 前記頂点処理部は、前記鏡面テクスチャ座標を、法線ベ
    クトル、光源方向ベクトルおよび撮像方向ベクトルから
    算出される外れ角ベクトルの射影と該頂点の鏡面反射半
    径の逆数の積として算出することを特徴とする三次元画
    像生成装置。
  16. 【請求項16】 仮想物体の表面形状をポリゴンの集合
    体として表現し、ポリゴンの頂点ごとに与えられた座標
    ・法線情報及びポリゴン内部点毎に与えられた反射特性
    値に基づいて前記仮想物体の三次元画像を表示する三次
    元画像生成装置であって、 反射モデル関数の鏡面反射項を少なくとも2次元の鏡面
    テクスチャマップとして保持するテクスチャ保持部と、 前記頂点ごとに法線ベクトル、光源方向ベクトルおよび
    撮像方向ベクトルから算出される外れ角ベクトルの射影
    として鏡面テクスチャ座標を算出する頂点処理部と、 表示画素に対応したポリゴン内部点に対し、各頂点の鏡
    面テクスチャ座標を内挿した値から該内部点の鏡面テク
    スチャ座標を求めるとともに、前記鏡面テクスチャ座標
    における鏡面テクスチャマップの値に、前記光源からの
    光による照度および鏡面反射係数を乗じて該内部点の鏡
    面反射強度とするピクセル処理部とを有し、 前記ピクセル処理部は、各頂点の鏡面テクスチャ座標を
    内挿した値と該内部点の鏡面反射半径の逆数の積とし
    て、該内部点の鏡面テクスチャ座標を算出することを特
    徴とする三次元画像生成装置。
  17. 【請求項17】 前記テクスチャ保持部は、前記外れ角
    ベクトルを、前記光源からの光の正反射方向と撮像方向
    とがなす角度、又は撮像方向に対する正反射方向と光源
    方向とがなす角度を水平方向角および仰角若しくはこれ
    らと同等な2つの自由度を持つベクトルで表すことを特
    徴とする請求項15又は16に記載の三次元画像生成装
    置。
  18. 【請求項18】 前記テクスチャ保持部は、前記外れ角
    ベクトルを、前記光源からの光の正反射方向と撮像方向
    との二等分角度と法線方向とがなす角度を水平方向角お
    よび仰角若しくはこれらと同等な2つの自由度を持つベ
    クトルで表すことを特徴とする請求項15又は16に記
    載の三次元画像生成装置。
  19. 【請求項19】 前記ピクセル処理部は、前記内部点に
    対する各頂点の鏡面テクスチャ座標の内挿を、前記内部
    点の座標を前記頂点の座標の線形結合により表し、この
    線形結合の係数比で前記頂点の鏡面テクスチャ座標を線
    形結合した値とすることを特徴とする請求項15又は1
    6に記載の三次元画像生成装置。
  20. 【請求項20】 前記テクスチャ保持部は、鏡面反射
    を、ピーク強度と半径とを示す2つの定数を持つ関数に
    よりモデル化し、 鏡面テクスチャマップとして、単位ピーク強度および単
    位ピーク半径における関数形を保持することを特徴とす
    る請求項15又は16に記載の三次元画像生成装置。
  21. 【請求項21】 前記テクスチャ保持部は、鏡面反射
    を、外れ角ベクトルの射影の絶対値を引数とするガウス
    関数によりモデル化し、 鏡面テクスチャマップとして、2次元ガウス分布を保持
    することを特徴とする請求項15又は16に記載の三次
    元画像生成装置。
JP2002015913A 2002-01-24 2002-01-24 三次元画像生成方法、三次元画像生成プログラムおよび三次元画像生成装置 Pending JP2003216968A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002015913A JP2003216968A (ja) 2002-01-24 2002-01-24 三次元画像生成方法、三次元画像生成プログラムおよび三次元画像生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002015913A JP2003216968A (ja) 2002-01-24 2002-01-24 三次元画像生成方法、三次元画像生成プログラムおよび三次元画像生成装置

Publications (1)

Publication Number Publication Date
JP2003216968A true JP2003216968A (ja) 2003-07-31

Family

ID=27652141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002015913A Pending JP2003216968A (ja) 2002-01-24 2002-01-24 三次元画像生成方法、三次元画像生成プログラムおよび三次元画像生成装置

Country Status (1)

Country Link
JP (1) JP2003216968A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015056059A (ja) * 2013-09-12 2015-03-23 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理方法、及びプログラム
KR101572618B1 (ko) 2014-10-16 2015-12-02 연세대학교 산학협력단 라이더 시뮬레이션 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015056059A (ja) * 2013-09-12 2015-03-23 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理方法、及びプログラム
KR101572618B1 (ko) 2014-10-16 2015-12-02 연세대학교 산학협력단 라이더 시뮬레이션 장치 및 방법

Similar Documents

Publication Publication Date Title
JP3052681B2 (ja) 3次元動画像生成装置
US11625861B2 (en) Point cloud colorization system with real-time 3D visualization
US6326972B1 (en) 3D stroke-based character modeling suitable for efficiently rendering large crowds
JP3179392B2 (ja) 画像処理装置及び画像処理方法
US10403045B2 (en) Photorealistic augmented reality system
JP2000227966A (ja) 3dコンピュ―タ・グラフィックス処理装置及び方法
JPH10302079A (ja) 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置
WO2021135320A1 (zh) 一种视频的生成方法、装置及计算机系统
CN111161392A (zh) 一种视频的生成方法、装置及计算机系统
JP3467725B2 (ja) 画像の影除去方法、画像処理装置及び記録媒体
US5793372A (en) Methods and apparatus for rapidly rendering photo-realistic surfaces on 3-dimensional wire frames automatically using user defined points
JP2001291116A (ja) 三次元画像生成装置および三次元画像生成方法、並びにプログラム提供媒体
US6864889B2 (en) System for previewing a photorealistic rendering of a synthetic scene in real-time
JP3035571B2 (ja) 画像処理装置
JP2007272847A (ja) 照明シミュレーション方法及び画像合成方法
US6781583B2 (en) System for generating a synthetic scene
JP2003216968A (ja) 三次元画像生成方法、三次元画像生成プログラムおよび三次元画像生成装置
KR100848687B1 (ko) 3차원 그래픽 처리 장치 및 그것의 동작 방법
Chen et al. Dynamic omnidirectional texture synthesis for photorealistic virtual content creation
JP4308367B2 (ja) 3次元画像生成装置および環境マップの生成方法
US6633291B1 (en) Method and apparatus for displaying an image
JP3261832B2 (ja) 画像生成装置
JP2000057372A (ja) 画像処理装置、画像処理方法及び記憶媒体
JP7190780B1 (ja) 画像処理プログラム、画像処理装置、及び画像処理方法
JP3648099B2 (ja) 画像合成表示方法および装置ならびに画像合成表示プログラムを記録した記録媒体