JPH0628492A - コンピュータグラフィックスにおけるライティング処理方法 - Google Patents
コンピュータグラフィックスにおけるライティング処理方法Info
- Publication number
- JPH0628492A JPH0628492A JP18236492A JP18236492A JPH0628492A JP H0628492 A JPH0628492 A JP H0628492A JP 18236492 A JP18236492 A JP 18236492A JP 18236492 A JP18236492 A JP 18236492A JP H0628492 A JPH0628492 A JP H0628492A
- Authority
- JP
- Japan
- Prior art keywords
- normal vector
- lighting
- points
- lighting processing
- vector
- 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.)
- Withdrawn
Links
Landscapes
- Image Generation (AREA)
Abstract
(57)【要約】
【目的】 コンピュータグラフィクスにおけるライティ
ング処理方法に関し,高速にライティング処理を行うこ
とを目的とする。 【構成】 多角図形の頂点データに基づいてグラフィッ
ク処理を行い画像表示するグラフィック処理方法におい
て,図形上の2点の座標と正規化法線ベクトルを含む図
形データに基づいて,該2点間を補間する点の座標を求
める座標算出手段手段4と,該補間した点の法線ベクト
ルを求める法線ベクトル算出手段2と,ライティング処
理部4を備え,法線ベクトル算出手段2は,該2点の法
線ベクトルの作る角度を算出するとともに該2点の分割
数に基づいて該角を分割し,該2点の法線ベクトルと該
分割角度に基づいて補間した点の正規化法線ベクトルを
算出し,該正規化法線ベクトルとライティング処理に必
要なベクトルとによりライティング処理を行う構成を持
つ。
ング処理方法に関し,高速にライティング処理を行うこ
とを目的とする。 【構成】 多角図形の頂点データに基づいてグラフィッ
ク処理を行い画像表示するグラフィック処理方法におい
て,図形上の2点の座標と正規化法線ベクトルを含む図
形データに基づいて,該2点間を補間する点の座標を求
める座標算出手段手段4と,該補間した点の法線ベクト
ルを求める法線ベクトル算出手段2と,ライティング処
理部4を備え,法線ベクトル算出手段2は,該2点の法
線ベクトルの作る角度を算出するとともに該2点の分割
数に基づいて該角を分割し,該2点の法線ベクトルと該
分割角度に基づいて補間した点の正規化法線ベクトルを
算出し,該正規化法線ベクトルとライティング処理に必
要なベクトルとによりライティング処理を行う構成を持
つ。
Description
【0001】
【産業上の利用分野】本発明は,コンピュータグラフィ
ックスにおけるライティング処理方法に関する。
ックスにおけるライティング処理方法に関する。
【0002】3次元コンピュータグラフィックスは,ア
ニメーション,科学技術分野におけるシミュレーション
等様々な分野で利用されている。そして,そのようなコ
ンピュータグラフィックスは,精密な写実が要求される
とともに,高速に処理される必要がある。
ニメーション,科学技術分野におけるシミュレーション
等様々な分野で利用されている。そして,そのようなコ
ンピュータグラフィックスは,精密な写実が要求される
とともに,高速に処理される必要がある。
【0003】3次元コンピュータグラフィックスでは,
画像を構成する画素毎に法線ベクトルを求め,法線ベク
トル,光源情報,描画対象物表面の反射率等に基づくラ
イティング処理を画素毎に行い,リアリティのある描画
を得るようにしている。
画像を構成する画素毎に法線ベクトルを求め,法線ベク
トル,光源情報,描画対象物表面の反射率等に基づくラ
イティング処理を画素毎に行い,リアリティのある描画
を得るようにしている。
【0004】そのような法線ベクトルの算出とライティ
ング処理は計算量が大きく処理の高速化の妨げになって
いた。
ング処理は計算量が大きく処理の高速化の妨げになって
いた。
【0005】
【従来の技術】図8は従来のコンピュータグラフィック
ス装置の構成を示す。図において,100は多角形デー
タ入力部であって,描画図形を構成する要素となる多角
形図形の頂点の座標値,属性値(法線ベクトル,色等の
値)を入力するものである。101は面塗り部であっ
て,頂点間を結ぶ直線の座標,直線上の画素の法線ベク
トル等を線型補間により算出するものである(線型補間
については後述する)。102は面塗り部における法線
ベクトル算出部であって,補間された点の法線ベクトル
を算出するものである。103はスパン処理部であっ
て,頂点を結ぶ線分とディスプレイの水平走査ラインと
の交点同士を結ぶ水平走査ラインに平行な線分(スパン
と称する)上の画素の座標と法線ベクトルを算出するも
のである。スパン上の画素の法線ベクトルはスパン両端
の点の法線ベクトルに基づいて線型補間により算出す
る。104は法線ベクトル算出部である。
ス装置の構成を示す。図において,100は多角形デー
タ入力部であって,描画図形を構成する要素となる多角
形図形の頂点の座標値,属性値(法線ベクトル,色等の
値)を入力するものである。101は面塗り部であっ
て,頂点間を結ぶ直線の座標,直線上の画素の法線ベク
トル等を線型補間により算出するものである(線型補間
については後述する)。102は面塗り部における法線
ベクトル算出部であって,補間された点の法線ベクトル
を算出するものである。103はスパン処理部であっ
て,頂点を結ぶ線分とディスプレイの水平走査ラインと
の交点同士を結ぶ水平走査ラインに平行な線分(スパン
と称する)上の画素の座標と法線ベクトルを算出するも
のである。スパン上の画素の法線ベクトルはスパン両端
の点の法線ベクトルに基づいて線型補間により算出す
る。104は法線ベクトル算出部である。
【0006】105は隠面消去部であって,算出した画
素のZ値とZバッファ106に保持されている旧画素の
Z値を比較し,視点から見えない部分を消去するもので
ある。例えばZ値が小さい画素はZ値が大きい画素より
手前にあるというように,Z値は画素の視点からの相対
的位置関係を表す値である。そして,算出した現画素の
Z値が旧画素のZ値より小さければ,後続のライティン
グ処理部107に求めた画素のデータを転送して表示処
理を行い,Zバッファ106の値を更新する。106は
Zバッファであって,画素のZ値を格納するものであ
る。
素のZ値とZバッファ106に保持されている旧画素の
Z値を比較し,視点から見えない部分を消去するもので
ある。例えばZ値が小さい画素はZ値が大きい画素より
手前にあるというように,Z値は画素の視点からの相対
的位置関係を表す値である。そして,算出した現画素の
Z値が旧画素のZ値より小さければ,後続のライティン
グ処理部107に求めた画素のデータを転送して表示処
理を行い,Zバッファ106の値を更新する。106は
Zバッファであって,画素のZ値を格納するものであ
る。
【0007】107はライティング処理部であって,各
画素の法線ベクトルと反射係数等の属性情報並びに照明
情報などから各画素の輝度を求めるものである。輝度の
算出方法は,(1) フォングライティング法,(2) クック
ライティング法,(3) ホールライティング法等がある
(これらのライティング法についてはそれぞれ後述す
る)。
画素の法線ベクトルと反射係数等の属性情報並びに照明
情報などから各画素の輝度を求めるものである。輝度の
算出方法は,(1) フォングライティング法,(2) クック
ライティング法,(3) ホールライティング法等がある
(これらのライティング法についてはそれぞれ後述す
る)。
【0008】108はフレームバッファであって,1表
示画面分の画素データを格納するものである。109は
CRTであって,フレームバッファ108上の画素デー
タに基づいて画像表示するものである。
示画面分の画素データを格納するものである。109は
CRTであって,フレームバッファ108上の画素デー
タに基づいて画像表示するものである。
【0009】図9は従来の法線ベクトル算出方法を示す
図である。図において,A,B,C,Dは画像生成の基
本図形となる多角形図形の頂点である。頂点のデータは
座標,属性値(色,法線ベクトル等の値)よりなるもの
である。点Pは線型補間により求めた頂点Aと頂点Bを
結ぶ線分上の点である。同様に,点Qは線型補間により
求めた頂点Cと頂点Dを結ぶ線分上の点である。点Rは
水平走査ライン方向の線分PQ(スパン)上の点であ
る。
図である。図において,A,B,C,Dは画像生成の基
本図形となる多角形図形の頂点である。頂点のデータは
座標,属性値(色,法線ベクトル等の値)よりなるもの
である。点Pは線型補間により求めた頂点Aと頂点Bを
結ぶ線分上の点である。同様に,点Qは線型補間により
求めた頂点Cと頂点Dを結ぶ線分上の点である。点Rは
水平走査ライン方向の線分PQ(スパン)上の点であ
る。
【0010】NA ,NB ,NC ,ND はそれぞれ頂点
A,B,C,Dの法線ベクトルである。N1 ,N2 ,N
はそれぞれ点P,Q,Rの法線ベクトルである。以下の
説明において,NA ,NB ,NC ,ND ,N1 ,N2 ,
Nは全てベクトルを表す。
A,B,C,Dの法線ベクトルである。N1 ,N2 ,N
はそれぞれ点P,Q,Rの法線ベクトルである。以下の
説明において,NA ,NB ,NC ,ND ,N1 ,N2 ,
Nは全てベクトルを表す。
【0011】図10により従来のグラフィック処理方法
の説明をする(図8,図9を参照)。 多角形データ入力部100は,多角図形ABCDの
頂点データを入力する。
の説明をする(図8,図9を参照)。 多角形データ入力部100は,多角図形ABCDの
頂点データを入力する。
【0012】 面塗り部101は,線分AB上の点
P,線分CD上の点Qを線型補間により求める。点Pの
座標を線型補間により求める場合,線分ABの傾きと点
Pの点Aからの垂直方向の増分に対する水平方向の増分
を求め,座標を算出する。色等の属性値も同様に線型補
間する。
P,線分CD上の点Qを線型補間により求める。点Pの
座標を線型補間により求める場合,線分ABの傾きと点
Pの点Aからの垂直方向の増分に対する水平方向の増分
を求め,座標を算出する。色等の属性値も同様に線型補
間する。
【0013】 面塗り部101は,点Pの法線ベクト
ルN1 ,点Qの法線ベクトルN2 を線型補間により算出
し,正規化処理する。線型補間により法線ベクトルを算
出する方法は,頂点Aの法線ベクトルNA ,頂点Bの法
線ベクトルのNB それぞれの成分について,線分ABの
傾きと点Pの頂点Aからの垂直方向の増分とにより算出
する。正規化処理はベクトルの長さを1とする。
ルN1 ,点Qの法線ベクトルN2 を線型補間により算出
し,正規化処理する。線型補間により法線ベクトルを算
出する方法は,頂点Aの法線ベクトルNA ,頂点Bの法
線ベクトルのNB それぞれの成分について,線分ABの
傾きと点Pの頂点Aからの垂直方向の増分とにより算出
する。正規化処理はベクトルの長さを1とする。
【0014】 スパン処理部103はスパンPQ上の
画素Rの座標を求める。 スパン処理部103はスパンPQ上の点Rの法線ベ
クトルを点Pの法線ベクトルN1 と点Qの法線ベクトル
N2 を線型補間により求め,正規化処理する。
画素Rの座標を求める。 スパン処理部103はスパンPQ上の点Rの法線ベ
クトルを点Pの法線ベクトルN1 と点Qの法線ベクトル
N2 を線型補間により求め,正規化処理する。
【0015】 隠面消去部105は現画素のZ値と旧
画素のZ値を比較し隠面消去を行う。 ライティング処理部107はライティング処理を行
う(ライティング処理については後述する)。
画素のZ値を比較し隠面消去を行う。 ライティング処理部107はライティング処理を行
う(ライティング処理については後述する)。
【0016】 ライティング処理された1画面分のデ
ータをフレームバッファ108に格納し,CRT109
に画像表示する。次にライティング処理部107におけ
るライティング処理方法について説明する。
ータをフレームバッファ108に格納し,CRT109
に画像表示する。次にライティング処理部107におけ
るライティング処理方法について説明する。
【0017】ランティング処理は,光源の種類,位置,
視点の位置に基づいて,画素毎に色および輝度を算出す
るものである。ライティング処理方法には,フォングラ
イティング法,クックライティング法,ホールライティ
ング法等さまざまな方法があるが,先ず代表的なフォン
グライティング法について説明する(クックライティン
グ,ホールライティングについては後述する)。
視点の位置に基づいて,画素毎に色および輝度を算出す
るものである。ライティング処理方法には,フォングラ
イティング法,クックライティング法,ホールライティ
ング法等さまざまな方法があるが,先ず代表的なフォン
グライティング法について説明する(クックライティン
グ,ホールライティングについては後述する)。
【0018】〔フォングライティング法〕フォングライ
ティング法は,現実の光景では,光源からの光が直接当
たらない所でも壁からの反射等様々な経路で光が物体に
照射されるので,光のそのような物体を取り巻く環境に
基づく成分,光源から到達した光が対象点で乱反射する
成分,光源から到達した光がつやを持った面に反射して
主に正反射方向に多く反射されてハイライトを生じる鏡
面成分等を考慮したものである。
ティング法は,現実の光景では,光源からの光が直接当
たらない所でも壁からの反射等様々な経路で光が物体に
照射されるので,光のそのような物体を取り巻く環境に
基づく成分,光源から到達した光が対象点で乱反射する
成分,光源から到達した光がつやを持った面に反射して
主に正反射方向に多く反射されてハイライトを生じる鏡
面成分等を考慮したものである。
【0019】点Rの波長kにおける分光反射輝度CK を
次のように表す。以下の説明において,Lj ,Rj ,E
はベクトルである。 Ck =CAk+CDk+CSk CAk=ka IakCdk ここで,CAkは,壁等の環境からの反射光(環境反射
光)に基づく分光反射輝度である。CDkは,光源から到
来する拡散光の乱反射に基づく拡散反射輝度である。C
Skは光源から到来する拡散光の点Pにおける鏡面分光反
射輝度である。
次のように表す。以下の説明において,Lj ,Rj ,E
はベクトルである。 Ck =CAk+CDk+CSk CAk=ka IakCdk ここで,CAkは,壁等の環境からの反射光(環境反射
光)に基づく分光反射輝度である。CDkは,光源から到
来する拡散光の乱反射に基づく拡散反射輝度である。C
Skは光源から到来する拡散光の点Pにおける鏡面分光反
射輝度である。
【0020】ka ,kd ,kS は,それぞれ点Pの物体
の属する環境反射係数,拡散反射係数,鏡面反射係数で
ある。Cdk,CSkはそれぞれ,点Pの物体の分光拡散反
射率,鏡面反射率である。mは光源数である。CLjk は
j番目の光源の分光密度である。Lj は光源への方向ベ
クトル,Rj はj番目の光源から入射した光が,対象点
で反射してできる反射ベクトルである。Nは対象点の法
線ベクトル,Eは対象点から視点へ向かうベクトル,n
はフォングの係数である。Ij はj番目の光源の光度,
Iakは環境光の反射放射輝度である。
の属する環境反射係数,拡散反射係数,鏡面反射係数で
ある。Cdk,CSkはそれぞれ,点Pの物体の分光拡散反
射率,鏡面反射率である。mは光源数である。CLjk は
j番目の光源の分光密度である。Lj は光源への方向ベ
クトル,Rj はj番目の光源から入射した光が,対象点
で反射してできる反射ベクトルである。Nは対象点の法
線ベクトル,Eは対象点から視点へ向かうベクトル,n
はフォングの係数である。Ij はj番目の光源の光度,
Iakは環境光の反射放射輝度である。
【0021】
【発明が解決しようとする課題】従来のライティング処
理は,画素毎に法線ベクトルを線型補間により求めて正
規化処理し,求められた正規化法線ベクトルNに基づい
て,上記式(1) ,(2) のベクトルの内積演算処理を行っ
ていた。そのため,従来のライティング処理は計算量が
多く,高速処理できなかった。
理は,画素毎に法線ベクトルを線型補間により求めて正
規化処理し,求められた正規化法線ベクトルNに基づい
て,上記式(1) ,(2) のベクトルの内積演算処理を行っ
ていた。そのため,従来のライティング処理は計算量が
多く,高速処理できなかった。
【0022】本発明は,高速にライティング処理を行う
ことのできるグラフィック処理方法を提供することを目
的とする。
ことのできるグラフィック処理方法を提供することを目
的とする。
【0023】
【課題を解決するための手段】本発明は,図形上の2点
の法線ベクトルの作る角度αを算出し,2点の画素(対
象点)の法線ベクトルを算出する場合,対象点の法線ベ
クトルが2点の法線ベクトルを分割する角度に基づく係
数を求め,そのベクトル和として対象点の法線ベクトル
を表すようにした。そして,輝度の算出における法線ベ
クトルと対象点の反射光等の内積計算を,求めた法線ベ
クトルの和と反射光等のベクトルにより行うようにし
た。
の法線ベクトルの作る角度αを算出し,2点の画素(対
象点)の法線ベクトルを算出する場合,対象点の法線ベ
クトルが2点の法線ベクトルを分割する角度に基づく係
数を求め,そのベクトル和として対象点の法線ベクトル
を表すようにした。そして,輝度の算出における法線ベ
クトルと対象点の反射光等の内積計算を,求めた法線ベ
クトルの和と反射光等のベクトルにより行うようにし
た。
【0024】図1は本発明の基本構成を示す。図におい
て,1は多角形図形の頂点データ入力手段,2は座標算
出手段であって,頂点を結ぶ線分上の画素の座標を線型
補間により算出するとともに,スパンを求めるものであ
る。
て,1は多角形図形の頂点データ入力手段,2は座標算
出手段であって,頂点を結ぶ線分上の画素の座標を線型
補間により算出するとともに,スパンを求めるものであ
る。
【0025】3は法線ベクトル算出手段であって,スパ
ン両端の法線ベクトルN1 ,N2 を頂点A,B,および
C,Dの法線ベクトルNA ,NB 角およびNC ,ND の
大きさおよび両ベクトルの作る角度に基づいて求め,さ
らに,スパンPQ上の点Rの法線ベクトルを点P,Qの
法線ベクトルN1 ,N2 の大きさおよび両ベクトルの作
る角度により求めるものである。例えば,法線ベクトル
N1 ,N2 を求める場合,法線ベクトルN1 ,N2 の作
る角度αを求める。そして,スパンPQ上の点Rの法線
ベクトルNが分割する角度(β,γ)に応じた係数a,
bを求め,対象点の法線ベクトルをN=aN1 +bN2
として算出するものである。法線ベクトルN1 ,N2 を
求める場合も,同様に頂点A,BおよびC,Dの法線ベ
クトルN A ,NB およびNC ,ND により同様に算出す
る。
ン両端の法線ベクトルN1 ,N2 を頂点A,B,および
C,Dの法線ベクトルNA ,NB 角およびNC ,ND の
大きさおよび両ベクトルの作る角度に基づいて求め,さ
らに,スパンPQ上の点Rの法線ベクトルを点P,Qの
法線ベクトルN1 ,N2 の大きさおよび両ベクトルの作
る角度により求めるものである。例えば,法線ベクトル
N1 ,N2 を求める場合,法線ベクトルN1 ,N2 の作
る角度αを求める。そして,スパンPQ上の点Rの法線
ベクトルNが分割する角度(β,γ)に応じた係数a,
bを求め,対象点の法線ベクトルをN=aN1 +bN2
として算出するものである。法線ベクトルN1 ,N2 を
求める場合も,同様に頂点A,BおよびC,Dの法線ベ
クトルN A ,NB およびNC ,ND により同様に算出す
る。
【0026】4はライティング処理手段であって,ライ
ティング処理を行うものであって,ライティング処理に
必要なベクトルAj と法線ベクトルNとの内積Aj ・N
をA j ・N=aAj ・N1 +bAj ・N2 として算出す
るものである。5はa,bの係数を算出するための三角
函数テーブルである。6は作成した画像を画面表示する
表示手段である。
ティング処理を行うものであって,ライティング処理に
必要なベクトルAj と法線ベクトルNとの内積Aj ・N
をA j ・N=aAj ・N1 +bAj ・N2 として算出す
るものである。5はa,bの係数を算出するための三角
函数テーブルである。6は作成した画像を画面表示する
表示手段である。
【0027】
【作用】図2により本発明の法線ベクトル算出方法につ
いて説明する。図2 (a)において,P,Qはスパン両端
の点を表す。RはスパンPQ上の点である。スパンPQ
はM個の画素により分割されているとする。N1 は点P
の法線ベクトル,N2 は点Qの法線ベクトルである。N
は点Rの法線ベクトルである。αはN1 とN2 の作る角
度である。γ,βは,γ=αt(tは分割数Mから求ま
る係数で,例えばt=n/M(nは整数)),β=α−
γにより求める。
いて説明する。図2 (a)において,P,Qはスパン両端
の点を表す。RはスパンPQ上の点である。スパンPQ
はM個の画素により分割されているとする。N1 は点P
の法線ベクトル,N2 は点Qの法線ベクトルである。N
は点Rの法線ベクトルである。αはN1 とN2 の作る角
度である。γ,βは,γ=αt(tは分割数Mから求ま
る係数で,例えばt=n/M(nは整数)),β=α−
γにより求める。
【0028】次に,図2 (b)により法線ベクトル算出方
法を説明する。図2 (b)において,N1 ,N2 は点
P’,Q’の法線ベクトルで長さ1に正規化されている
ものである。OはN1 とN2 の交点,OP’は法線ベク
トルN1 ,OQ’は法線ベクトルN2 である。OP”は
角αを分割して求めた補間法線ベクトルNであって,点
Rの法線ベクトルである。
法を説明する。図2 (b)において,N1 ,N2 は点
P’,Q’の法線ベクトルで長さ1に正規化されている
ものである。OはN1 とN2 の交点,OP’は法線ベク
トルN1 ,OQ’は法線ベクトルN2 である。OP”は
角αを分割して求めた補間法線ベクトルNであって,点
Rの法線ベクトルである。
【0029】N1 ,N2 ,Nが正規化されている時,
N,N1 ,N2 の間には,次の関係がある。 N=(N1 sinγ+N2 sinβ)(sinα)-1 ・・・・・(1) ’ (この式の証明は後述する。)この関係式から,N1 ,
N2 ,α,β,γに基づいて補間法線ベクトルNを求め
ることができる。そして,γ=αtにより,tを変える
ことにより,線分AB上の各点の法線ベクトルを求める
ことができる。
N,N1 ,N2 の間には,次の関係がある。 N=(N1 sinγ+N2 sinβ)(sinα)-1 ・・・・・(1) ’ (この式の証明は後述する。)この関係式から,N1 ,
N2 ,α,β,γに基づいて補間法線ベクトルNを求め
ることができる。そして,γ=αtにより,tを変える
ことにより,線分AB上の各点の法線ベクトルを求める
ことができる。
【0030】次に,図1の基本構成の動作を説明する。
必要に応じて図2を参照する。多角形図形の頂点データ
入力手段1は,作成画像の基本となる多角形図形の頂点
データを入力する。座標算出手段2は多角形図形の頂点
を結ぶスパンPQ等を線型補間により求める。
必要に応じて図2を参照する。多角形図形の頂点データ
入力手段1は,作成画像の基本となる多角形図形の頂点
データを入力する。座標算出手段2は多角形図形の頂点
を結ぶスパンPQ等を線型補間により求める。
【0031】法線ベクトル算出手段3は,p=N1 ・N
2 ,α=cos-1pにより,N1 とN2 の作る角度を算
出する。γ(γ=αt),β(β=α−β)により,
γ,βを求める。N=aN1 +bN2 によりNを求め
る。但し,a=(sinγ)(sinα)-1,b=(s
inβ)(sinα)-1。
2 ,α=cos-1pにより,N1 とN2 の作る角度を算
出する。γ(γ=αt),β(β=α−β)により,
γ,βを求める。N=aN1 +bN2 によりNを求め
る。但し,a=(sinγ)(sinα)-1,b=(s
inβ)(sinα)-1。
【0032】tを変えながら,上記処理を繰り返し,各
頂点を結ぶ線分上の画素の法線ベクトル,および各スパ
ン上の画素の法線ベクトルを求める。その際,a,bは
三角函数テーブル5を参照することにより求める。
頂点を結ぶ線分上の画素の法線ベクトル,および各スパ
ン上の画素の法線ベクトルを求める。その際,a,bは
三角函数テーブル5を参照することにより求める。
【0033】ライティング処理手段4は,ライティング
処理に必要なベクトルAj とした時,法線ベクトルとの
内積計算Aj ・Nを,Aj ・N=aAj ・N1 +bAj
・N 2 により行う。
処理に必要なベクトルAj とした時,法線ベクトルとの
内積計算Aj ・Nを,Aj ・N=aAj ・N1 +bAj
・N 2 により行う。
【0034】フォングライティング処理の場合,上記式
(1) ,(2) (5頁参照)の内積計算をこの演算方法によ
り行う。 即ち,Lj ・N=Lj ・(aN1 +bN2 ) =aLj ・N1 +bLj ・N2 としてLj ・Nの演算処理を行う。
(1) ,(2) (5頁参照)の内積計算をこの演算方法によ
り行う。 即ち,Lj ・N=Lj ・(aN1 +bN2 ) =aLj ・N1 +bLj ・N2 としてLj ・Nの演算処理を行う。
【0035】Lj ・N1 とLj ・N2 は予め求められる
ので,aとbを求めればよい。cos-1p,sinβ,
sinγは三角函数テーブル5を参照することにより高
速に求めることができるのでa,bは高速に算出でき
る。
ので,aとbを求めればよい。cos-1p,sinβ,
sinγは三角函数テーブル5を参照することにより高
速に求めることができるのでa,bは高速に算出でき
る。
【0036】同様に,上記式(2) における内積演算は,
反射ベクトルRj =2(Lj ・N)N−Lj であるの
で, Rj ・E=(2(Lj ・N)N−Lj )・E =2(aLj ・N+bLj ・N2 )(aN1 ・E+bN1 ・E) −Lj ・E として求めることができる。
反射ベクトルRj =2(Lj ・N)N−Lj であるの
で, Rj ・E=(2(Lj ・N)N−Lj )・E =2(aLj ・N+bLj ・N2 )(aN1 ・E+bN1 ・E) −Lj ・E として求めることができる。
【0037】Lj ・N1 ,Lj ・N2 ,N1 ・E,N1
・E,Lj ・Eは予め計算でき,a,bも上記のように
高速に求めることができるので,Rj ・Eの演算も高速
に処理できる。
・E,Lj ・Eは予め計算でき,a,bも上記のように
高速に求めることができるので,Rj ・Eの演算も高速
に処理できる。
【0038】そして,ライティング処理した結果を表示
手段6により画面表示する。図3は,本発明の法線ベク
トル算出のフローを示す。図は,係数a,bを求めるた
めのフローである(1スパンがM画素の場合)。
手段6により画面表示する。図3は,本発明の法線ベク
トル算出のフローを示す。図は,係数a,bを求めるた
めのフローである(1スパンがM画素の場合)。
【0039】図示の番号に従ってフローを説明する。 S1 1ステップの増分incを設定する。1スパンが
M画素であるので,増分を1/Mとする。
M画素であるので,増分を1/Mとする。
【0040】S2 法線ベクトルN1 とN2 の成す角度
αを算出する。 S3 αのサイン函数逆数invsa=1/sinαを
算出する。 S4 繰り返しイッデックスiに初期値0を設定する。
αを算出する。 S3 αのサイン函数逆数invsa=1/sinαを
算出する。 S4 繰り返しイッデックスiに初期値0を設定する。
【0041】S5 ラベルLOOPに飛ぶ。 S6 ラベルLOOPの処理を行う。 S7 γ=α*i*incを算出する。
【0042】S8 β=α−γによりβを算出する。 S9 a=invsa*sinγによりaを求める。 S10 b=invsa*sinβによりbを求める。
【0043】S11 ライティング処理に必要なベクト
ルAj とNとの内積計算をa*Aj*N1 +b*Aj *
N2 により求める。 S12 i=i+1としてiを1インクリメントする。
ルAj とNとの内積計算をa*Aj*N1 +b*Aj *
N2 により求める。 S12 i=i+1としてiを1インクリメントする。
【0044】S13 もし,i<Mなら,LOOPの処
理を繰り返す。そうでなければ処理を終了する。 〔上記式(1) ’の証明〕(図(2) , (b)を参照する)。
理を繰り返す。そうでなければ処理を終了する。 〔上記式(1) ’の証明〕(図(2) , (b)を参照する)。
【0045】ベクトルNは,ベクトルN1 とN2 により
次のように表すことができる。 N=aN1 +bN2 (a,bは実数)・・・・・・(1) ” NとN1 の内積を取ると, N・N1 =(aN1 +bN2 )・N1 =a|N1 |2 +bN1 ・N2 ・・・・・・・(2) ” N・N1 =|N||N1 |cosβ,|N1 |2 =1,N1 ・N2 =|N1 | ・|N2 |cosαより cosβ=a+bcosα ・・・・・・・(3) 同様に,NとN2 の内積を取って, N・N2 =(aN1 +bN2 )・N1 =aN1 ・N2 +b|N2 |2 ・・・・・・・(4) cosγ=acosα+b ・・・・・・・(5) となる。
次のように表すことができる。 N=aN1 +bN2 (a,bは実数)・・・・・・(1) ” NとN1 の内積を取ると, N・N1 =(aN1 +bN2 )・N1 =a|N1 |2 +bN1 ・N2 ・・・・・・・(2) ” N・N1 =|N||N1 |cosβ,|N1 |2 =1,N1 ・N2 =|N1 | ・|N2 |cosαより cosβ=a+bcosα ・・・・・・・(3) 同様に,NとN2 の内積を取って, N・N2 =(aN1 +bN2 )・N1 =aN1 ・N2 +b|N2 |2 ・・・・・・・(4) cosγ=acosα+b ・・・・・・・(5) となる。
【0046】(5) にcosαを掛けて(3) から引くと, cosβ−cosαcosγ=a(1−cos2 α)・・・・(6) 一方,cosβ=cos(α−β),(1−cos2 α)=sin2 αから , sinαsinγ=asin2 α ・・・・・・・・(7) 故に,a=sinγ/sinα ・・・・・・・・(8) 同様に, b=sinβ/sinα ・・・・・・・・(9) 以上から, N=(N1 sinγ+N2 sinβ)(sinα)-1 (証明終わり)。
【0047】
【実施例】本発明のライティング処理におけるクックラ
イティング法,ホールライティング法について説明す
る。
イティング法,ホールライティング法について説明す
る。
【0048】〔クックライティング法〕クックライティ
ング法は,対象点の波長kに対する分光反射輝度Ck を
次の計算式により求めるものである。
ング法は,対象点の波長kに対する分光反射輝度Ck を
次の計算式により求めるものである。
【0049】 Ck ,CAk,CSk,ka ,Iak,Cdk,Ij ,はフォン
グライティング法の場合と同じである。
グライティング法の場合と同じである。
【0050】次に,鏡面反射による分光輝度CSkを以下
の手順により算出する。対象とする点のベクトルNと,
その端点からの視点へのベクトルとの内積を取って,そ
の値が正なら「表の状態」,負なら「裏の状態」と呼ぶ
ことにする(図4ライティング法説明図(1) (b), (c)
参照)。以下の説明において,Hj はベクトルである。
の手順により算出する。対象とする点のベクトルNと,
その端点からの視点へのベクトルとの内積を取って,そ
の値が正なら「表の状態」,負なら「裏の状態」と呼ぶ
ことにする(図4ライティング法説明図(1) (b), (c)
参照)。以下の説明において,Hj はベクトルである。
【0051】(1) j番目の光源方向から入射した光を
視線方向へ反射させる微小面積の単位ベクトルHj を求
める。各光源に対してベクトルEとLj との和のベクト
ルを求め,正規化する(図4ライティング法説明図(1)
(a)参照)。
視線方向へ反射させる微小面積の単位ベクトルHj を求
める。各光源に対してベクトルEとLj との和のベクト
ルを求め,正規化する(図4ライティング法説明図(1)
(a)参照)。
【0052】Hj =(Lj +E)/|Lj +E| (2) フレネル反射係数Rfjkを次式で計算する。 Rfjk=(1/2){(g−c)2 /(g+c)2 }
{1+(c(g+c)−1)2 /(c(g−c)+1)
2 } c=cosθ=Lj ・Hj =E・Hj g2 =nk 2 +c2 −1 nk =(1+RK 1/2 )/(1−RK 1/2 ) =(1−RK 1/2 )/(1+RK 1/2 ) g2 <0なら光が全反射するため,Rfjk=1とする。
{1+(c(g+c)−1)2 /(c(g−c)+1)
2 } c=cosθ=Lj ・Hj =E・Hj g2 =nk 2 +c2 −1 nk =(1+RK 1/2 )/(1−RK 1/2 ) =(1−RK 1/2 )/(1+RK 1/2 ) g2 <0なら光が全反射するため,Rfjk=1とする。
【0053】nk は波長kでの屈折率,RK 波長kでの
鏡面反射率 (3) 反射光に対する微小面傾斜分布函数Dsを計算す
る。 光源jの光が視線方向へ反射する割合を微小傾斜分布函
数Dsj より次式で求める。
鏡面反射率 (3) 反射光に対する微小面傾斜分布函数Dsを計算す
る。 光源jの光が視線方向へ反射する割合を微小傾斜分布函
数Dsj より次式で求める。
【0054】Dsj =Σwk Dj (mk ) Dj (mk )=(1/m2 cos2 δj )e(−tan
δj 2 /mk 2 ) wk は各微小面傾斜函数に掛ける比重である(但し,Σ
wk =1)。mk は微小面の傾斜のrms平均値(2乗
和の平方根)である。δj は法線ベクトルNと2等分ベ
クトルHj との間の角度である。
δj 2 /mk 2 ) wk は各微小面傾斜函数に掛ける比重である(但し,Σ
wk =1)。mk は微小面の傾斜のrms平均値(2乗
和の平方根)である。δj は法線ベクトルNと2等分ベ
クトルHj との間の角度である。
【0055】(4) 幾何減衰係数Gを求める。 G=min(1,Gm,Gs)(1,G,Gsのうちの
最小値を選択する)。 Gm=2(N・Hj )(N・Lj )/(E・Hj ) =2(N・Hj )(N・Lj )/(Lj ・Hj ) Gs=2(N・Hj )(N・E) /(E・Hj ) =2(N・Hj )(N・E) /(Lj ・Hj ) (5) 鏡面双方向反射率Rsjkを計算する。
最小値を選択する)。 Gm=2(N・Hj )(N・Lj )/(E・Hj ) =2(N・Hj )(N・Lj )/(Lj ・Hj ) Gs=2(N・Hj )(N・E) /(E・Hj ) =2(N・Hj )(N・E) /(Lj ・Hj ) (5) 鏡面双方向反射率Rsjkを計算する。
【0056】 Rsjk=RfjkDsj G/π(N・Lj )(N・E) =0 (N・Lj =0) (6) 鏡面反射による放射輝度CSkを計算する。
【0057】 kS は鏡面反射係数,mは光源の個数 本発明により,クックライティング法の輝度を算出する
場合,法線ベクトルNとの内積の演算(Lj ・N,N・
Hj ,N・E)を前述のアルゴリズムに従って計算す
る。
場合,法線ベクトルNとの内積の演算(Lj ・N,N・
Hj ,N・E)を前述のアルゴリズムに従って計算す
る。
【0058】次に,ホールライティング法について説明
する。 〔ホールライティング法〕ホールライティング法は以下
の手順により分光反射輝度を算出するものである。
する。 〔ホールライティング法〕ホールライティング法は以下
の手順により分光反射輝度を算出するものである。
【0059】 Ck ,CAk,CSk,ka ,Iak,Cdk,Ij はフォング
ライティング法の場合と同じである。
ライティング法の場合と同じである。
【0060】対象とする点のベクトルNと,その端点か
ら視点へのベクトルとの内積を取って,その値が正なら
「表の状態」,負なら「裏の状態」と呼ぶことにする
(図4ライティング法説明図(1) (b), (c)参照)。
ら視点へのベクトルとの内積を取って,その値が正なら
「表の状態」,負なら「裏の状態」と呼ぶことにする
(図4ライティング法説明図(1) (b), (c)参照)。
【0061】(1) j番目の光源方向から入射した光を
視線方向へ反射させる微小面積の単位ベクトルHj を求
める。各光源に対してベクトルEとLj との和のベクト
ルを求め,正規化する。
視線方向へ反射させる微小面積の単位ベクトルHj を求
める。各光源に対してベクトルEとLj との和のベクト
ルを求め,正規化する。
【0062】Hj =(Lj +E)/|Lj +E| (2) フレネル反射係数Rfjkを計算する。 Rfjk=(1/2){(g−c)2 /(g+c)2 }
{1+(c(g+c)−1)2 /(c(g+c)+1)
2 } c=cosθ=Lj ・Hj =E・Hj g2 =nk 2 +c2 −1 nk =(1+RK 1/2 )/(1−RK 1/2 ) (表の状
態) =(1−RK 1/2 )/(1+RK 1/2 ) (裏の状態) g2 <0なら光が全反射するため,Rfjk=1とする。
{1+(c(g+c)−1)2 /(c(g+c)+1)
2 } c=cosθ=Lj ・Hj =E・Hj g2 =nk 2 +c2 −1 nk =(1+RK 1/2 )/(1−RK 1/2 ) (表の状
態) =(1−RK 1/2 )/(1+RK 1/2 ) (裏の状態) g2 <0なら光が全反射するため,Rfjk=1とする。
【0063】nk は波長kでの屈折率,RK 波長kでの
分光鏡面反射率 (3) 反射光に対する微小面傾斜分布函数Dsを計算す
る。 光源jの光が視線方向へ反射する割合を微小傾斜分布函
数Dsj より次式で求める。
分光鏡面反射率 (3) 反射光に対する微小面傾斜分布函数Dsを計算す
る。 光源jの光が視線方向へ反射する割合を微小傾斜分布函
数Dsj より次式で求める。
【0064】Dsj =(N・Hj )m mは物体の光沢を表す指数(フォングの指数に同じ)で
ある。 Rsjk=RfjkDsj /(N・Lj ) (N・Lj ≠0
の場合) Rsjk=0 (N・Lj =0
の場合) (5) 鏡面反射による分光輝度CSkを計算する。
ある。 Rsjk=RfjkDsj /(N・Lj ) (N・Lj ≠0
の場合) Rsjk=0 (N・Lj =0
の場合) (5) 鏡面反射による分光輝度CSkを計算する。
【0065】 kS は鏡面反射係数である。
【0066】(6) 光源の透過光による分光輝度CTkを
計算する。 N・Lj ≧0の場合には,j番目の光源からの透過
光による分光輝度CTkは0とする。
計算する。 N・Lj ≧0の場合には,j番目の光源からの透過
光による分光輝度CTkは0とする。
【0067】 光源方向から入射した光を視線方向へ
屈折させる微小面の単位法線ベクトルHj ’を求める
(図5ライティング法説明図(2) (a), (b)参照)。 スネルの法則により,各光源に対してベクトルH’を以
下の式により求め,正規化する(図5参照)。
屈折させる微小面の単位法線ベクトルHj ’を求める
(図5ライティング法説明図(2) (a), (b)参照)。 スネルの法則により,各光源に対してベクトルH’を以
下の式により求め,正規化する(図5参照)。
【0068】 Hj ’=Lj +(1/η)E (表の状態の場合) Hj ’=−Lj −ηE (裏の状態の場合) ηは物体の屈折率 フレネルの公式による光源jに対する波長λの透過
率Tfjkは,以下の式により求める。
率Tfjkは,以下の式により求める。
【0069】Tfjk=1−Rfjk =1−(1/2){(g−c)2 /(g+c)2 }{1
+(c(g+c)−1)2 /(c(g+c)+1)2 } c=Lj ・Hj ’ g2 =nk 2 +c2 −1 nk =(1−RK 1/2 )/(1+RK 1/2 ) (表の状
態) =(1+RK 1/2 )/(1−RK 1/2 ) (裏の状態) g2 <0なら光が全反射するため,Tfjk=1とする。
+(c(g+c)−1)2 /(c(g+c)+1)2 } c=Lj ・Hj ’ g2 =nk 2 +c2 −1 nk =(1−RK 1/2 )/(1+RK 1/2 ) (表の状
態) =(1+RK 1/2 )/(1−RK 1/2 ) (裏の状態) g2 <0なら光が全反射するため,Tfjk=1とする。
【0070】nk =1ならg=cよりTfjk=1とな
る。 nk は波長kでの屈折率,RK 波長kでの鏡面反射率 透過光に対する微小面傾斜分布函数Dtj を算出す
る。
る。 nk は波長kでの屈折率,RK 波長kでの鏡面反射率 透過光に対する微小面傾斜分布函数Dtj を算出す
る。
【0071】 Dtj =(−N・Hj ’)m (η≠1) =1 (η=1,Lj +E)=0) =0 (η=1,Lj +E)≠0) 光源jに対する波長λの双方向透過率Tjkを次のよ
うに計算する。
うに計算する。
【0072】Tjk=TfjkDtj /(−N・Lj ) 透過による分光輝度CTkを計算する。 kt は透過係数である。
【0073】このホールライティング法による場合もフ
ォングライティング法による場合と同様に,法線ベクト
ルNとの内積計算(Lj ・N,N・Hj ,N・Hj ’
等)に本発明のアルゴリズムを適用できる。
ォングライティング法による場合と同様に,法線ベクト
ルNとの内積計算(Lj ・N,N・Hj ,N・Hj ’
等)に本発明のアルゴリズムを適用できる。
【0074】図6は本発明の実施例(1) を示す図であ
る。図において,30はセグメントバッファであって,
多角形図形の頂点データを持つものである。31はセグ
メント管理部であって,セングメントバッファ30から
多角図形のデータを一枚ずつ取り出すものである。32
は座標変換部であって,ユーザの指定により多角形の移
動,回転等を行うものである。33はクリッピング部で
あって,視野に入らない部分をカットするものである。
る。図において,30はセグメントバッファであって,
多角形図形の頂点データを持つものである。31はセグ
メント管理部であって,セングメントバッファ30から
多角図形のデータを一枚ずつ取り出すものである。32
は座標変換部であって,ユーザの指定により多角形の移
動,回転等を行うものである。33はクリッピング部で
あって,視野に入らない部分をカットするものである。
【0075】34は面塗り部であって,線型補間により
スパン端点の座標を求めるとともに法線ベクトルを算出
するものである。35は本発明の法線ベクトル算出手段
であって,角度分割により法線ベクトルを算出するもの
である。
スパン端点の座標を求めるとともに法線ベクトルを算出
するものである。35は本発明の法線ベクトル算出手段
であって,角度分割により法線ベクトルを算出するもの
である。
【0076】36はスパン処理部であって,面塗り部3
4で求めたスパン上の各画素のZ値,属性等をDDAに
より線型補間して求めるとともに,スパン端点の法線ベ
クトルに基づいて,本発明の法線ベクトル算出方法によ
りスパン上の画素の法線ベクトルを算出するものであ
る。37は法線ベクトル算出手段であって,本発明の角
度分割により法線ベクトルを算出するものである。
4で求めたスパン上の各画素のZ値,属性等をDDAに
より線型補間して求めるとともに,スパン端点の法線ベ
クトルに基づいて,本発明の法線ベクトル算出方法によ
りスパン上の画素の法線ベクトルを算出するものであ
る。37は法線ベクトル算出手段であって,本発明の角
度分割により法線ベクトルを算出するものである。
【0077】38は隠面消去部てあって,Z値に基づい
て,視点の方向からは隠れて見えない部分を消去すると
ともに,現画素が旧画素より視点に近い場合にはZバッ
ファ39のZ値の書き換えを行うものである。39はZ
バッファであって,各画素のZ値を格納するものであ
る。40はライティング処理部であって,フォングライ
ティング法,クックライティング法,ホールライティン
グ法等でライティング処理を行うものである。その際,
法線ベクトルとの内積計算は本発明の方法によりなされ
るものである。41はフレームバッファであって,1画
面分の面表示データを格納するものである。42はCR
Tであって,フレームバッファ41のデータを画像表示
するものである。
て,視点の方向からは隠れて見えない部分を消去すると
ともに,現画素が旧画素より視点に近い場合にはZバッ
ファ39のZ値の書き換えを行うものである。39はZ
バッファであって,各画素のZ値を格納するものであ
る。40はライティング処理部であって,フォングライ
ティング法,クックライティング法,ホールライティン
グ法等でライティング処理を行うものである。その際,
法線ベクトルとの内積計算は本発明の方法によりなされ
るものである。41はフレームバッファであって,1画
面分の面表示データを格納するものである。42はCR
Tであって,フレームバッファ41のデータを画像表示
するものである。
【0078】図の構成の動作を説明する。セグメントバ
ッファ30は多角形図形の頂点データを保持する。セグ
メント管理部31はセグメントバッファ30から,描画
図形の基本となる多角形図形を入力する。座標変換部3
2はユーザが指定する多角形図形の回転,移動等に基づ
く座標変換を行う。クリッピング部33は視野に入らな
い部分をクリップする。
ッファ30は多角形図形の頂点データを保持する。セグ
メント管理部31はセグメントバッファ30から,描画
図形の基本となる多角形図形を入力する。座標変換部3
2はユーザが指定する多角形図形の回転,移動等に基づ
く座標変換を行う。クリッピング部33は視野に入らな
い部分をクリップする。
【0079】面塗り部34は頂点データを結ぶ線分をス
パンにより分割する。その際,スパン両端の法線ベクト
ルを,頂点NA とNB の法線ベクトルに対して,N1 =
aN A +aNB により算出する。
パンにより分割する。その際,スパン両端の法線ベクト
ルを,頂点NA とNB の法線ベクトルに対して,N1 =
aN A +aNB により算出する。
【0080】スパン処理部36は,各スパン両端点の座
標に基づいて画素に展開する。スパン量端点の座標をN
1 ,N2 とした時,スパン上の画素の法線ベクトルをN
=aN1 +bN2 により算出する。
標に基づいて画素に展開する。スパン量端点の座標をN
1 ,N2 とした時,スパン上の画素の法線ベクトルをN
=aN1 +bN2 により算出する。
【0081】隠面消去部38は画素の現Z値と旧Z値を
比較し,現Z値が旧Z値より小さければ現画素を表示す
るようにし,Zバッファの値を更新する。ライティング
処理部40は,フォングライティング法,クックライテ
ィング法,ホールライティング法によりライティング処
理を行う。ライティング処理に必要なベクトルをAj と
すると,法線ベクトルとの内積処理をaAj ・N1 +b
N 2 *N2 により行う。1画面の画像データがフレーム
バッファ41に転送され,CRT42に表示される。
比較し,現Z値が旧Z値より小さければ現画素を表示す
るようにし,Zバッファの値を更新する。ライティング
処理部40は,フォングライティング法,クックライテ
ィング法,ホールライティング法によりライティング処
理を行う。ライティング処理に必要なベクトルをAj と
すると,法線ベクトルとの内積処理をaAj ・N1 +b
N 2 *N2 により行う。1画面の画像データがフレーム
バッファ41に転送され,CRT42に表示される。
【0082】図7は本発明の実施例(2) を示す。図は,
アニメーション画像を自動生成する場合のグラフィック
処理装置の構成を示す。
アニメーション画像を自動生成する場合のグラフィック
処理装置の構成を示す。
【0083】図において,50はセグメントバッファ,
51はセグメント管理部,52は座標変換部,53はク
リッピング,54は面塗り部であって,各スパン上の各
画素のZ値等を線型補間により算出し,本発明の角度分
割の方法により法線ベクトルを算出するものである。5
6はスパン処理部であって,スパン上の画素の座標値を
求め,各画素のZ値,属性値等を線型補間により算出す
るとともに,本発明の角度分割の方法により法線ベクト
ルを算出するものである。58は隠面消去部,59はZ
バッファ,60はライティング処理部であって,フォン
グライティング法,クックライティング法,ホールライ
ティング法によりライティング処理を行うものである。
ライティングに必要なベクトルをAj とすると,法線ベ
クトルとAj との内積計算をaAj ・N1 +bAj ・N
2 により算出する。61はフレームバッファ,62はC
RTである。
51はセグメント管理部,52は座標変換部,53はク
リッピング,54は面塗り部であって,各スパン上の各
画素のZ値等を線型補間により算出し,本発明の角度分
割の方法により法線ベクトルを算出するものである。5
6はスパン処理部であって,スパン上の画素の座標値を
求め,各画素のZ値,属性値等を線型補間により算出す
るとともに,本発明の角度分割の方法により法線ベクト
ルを算出するものである。58は隠面消去部,59はZ
バッファ,60はライティング処理部であって,フォン
グライティング法,クックライティング法,ホールライ
ティング法によりライティング処理を行うものである。
ライティングに必要なベクトルをAj とすると,法線ベ
クトルとAj との内積計算をaAj ・N1 +bAj ・N
2 により算出する。61はフレームバッファ,62はC
RTである。
【0084】以上の構成は図6におけるものと同様であ
る。64は全体制御部であって,装置各部に指令を出す
ものである。65は制御データ部であって,画像生成に
おける画像移動等を制御するデータを格納するものであ
る。63は画像記録部であって,フレームバッファ61
の内容を記録するものである。
る。64は全体制御部であって,装置各部に指令を出す
ものである。65は制御データ部であって,画像生成に
おける画像移動等を制御するデータを格納するものであ
る。63は画像記録部であって,フレームバッファ61
の内容を記録するものである。
【0085】図の構成の動作を説明する。制御データ部
65には,予めいつどこからどこまで描画図形を移動さ
せるかなどの情報を格納しておく。全体制御部64は制
御データに基づいてセグメント管理部51に指示し,指
定した描画対象物のデータを取り出すように指示すると
ともに,座標変換部52にも移動,回転等を指示する。
1枚の画像が生成し終わると,フレームバッファ61か
ら画像の生成が終了した旨の通知が全体制御部64に送
出され,全体制御部64は画像記録部63にフレームバ
ッファ61の内容を記録するように指示する。画像記録
部63はフレームバッファの内容を記録する。
65には,予めいつどこからどこまで描画図形を移動さ
せるかなどの情報を格納しておく。全体制御部64は制
御データに基づいてセグメント管理部51に指示し,指
定した描画対象物のデータを取り出すように指示すると
ともに,座標変換部52にも移動,回転等を指示する。
1枚の画像が生成し終わると,フレームバッファ61か
ら画像の生成が終了した旨の通知が全体制御部64に送
出され,全体制御部64は画像記録部63にフレームバ
ッファ61の内容を記録するように指示する。画像記録
部63はフレームバッファの内容を記録する。
【0086】
【発明の効果】本発明によれば,3次元コンピュータグ
ラフィックスにおいてライティング処理を高速に行うこ
とができる。そのため,短時間で多くの画像を生成で
き,静止画像およびアニメーション等の動画像を効率的
に生成することができる。
ラフィックスにおいてライティング処理を高速に行うこ
とができる。そのため,短時間で多くの画像を生成で
き,静止画像およびアニメーション等の動画像を効率的
に生成することができる。
【図1】本発明の基本構成を示す図である。
【図2】本発明の法線ベクトル算出方法の説明図であ
る。
る。
【図3】本発明の法線ベクトル算出のフローを示す図で
ある。
ある。
【図4】本発明のライティング法の説明図(1) である。
【図5】本発明のライティング法の説明図(2) である。
【図6】本発明の実施例(1) を示す図である。
【図7】本発明の実施例(2) を示す図である。
【図8】従来のコンピュータグラフィック装置を示す図
である。
である。
【図9】法線ベクトル算出方法の説明図である。
【図10】従来のグラフィック処理方法を示す図であ
る。
る。
1 :多角形図形の頂点データ入力手段 2 :座標算出手段 3 :法線ベクトル算出手段 4 :ライティング処理手段 5 :三角函数テーブル 6 :表示手段
Claims (4)
- 【請求項1】 多角形図形の頂点データに基づいてグラ
フィック処理を行い画像表示するコンピュータグラフィ
ックスにおけるライティング処理方法において,図形上
の2点の座標と正規化法線ベクトルを含む図形データに
基づいて,該2点間を補間する点の座標を求める座標算
出手段(2) と,該補間した点の法線ベクトルを求める法
線ベクトル算出手段(3) と,ライティング処理手段(4)
を備え,法線ベクトル算出手段(3) は,該2点の法線ベ
クトルの作る角度を算出するとともに該2点の分割数に
基づいて該角を分割し,該2点の法線ベクトルと該分割
角度に基づいて補間した点の正規化法線ベクトルを算出
し,該正規化法線ベクトルとライティング処理に必要な
ベクトルとによりライティング処理を行うことを特徴と
するコンピュータグラフィックスにおけるライティング
処理方法。 - 【請求項2】 請求項1において,法線ベクトル算出手
段(3) は,2点の法線ベクトル(N1 ,N2 )の作る角
度αを求め,補間する法線ベクトル(N)と法線ベクト
ル(N1 )の作る角度をβ,法線ベクトル(N)と法線
ベクトル(N 2 )の作る角度をγとしたとき,N=(N
1 sinγ+N2 sinβ)(sinα)-1により法線
ベクトルを算出することを特徴とするコンピュータグラ
フィックスにおけるライティング処理方法。 - 【請求項3】 請求項1もしくは2において,ライティ
ング処理はフォングライティング処理法もしくはクック
ライティング処理法もしくはホールライティング処理法
であることを特徴とするコンピュータグラフィックスに
おけるライティング処理方法。 - 【請求項4】 請求項1,2および3において,三角函
数と逆三角函数の三角函数テーブル(5) を備え,テーブ
ルを参照することにより三角函数値および逆三角函数値
を求め,法線ベクトルの算出およびライティング処理に
おける演算を行うことを特徴とするコンピュータグラフ
ィックスにおけるライティング処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP18236492A JPH0628492A (ja) | 1992-07-09 | 1992-07-09 | コンピュータグラフィックスにおけるライティング処理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP18236492A JPH0628492A (ja) | 1992-07-09 | 1992-07-09 | コンピュータグラフィックスにおけるライティング処理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0628492A true JPH0628492A (ja) | 1994-02-04 |
Family
ID=16117025
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP18236492A Withdrawn JPH0628492A (ja) | 1992-07-09 | 1992-07-09 | コンピュータグラフィックスにおけるライティング処理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0628492A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004079663A1 (ja) * | 2003-03-06 | 2004-09-16 | Digital Media Professionals Inc. | 光反射強度計算回路 |
| US7609265B2 (en) | 2002-03-21 | 2009-10-27 | Microsoft Corporation | Graphics image rendering with radiance self-transfer for low-frequency lighting environments |
-
1992
- 1992-07-09 JP JP18236492A patent/JPH0628492A/ja not_active Withdrawn
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7609265B2 (en) | 2002-03-21 | 2009-10-27 | Microsoft Corporation | Graphics image rendering with radiance self-transfer for low-frequency lighting environments |
| WO2004079663A1 (ja) * | 2003-03-06 | 2004-09-16 | Digital Media Professionals Inc. | 光反射強度計算回路 |
| US7616802B2 (en) | 2003-03-06 | 2009-11-10 | Digital Media Professionals, Inc. | Light reflection intensity calculation circuit |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111723902B (zh) | 使用神经网络动态估计增强现实场景中位置的照明参数 | |
| JP3184327B2 (ja) | 3次元グラフィックス処理方法及びその装置 | |
| US5673377A (en) | Method and system for displaying a representation of a three-dimensional object with surface features that conform to the surface of the three-dimensional object | |
| JP5299173B2 (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
| JPH0757117A (ja) | テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム | |
| JP2002236938A (ja) | 双方向反射分布関数に基づいて記憶されたテクスチャマップを使用するサーフェスシェーディング方法 | |
| US20060001674A1 (en) | Environment mapping | |
| JPH0683979A (ja) | 影の生成を伴うコンピュータ図形表示の方法及びシステム | |
| US20050046645A1 (en) | Autoscaling | |
| Cosco et al. | Augmented touch without visual obtrusion | |
| CN113034660A (zh) | 一种基于pbr反射模型的激光雷达仿真方法 | |
| US7382374B2 (en) | Computerized method and computer system for positioning a pointer | |
| JP3012828B2 (ja) | 描画方法、装置および記録媒体 | |
| JP2692783B2 (ja) | 3次元物体の2次元表示を生成するシステム及び方法 | |
| JP2003115055A (ja) | 画像生成装置 | |
| KR100295709B1 (ko) | 스폿라이트 특성 형성 방법 및 이것을 이용한 화상 처리 시스템 | |
| JP2004199301A (ja) | 画像加工装置 | |
| CN117437345B (zh) | 基于三维引擎实现渲染纹理镜面反射效果的方法及系统 | |
| JPH0628492A (ja) | コンピュータグラフィックスにおけるライティング処理方法 | |
| JP3261832B2 (ja) | 画像生成装置 | |
| CN114723839A (zh) | 一种光照颜色显示方法、装置、电子设备及存储介质 | |
| JP4219090B2 (ja) | コンピュータグラフィックスシェーディングおよびアニメーションにおいて照明を提供するための方法、システム、およびコンピュータプログラムプロダクト | |
| JP2000057372A (ja) | 画像処理装置、画像処理方法及び記憶媒体 | |
| JPH06111028A (ja) | 画像生成装置 | |
| JPH0546782A (ja) | 図形表示装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19991005 |