JPH10302080A - 図形描画装置 - Google Patents
図形描画装置Info
- Publication number
- JPH10302080A JPH10302080A JP10693697A JP10693697A JPH10302080A JP H10302080 A JPH10302080 A JP H10302080A JP 10693697 A JP10693697 A JP 10693697A JP 10693697 A JP10693697 A JP 10693697A JP H10302080 A JPH10302080 A JP H10302080A
- Authority
- JP
- Japan
- Prior art keywords
- color
- reflection
- light source
- calculation
- normal 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を有す
る図形描画装置において、前記反射色の計算に使用した
単位法線ベクトルを保持する単位法線ベクトル保存域3
と、前記対象の反射色を保持する反射色保存域4とを設
け、前記色計算部2は、前記光源が平行光源で、かつ平
行投影で、かつ同一平面上にある一つの図形面を構成す
る各頂点の前記反射色の計算のときに、単位法線ベクト
ルを前記単位法線ベクトル保存域3の単位法線ベクトル
と比較して等しい場合、前記対象の反射色の計算をスキ
ップする。
高速にできるようにすること。 【解決手段】対象の反射色を計算する色計算部2を有す
る図形描画装置において、前記反射色の計算に使用した
単位法線ベクトルを保持する単位法線ベクトル保存域3
と、前記対象の反射色を保持する反射色保存域4とを設
け、前記色計算部2は、前記光源が平行光源で、かつ平
行投影で、かつ同一平面上にある一つの図形面を構成す
る各頂点の前記反射色の計算のときに、単位法線ベクト
ルを前記単位法線ベクトル保存域3の単位法線ベクトル
と比較して等しい場合、前記対象の反射色の計算をスキ
ップする。
Description
【0001】
【発明の属する技術分野】本発明は、コンピュータグラ
フィックス分野の図形描画装置に関する。描画処理にお
いて、色計算は計算量が多いため大きなウエイトを占め
ている。近年、コンピュータグラフィックスは多くの分
野で利用されるようになり、より高速な描画処理が望ま
れている。
フィックス分野の図形描画装置に関する。描画処理にお
いて、色計算は計算量が多いため大きなウエイトを占め
ている。近年、コンピュータグラフィックスは多くの分
野で利用されるようになり、より高速な描画処理が望ま
れている。
【0002】
【従来の技術】図4は反射色計算の説明図であり、図4
(a)は拡散反射の反射モデル図、図4(b)は鏡面反
射の反射モデル図、図4(c)は色計算に使用するベク
トルの説明である。
(a)は拡散反射の反射モデル図、図4(b)は鏡面反
射の反射モデル図、図4(c)は色計算に使用するベク
トルの説明である。
【0003】図4(a)において、拡散反射の反射光
は、入射光に対して全ての方向に散乱される光である。
図4(b)において、鏡面反射の反射光は、物体とのな
す角度αの入射光が物体表面から反射される光である。
なお、点線で示す広がりOeは反射光の鏡面集中度を示
している。この鏡面集中度Oeは、その値が大きくなる
と集中度が良くなり広がりの幅が小さくなる。
は、入射光に対して全ての方向に散乱される光である。
図4(b)において、鏡面反射の反射光は、物体とのな
す角度αの入射光が物体表面から反射される光である。
なお、点線で示す広がりOeは反射光の鏡面集中度を示
している。この鏡面集中度Oeは、その値が大きくなる
と集中度が良くなり広がりの幅が小さくなる。
【0004】図4(c)において、色計算に使用するベ
クトルを示しており、対象物体から光源方向への単位ベ
クトルをVl、対象物体から法線方向への単位ベクトル
をVn、対象物体から正反射方向への単位反射ベクトル
をVr、対象物体から視線(視点)方向への単位ベクト
ルをVeとする。
クトルを示しており、対象物体から光源方向への単位ベ
クトルを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つの頂点)に対して行ない、計算された色を線形
補間して描画(スキャン)することによって、平行光源
に対する物体の反射を表現できる。また、平行光源が複
数定義されているときは、各光源に対して色計算を行な
い、それぞれの和をとるようにする。
れば3つの頂点)に対して行ない、計算された色を線形
補間して描画(スキャン)することによって、平行光源
に対する物体の反射を表現できる。また、平行光源が複
数定義されているときは、各光源に対して色計算を行な
い、それぞれの和をとるようにする。
【0007】(2):平行光源に対する色計算の流れの
説明 図5は従来の平行光源に対する色計算の流れの説明図で
ある。以下、図5の処理S21〜処理S28に従って説
明する。なお、「W」は、繰り返しを意味している。
説明 図5は従来の平行光源に対する色計算の流れの説明図で
ある。以下、図5の処理S21〜処理S28に従って説
明する。なお、「W」は、繰り返しを意味している。
【0008】S21:図形の全ての頂点に対して処理S
22と処理S23を繰り返す。 S22:反射色の合計をクリアする。 S23:全ての平行光源に対して処理S24〜処理S2
8を繰り返す。
22と処理S23を繰り返す。 S22:反射色の合計をクリアする。 S23:全ての平行光源に対して処理S24〜処理S2
8を繰り返す。
【0009】S24:拡散反射色を次のようにして計算
する。 拡散反射色=Kd*Od*Lc*DotProduct(Vn,V
l) S25:対象からの単位反射ベクトルVrを次のように
して計算する。
する。 拡散反射色=Kd*Od*Lc*DotProduct(Vn,V
l) S25:対象からの単位反射ベクトルVrを次のように
して計算する。
【0010】Vr=2*DotProduct(Vn,Vl)*V
n−Vl S26:鏡面反射色を次のようにして計算する。 鏡面反射色=Ks*Os*Lc*DotProduct(Ve,V
r)Oe S27:前記処理S24と処理S26より次のように反
射色を計算する。
n−Vl S26:鏡面反射色を次のようにして計算する。 鏡面反射色=Ks*Os*Lc*DotProduct(Ve,V
r)Oe S27:前記処理S24と処理S26より次のように反
射色を計算する。
【0011】反射色=拡散反射色+鏡面反射色 S28:前の反射色の合計に今回の反射色を加算する。 反射色の合計+=反射色(反射色の合計=反射色の合計
+反射色)
+反射色)
【0012】
【発明が解決しようとする課題】前記のような従来のも
のにおいては、色計算の計算量が多いため、描画処理に
おいて色計算が大きなウエイトを占めていた。
のにおいては、色計算の計算量が多いため、描画処理に
おいて色計算が大きなウエイトを占めていた。
【0013】本発明は、このような従来の課題を解決
し、ある図形の平行光源に対する反射色の計算を、高速
にできるようにすることを目的とする。
し、ある図形の平行光源に対する反射色の計算を、高速
にできるようにすることを目的とする。
【0014】
【課題を解決するための手段】図1は本発明の原理説明
図である。図1中、1はモデリング変換部、2は色計算
部、3は単位法線ベクトル保存域、4は反射色保存域、
5は反射色の合計保存域、6は視野変換部、7はクリッ
ピング部、8はデプスキューイング部、9は描画部であ
る。
図である。図1中、1はモデリング変換部、2は色計算
部、3は単位法線ベクトル保存域、4は反射色保存域、
5は反射色の合計保存域、6は視野変換部、7はクリッ
ピング部、8はデプスキューイング部、9は描画部であ
る。
【0015】本発明は前記従来の課題を解決するため次
のように構成した。 (1):光源毎に拡散反射色と鏡面反射色を計算し、該
拡散反射色と該鏡面反射色を加算して前記光源毎の反射
色を計算し、該光源毎の反射色の合計処理をして、対象
の反射色を計算する色計算部2を有する図形描画装置に
おいて、前記反射色の計算に使用した単位法線ベクトル
を保持する単位法線ベクトル保存域3と、前記対象の反
射色を保持する反射色保存域4とを設け、前記色計算部
2は、前記光源が平行光源で、かつ平行投影で、かつ同
一平面上にある一つの図形面を構成する各頂点の前記反
射色の計算のときに、単位法線ベクトルを前記単位法線
ベクトル保存域3の単位法線ベクトルと比較して等しい
場合、前記対象の反射色の計算をスキップする。
のように構成した。 (1):光源毎に拡散反射色と鏡面反射色を計算し、該
拡散反射色と該鏡面反射色を加算して前記光源毎の反射
色を計算し、該光源毎の反射色の合計処理をして、対象
の反射色を計算する色計算部2を有する図形描画装置に
おいて、前記反射色の計算に使用した単位法線ベクトル
を保持する単位法線ベクトル保存域3と、前記対象の反
射色を保持する反射色保存域4とを設け、前記色計算部
2は、前記光源が平行光源で、かつ平行投影で、かつ同
一平面上にある一つの図形面を構成する各頂点の前記反
射色の計算のときに、単位法線ベクトルを前記単位法線
ベクトル保存域3の単位法線ベクトルと比較して等しい
場合、前記対象の反射色の計算をスキップする。
【0016】(2):前記(1)の図形描画装置におい
て、前記対象の反射色を構成する鏡面反射がないとき、
前記光源毎の前記拡散反射色の合計を前記反射色保存域
4に保持する。
て、前記対象の反射色を構成する鏡面反射がないとき、
前記光源毎の前記拡散反射色の合計を前記反射色保存域
4に保持する。
【0017】(3):前記(1)の図形描画装置におい
て、前記対象の反射色を構成する拡散反射がないとき、
前記光源毎の前記鏡面反射色の合計を前記反射色保存域
4に保持する。
て、前記対象の反射色を構成する拡散反射がないとき、
前記光源毎の前記鏡面反射色の合計を前記反射色保存域
4に保持する。
【0018】(4):前記(1)の図形描画装置におい
て、前記平行光源が一個のみのとき、前記光源毎の反射
色の合計処理をスキップする。 (5):光源毎に拡散反射色と鏡面反射色を計算し、該
拡散反射色と該鏡面反射色を加算して前記光源毎の反射
色を計算し、該光源毎の反射色の合計処理をして、対象
の反射色を計算する色計算手段と、前回の反射色の計算
に使用した単位法線ベクトルと対象の反射色とを保持さ
せておく保存手段とを備え、光源が平行光源で、かつ平
行投影で、かつ同一平面上にある一つの図形面を構成す
る各頂点の前記反射色の計算のときに、単位法線ベクト
ルを前記保持した単位法線ベクトルと比較して等しい場
合、反射色の計算をスキップする色計算手段を有するプ
ログラムを記憶媒体に格納する。
て、前記平行光源が一個のみのとき、前記光源毎の反射
色の合計処理をスキップする。 (5):光源毎に拡散反射色と鏡面反射色を計算し、該
拡散反射色と該鏡面反射色を加算して前記光源毎の反射
色を計算し、該光源毎の反射色の合計処理をして、対象
の反射色を計算する色計算手段と、前回の反射色の計算
に使用した単位法線ベクトルと対象の反射色とを保持さ
せておく保存手段とを備え、光源が平行光源で、かつ平
行投影で、かつ同一平面上にある一つの図形面を構成す
る各頂点の前記反射色の計算のときに、単位法線ベクト
ルを前記保持した単位法線ベクトルと比較して等しい場
合、反射色の計算をスキップする色計算手段を有するプ
ログラムを記憶媒体に格納する。
【0019】(作用)前記構成に基づく作用を説明す
る。単位法線ベクトル保存域3に反射色の計算に使用し
た単位法線ベクトルを保持し、反射色保存域4に対象の
反射色を保持し、色計算部2では、光源が平行光源で、
かつ平行投影で、かつ同一平面上にある一つの図形面を
構成する各頂点の前記反射色の計算のときに、単位法線
ベクトルを前記単位法線ベクトル保存域3の単位法線ベ
クトルと比較して等しい場合、前記反射色の計算をスキ
ップする。このため、前回計算した反射色保存域4の反
射色の値をコピーすることで色計算の処理をスキップで
き、描画処理を高速化することができる。
る。単位法線ベクトル保存域3に反射色の計算に使用し
た単位法線ベクトルを保持し、反射色保存域4に対象の
反射色を保持し、色計算部2では、光源が平行光源で、
かつ平行投影で、かつ同一平面上にある一つの図形面を
構成する各頂点の前記反射色の計算のときに、単位法線
ベクトルを前記単位法線ベクトル保存域3の単位法線ベ
クトルと比較して等しい場合、前記反射色の計算をスキ
ップする。このため、前回計算した反射色保存域4の反
射色の値をコピーすることで色計算の処理をスキップで
き、描画処理を高速化することができる。
【0020】また、前記対象の反射色を構成する鏡面反
射がないとき、前記反射色保存域4に前記光源毎の前記
拡散反射色の合計を保持する。このため、前回計算した
反射色保存域4の拡散反射色の値をコピーすることで色
計算の処理をスキップでき、描画処理を高速化すること
ができる。
射がないとき、前記反射色保存域4に前記光源毎の前記
拡散反射色の合計を保持する。このため、前回計算した
反射色保存域4の拡散反射色の値をコピーすることで色
計算の処理をスキップでき、描画処理を高速化すること
ができる。
【0021】さらに、前記対象の反射色を構成する拡散
反射がないとき、前記反射色保存域4に前記光源毎の鏡
面反射色の合計を保持する。このため、前回計算した反
射色保存域4の鏡面反射色の値をコピーすることで色計
算の処理をスキップでき、描画処理を高速化することが
できる。
反射がないとき、前記反射色保存域4に前記光源毎の鏡
面反射色の合計を保持する。このため、前回計算した反
射色保存域4の鏡面反射色の値をコピーすることで色計
算の処理をスキップでき、描画処理を高速化することが
できる。
【0022】また、前記平行光源が一個のみのとき、前
記光源毎の反射色の合計処理をスキップする。このた
め、反射色の合計処理をスキップでき、描画処理を高速
化することができる。
記光源毎の反射色の合計処理をスキップする。このた
め、反射色の合計処理をスキップでき、描画処理を高速
化することができる。
【0023】さらに、光源毎に拡散反射色と鏡面反射色
を計算し、該拡散反射色と該鏡面反射色を加算して前記
光源毎の反射色を計算し、該光源毎の反射色の合計処理
をして、対象の反射色を計算する色計算手段と、前回の
反射色の計算に使用した単位法線ベクトルと対象の反射
色とを保持させておく保存手段とを備え、光源が平行光
源で、かつ平行投影で、かつ同一平面上にある一つの図
形面を構成する各頂点の前記反射色の計算のときに、単
位法線ベクトルを前記保持した単位法線ベクトルと比較
して等しい場合、反射色の計算をスキップする色計算手
段を有するプログラムを記憶媒体に格納する。このた
め、この記憶媒体のプログラムをコンピュータにインス
トールすることで、容易に図形描画装置を提供すること
ができる。
を計算し、該拡散反射色と該鏡面反射色を加算して前記
光源毎の反射色を計算し、該光源毎の反射色の合計処理
をして、対象の反射色を計算する色計算手段と、前回の
反射色の計算に使用した単位法線ベクトルと対象の反射
色とを保持させておく保存手段とを備え、光源が平行光
源で、かつ平行投影で、かつ同一平面上にある一つの図
形面を構成する各頂点の前記反射色の計算のときに、単
位法線ベクトルを前記保持した単位法線ベクトルと比較
して等しい場合、反射色の計算をスキップする色計算手
段を有するプログラムを記憶媒体に格納する。このた
め、この記憶媒体のプログラムをコンピュータにインス
トールすることで、容易に図形描画装置を提供すること
ができる。
【0024】
【発明の実施の形態】図2、図3は本発明の実施の形態
を示した図であり、図2は図形描画装置の説明図、図3
は平行光源に対する色計算の流れの説明図である。以
下、図面に基づいて本発明の実施の形態を説明する。
を示した図であり、図2は図形描画装置の説明図、図3
は平行光源に対する色計算の流れの説明図である。以
下、図面に基づいて本発明の実施の形態を説明する。
【0025】(1):図形描画装置の説明 図2において、一般的なレンダリングパイプラインに適
用した例(図形描画装置)を示している。この図形描画
装置には、モデリング変換部1、色計算部2、単位法線
ベクトル保存域3、反射色保存域4、反射色の合計保存
域5、視野変換部6、クリッピング部7、デプスキュー
イング部8、描画部9、CRT10が設けてある。
用した例(図形描画装置)を示している。この図形描画
装置には、モデリング変換部1、色計算部2、単位法線
ベクトル保存域3、反射色保存域4、反射色の合計保存
域5、視野変換部6、クリッピング部7、デプスキュー
イング部8、描画部9、CRT10が設けてある。
【0026】モデリング変換部1は、入力された図形デ
ータの各頂点を色計算のために、図形が定義されている
モデリング座標系MCから光源が定義されている世界座
標系WCに変換するものである。
ータの各頂点を色計算のために、図形が定義されている
モデリング座標系MCから光源が定義されている世界座
標系WCに変換するものである。
【0027】色計算部2は、世界座標系WCに変換され
た図形の各頂点とあらかじめ定義された光源から反射色
を計算する。このとき、視野変換が平行投影、かつ、平
行光源であるなら本願手法(後で詳述する)の高速計算
を行う。なお、光源が平行光源以外のものを含むとき
は、平行光源を本願手法で計算し、他の光源を従来の手
法で計算し、最後に和をとるものである。
た図形の各頂点とあらかじめ定義された光源から反射色
を計算する。このとき、視野変換が平行投影、かつ、平
行光源であるなら本願手法(後で詳述する)の高速計算
を行う。なお、光源が平行光源以外のものを含むとき
は、平行光源を本願手法で計算し、他の光源を従来の手
法で計算し、最後に和をとるものである。
【0028】単位法線ベクトル保存域3は、単位法線ベ
クトルを保持するものである。反射色保存域4は、色計
算した時の頂点の反射色(全ての平行光源に対する反射
色の合計)を保持するものである。反射色の合計保存域
5は、各頂点の反射色(全ての平行光源に対する反射色
の合計)を保存するもので、頂点(頂点1〜n)の数だ
けの保存域が設けてある。
クトルを保持するものである。反射色保存域4は、色計
算した時の頂点の反射色(全ての平行光源に対する反射
色の合計)を保持するものである。反射色の合計保存域
5は、各頂点の反射色(全ての平行光源に対する反射色
の合計)を保存するもので、頂点(頂点1〜n)の数だ
けの保存域が設けてある。
【0029】視野変換部6は、各頂点の座標を世界座標
系WCからデバイス座標系(表示画面上の位置)DCに
変換するものである。クリッピング部7は、図形をクリ
ッピング枠でクリッピングするものである。デプスキュ
ーイング部8は、各座標値のZ値(奥行き値)に応じて
各頂点の色を変更する(例えば、奥に行くほど暗くす
る)ものである。
系WCからデバイス座標系(表示画面上の位置)DCに
変換するものである。クリッピング部7は、図形をクリ
ッピング枠でクリッピングするものである。デプスキュ
ーイング部8は、各座標値のZ値(奥行き値)に応じて
各頂点の色を変更する(例えば、奥に行くほど暗くす
る)ものである。
【0030】描画部9は、図形の頂点色を線形補間しな
がらCRTに描画するものである。CRT10は、陰極
線管を使用した表示部である。なお、図2の例におい
て、色計算部2は、他の処理部と独立しているので、こ
れらの処理部にサブセット(例えば、デプスキューイン
グ部8を省略した装置にする等)、あるいは、別の組み
合わせ(例えば、クリッピング部7とデプスキューイン
グ部8の処理順序を逆にする等)の応用が可能である。
がらCRTに描画するものである。CRT10は、陰極
線管を使用した表示部である。なお、図2の例におい
て、色計算部2は、他の処理部と独立しているので、こ
れらの処理部にサブセット(例えば、デプスキューイン
グ部8を省略した装置にする等)、あるいは、別の組み
合わせ(例えば、クリッピング部7とデプスキューイン
グ部8の処理順序を逆にする等)の応用が可能である。
【0031】(プログラムのインストールの説明)モデ
リング変換部1、色計算部2、視野変換部6、クリッピ
ング部7、デプスキューイング部8、描画部9は、実際
にはプログラムで構成でき、主制御部(CPU)が実行
するものであり、主記憶に格納されているものである。
これらのプログラムは、一般的な、パーソナルコンピュ
ータ、ワークステーション等のデータ処理装置(コンピ
ュータ)で処理されるものである。これらのコンピュー
タは、主制御部、主記憶、ハードディスク等のファイル
装置、表示装置、キーボード等の入力手段である入力装
置などのハードウェアで構成されている。
リング変換部1、色計算部2、視野変換部6、クリッピ
ング部7、デプスキューイング部8、描画部9は、実際
にはプログラムで構成でき、主制御部(CPU)が実行
するものであり、主記憶に格納されているものである。
これらのプログラムは、一般的な、パーソナルコンピュ
ータ、ワークステーション等のデータ処理装置(コンピ
ュータ)で処理されるものである。これらのコンピュー
タは、主制御部、主記憶、ハードディスク等のファイル
装置、表示装置、キーボード等の入力手段である入力装
置などのハードウェアで構成されている。
【0032】このコンピュータに、本発明のプログラム
をインストールする。このインストールは、フロッピ
ィ、光磁気ディスク等の可搬型の記憶媒体に、これらの
プログラムを記憶させておき、コンピュータが備えてい
る記憶媒体に対して、アクセスするためのドライブ装置
を介して、或いは、LAN等のネットワークを介して、
コンピュータに設けられたファイル装置にインストール
される。そして、このファイル装置から処理に必要なプ
ログラムステップを主記憶に読み出し、主制御部が実行
するものである。
をインストールする。このインストールは、フロッピ
ィ、光磁気ディスク等の可搬型の記憶媒体に、これらの
プログラムを記憶させておき、コンピュータが備えてい
る記憶媒体に対して、アクセスするためのドライブ装置
を介して、或いは、LAN等のネットワークを介して、
コンピュータに設けられたファイル装置にインストール
される。そして、このファイル装置から処理に必要なプ
ログラムステップを主記憶に読み出し、主制御部が実行
するものである。
【0033】(2):描画処理の高速化の説明 この発明は、ある図形の平行光源に対する反射色の計算
を、従来の計算より高速化するものである。まず、高速
化を行う条件を定義する。
を、従来の計算より高速化するものである。まず、高速
化を行う条件を定義する。
【0034】(条件1)光源は、平行光源である。 (条件2)平行投影である(視点が無限遠点にある)。 (条件3)同一平面上にある一つの図形面を構成する全
ての頂点の単位法線ベクトルが等しい。
ての頂点の単位法線ベクトルが等しい。
【0035】この条件から、前記式1〜式4の成分に対
して、次のことが言える。 (a):前記条件1から、対象から光源への単位ベクト
ルVlは全ての頂点で同じである。
して、次のことが言える。 (a):前記条件1から、対象から光源への単位ベクト
ルVlは全ての頂点で同じである。
【0036】(b):前記条件2から、対象から視点へ
の単位ベクトルVeは全ての頂点で同じである。 (c):前記条件3から、対象の単位法線ベクトルVn
は同一平面上にある一つの図形面を構成する全ての頂点
で同じである。
の単位ベクトルVeは全ての頂点で同じである。 (c):前記条件3から、対象の単位法線ベクトルVn
は同一平面上にある一つの図形面を構成する全ての頂点
で同じである。
【0037】次に、前記式3のDotProduct(Ve,V
r)を、前記式4を用いて展開し、次のように変形す
る。 DotProduct(Ve,Vr)=2*DotProduct(Vn,Vl)*DotProduct(V e,Vn)−DotProduct(Ve,Vl)・・・・・・・・・・・・・・・式5 この式5の各頂点を分析すると、次のことがわかる。
r)を、前記式4を用いて展開し、次のように変形す
る。 DotProduct(Ve,Vr)=2*DotProduct(Vn,Vl)*DotProduct(V e,Vn)−DotProduct(Ve,Vl)・・・・・・・・・・・・・・・式5 この式5の各頂点を分析すると、次のことがわかる。
【0038】(A):DotProduct(Vn,Vl)は、前
記式2でも現れ、同一平面上にある一つの図形面を構成
する全ての頂点で同じ値になる。 (B):DotProduct(Ve,Vn)は、光源には無関係
である。
記式2でも現れ、同一平面上にある一つの図形面を構成
する全ての頂点で同じ値になる。 (B):DotProduct(Ve,Vn)は、光源には無関係
である。
【0039】(C):DotProduct(Ve,Vl)は、あ
る光源においては全ての頂点で同じ値になる。 以上のことから、色計算の処理量を以下のような手法に
より削減する。
る光源においては全ての頂点で同じ値になる。 以上のことから、色計算の処理量を以下のような手法に
より削減する。
【0040】(手法)一つ目の頂点の色計算結果を保存
しておき、以降の頂点の処理で単位法線ベクトルが同一
ならば、色計算処理をスキップし、保存した色計算結果
を用いる。
しておき、以降の頂点の処理で単位法線ベクトルが同一
ならば、色計算処理をスキップし、保存した色計算結果
を用いる。
【0041】このような手法を実施することにより、描
画処理が高速化できる。 (3):色計算の流れの説明 図3は平行光源に対する色計算の流れの説明図である。
以下、図3の処理S1〜処理S14に従って説明する。
画処理が高速化できる。 (3):色計算の流れの説明 図3は平行光源に対する色計算の流れの説明図である。
以下、図3の処理S1〜処理S14に従って説明する。
【0042】S1:色計算部2は、平行投影かどうかを
判断する。 S2:色計算部2は、前記処理S1の判断で、平行投影
でない場合は従来の計算方法により色計算を行ない、こ
の処理を終了する。
判断する。 S2:色計算部2は、前記処理S1の判断で、平行投影
でない場合は従来の計算方法により色計算を行ない、こ
の処理を終了する。
【0043】S3:色計算部2は、前記処理S1の判断
で、平行投影の場合は、単位法線ベクトル保存域3と反
射色保存域4をクリアする。 S4:色計算部2は、図形の全ての頂点に対して処理S
5と処理S6を繰り返す。
で、平行投影の場合は、単位法線ベクトル保存域3と反
射色保存域4をクリアする。 S4:色計算部2は、図形の全ての頂点に対して処理S
5と処理S6を繰り返す。
【0044】S5:色計算部2は、反射色の合計保存域
5の色計算する頂点の反射色の合計をクリアする。 S6:色計算部2は、図形の全ての平行光源に対して処
理S7を繰り返す。
5の色計算する頂点の反射色の合計をクリアする。 S6:色計算部2は、図形の全ての平行光源に対して処
理S7を繰り返す。
【0045】S7:色計算部2は、単位法線ベクトルを
単位法線ベクトル保存域3(前回の単位法線ベクトル)
のものと比較し、単位法線ベクトルは等しいかどうか判
断する。
単位法線ベクトル保存域3(前回の単位法線ベクトル)
のものと比較し、単位法線ベクトルは等しいかどうか判
断する。
【0046】S8:色計算部2は、前記処理S7の判断
で、単位法線ベクトルが等しくない場合は、拡散反射色
を次のようにして計算する(前記式2)。 拡散反射色=Kd*Od*Lc*DotProduct(Vn,V
l) S9:色計算部2は、対象からの単位反射ベクトルVr
を次のようにして計算する(前記式4)。
で、単位法線ベクトルが等しくない場合は、拡散反射色
を次のようにして計算する(前記式2)。 拡散反射色=Kd*Od*Lc*DotProduct(Vn,V
l) S9:色計算部2は、対象からの単位反射ベクトルVr
を次のようにして計算する(前記式4)。
【0047】Vr=2*DotProduct(Vn,Vl)*V
n−Vl S10:色計算部2は、鏡面反射色を次のようにして計
算する(前記式3)。 鏡面反射色=Ks*Os*Lc*DotProduct(Ve,V
r)Oe S11:色計算部2は、前記処理S8と処理S10より
次のように反射色を計算する(式2+式3)。
n−Vl S10:色計算部2は、鏡面反射色を次のようにして計
算する(前記式3)。 鏡面反射色=Ks*Os*Lc*DotProduct(Ve,V
r)Oe S11:色計算部2は、前記処理S8と処理S10より
次のように反射色を計算する(式2+式3)。
【0048】反射色=拡散反射色+鏡面反射色 S12:色計算部2は、前の反射色の合計に今回の反射
色を加算する。 反射色の合計+=反射色(反射色の合計=反射色の合計
+反射色) S13:色計算部2は、単位法線ベクトル保存域3と反
射色保存域4に単位法線ベクトルと反射色の合計を保存
する。
色を加算する。 反射色の合計+=反射色(反射色の合計=反射色の合計
+反射色) S13:色計算部2は、単位法線ベクトル保存域3と反
射色保存域4に単位法線ベクトルと反射色の合計を保存
する。
【0049】S14:色計算部2は、前記処理S7の判
断で、単位法線ベクトルが等しい場合は、前記処理S5
でクリアした反射色の合計保存域5に反射色保存域4の
値を加算する。即ち、反射色の計算をスキップする。
断で、単位法線ベクトルが等しい場合は、前記処理S5
でクリアした反射色の合計保存域5に反射色保存域4の
値を加算する。即ち、反射色の計算をスキップする。
【0050】反射色の合計+=反射色保存域の値(反射
色の合計=反射色保存域4の値) このように、図形描画装置の色計算において、単位法線
ベクトル保存域3と反射色保存域4を設け、平行光線
で、かつ平行投影、かつ同一平面上にある一つの図形面
を構成する頂点の単位法線ベクトルが等しいときに、反
射色の計算をスキップして、描画処理を高速化すること
ができる。
色の合計=反射色保存域4の値) このように、図形描画装置の色計算において、単位法線
ベクトル保存域3と反射色保存域4を設け、平行光線
で、かつ平行投影、かつ同一平面上にある一つの図形面
を構成する頂点の単位法線ベクトルが等しいときに、反
射色の計算をスキップして、描画処理を高速化すること
ができる。
【0051】(4):他の実施の形態 a:反射色を構成する鏡面反射色がない(例えば、粘土
の固まり)とき、拡散反射色を保持する反射色保存域を
設け、単位法線ベクトルを前回のものと比較して等しい
場合には、拡散反射色の計算をスキップすることで、描
画処理を高速化することができる。
の固まり)とき、拡散反射色を保持する反射色保存域を
設け、単位法線ベクトルを前回のものと比較して等しい
場合には、拡散反射色の計算をスキップすることで、描
画処理を高速化することができる。
【0052】b:反射色を構成する拡散反射色がない
(例えば、鏡面の固まり)とき、鏡面反射色を保持する
反射色保存域を設け、単位法線ベクトルを前回のものと
比較して等しい場合には、鏡面反射色の計算をスキップ
することで、描画処理を高速化することができる。
(例えば、鏡面の固まり)とき、鏡面反射色を保持する
反射色保存域を設け、単位法線ベクトルを前回のものと
比較して等しい場合には、鏡面反射色の計算をスキップ
することで、描画処理を高速化することができる。
【0053】c:平行光源が一個のみのときで、単位法
線ベクトルを前回のものと比較して等しい場合には、反
射色の計算、及び、反射色の合計処理をスキップするこ
とで、描画処理を高速化することができる。
線ベクトルを前回のものと比較して等しい場合には、反
射色の計算、及び、反射色の合計処理をスキップするこ
とで、描画処理を高速化することができる。
【0054】d:前記実施の形態では、前記条件3で同
一平面上にある一つの図形面を構成する全ての頂点の単
位法線ベクトルが等しいとして説明したが、必ずしも全
ての頂点の単位法線ベクトルが等しい場合だけではな
く、前回計算に使用した単位法線ベクトルと等しければ
(単位法線ベクトル保存域3の単位法線ベクトルと等し
い場合、即ち、各頂点の計算で少なくとも連続して等し
い場合)、今回の反射色の計算をスキップすることで、
描画処理を高速化することができる。
一平面上にある一つの図形面を構成する全ての頂点の単
位法線ベクトルが等しいとして説明したが、必ずしも全
ての頂点の単位法線ベクトルが等しい場合だけではな
く、前回計算に使用した単位法線ベクトルと等しければ
(単位法線ベクトル保存域3の単位法線ベクトルと等し
い場合、即ち、各頂点の計算で少なくとも連続して等し
い場合)、今回の反射色の計算をスキップすることで、
描画処理を高速化することができる。
【0055】
【発明の効果】以上説明したように、本発明によれば次
のような効果がある。 (1):単位法線ベクトル保存域に反射色の計算に使用
した単位法線ベクトルを保持し、反射色保存域に対象の
反射色を保持し、色計算部では、光源が平行光源で、か
つ平行投影で、かつ同一平面上にある一つの図形面を構
成する各頂点の前記反射色の計算のときに、単位法線ベ
クトルを前記単位法線ベクトル保存域の単位法線ベクト
ルと比較して等しい場合、前記対象の反射色の計算をス
キップするため、前回計算した反射色保存域4の反射色
の値をコピーすることで色計算の処理をスキップでき、
描画処理を高速化することができる。
のような効果がある。 (1):単位法線ベクトル保存域に反射色の計算に使用
した単位法線ベクトルを保持し、反射色保存域に対象の
反射色を保持し、色計算部では、光源が平行光源で、か
つ平行投影で、かつ同一平面上にある一つの図形面を構
成する各頂点の前記反射色の計算のときに、単位法線ベ
クトルを前記単位法線ベクトル保存域の単位法線ベクト
ルと比較して等しい場合、前記対象の反射色の計算をス
キップするため、前回計算した反射色保存域4の反射色
の値をコピーすることで色計算の処理をスキップでき、
描画処理を高速化することができる。
【0056】(2):対象の反射色を構成する鏡面反射
がないとき、反射色保存域に光源毎の拡散反射色の合計
を保持するため、前回計算した反射色保存域の拡散反射
色の値をコピーすることで色計算の処理をスキップで
き、描画処理を高速化することができる。
がないとき、反射色保存域に光源毎の拡散反射色の合計
を保持するため、前回計算した反射色保存域の拡散反射
色の値をコピーすることで色計算の処理をスキップで
き、描画処理を高速化することができる。
【0057】(3):対象の反射色を構成する拡散反射
がないとき、反射色保存域に光源毎の鏡面反射色の合計
を保持するため、前回計算した反射色保存域の鏡面反射
色の値をコピーすることで色計算の処理をスキップで
き、描画処理を高速化することができる。
がないとき、反射色保存域に光源毎の鏡面反射色の合計
を保持するため、前回計算した反射色保存域の鏡面反射
色の値をコピーすることで色計算の処理をスキップで
き、描画処理を高速化することができる。
【0058】(4):平行光源が一個のみのとき、光源
毎の反射色の合計処理をスキップするため、描画処理を
より高速化することができる。 (5):光源毎に拡散反射色と鏡面反射色を計算し、該
拡散反射色と該鏡面反射色を加算して前記光源毎の反射
色を計算し、該光源毎の反射色の合計処理をして、対象
の反射色を計算する色計算手段と、前回の反射色の計算
に使用した単位法線ベクトルと対象の反射色とを保持さ
せておく保存手段とを備え、光源が平行光源で、かつ平
行投影で、かつ同一平面上にある一つの図形面を構成す
る各頂点の前記反射色の計算のときに、単位法線ベクト
ルを前記保持した単位法線ベクトルと比較して等しい場
合、反射色の計算をスキップする色計算手段を有するプ
ログラムを記憶媒体に格納するため、この記憶媒体のプ
ログラムをコンピュータにインストールすることで、容
易に図形描画装置を提供することができる。
毎の反射色の合計処理をスキップするため、描画処理を
より高速化することができる。 (5):光源毎に拡散反射色と鏡面反射色を計算し、該
拡散反射色と該鏡面反射色を加算して前記光源毎の反射
色を計算し、該光源毎の反射色の合計処理をして、対象
の反射色を計算する色計算手段と、前回の反射色の計算
に使用した単位法線ベクトルと対象の反射色とを保持さ
せておく保存手段とを備え、光源が平行光源で、かつ平
行投影で、かつ同一平面上にある一つの図形面を構成す
る各頂点の前記反射色の計算のときに、単位法線ベクト
ルを前記保持した単位法線ベクトルと比較して等しい場
合、反射色の計算をスキップする色計算手段を有するプ
ログラムを記憶媒体に格納するため、この記憶媒体のプ
ログラムをコンピュータにインストールすることで、容
易に図形描画装置を提供することができる。
【図1】本発明の原理説明図である。
【図2】実施の形態における図形描画装置の説明図であ
る。
る。
【図3】実施の形態における平行光源に対する色計算の
流れの説明図である。
流れの説明図である。
【図4】反射色計算の説明図である。
【図5】従来の平行光源に対する色計算の流れの説明図
である。
である。
1 モデリング変換部 2 色計算部 3 単位法線ベクトル保存域 4 反射色保存域 6 視野変換部 7 クリッピング部 8 デプスキューイング部 9 描画部
Claims (5)
- 【請求項1】光源毎に拡散反射色と鏡面反射色を計算
し、該拡散反射色と該鏡面反射色を加算して前記光源毎
の反射色を計算し、該光源毎の反射色の合計処理をし
て、対象の反射色を計算する色計算部を有する図形描画
装置において、 前記反射色の計算に使用した単位法線ベクトルを保持す
る単位法線ベクトル保存域と、 前記対象の反射色を保持する反射色保存域とを設け、 前記色計算部は、前記光源が平行光源で、かつ平行投影
で、かつ同一平面上にある一つの図形面を構成する各頂
点の前記反射色の計算のときに、単位法線ベクトルを前
記単位法線ベクトル保存域の単位法線ベクトルと比較し
て等しい場合、前記対象の反射色の計算をスキップする
ことを特徴とした図形描画装置。 - 【請求項2】前記対象の反射色を構成する鏡面反射がな
いとき、 前記光源毎の前記拡散反射色の合計を前記反射色保存域
に保持することを特徴とした請求項1記載の図形描画装
置。 - 【請求項3】前記対象の反射色を構成する拡散反射がな
いとき、 前記光源毎の前記鏡面反射色の合計を前記反射色保存域
に保持することを特徴とした請求項1記載の図形描画装
置。 - 【請求項4】前記平行光源が一個のみのとき、 前記光源毎の反射色の合計処理をスキップすることを特
徴とした請求項1記載の図形描画装置。 - 【請求項5】光源毎に拡散反射色と鏡面反射色を計算
し、該拡散反射色と該鏡面反射色を加算して前記光源毎
の反射色を計算し、該光源毎の反射色の合計処理をし
て、対象の反射色を計算する色計算手段と、 前回の反射色の計算に使用した単位法線ベクトルと前記
対象の反射色とを保持させておく保存手段とを備え、 光源が平行光源で、かつ平行投影で、かつ同一平面上に
ある一つの図形面を構成する各頂点の前記反射色の計算
のときに、単位法線ベクトルを前記保持した単位法線ベ
クトルと比較して等しい場合、前記対象の反射色の計算
をスキップする色計算手段を有するプログラムを格納し
た記憶媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10693697A JPH10302080A (ja) | 1997-04-24 | 1997-04-24 | 図形描画装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10693697A JPH10302080A (ja) | 1997-04-24 | 1997-04-24 | 図形描画装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10302080A true JPH10302080A (ja) | 1998-11-13 |
Family
ID=14446286
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10693697A Withdrawn JPH10302080A (ja) | 1997-04-24 | 1997-04-24 | 図形描画装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH10302080A (ja) |
-
1997
- 1997-04-24 JP JP10693697A patent/JPH10302080A/ja not_active Withdrawn
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Ruprecht et al. | Image warping with scattered data interpolation | |
| US5742749A (en) | Method and apparatus for shadow generation through depth mapping | |
| US6356263B2 (en) | Adaptive subdivision of mesh models | |
| EP2057605B1 (en) | System and methods for real-time rendering of deformable geometry with global illumination | |
| JP5111638B2 (ja) | パラメトリック曲線をより小さなサブパッチに分割する装置およびその方法 | |
| US6782130B2 (en) | Rendering of photorealistic computer graphics images | |
| JP3184327B2 (ja) | 3次元グラフィックス処理方法及びその装置 | |
| JP3862759B2 (ja) | 可変エッジ特性を有する構造化オブジェクトを用いて画像を定義し製作するためのコンピュータ・システムおよびプロセス | |
| JPH07152923A (ja) | テクスチャ処理されたオブジェクトをレンダリングする方法及び装置 | |
| JPH0776991B2 (ja) | Nurbsデータ変換方法及び装置 | |
| JP3391864B2 (ja) | 画像データ処理方法及び装置及びグラフィックシステム | |
| JP3352181B2 (ja) | 画像データ処理方法および装置 | |
| JPH117545A (ja) | ボリューム・レンダリング事前クリッピング方法 | |
| JP4448637B2 (ja) | ライティングされ、テクスチャのある球体の高速で滑らかなレンダリング | |
| EP0600204A2 (en) | Method and apparatus for rendering primitives with multiple processors | |
| JPH10302080A (ja) | 図形描画装置 | |
| EP0259971A1 (en) | Fast phong shading | |
| JP3332511B2 (ja) | 画像データ処理方法及び装置及びグラフィックシステム | |
| JP3762487B2 (ja) | 図形描画装置 | |
| KR100269100B1 (ko) | 삼각형탐색방법및이를채용한래스터라이저 | |
| US20030195907A1 (en) | Fast approximation to the spherical linear interpolation function | |
| JPH11120379A (ja) | コンピュータ画像データ作成・表示方法 | |
| Drettakis et al. | Structured penumbral irradiance computation | |
| JPH0628492A (ja) | コンピュータグラフィックスにおけるライティング処理方法 | |
| JPH0676074A (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: 20040706 |