JPH1083461A - 図形描画装置 - Google Patents

図形描画装置

Info

Publication number
JPH1083461A
JPH1083461A JP23760896A JP23760896A JPH1083461A JP H1083461 A JPH1083461 A JP H1083461A JP 23760896 A JP23760896 A JP 23760896A JP 23760896 A JP23760896 A JP 23760896A JP H1083461 A JPH1083461 A JP H1083461A
Authority
JP
Japan
Prior art keywords
color
value
calculation
unit
light source
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
JP23760896A
Other languages
English (en)
Other versions
JP3762487B2 (ja
Inventor
Shinji Egashira
伸二 江頭
Hitoshi Kojima
仁 小島
Toshiya Mima
俊哉 美間
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP23760896A priority Critical patent/JP3762487B2/ja
Publication of JPH1083461A publication Critical patent/JPH1083461A/ja
Application granted granted Critical
Publication of JP3762487B2 publication Critical patent/JP3762487B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】ある図形の平行光線に対する反射色の計算を、
高速にできるようにすること。 【解決手段】物体の反射色を計算する色計算部2とを有
する図形描画装置において、平行光源で、かつ、平行投
影のときに、対象の単位法線ベクトルVnと対象から光
源への単位ベクトルVlの内積値と、対象から視点への
単位ベクトルVeと対象の単位法線ベクトルVnの内積
値と、対象から視点への単位ベクトルVeと対象から光
源への単位ベクトルVlの内積値とをそれぞれ保持する
内積保存部3aを備え、色計算部2は、前記保持した各
内積値を繰り返し使用する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータグラ
フィックス分野の図形描画装置に関する。描画処理にお
いて、色計算は計算量が多いため大きなウエイトを占め
る。さらに、コンピュータグラフィックスは多くの分野
で利用されるようになり、より高速な描画処理が望まれ
ている。
【0002】
【従来の技術】図4は反射色計算の説明図であり、図4
(a)は拡散反射の反射モデル図、図4(b)は鏡面反
射の反射モデル図、図4(c)は色計算に使用するベク
トルの説明である。
【0003】図4(a)において、拡散反射の反射光
は、入射光に対して全ての方向に散乱される光である。
図4(b)において、鏡面反射の反射光は、物体とのな
す角度αの入射光が物体表面から反射される光である。
なお、点線で示す広がりOeは反射光の鏡面集中度を示
している。この鏡面集中度Oeは、その値が大きくなる
と集中度が良くなり広がりの幅が小さくなる。
【0004】図4(c)において、色計算に使用するベ
クトルを示しており、対象物体から光源方向への単位ベ
クトルをVl、対象物体から法線方向への単位ベクトル
をVn、対象物体から正反射方向への単位反射ベクトル
をVr、対象物体から視線(視点)方向への単位ベクト
ルをVeとする。
【0005】(1):色計算の説明 コンピュータグラフィックスにおいて、平行光源に対す
る物体の反射色は、一般的に以下のようにして計算す
る。なお、*は積を示している。
【0006】 物体の反射色=拡散反射色+鏡面反射色・・・・・・・・・・・・・・式1 拡散反射色=Kd*Od*Lc*DotProduct(Vn,Vl)・・・・・式2 鏡面反射色=Ks*Os*Lc*DotProduct(Ve,Vr)Oe・・・・式3 Vr=2*DotProduct(Vn,Vl)*Vn−Vl・・・・・・・・・式4 ここで、 Kd:拡散反射係数 Ks:鏡面反射係数 Od:対象の拡散色 Os:対象の鏡面色 Oe:対象の鏡面集中度 Lc:光源の色 Vn:対象の単位法線ベクトル Vl:対象から光源への単位ベクトル Ve:対象から視点への単位ベクトル Vr:対象からの単位反射ベクトル DotProduct(a,b):ベクトルaとベクトルbの内積 この色計算を図形の各頂点(例えば、図形が3角形であ
れば3つの頂点)に対して行ない、計算された色を線形
補間して描画(スキャン)することによって、平行光源
に対する物体の反射を表現できる。また、平行光源が複
数定義されているときは、各光源に対して色計算を行な
い、それぞれの和をとるようにする。
【0007】(2):平行光源に対する色計算の流れの
説明 図5は従来の平行光源に対する色計算の流れの説明図で
ある。以下、図5の処理S21〜処理S28に従って説
明する。なお、「W」は、繰り返しを意味している。
【0008】S21:図形の全ての頂点に対して処理S
22と処理S23を繰り返す。 S22:反射色の合計をクリアする。 S23:全ての平行光源に対して処理S24〜処理S2
8を繰り返す。
【0009】S24:拡散反射色を次のようにして計算
する。 拡散反射色=Kd*Od*Lc*DotProduct(Vn,V
l) S25:対象からの単位反射ベクトルVrを次のように
して計算する。
【0010】 Vr=2*DotProduct(Vn,Vl)*Vn−Vl S26:鏡面反射色を次のようにして計算する。 鏡面反射色=Ks*Os*Lc*DotProduct(Ve,V
r)Oe S27:前記処理S24と処理S26より次のように反
射色を計算する。
【0011】反射色=拡散反射色+鏡面反射色 S28:前の反射色の合計に今回の反射色を加算する。 反射色の合計+=反射色(反射色の合計=反射色の合計
+反射色)
【0012】
【発明が解決しようとする課題】前記のような従来のも
のにおいては、色計算の計算量が多いため、描画処理に
おいて大きなウエイトを占めていた。本発明は、このよ
うな従来の課題を解決し、ある図形の平行光源に対する
反射色の計算を、高速にできるようにすることを目的と
する。
【0013】
【課題を解決するための手段】図1は本発明の原理説明
図であり、図1(a)は装置構成の説明、図1(b)は
色計算に使用するベクトルの説明である。図1中、1は
モデリング変換部、2は色計算部、3aは内積保存部、
6は視野変換部、7はクリッピング部、8はデプスキュ
ーイング部、9は描画部、10aは表示部、Vlは対象
から光源への単位ベクトル、Vnは対象から法線方向へ
の単位法線ベクトル、Vrは対象から正反射方向への単
位反射ベクトル、Veは対象から視点への単位ベクトル
である。
【0014】本発明は前記従来の課題を解決するため次
のように構成した。 (1):拡散反射係数と、対象の拡散色と、光源の色
と、前記対象の単位法線ベクトルVnと対象から光源へ
の単位ベクトルVlの内積値とから拡散反射色を計算
し、鏡面反射係数と、前記対象の鏡面色と、前記光源の
色と、前記対象の単位法線ベクトルVnと前記対象から
光源への単位ベクトルVlの内積値と、前記対象から視
点への単位ベクトルVeと前記対象の単位法線ベクトル
Vnの内積値と、前記対象から視点への単位ベクトルV
eと前記対象から光源への単位ベクトルVlの内積値と
から鏡面反射色を計算し、前記拡散反射色と前記鏡面反
射色を加算して前記対象の反射色を計算する色計算部2
とを有する図形描画装置において、平行光源で、かつ、
平行投影のときに、前記対象の単位法線ベクトルVnと
前記対象から光源への単位ベクトルVlの内積値と、前
記対象から視点への単位ベクトルVeと前記対象の単位
法線ベクトルVnの内積値と、前記対象から視点への単
位ベクトルVeと前記対象から光源への単位ベクトルV
lの内積値とをそれぞれ保持する内積保存部3aを備
え、前記色計算部2は、前記保持した前記各内積値を繰
り返し使用する。
【0015】(2):前記(1)の図形描画装置におい
て、前記対象の単位法線ベクトルVnと前記対象から光
源への単位ベクトルVlの内積値は、前記拡散反射色の
計算で求めた値を前記内積保存部3aに保持し、前記鏡
面反射色の計算で再利用する。
【0016】(3):前記(1)の図形描画装置におい
て、前記対象から視点への単位ベクトルVeと前記対象
の単位法線ベクトルVnの内積値は、前記鏡面反射色の
計算時、前記平行光源が複数定義されている場合、ある
頂点で一度求めた値を前記内積保存部3aに保持し、全
ての前記平行光源での色計算にこの値を使用する。
【0017】(4):前記(1)の図形描画装置におい
て、前記対象から視点への単位ベクトルVeと前記対象
から光源への単位ベクトルVlの内積値は、ある光源で
一度求めた値を前記内積保存部3aに保持し、全ての頂
点の前記鏡面反射色の計算でこの値を使用する。
【0018】(5):前記(1)の図形描画装置におい
て、ある図形の各頂点で前記拡散反射係数Kdと前記対
象の拡散色Odが同じであるとき、前記頂点毎の色計算
の前にKd×Odを計算した値を保持しておき、全ての
前記頂点の前記拡散反射色の計算でこの値を使用する。
【0019】(6):前記(5)の図形描画装置におい
て、前記平行光源が一個のみのとき、前記Kd×Odの
値にさらに前記光源の色Lcを乗じた値を保持してお
き、全ての前記頂点の前記拡散反射色の計算でこの値を
使用する。
【0020】(7):前記(1)の図形描画装置におい
て、ある図形の各頂点で前記鏡面反射係数Ksと前記対
象の鏡面色Osが同じであるとき、前記頂点毎の色計算
の前にKs×Osを計算した値を保持しておき、全ての
前記頂点の前記鏡面反射色の計算でこの値を使用する。
【0021】(8):前記(7)の図形描画装置におい
て、前記平行光源が一個のみのとき、前記Ks×Osの
値にさらに前記光源の色Lcを乗じた値を保持してお
き、全ての前記頂点の前記鏡面反射色の計算でこの値を
使用する。
【0022】(9):前記(1)の図形描画装置におい
て、ある図形の各頂点で前記拡散反射係数Kdが同じ
で、かつ、前記光源の色Lcの平行光源が一個であると
き、前記頂点毎の色計算の前にKd×Lcを計算した値
を保持しておき、全ての前記頂点の前記拡散反射色の計
算でこの値を使用する。
【0023】(10):前記(1)の図形描画装置にお
いて、ある図形の各頂点で前記鏡面反射係数Ksが同じ
で、かつ、前記光源の色Lcの平行光源が一個であると
き、前記頂点毎の色計算の前にKs×Lcを計算した値
を保持しておき、全ての前記頂点の前記鏡面反射色の計
算でこの値を使用する。
【0024】(11):前記(1)の図形描画装置にお
いて、ある図形の各頂点で前記対象の単位法線ベクトル
Vnが同じであるとき、前記頂点毎の色計算の前に、前
記対象から視点への単位ベクトルVeと前記対象の単位
法線ベクトルVnの内積を計算した値を保持しておき、
全ての前記頂点の前記鏡面反射色の計算でこの値を使用
する。
【0025】(12):前記(1)の図形描画装置にお
いて、ある図形の各頂点で前記対象の単位法線ベクトル
Vnが同じで、かつ、前記平行光源が一個であるとき、
前記頂点毎の色計算の前に、前記対象の単位法線ベクト
ルVnと前記対象から光源への単位ベクトルVlの内積
を計算した値を保持しておき、全ての前記頂点の前記拡
散反射色及び前記鏡面反射色の計算でこの値を使用す
る。
【0026】(作用)前記構成に基づく作用を説明す
る。色計算部2で物体の反射色を計算する図形描画装置
において、平行光源で、かつ、平行投影のときに、内積
保存部3aに、対象の単位法線ベクトルVnと対象から
光源への単位ベクトルVlの内積値と、対象から視点へ
の単位ベクトルVeと前記対象の単位法線ベクトルVn
の内積値と、前記対象から視点への単位ベクトルVeと
前記対象から光源への単位ベクトルVlの内積値とをそ
れぞれ保持し、前記色計算部2は、前記各内積値を繰り
返し使用する。このため、色計算の処理量を削減するこ
とができ、描画処理を高速化することができる。
【0027】また、前記対象の単位法線ベクトルVnと
前記対象から光源への単位ベクトルVlの内積値は、前
記拡散反射色の計算で求めた値を前記内積保存部3aに
保持し、前記鏡面反射色の計算で再利用する。このた
め、前記鏡面反射色の計算を高速化することができる。
【0028】さらに、前記対象から視点への単位ベクト
ルVeと前記対象の単位法線ベクトルVnの内積値は、
前記鏡面反射色の計算時、平行光源が複数定義されてい
る場合、ある頂点で一度求めた値を前記内積保存部3a
に保持し、全ての平行光源での色計算にこの値を使用す
る。このため、平行光源が複数定義されている場合の前
記鏡面反射色の計算を高速化することができる。
【0029】また、前記対象から視点への単位ベクトル
Veと前記対象から光源への単位ベクトルVlの内積値
は、ある光源で一度求めた値を前記内積保存部3aに保
持し、全ての頂点の前記鏡面反射色の計算でこの値を使
用する。このため、前記鏡面反射色の計算をより高速化
することができる。
【0030】さらに、ある図形の各頂点で前記拡散反射
係数Kdと前記対象の拡散色Odが同じであるとき、前
記頂点毎の色計算の前にKd×Odを計算した値を保持
しておき、全ての前記頂点の前記拡散反射色の計算でこ
の値を使用する。このため、前記拡散反射色の計算を高
速化することができる。
【0031】また、前記平行光源が一個のみのとき、前
記Kd×Odの値にさらに前記光源の色Lcを乗じた値
を保持しておき、全ての前記頂点の前記拡散反射色の計
算でこの値を使用する。このため、この時の前記拡散反
射色の計算を高速化することができる。
【0032】さらに、ある図形の各頂点で前記鏡面反射
係数Ksと前記対象の鏡面色Osが同じであるとき、前
記頂点毎の色計算の前にKs×Osを計算した値を保持
しておき、全ての前記頂点の前記鏡面反射色の計算でこ
の値を使用する。このため、この時の前記鏡面反射色の
計算を高速化することができる。
【0033】また、前記平行光源が一個のみのとき、前
記Ks×Osの値にさらに前記光源の色Lcを乗じた値
を保持しておき、全ての前記頂点の前記鏡面反射色の計
算でこの値を使用する。このため、この時の前記鏡面反
射色の計算を高速化することができる。
【0034】さらに、ある図形の各頂点で前記拡散反射
係数Kdが同じで、かつ、前記光源の色Lcの平行光源
が一個であるとき、前記頂点毎の色計算の前にKd×L
cを計算した値を保持しておき、全ての前記頂点の前記
拡散反射色の計算でこの値を使用する。このため、この
時の前記拡散反射色の計算を高速化することができる。
【0035】また、ある図形の各頂点で前記鏡面反射係
数Ksが同じで、かつ、前記光源の色Lcの平行光源が
一個であるとき、前記頂点毎の色計算の前にKs×Lc
を計算した値を保持しておき、全ての前記頂点の前記鏡
面反射色の計算でこの値を使用する。このため、この時
の前記鏡面反射色の計算を高速化することができる。
【0036】さらに、ある図形の各頂点で前記対象の単
位法線ベクトルVnが同じであるとき、前記頂点毎の色
計算の前に、前記対象から視点への単位ベクトルVeと
前記対象の単位法線ベクトルVnの内積を計算した値を
保持しておき、全ての前記頂点の前記鏡面反射色の計算
でこの値を使用する。このため、この時の前記鏡面反射
色の計算を高速化することができる。
【0037】また、ある図形の各頂点で前記対象の単位
法線ベクトルVnが同じで、かつ、前記平行光源が一個
であるとき、前記頂点毎の色計算の前に、前記対象の単
位法線ベクトルVnと前記対象から光源への単位ベクト
ルVlの内積を計算した値を保持しておき、全ての前記
頂点の前記拡散反射色及び前記鏡面反射色の計算でこの
値を使用する。このため、この時の前記拡散反射色及び
前記鏡面反射色の計算を高速化することができる。
【0038】
【発明の実施の形態】図2、図3は本発明の実施の形態
を示した図であり、図2は図形描画装置の説明図、図3
は平行光源に対する色計算の流れの説明図である。以
下、図面に基づいて本発明の実施の形態を説明する。
【0039】(1):図形描画装置の説明 図2において、図形描画装置には、モデリング変換部
1、色計算部2、内積1保存部3、内積2保存部4、内
積3保存部5、視野変換部6、クリッピング部7、デプ
スキューイング部8、描画部9、CRT10が設けてあ
る。
【0040】モデリング変換部1は、入力された図形の
各頂点を色計算のために、図形が定義されているモデリ
ング座標系MCから光源が定義されている世界座標系W
Cに変換するものである。
【0041】色計算部2は、世界座標系WCに変換され
た図形の各頂点とあらかじめ定義された光源から反射色
を計算する。このとき、視野変換が平行投影、かつ、平
行光源であるなら本願手法(後で詳述する)の高速計算
を行う。光源が平行光源以外のものを含むときは、平行
光源を本願手法で計算し、他の光源を従来の手法で計算
し、最後に和をとるものである。
【0042】内積1保存部3は、内積1〔=DotProduct
(Vn,Vl)〕を保存するものである。内積2保存部
4は、内積2〔=DotProduct(Ve,Vn)〕を保存す
るものである。内積3保存部5は、内積3〔=DotProdu
ct(Ve,Vl)〕を保存するもので、全ての平行光源
に対して平行光源数だけ設けてある。
【0043】視野変換部6は、各頂点の座標を世界座標
系WCからデバイス座標系DCに変換するものである。
クリッピング部7は、図形をクリッピング枠でクリッピ
ングするものである。デプスキューイング部8は、各座
標値のZ値(奥行き値)に応じて各頂点の色を変更する
(例えば、奥に行くほど暗くする)。
【0044】描画部9は、図形の頂点色を線形補間しな
がらCRTに描画するものである。CRT10は、陰極
線管を使用した表示部である。なお、図2の例におい
て、色計算部2は、他の処理部と独立しているので、こ
れらの処理部にサブセット(例えば、デプスキューイン
グ部8を省略した装置にする等)、あるいは、別の組み
合わせ(例えば、クリッピング部7とデプスキューイン
グ部8の処理順序を逆にする等)の応用が可能である。
【0045】(2):描画処理の高速化の説明 この発明は、ある図形の平行光源に対する反射色の計算
を、従来の計算より高速化するものである。まず、高速
化を行う条件を定義する。
【0046】(条件1)光源は、平行光源である。 (条件2)平行投影である(視点が無限遠点にある)。 この条件から、前記式1〜式4の成分に対して、次のこ
とが言える。
【0047】(a):前記条件1から、対象から光源へ
の単位ベクトルVlは全ての頂点で同じである。 (b):前記条件2から、対象から視点への単位ベクト
ルVeは全ての頂点で同じである。
【0048】次に、前記式3のDotProduct(Ve,V
r)を、前記式4を用いて展開し、次のように変形す
る。 DotProduct(Ve,Vr)=2*DotProduct(Vn,Vl)*DotProduct(V e,Vn)−DotProduct(Ve,Vl)・・・・・・・・・・・・・・・式5 この式5を分析すると、次のことがわかる。
【0049】(A)DotProduct(Vn,Vl)は、前記
式2でも現れる。 (B)DotProduct(Ve,Vn)は、光源には無関係で
ある。 (C)DotProduct(Ve,Vl)は、ある光源において
は全ての頂点で同じ値になる。
【0050】以上のことから、色計算の処理量を以下の
ような手法により削減する。 (a):前記(A)から、拡散反射色の計算において、
この項〔DotProduct(Vn,Vl)〕の値を保持してお
き、鏡面反射色の計算で再利用する。
【0051】(b):前記(B)から、複数の光源に対
し、各光源毎に計算する必要がないため、一度計算した
値を保持しておき、全ての平行光源に対する計算時にこ
の値を使用することができる。
【0052】(c):前記(C)から、一度計算した値
を保持しておき、同一平面上にある一つの図形面を構成
する全ての頂点の計算の際にこの値を使用することがで
きる。
【0053】以上の手法を実施することにより、描画処
理が高速化できる。 (3):色計算の流れの説明 図3は平行光源に対する色計算の流れの説明図である。
以下、図3の処理S1〜処理S16に従って説明する。
ここでは、平行光源数をnとし、平行光源i=0、1、
・・・n−1とする。
【0054】S1:色計算部2は、平行投影かどうかを
判断する。 S2:色計算部2は、前記処理S1の判断で、平行投影
でない場合は従来の計算方法により色計算を行ない、こ
の処理を終了する。
【0055】S3:色計算部2は、前記処理S1の判断
で、平行投影の場合は、全ての平行光源に対して処理S
4と処理S5を繰り返す(平行光源i=0、1、・・・
n−1の平行光源数n回繰り返す)。
【0056】S4:色計算部2は、各平行光源に対して
次の内積3の計算をする。 内積3[i]=DotProduct(Ve,Vl) S5:色計算部2は、前記処理S4で計算した内積3
[i]を内積3保存部5に保存する。
【0057】S6:色計算部2は、図形の全ての頂点に
対して処理S7〜処理S10を繰り返す。 S7:色計算部2は、反射色の合計をクリアする。
【0058】S8:色計算部2は、次の内積2の計算を
する。 内積2=DotProduct(Ve,Vn) S9:色計算部2は、前記処理S8で計算した内積2を
内積2保存部4に保存する。
【0059】S10:色計算部2は、全ての平行光源に
対して処理S11〜処理S16を繰り返す(n=平行光
源数;i=0、1、・・・n−1)。 S11:色計算部2は、次の内積1の計算をする。
【0060】内積1=DotProduct(Vn,Vl) S12:色計算部2は、前記処理S11で計算した内積
1を内積1保存部3に保存する。
【0061】S13:色計算部2は、内積1保存部3の
内積1を使用して拡散反射色を次のように計算する。 拡散反射色=Kd*Od*Lc*内積1 S14:色計算部2は、内積1保存部3の内積1、内積
2保存部4の内積2、内積3保存部5の内積3[i]を
使用して鏡面反射色を次のように計算する。
【0062】鏡面反射色=Ks*Os*Lc*(2*内
積1*内積2−内積3[i])Oe S15:色計算部2は、前記処理S14と処理S15の
計算結果から次のように反射色を計算する。
【0063】反射色=拡散反射色+鏡面反射色 S16:色計算部2は、前の反射色の合計に今回の反射
色を加算する。全部で平行光源数n回の反射色の合計を
行って、一つの頂点の処理が終了することになる。
【0064】反射色の合計+=反射色(反射色の合計=
反射色の合計+反射色) (4):他の実施の形態 a:ある図形の各頂点で拡散反射係数Kdと拡散色Od
が同じであるとき、頂点毎の色計算の前にKd×Odを
計算した値を保存部(図示せず)に保持し、全ての頂点
の拡散反射色の計算でこの値を使用することができる。
このように、一つの面では材質が同じでしかも拡散反射
係数Kdと拡散色Odが同じことが多いため、この時の
拡散反射色の計算を高速化することができる。
【0065】b:ある図形の各頂点で鏡面反射係数Ks
と鏡面色Osが同じであるとき、頂点毎の色計算の前に
Ks×Osを計算した値を保存部(図示せず)に保持
し、全ての頂点の鏡面反射色の計算でこの値を使用する
ことができる。このように、一つの面では材質が同じで
鏡面反射係数Ksと鏡面色Osが同じことが多いため、
この時の鏡面反射色の計算を高速化することができる。
【0066】c:平行光源が一個のみのときで、拡散反
射係数Kdと拡散色Odが同じであるとき、Kd×Od
の値に光源の色Lcを乗じた値を保存部(図示せず)に
保持し、全ての頂点の拡散反射色の計算でこの値を使用
することができる。このため、この時の拡散反射色の計
算を高速化することができる。
【0067】d:平行光源が一個のみのときで、鏡面反
射係数Ksと鏡面色Osが同じであるとき、Ks×Os
の値に光源の色Lcを乗じた値を保存部(図示せず)に
保持し、全ての頂点の鏡面反射色の計算でこの値を使用
することができる。このため、この時の鏡面反射色の計
算を高速化することができる。
【0068】e:ある図形の各頂点で拡散反射係数Kd
が同じで、かつ、平行光源が一個であるとき、頂点毎の
色計算の前にKd×Lcを計算した値を保存部(図示せ
ず)に保持し、全ての頂点の拡散反射色の計算でこの値
を使用することができる。このため、この時の拡散反射
色の計算を高速化することができる。
【0069】f:ある図形の各頂点で鏡面反射係数Ks
が同じで、かつ、平行光源が一個であるとき、頂点毎の
色計算の前にKs×Lcを計算した値を保存部(図示せ
ず)に保持し、全ての頂点の鏡面反射色の計算でこの値
を使用することができる。このため、この時の鏡面反射
色の計算を高速化することができる。
【0070】g:ある図形の各頂点で単位法線ベクトル
Vnが同じであるとき、頂点毎の色計算の前にDotProdu
ct(Ve,Vn)を計算した値を保存部(図示せず)に
保持し、全ての頂点の鏡面反射色の計算でこの値を使用
することができる。このため、この時の鏡面反射色の計
算を高速化することができる。
【0071】h:ある図形の各頂点で単位法線ベクトル
Vnが同じで、かつ、平行光源が一個であるとき、頂点
毎の色計算の前にDotProduct(Vn,Vl)を計算した
値を保存部(図示せず)に保持し、全ての頂点の拡散反
射色及び鏡面反射色の計算でこの値を使用することがで
きる。このため、この時の拡散反射色及び鏡面反射色の
計算を高速化することができる。
【0072】
【発明の効果】以上説明したように、本発明によれば次
のような効果がある。 (1):色計算部で物体の反射色を計算する図形描画装
置において、平行光源で、かつ、平行投影のときに、内
積保存部に、対象の単位法線ベクトルVnと対象から光
源への単位ベクトルVlの内積値と、対象から視点への
単位ベクトルVeと対象の単位法線ベクトルVnの内積
値と、対象から視点への単位ベクトルVeと対象から光
源への単位ベクトルVlの内積値とをそれぞれ保持し、
前記色計算部は、前記各内積値を繰り返し使用するた
め、色計算の処理量を削減することができ、描画処理を
高速化することができる。
【0073】(2):対象の単位法線ベクトルVnと対
象から光源への単位ベクトルVlの内積値は、拡散反射
色の計算で求めた値を内積保存部に保持し、鏡面反射色
の計算で再利用するため、鏡面反射色の計算を高速化す
ることができる。
【0074】(3):対象から視点への単位ベクトルV
eと対象の単位法線ベクトルVnの内積値は、鏡面反射
色の計算時、平行光源が複数定義されている場合、ある
頂点で一度求めた値を内積保存部に保持し、全ての平行
光源での色計算にこの値を使用するため、平行光源が複
数定義されている場合の鏡面反射色の計算を高速化する
ことができる。
【0075】(4):対象から視点への単位ベクトルV
eと対象から光源への単位ベクトルVlの内積値は、あ
る光源で一度求めた値を内積保存部に保持し、全ての頂
点の鏡面反射色の計算でこの値を使用するため、鏡面反
射色の計算をより高速化することができる。
【0076】(5):ある図形の各頂点で拡散反射係数
Kdと対象の拡散色Odが同じであるとき、頂点毎の色
計算の前にKd×Odを計算した値を保持しておき、全
ての頂点の拡散反射色の計算でこの値を使用するため、
この時の拡散反射色の計算を高速化することができる。
【0077】(6):平行光源が一個のみのとき、Kd
×Odの値にさらに光源の色Lcを乗じた値を保持して
おき、全ての頂点の拡散反射色の計算でこの値を使用す
るため、この時の拡散反射色の計算を高速化することが
できる。
【0078】(7):ある図形の各頂点で鏡面反射係数
Ksと対象の鏡面色Osが同じであるとき、頂点毎の色
計算の前にKs×Osを計算した値を保持しておき、全
ての頂点の鏡面反射色の計算でこの値を使用するため、
この時の鏡面反射色の計算を高速化することができる。
【0079】(8):平行光源が一個のみのとき、Ks
×Osの値にさらに光源の色Lcを乗じた値を保持して
おき、全ての頂点の鏡面反射色の計算でこの値を使用す
るため、この時の鏡面反射色の計算を高速化することが
できる。
【0080】(9):ある図形の各頂点で拡散反射係数
Kdが同じで、かつ、光源の色Lcの平行光源が一個で
あるとき、頂点毎の色計算の前にKd×Lcを計算した
値を保持しておき、全ての頂点の拡散反射色の計算でこ
の値を使用するため、この時の拡散反射色の計算を高速
化することができる。
【0081】(10):ある図形の各頂点で鏡面反射係
数Ksが同じで、かつ、光源の色Lcの平行光源が一個
であるとき、頂点毎の色計算の前にKs×Lcを計算し
た値を保持しておき、全ての頂点の鏡面反射色の計算で
この値を使用するため、この時の鏡面反射色の計算を高
速化することができる。
【0082】(11):ある図形の各頂点で対象の単位
法線ベクトルVnが同じであるとき、頂点毎の色計算の
前に、対象から視点への単位ベクトルVeと対象の単位
法線ベクトルVnの内積を計算した値を保持しておき、
全ての頂点の鏡面反射色の計算でこの値を使用するた
め、この時の鏡面反射色の計算を高速化することができ
る。
【0083】(12):ある図形の各頂点で対象の単位
法線ベクトルVnが同じで、かつ、平行光源が一個であ
るとき、頂点毎の色計算の前に、対象の単位法線ベクト
ルVnと対象から光源への単位ベクトルVlの内積を計
算した値を保持しておき、全ての頂点の拡散反射色及び
鏡面反射色の計算でこの値を使用するため、この時の拡
散反射色及び鏡面反射色の計算を高速化することができ
る。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】実施の形態における図形描画装置の説明図であ
る。
【図3】実施の形態における平行光源に対する色計算の
流れの説明図である。
【図4】反射色計算の説明図である。
【図5】従来の平行光源に対する色計算の流れの説明図
である。
【符号の説明】
1 モデリング変換部 2 色計算部 3a 内積保存部 6 視野変換部 7 クリッピング部 8 デプスキューイング部 9 描画部 10a 表示部 Vl 対象から光源への単位ベクトル Vn 対象から法線方向への単位法線ベクトル Vr 対象から正反射方向への単位反射ベクトル Ve 対象から視点への単位ベクトル

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】拡散反射係数と、対象の拡散色と、光源の
    色と、前記対象の単位法線ベクトルと前記対象から光源
    への単位ベクトルの内積値とから拡散反射色を計算し、 鏡面反射係数と、前記対象の鏡面色と、前記光源の色
    と、前記対象の単位法線ベクトルと前記対象から光源へ
    の単位ベクトルの内積値と、前記対象から視点への単位
    ベクトルと前記対象の単位法線ベクトルの内積値と、前
    記対象から視点への単位ベクトルと前記対象から光源へ
    の単位ベクトルの内積値とから鏡面反射色を計算し、 前記拡散反射色と前記鏡面反射色を加算して前記対象の
    反射色を計算する色計算部とを有する図形描画装置にお
    いて、 平行光源で、かつ、平行投影のときに、前記対象の単位
    法線ベクトルと前記対象から光源への単位ベクトルの内
    積値と、前記対象から視点への単位ベクトルと前記対象
    の単位法線ベクトルの内積値と、前記対象から視点への
    単位ベクトルと前記対象から光源への単位ベクトルの内
    積値とをそれぞれ保持する内積保存部を備え、 前記色計算部は、前記保持した各内積値を繰り返し使用
    することを特徴とした図形描画装置。
  2. 【請求項2】前記対象の単位法線ベクトルと前記対象か
    ら光源への単位ベクトルの内積値は、前記拡散反射色の
    計算で求めた値を前記内積保存部に保持し、前記鏡面反
    射色の計算で再利用することを特徴とした請求項1記載
    の図形描画装置。
  3. 【請求項3】前記対象から視点への単位ベクトルと前記
    対象の単位法線ベクトルの内積値は、前記鏡面反射色の
    計算時、前記平行光源が複数定義されている場合、ある
    頂点で一度求めた値を前記内積保存部に保持し、全ての
    前記平行光源での色計算にこの値を使用することを特徴
    とした請求項1記載の図形描画装置。
  4. 【請求項4】前記対象から視点への単位ベクトルと前記
    対象から光源への単位ベクトルの内積値は、ある光源で
    一度求めた値を前記内積保存部に保持し、全ての頂点の
    前記鏡面反射色の計算でこの値を使用することを特徴と
    した請求項1記載の図形描画装置。
  5. 【請求項5】ある図形の各頂点で前記拡散反射係数Kd
    と前記対象の拡散色Odが同じであるとき、前記頂点毎
    の色計算の前にKd×Odを計算した値を保持してお
    き、全ての前記頂点の前記拡散反射色の計算でこの値を
    使用することを特徴とした請求項1記載の図形描画装
    置。
  6. 【請求項6】前記平行光源が一個のみのとき、前記Kd
    ×Odの値にさらに前記光源の色Lcを乗じた値を保持
    しておき、全ての前記頂点の前記拡散反射色の計算でこ
    の値を使用することを特徴とした請求項5記載の図形描
    画装置。
  7. 【請求項7】ある図形の各頂点で前記鏡面反射係数Ks
    と前記対象の鏡面色Osが同じであるとき、前記頂点毎
    の色計算の前にKs×Osを計算した値を保持してお
    き、全ての前記頂点の前記鏡面反射色の計算でこの値を
    使用することを特徴とした請求項1記載の図形描画装
    置。
  8. 【請求項8】前記平行光源が一個のみのとき、前記Ks
    ×Osの値にさらに前記光源の色Lcを乗じた値を保持
    しておき、全ての前記頂点の前記鏡面反射色の計算でこ
    の値を使用することを特徴とした請求項7記載の図形描
    画装置。
  9. 【請求項9】ある図形の各頂点で前記拡散反射係数Kd
    が同じで、かつ、前記光源の色Lcの平行光源が一個で
    あるとき、前記頂点毎の色計算の前にKd×Lcを計算
    した値を保持しておき、全ての前記頂点の前記拡散反射
    色の計算でこの値を使用することを特徴とした請求項1
    記載の図形描画装置。
  10. 【請求項10】ある図形の各頂点で前記鏡面反射係数K
    sが同じで、かつ、前記光源の色Lcの平行光源が一個
    であるとき、前記頂点毎の色計算の前にKs×Lcを計
    算した値を保持しておき、全ての前記頂点の前記鏡面反
    射色の計算でこの値を使用することを特徴とした請求項
    1記載の図形描画装置。
  11. 【請求項11】ある図形の各頂点で前記対象の単位法線
    ベクトルが同じであるとき、前記頂点毎の色計算の前
    に、前記対象から視点への単位ベクトルと前記対象の単
    位法線ベクトルの内積を計算した値を保持しておき、全
    ての前記頂点の前記鏡面反射色の計算でこの値を使用す
    ることを特徴とした請求項1記載の図形描画装置。
  12. 【請求項12】ある図形の各頂点で前記対象の単位法線
    ベクトルが同じで、かつ、前記平行光源が一個であると
    き、前記頂点毎の色計算の前に、前記対象の単位法線ベ
    クトルと前記対象から光源への単位ベクトルの内積を計
    算した値を保持しておき、全ての前記頂点の前記拡散反
    射色及び前記鏡面反射色の計算でこの値を使用すること
    を特徴とした請求項1記載の図形描画装置。
JP23760896A 1996-09-09 1996-09-09 図形描画装置 Expired - Fee Related JP3762487B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23760896A JP3762487B2 (ja) 1996-09-09 1996-09-09 図形描画装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23760896A JP3762487B2 (ja) 1996-09-09 1996-09-09 図形描画装置

Publications (2)

Publication Number Publication Date
JPH1083461A true JPH1083461A (ja) 1998-03-31
JP3762487B2 JP3762487B2 (ja) 2006-04-05

Family

ID=17017845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23760896A Expired - Fee Related JP3762487B2 (ja) 1996-09-09 1996-09-09 図形描画装置

Country Status (1)

Country Link
JP (1) JP3762487B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001160152A (ja) * 1999-12-03 2001-06-12 Namco Ltd 画像生成システム及び情報記憶媒体
KR100824055B1 (ko) 2006-07-18 2008-04-21 엠텍비젼 주식회사 3차원 정반사 조명 처리 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001160152A (ja) * 1999-12-03 2001-06-12 Namco Ltd 画像生成システム及び情報記憶媒体
US7015908B2 (en) 1999-12-03 2006-03-21 Namco Ltd. Image generation system and information storage medium
KR100824055B1 (ko) 2006-07-18 2008-04-21 엠텍비젼 주식회사 3차원 정반사 조명 처리 장치 및 방법

Also Published As

Publication number Publication date
JP3762487B2 (ja) 2006-04-05

Similar Documents

Publication Publication Date Title
JPH09167255A (ja) バンプマッピングとポンシェーディングを選択的に行う実時間レンダリング方法及び装置
US5280569A (en) Three dimensional model describing method
US7015930B2 (en) Method and apparatus for interpolating pixel parameters based on a plurality of vertex values
US6285376B1 (en) Triangle traversing method and a rasterizer adopting the same
JPH1083461A (ja) 図形描画装置
JP2001067491A (ja) 再分割多角形を用いる画像表示方法及び装置
JP3059739B2 (ja) 曲線描画機能を備えた情報処理装置および処理方法
US8363053B2 (en) Method and apparatus for rendering outline of multimedia character image
JP2000057372A (ja) 画像処理装置、画像処理方法及び記憶媒体
JP3034716B2 (ja) 形状表現方法
US6542152B2 (en) Method and apparatus for culling
JPH10302080A (ja) 図形描画装置
JPH06231261A (ja) 折線近似によりパラメトリックトリミング曲線を表示する方法およびグラフィック表示システム
JPH09161055A (ja) 3次元物体認識方法
JPH0378888A (ja) 図形データ処理装置における図形表示方法
JP3304255B2 (ja) ベジェ曲線近似装置
JPH0247784A (ja) 図形シェーディング装置
JPH0664618B2 (ja) クリツピング回路
JPH02129770A (ja) 画像処理装置,それを用いたシステムおよび画像処理方法
JPH06231274A (ja) 3次元シミュレーション方法及び装置
JPH10161799A (ja) 座標入力装置と筆記軌跡の処理方法
JPH05159068A (ja) パラメトリック3次曲線描画用ステップ間隔決定方式
JPH0561981A (ja) 曲線近似方法
JPS62271188A (ja) ベクトル描画方式
JPH03257587A (ja) モザイク分割による曲面生成処理方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051213

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: 20060110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060113

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20100120

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

Free format text: PAYMENT UNTIL: 20110120

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110120

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120120

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130120

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees