JP2000137828A - シェーディング演算装置及びこれを用いた画像処理装置 - Google Patents
シェーディング演算装置及びこれを用いた画像処理装置Info
- Publication number
- JP2000137828A JP2000137828A JP10309740A JP30974098A JP2000137828A JP 2000137828 A JP2000137828 A JP 2000137828A JP 10309740 A JP10309740 A JP 10309740A JP 30974098 A JP30974098 A JP 30974098A JP 2000137828 A JP2000137828 A JP 2000137828A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- value
- register
- shading
- operation device
- 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)【要約】
【課題】簡単なハードウエア構成により3次元CGのシ
ェーディングを高速処理する。 【解決手段】 2n倍された入射光強度(整数)と2n倍
された反射係数(整数)と方向係数(固定小数点数)と
がレジスタR1〜R3に保持され、これらの出力値の積
が乗算回路21で算出されてレジスタR4に保持され
る。環境光、拡散反射光及び鏡面反射光についてこれら
3数が順次レジスタR1〜R3に保持される。環境光は
反射係数が1.0であるとみなす。加算回路22は、レ
ジスタR4とR5の出力の和を算出する。レジスタR4
には、乗算回路21の算出結果の第1回と第2回で加算
回路22の出力値が保持され、第3回でレジスタR5が
ゼロクリアされると共に加算回路22の出力値が反射光
強度値としてレジスタR6に保持される。この第1回で
は、1つ前の反射光強度計算の第3回においてレジスタ
R5がクリアされている。レジスタR1〜R6はいずれ
もnビットであり、乗算回路21は積の上位nビットの
み算出する。
ェーディングを高速処理する。 【解決手段】 2n倍された入射光強度(整数)と2n倍
された反射係数(整数)と方向係数(固定小数点数)と
がレジスタR1〜R3に保持され、これらの出力値の積
が乗算回路21で算出されてレジスタR4に保持され
る。環境光、拡散反射光及び鏡面反射光についてこれら
3数が順次レジスタR1〜R3に保持される。環境光は
反射係数が1.0であるとみなす。加算回路22は、レ
ジスタR4とR5の出力の和を算出する。レジスタR4
には、乗算回路21の算出結果の第1回と第2回で加算
回路22の出力値が保持され、第3回でレジスタR5が
ゼロクリアされると共に加算回路22の出力値が反射光
強度値としてレジスタR6に保持される。この第1回で
は、1つ前の反射光強度計算の第3回においてレジスタ
R5がクリアされている。レジスタR1〜R6はいずれ
もnビットであり、乗算回路21は積の上位nビットの
み算出する。
Description
【0001】
【発明の属する技術分野】本発明は、3次元CG処理に
用いられるシェーディング演算装置及びこれを用いた画
像処理装置に関する。
用いられるシェーディング演算装置及びこれを用いた画
像処理装置に関する。
【0002】
【従来の技術】3次元CGでは、図7に示す如く、物体
を多面体のモデル10で近似し、これを座標変換によ
り、視点11からモデル10への視線方向と直角なスク
リーン12に投影し、隠面処理を行い、次に光源13を
考慮してシェーディングを行う。
を多面体のモデル10で近似し、これを座標変換によ
り、視点11からモデル10への視線方向と直角なスク
リーン12に投影し、隠面処理を行い、次に光源13を
考慮してシェーディングを行う。
【0003】スムーズシェーディングでは、多面体近似
されたモデル10の面が曲面らしく滑らかに見えるよう
にするために、多面体の頂点カラーを決定し、面内のカ
ラーを補間法で決定する。
されたモデル10の面が曲面らしく滑らかに見えるよう
にするために、多面体の頂点カラーを決定し、面内のカ
ラーを補間法で決定する。
【0004】OpenGL(Open Graphics Library)では、頂
点Pのカラーを次のような項の和として計算する。
点Pのカラーを次のような項の和として計算する。
【0005】 (頂点カラー)=(その頂点の材質からの放射)+(その頂点での材質の環境 光特性で拡大縮小される全体的な環境光)+Σ(光源から適当に減衰された環境 光、拡散反射光及び鏡面反射光の影響) ・・・(1) ここにΣは、各光源についての総和を意味する。この式
(1)の右辺第3項は、1つの光源について、次式で表
される。
(1)の右辺第3項は、1つの光源について、次式で表
される。
【0006】 (影響)=(減衰係数)×(スポットライト効果)×(反射光強度L) ・・・(2) この反射光強度Lは、モデル10の頂点Pでのベクトル
eの方向への反射光光強度であり、次式で表される。
eの方向への反射光光強度であり、次式で表される。
【0007】 L=(環境光の項)+(拡散反射光の項)+(鏡面反射光の項) =Aml×Amm+Mln×Dil×Dim+Msn×Spl×Spm ・・・(3) ここに、Amlは環境光の強さであり、Dil及びSplは光
源13から頂点Pへの入射光の強度である。Aml、Dim
及びSpmはそれぞれ環境光反射係数、拡散反射係数及び
鏡面反射係数である。また、方向係数Mln及びMsnは次
式で表される。
源13から頂点Pへの入射光の強度である。Aml、Dim
及びSpmはそれぞれ環境光反射係数、拡散反射係数及び
鏡面反射係数である。また、方向係数Mln及びMsnは次
式で表される。
【0008】Mln=Max[l・n,0] Msn=Max[s・n,0] これらの式中の記号の意味は次の通りである。すなわ
ち、図7に示す如く、頂点Pから視点11への単位ベク
トルをe、頂点Pから光源13への単位ベクトルをl、
頂点Pの法線ベクトルをn(頂点Pを有する平面101
〜104の各単位法線ベクトルの平均値)、ベクトルs
をベクトルlとベクトルeの和の方向の単位ベクトルと
定義する。また、任意のベクトルaとベクトルbとの内
積をa・bで表し、2数cとdの大きい方の値をMax
[c,d]で表す。
ち、図7に示す如く、頂点Pから視点11への単位ベク
トルをe、頂点Pから光源13への単位ベクトルをl、
頂点Pの法線ベクトルをn(頂点Pを有する平面101
〜104の各単位法線ベクトルの平均値)、ベクトルs
をベクトルlとベクトルeの和の方向の単位ベクトルと
定義する。また、任意のベクトルaとベクトルbとの内
積をa・bで表し、2数cとdの大きい方の値をMax
[c,d]で表す。
【0009】
【発明が解決しようとする課題】3次元CGのシェーデ
ィングでは、多面体モデルの1つの頂点について、3原
色の各々につき反射光強度Lの計算を行い、これらに重
みを付けて加算し、光源が複数ある場合にはその各々に
ついてこのような計算を行う必要がある。また、算出さ
れた反射光強度Lを用いて上式(1)を計算する必要が
ある。さらに、多面体モデルの各頂点についてこの計算
を繰り返し、面内での補間計算を行う必要があるので、
高速処理が要求される。
ィングでは、多面体モデルの1つの頂点について、3原
色の各々につき反射光強度Lの計算を行い、これらに重
みを付けて加算し、光源が複数ある場合にはその各々に
ついてこのような計算を行う必要がある。また、算出さ
れた反射光強度Lを用いて上式(1)を計算する必要が
ある。さらに、多面体モデルの各頂点についてこの計算
を繰り返し、面内での補間計算を行う必要があるので、
高速処理が要求される。
【0010】従来では、このような計算をソフトウエア
により行っていたので、処理速度が遅いという問題があ
った。頂点カラーの計算を全てハードウェアで行うと、
その構成が複雑になる。
により行っていたので、処理速度が遅いという問題があ
った。頂点カラーの計算を全てハードウェアで行うと、
その構成が複雑になる。
【0011】本発明の目的は、このような問題点に鑑
み、簡単なハードウエア構成により3次元CGのシェー
ディングを高速処理することが可能なシェーディング演
算装置及びこれを用いた画像処理装置を提供することに
ある。
み、簡単なハードウエア構成により3次元CGのシェー
ディングを高速処理することが可能なシェーディング演
算装置及びこれを用いた画像処理装置を提供することに
ある。
【0012】
【課題を解決するための手段及びその作用効果】請求項
1のシェーディング演算装置では、第1〜第3入力値の
積を算出する乗算回路と、該乗算回路の出力値と累積加
算値との和を算出する加算回路と、該乗算回路の算出結
果の第1回と第2回で該加算回路の出力値を該累積加算
値とし、該乗算回路の算出結果の第3回で該累積加算値
をゼロクリアすると共に該加算回路の出力値をシェーデ
ィング演算装置の出力値とする制御回路とを有する。
1のシェーディング演算装置では、第1〜第3入力値の
積を算出する乗算回路と、該乗算回路の出力値と累積加
算値との和を算出する加算回路と、該乗算回路の算出結
果の第1回と第2回で該加算回路の出力値を該累積加算
値とし、該乗算回路の算出結果の第3回で該累積加算値
をゼロクリアすると共に該加算回路の出力値をシェーデ
ィング演算装置の出力値とする制御回路とを有する。
【0013】例えば、2n倍された入射光強度(整数)
と2n倍された反射係数(整数)と方向係数(固定小数
点数)とがそれぞれ第1〜第3入力値として乗算回路に
供給される。環境光、拡散反射光及び鏡面反射光につい
て順次、これら3数が乗算回路に供給される。環境光は
反射係数が1.0であるとみなす。上記第1回では、1
つ前の反射光強度計算の第3回において累積加算値がゼ
ロクリアされている。
と2n倍された反射係数(整数)と方向係数(固定小数
点数)とがそれぞれ第1〜第3入力値として乗算回路に
供給される。環境光、拡散反射光及び鏡面反射光につい
て順次、これら3数が乗算回路に供給される。環境光は
反射係数が1.0であるとみなす。上記第1回では、1
つ前の反射光強度計算の第3回において累積加算値がゼ
ロクリアされている。
【0014】請求項1のシェーディング演算装置によれ
ば、簡単なハードウエア構成により上式(3)の反射光
強度Lの値を、ソフトウェアによる場合よりも高速に算
出することができる。さらに、このシェーディング演算
装置と組み合わされて使用される画像プロセッサはシェ
ーディング演算装置と並列して他の処理を行うことがで
きるので、3次元CGのシェーディング(上式(1)の
計算)を高速処理することが可能となる。
ば、簡単なハードウエア構成により上式(3)の反射光
強度Lの値を、ソフトウェアによる場合よりも高速に算
出することができる。さらに、このシェーディング演算
装置と組み合わされて使用される画像プロセッサはシェ
ーディング演算装置と並列して他の処理を行うことがで
きるので、3次元CGのシェーディング(上式(1)の
計算)を高速処理することが可能となる。
【0015】請求項2のシェーディング演算装置では、
請求項1において、上記第1〜第3値をそれぞれ保持し
て上記乗算回路に供給する第1〜第3レジスタと、該乗
算回路の出力値を保持して上記加算回路に供給する第4
レジスタと、上記累積加算値を保持して該加算回路に供
給する第5レジスタと、上記シェーディング演算装置の
出力値を保持する第6レジスタとを有する。
請求項1において、上記第1〜第3値をそれぞれ保持し
て上記乗算回路に供給する第1〜第3レジスタと、該乗
算回路の出力値を保持して上記加算回路に供給する第4
レジスタと、上記累積加算値を保持して該加算回路に供
給する第5レジスタと、上記シェーディング演算装置の
出力値を保持する第6レジスタとを有する。
【0016】請求項3のシェーディング演算装置では、
請求項2において、上記制御回路は、周期的な第1クロ
ックを上記第1〜4レジスタのクロック入力端に供給
し、該第1クロックのパルスを2個毎に1個間引いたも
のに相当する第2クロックを上記第5レジスタのクロッ
ク入力端に供給し、該第1クロックと該第2クロックと
の排他的論理和に相当する第3クロックを上記第6レジ
スタのクロック入力端及び該第5レジスタのクリア入力
端に供給する。
請求項2において、上記制御回路は、周期的な第1クロ
ックを上記第1〜4レジスタのクロック入力端に供給
し、該第1クロックのパルスを2個毎に1個間引いたも
のに相当する第2クロックを上記第5レジスタのクロッ
ク入力端に供給し、該第1クロックと該第2クロックと
の排他的論理和に相当する第3クロックを上記第6レジ
スタのクロック入力端及び該第5レジスタのクリア入力
端に供給する。
【0017】このシェーディング演算装置によれば、制
御回路の構成が簡単になる。
御回路の構成が簡単になる。
【0018】請求項4のシェーディング演算装置では、
請求項3において、上記乗算回路は、上記第1入力値と
上記第2入力値との積を算出する第1乗算回路と、この
積と上記第3入力値との積を算出する第2乗算回路とを
有する。
請求項3において、上記乗算回路は、上記第1入力値と
上記第2入力値との積を算出する第1乗算回路と、この
積と上記第3入力値との積を算出する第2乗算回路とを
有する。
【0019】このシェーディング演算装置によれば、3
入力乗算回路の構成が簡単になる。
入力乗算回路の構成が簡単になる。
【0020】請求項5のシェーディング演算装置では、
請求項4において、上記第1〜第3入力値はいずれもn
ビットであり、上記第1及び第2乗算回路はいずれも上
位nビットのみ出力する。
請求項4において、上記第1〜第3入力値はいずれもn
ビットであり、上記第1及び第2乗算回路はいずれも上
位nビットのみ出力する。
【0021】このシェーディング演算装置によれば、第
1及び第2乗算回路をいずれも、積の上位nビットのみ
算出するように構成すればよいので、その構成が簡単に
なる。また、積の上位nビットのみ算出することによ
り、積←積/2nの除算と近似とを同時に行ったことに
なるので、計算が簡単化される。
1及び第2乗算回路をいずれも、積の上位nビットのみ
算出するように構成すればよいので、その構成が簡単に
なる。また、積の上位nビットのみ算出することによ
り、積←積/2nの除算と近似とを同時に行ったことに
なるので、計算が簡単化される。
【0022】請求項6のシェーディング演算装置では、
請求項5において、上記第1及び第2入力値は整数であ
り、上記第3入力値は固定小数点数である。
請求項5において、上記第1及び第2入力値は整数であ
り、上記第3入力値は固定小数点数である。
【0023】このシェーディング演算装置によれば、1
である場合も含めて第3入力値を固定小数点数とするこ
とにより、累積加算において小数点位置合わせが不要に
なるので、ハードウエア構成がさらに簡単になる。
である場合も含めて第3入力値を固定小数点数とするこ
とにより、累積加算において小数点位置合わせが不要に
なるので、ハードウエア構成がさらに簡単になる。
【0024】請求項7のシェーディング演算装置では、
請求項1乃至6のいずれか1つにおいて、3次元CGの
スムーズシェーディングにおける頂点カラーを計算する
ために、3原色の各々のデータに対応して上記乗算回路
及び上記加算回路を3組有し、上記制御回路が該3組に
ついて共通に用いられる。
請求項1乃至6のいずれか1つにおいて、3次元CGの
スムーズシェーディングにおける頂点カラーを計算する
ために、3原色の各々のデータに対応して上記乗算回路
及び上記加算回路を3組有し、上記制御回路が該3組に
ついて共通に用いられる。
【0025】このシェーディング演算装置によれば、1
つのシェーディング演算装置で3原色の各々に対する反
射光強度Lの値を同時に算出することができる。また、
制御回路を3原色の各々について共通に用いることがで
きるので、構成が簡単になる。
つのシェーディング演算装置で3原色の各々に対する反
射光強度Lの値を同時に算出することができる。また、
制御回路を3原色の各々について共通に用いることがで
きるので、構成が簡単になる。
【0026】請求項8のシェーディング演算装置では、
請求項2乃至7のいずれか1つにおいて、上記第1〜3
レジスタの前段に備えられたFIFOバッファ記憶部を
さらに有する。
請求項2乃至7のいずれか1つにおいて、上記第1〜3
レジスタの前段に備えられたFIFOバッファ記憶部を
さらに有する。
【0027】請求項9の画像処理装置では、シェーディ
ング処理を行う画像プロセッサと、該画像プロセッサか
ら供給される上記第1〜第3入力値に基づいて反射光強
度を算出しこれを該画像プロセッサへ供給する請求項8
記載のシェーディング演算装置とを有する。
ング処理を行う画像プロセッサと、該画像プロセッサか
ら供給される上記第1〜第3入力値に基づいて反射光強
度を算出しこれを該画像プロセッサへ供給する請求項8
記載のシェーディング演算装置とを有する。
【0028】
【発明の実施の形態】以下、図面に基づいて本発明の実
施形態を説明する。
施形態を説明する。
【0029】[第1実施形態]上述の頂点カラーの計算
式(1)においては、上式(3)の反射光強度Lの計算
時間が最も長くなる。そこで、この反射光強度Lの値を
ハードウエアで計算する。
式(1)においては、上式(3)の反射光強度Lの計算
時間が最も長くなる。そこで、この反射光強度Lの値を
ハードウエアで計算する。
【0030】式(3)において、環境光の項は、(入射
光強度)×(反射係数)であって、2数の積であるが、
拡散反射光の項及び鏡面反射光の項は、(入射光強度)
×(反射係数)×(方向係数)であって、いずれも3数
の積である。また、方向係数は1以下の数である。そこ
で、環境光の項については、(方向係数)=1を乗じて
3数の積とし、各項の計算を同一ハードウエアで順次行
うことにより、ハードウエア構成を簡単化する。
光強度)×(反射係数)であって、2数の積であるが、
拡散反射光の項及び鏡面反射光の項は、(入射光強度)
×(反射係数)×(方向係数)であって、いずれも3数
の積である。また、方向係数は1以下の数である。そこ
で、環境光の項については、(方向係数)=1を乗じて
3数の積とし、各項の計算を同一ハードウエアで順次行
うことにより、ハードウエア構成を簡単化する。
【0031】前記1も含め方向係数はすべて固定小数点
数とする。このようにすれば、累積加算において小数点
位置合わせが不要になるので、ハードウエア構成がさら
に簡単になる。
数とする。このようにすれば、累積加算において小数点
位置合わせが不要になるので、ハードウエア構成がさら
に簡単になる。
【0032】図1は、このような考えを採用したシェー
ディング演算装置20の概略構成を示すブロック図であ
る。
ディング演算装置20の概略構成を示すブロック図であ
る。
【0033】シェーディング演算装置20は、演算回路
として乗算回路21と加算回路22とを備えている。乗
算回路21は、上記各項の3数の積を算出するためのも
のであり、加算回路22は、この積と、前回までの積の
累積加算値との和を算出するためのものである。
として乗算回路21と加算回路22とを備えている。乗
算回路21は、上記各項の3数の積を算出するためのも
のであり、加算回路22は、この積と、前回までの積の
累積加算値との和を算出するためのものである。
【0034】シェーディング演算装置20はさらに、デ
ータ保持用のレジスタR1〜R6を備えている。レジス
タR1〜R3はそれぞれ、入力される入射光強度、反射
係数及び方向係数を保持し、データD1〜D3として乗
算回路21に供給する。レジスタR4は、乗算回路21
から出力される積を保持し、データD4として加算回路
22の一方の入力端に供給する。レジスタR5は、加算
回路22から出力される前回までの累積加算値を保持
し、データD5として加算回路22の他方の入力端に供
給する。この累積加算値は、レジスタR6にも供給され
る。
ータ保持用のレジスタR1〜R6を備えている。レジス
タR1〜R3はそれぞれ、入力される入射光強度、反射
係数及び方向係数を保持し、データD1〜D3として乗
算回路21に供給する。レジスタR4は、乗算回路21
から出力される積を保持し、データD4として加算回路
22の一方の入力端に供給する。レジスタR5は、加算
回路22から出力される前回までの累積加算値を保持
し、データD5として加算回路22の他方の入力端に供
給する。この累積加算値は、レジスタR6にも供給され
る。
【0035】レジスタR1〜R6はいずれもnビット、
例えばn=8である。レジスタR1及びR2に供給され
るデータはいずれも(2n−1)倍された整数である。
これに対し、レジスタR3に供給されるMln及びSpmは
いずれも、固定少数点数である。
例えばn=8である。レジスタR1及びR2に供給され
るデータはいずれも(2n−1)倍された整数である。
これに対し、レジスタR3に供給されるMln及びSpmは
いずれも、固定少数点数である。
【0036】乗算回路21は、積の上位nビットのみ算
出するように、構成が簡単化されている。また、積の上
位nビットのみ算出することにより、積←積/2nの除
算と近似とを同時に行ったことになるので、計算が簡単
化される。乗算回路21の出力は、整数値である。
出するように、構成が簡単化されている。また、積の上
位nビットのみ算出することにより、積←積/2nの除
算と近似とを同時に行ったことになるので、計算が簡単
化される。乗算回路21の出力は、整数値である。
【0037】乗算回路21は、例えば図2に示す如く、
データD1とD2の積を算出する乗算回路211と、こ
の積とデータD3との積を算出する乗算回路212とを
備えている。乗算回路211及び212はいずれも、そ
の積の上位nビットのみ算出するように、構成が簡単化
されている。
データD1とD2の積を算出する乗算回路211と、こ
の積とデータD3との積を算出する乗算回路212とを
備えている。乗算回路211及び212はいずれも、そ
の積の上位nビットのみ算出するように、構成が簡単化
されている。
【0038】乗算回路21及び加算回路22は、クロッ
クと非同期で動作する。これに対し、レジスタR1〜R
6は制御回路23からのクロックに同期して動作する。
クと非同期で動作する。これに対し、レジスタR1〜R
6は制御回路23からのクロックに同期して動作する。
【0039】レジスタR1〜R4のクロック入力端CK
には、制御回路23から図3に示すような周期的なクロ
ックCLK1が供給される。レジスタR5のクロック入
力端CKには、制御回路23から図3に示すような、ク
ロックCLK1のパルスを2個毎に1個間引いたものに
相当するクロックCLK2が供給される。レジスタR5
のクリア入力端CLR及びレジスタR6のクロック入力
端CKには、制御回路23から図3に示すような、クロ
ックCLK1とクロックCLK2との排他的論理和に相
当するクロックCLK3が供給される。
には、制御回路23から図3に示すような周期的なクロ
ックCLK1が供給される。レジスタR5のクロック入
力端CKには、制御回路23から図3に示すような、ク
ロックCLK1のパルスを2個毎に1個間引いたものに
相当するクロックCLK2が供給される。レジスタR5
のクリア入力端CLR及びレジスタR6のクロック入力
端CKには、制御回路23から図3に示すような、クロ
ックCLK1とクロックCLK2との排他的論理和に相
当するクロックCLK3が供給される。
【0040】本第1実施形態では、3原色の各々に対す
る上式(3)の計算を並列処理するために、上記のよう
に構成されたシェーディング演算装置20を3個用い
る。
る上式(3)の計算を並列処理するために、上記のよう
に構成されたシェーディング演算装置20を3個用い
る。
【0041】次に、このシェーディング演算装置20の
動作を、図3及び図4に示すタイムチャートを参照して
説明する。図3及び図4中のDijは、T=jで変化し
たデータDiを示している。
動作を、図3及び図4に示すタイムチャートを参照して
説明する。図3及び図4中のDijは、T=jで変化し
たデータDiを示している。
【0042】(T=0)クロックCLK1の立ち上がり
のタイミングで、レジスタR1〜R3にそれぞれAml、
Amm及び1.0が保持され、これらがデータD1〜D3
として乗算回路21に供給される。
のタイミングで、レジスタR1〜R3にそれぞれAml、
Amm及び1.0が保持され、これらがデータD1〜D3
として乗算回路21に供給される。
【0043】(T=1)クロックCLK1の立ち上がり
時点迄に、乗算回路21から出力される積が確定してお
り、これがクロックCLK1の立ち上がりのタイミング
でレジスタR4に保持され、その値D4=Aml×Amm×
1.0が加算回路22の一方の入力端に供給される。ま
た、クロックCLK3の立ち上がりのタイミングでレジ
スタR5がゼロクリアされ、D5=0が加算回路22の
他方の入力端に供給される。他方では、クロックCLK
1の立ち上がりのタイミングでレジスタR1〜R3にそ
れぞれDil、Dim及びMlnが保持され、これらがデータ
D1〜D3として乗算回路21に供給される。
時点迄に、乗算回路21から出力される積が確定してお
り、これがクロックCLK1の立ち上がりのタイミング
でレジスタR4に保持され、その値D4=Aml×Amm×
1.0が加算回路22の一方の入力端に供給される。ま
た、クロックCLK3の立ち上がりのタイミングでレジ
スタR5がゼロクリアされ、D5=0が加算回路22の
他方の入力端に供給される。他方では、クロックCLK
1の立ち上がりのタイミングでレジスタR1〜R3にそ
れぞれDil、Dim及びMlnが保持され、これらがデータ
D1〜D3として乗算回路21に供給される。
【0044】(T=2)クロックCLK2の立ち上がり
時点迄に、加算回路22から出力される和Aml×Ammが
確定しており、これが累積加算値としてクロックCLK
2の立ち上がりのタイミングでレジスタR5に保持され
る。これと同時に、すなわち、クロックCLK1の立ち
上がりのタイミングで、レジスタR4にDil×Dim×M
lnが保持され、レジスタR1〜R3にそれぞれSpl、S
pm及びMsnが保持される。
時点迄に、加算回路22から出力される和Aml×Ammが
確定しており、これが累積加算値としてクロックCLK
2の立ち上がりのタイミングでレジスタR5に保持され
る。これと同時に、すなわち、クロックCLK1の立ち
上がりのタイミングで、レジスタR4にDil×Dim×M
lnが保持され、レジスタR1〜R3にそれぞれSpl、S
pm及びMsnが保持される。
【0045】(T=3)クロックCLK2の立ち上がり
のタイミングでレジスタR5に累積加算値(Aml×Amm
+Dil×Dim×Mln)が保持される。クロックCLK1
の立ち上がりのタイミングで、レジスタR4にSpl×S
pm×Msnが保持され、レジスタR1〜R3にそれぞれ次
の反射光強度Lの値を計算するための(第2組の)Am
l、Amm及び1が保持され、これらがデータD1〜D3
として乗算回路21に供給される。
のタイミングでレジスタR5に累積加算値(Aml×Amm
+Dil×Dim×Mln)が保持される。クロックCLK1
の立ち上がりのタイミングで、レジスタR4にSpl×S
pm×Msnが保持され、レジスタR1〜R3にそれぞれ次
の反射光強度Lの値を計算するための(第2組の)Am
l、Amm及び1が保持され、これらがデータD1〜D3
として乗算回路21に供給される。
【0046】(T=4)クロックCLK3の立ち上がり
のタイミングでレジスタR6に、反射光強度である累積
加算値L=(Aml×Amm+Dil×Dim×Mln+Spl×S
pm×Msn)が保持され、データD6としてシェーディン
グ演算装置20から出力される。また、クロックCLK
3の立ち上がりのタイミングでレジスタR5がゼロクリ
アされ、D5=0が加算回路22の他方の入力端に供給
される。他方では、クロックCLK1の立ち上がりのタ
イミングで、レジスタR4に第2組のD4=Aml×Amm
が保持され、レジスタR1〜R3にそれぞれ第2組のD
il、Dim及びMlnが保持され、これらがデータD1〜D
3として乗算回路21に供給される。
のタイミングでレジスタR6に、反射光強度である累積
加算値L=(Aml×Amm+Dil×Dim×Mln+Spl×S
pm×Msn)が保持され、データD6としてシェーディン
グ演算装置20から出力される。また、クロックCLK
3の立ち上がりのタイミングでレジスタR5がゼロクリ
アされ、D5=0が加算回路22の他方の入力端に供給
される。他方では、クロックCLK1の立ち上がりのタ
イミングで、レジスタR4に第2組のD4=Aml×Amm
が保持され、レジスタR1〜R3にそれぞれ第2組のD
il、Dim及びMlnが保持され、これらがデータD1〜D
3として乗算回路21に供給される。
【0047】このような処理が繰り返して行われること
により反射光強度Lの値が順次算出される。第1組のデ
ータを用いて反射光強度Lの値を得るのにクロックCL
K1の4周期を必要とするが、パイプライン処理が行わ
れているので、第2組以降のデータを用いて反射光強度
Lの値を得るのに必要な時間は、図3及び図4に示す如
く、クロックCLK1の3周期である。
により反射光強度Lの値が順次算出される。第1組のデ
ータを用いて反射光強度Lの値を得るのにクロックCL
K1の4周期を必要とするが、パイプライン処理が行わ
れているので、第2組以降のデータを用いて反射光強度
Lの値を得るのに必要な時間は、図3及び図4に示す如
く、クロックCLK1の3周期である。
【0048】本第1実施形態によれば、図1に示すよう
な簡単なハードウエア構成により上式(3)の反射光強
度Lの値を、ソフトウェアによる場合よりも高速に算出
することができる。
な簡単なハードウエア構成により上式(3)の反射光強
度Lの値を、ソフトウェアによる場合よりも高速に算出
することができる。
【0049】なお、1つのシェーディング演算装置20
を用い、三原色の各々に対応した反射光強度Lの値をシ
ーケンシャルに算出してもよい。
を用い、三原色の各々に対応した反射光強度Lの値をシ
ーケンシャルに算出してもよい。
【0050】[第2実施形態]図5は、本発明の第2実
施形態のシェーディング演算装置20Aと画像プロセッ
サ30との組の画像装置概略構成を示すブロック図であ
る。
施形態のシェーディング演算装置20Aと画像プロセッ
サ30との組の画像装置概略構成を示すブロック図であ
る。
【0051】シェーディング演算装置20Aは、レジス
タR1〜R3の前段に、FIFOのバッファメモリ又は
バッファレジスタ(データキュー)23を備えている。
タR1〜R3の前段に、FIFOのバッファメモリ又は
バッファレジスタ(データキュー)23を備えている。
【0052】画像プロセッサ30は、シェーディング演
算装置20Aの助けを借りて3次元CGのシェーディン
グ処理を行う。画像プロセッサ30は、シェーディング
演算装置20AのFIFOバッファ23に、図1の装置
20へのデータを供給し、装置20Aから反射光強度L
を受け取る。
算装置20Aの助けを借りて3次元CGのシェーディン
グ処理を行う。画像プロセッサ30は、シェーディング
演算装置20AのFIFOバッファ23に、図1の装置
20へのデータを供給し、装置20Aから反射光強度L
を受け取る。
【0053】この第2実施形態によれば、FIFOバッ
ファ23により画像プロセッサ30とシェーディング演
算装置20Aとのシステムの処理速度が向上する。
ファ23により画像プロセッサ30とシェーディング演
算装置20Aとのシステムの処理速度が向上する。
【0054】また、画像プロセッサ30はシェーディン
グ演算装置20と並列して他の処理を行うことができる
ので、3次元CGのシェーディングを高速処理すること
が可能となる。
グ演算装置20と並列して他の処理を行うことができる
ので、3次元CGのシェーディングを高速処理すること
が可能となる。
【0055】[第3実施形態]図6は、本発明の第3実
施形態のシェーディング演算装置20Bを示すブロック
図である。
施形態のシェーディング演算装置20Bを示すブロック
図である。
【0056】この装置20Bでは、制御回路23以外に
ついて、3原色の各々に対応して図1のシェーディング
演算装置20内の構成を3組揃え、制御回路23をこの
3組に共通に用いている。図6中、符号に付したR、G
及びBはそれぞれ3原色の赤色、緑色及び青色に関する
ものであることを示している。
ついて、3原色の各々に対応して図1のシェーディング
演算装置20内の構成を3組揃え、制御回路23をこの
3組に共通に用いている。図6中、符号に付したR、G
及びBはそれぞれ3原色の赤色、緑色及び青色に関する
ものであることを示している。
【0057】乗算回路21Aは、3原色の各々に対応し
て3入力の乗算回路21R、21G及び21Bを備えて
いる。加算回路22Aは、3原色の各々に対応して2入
力の加算回路22R、22G及び22Bを備えている。
i=1〜6の各々について、レジスタRiAは、3原色
の各々に対応したレジスタフィールドRiR、RiG及
びRiBを備えている。制御回路23から各レジスタへ
のクロックの供給は、3原色の各々について図1の場合
と同じである。
て3入力の乗算回路21R、21G及び21Bを備えて
いる。加算回路22Aは、3原色の各々に対応して2入
力の加算回路22R、22G及び22Bを備えている。
i=1〜6の各々について、レジスタRiAは、3原色
の各々に対応したレジスタフィールドRiR、RiG及
びRiBを備えている。制御回路23から各レジスタへ
のクロックの供給は、3原色の各々について図1の場合
と同じである。
【0058】本第3実施形態によれば、1つのシェーデ
ィング演算装置20Bで3原色の各々に対する反射光強
度Lの値を同時に算出することができる。また、制御回
路23を3原色の各々について共通に用いることができ
るので、図1のシェーディング演算装置20を3組揃え
るよりも構成が簡単になる。
ィング演算装置20Bで3原色の各々に対する反射光強
度Lの値を同時に算出することができる。また、制御回
路23を3原色の各々について共通に用いることができ
るので、図1のシェーディング演算装置20を3組揃え
るよりも構成が簡単になる。
【図1】本発明の第1実施形態のシェーディング演算装
置概略構成を示すブロック図である。
置概略構成を示すブロック図である。
【図2】図1中の乗算回路の概略構成例を示すブロック
図である。
図である。
【図3】図1の装置の動作を示すタイムチャートであ
る。
る。
【図4】図3の続きを示すタイムチャートである。
【図5】本発明の第2実施形態の画像処理装置の概略構
成を示すブロック図である。
成を示すブロック図である。
【図6】本発明の第3実施形態のシェーディング演算装
置概略構成を示すブロック図である。
置概略構成を示すブロック図である。
【図7】3次元CGのシェーディングにおける従来の頂
点カラー計算の説明図である。
点カラー計算の説明図である。
【符号の説明】 10 モデル 11 視点 12 スクリーン 13 光源 101〜104 平面 20、20A、20B シェーディング演算装置 21、21A、211、212、21R、21G、21
B 乗算回路 22、22A、22R、22G、22B 加算回路 R1〜R6、R1A〜R6A レジスタ 23 制御回路 D1〜D6 データ
B 乗算回路 22、22A、22R、22G、22B 加算回路 R1〜R6、R1A〜R6A レジスタ 23 制御回路 D1〜D6 データ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 三浦 栄介 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B080 AA13 GA11
Claims (9)
- 【請求項1】 第1〜第3入力値の積を算出する乗算回
路と、 該乗算回路の出力値と累積加算値との和を算出する加算
回路と、 該乗算回路の算出結果の第1回と第2回で該加算回路の
出力値を該累積加算値とし、該乗算回路の算出結果の第
3回で該累積加算値をゼロクリアすると共に該加算回路
の出力値をシェーディング演算装置の出力値とする制御
回路と、 を有することを特徴とするシェーディング演算装置。 - 【請求項2】 上記第1〜第3値をそれぞれ保持して上
記乗算回路に供給する第1〜第3レジスタと、 該乗算回路の出力値を保持して上記加算回路に供給する
第4レジスタと、 上記累積加算値を保持して該加算回路に供給する第5レ
ジスタと、 上記シェーディング演算装置の出力値を保持する第6レ
ジスタと、 を有することを特徴とする請求項1記載のシェーディン
グ演算装置。 - 【請求項3】 上記制御回路は、周期的な第1クロック
を上記第1〜4レジスタのクロック入力端に供給し、該
第1クロックのパルスを2個毎に1個間引いたものに相
当する第2クロックを上記第5レジスタのクロック入力
端に供給し、該第1クロックと該第2クロックとの排他
的論理和に相当する第3クロックを上記第6レジスタの
クロック入力端及び該第5レジスタのクリア入力端に供
給することを特徴とする請求項2記載のシェーディング
演算装置。 - 【請求項4】 上記乗算回路は、 上記第1入力値と上記第2入力値との積を算出する第1
乗算回路と、 この積と上記第3入力値との積を算出する第2乗算回路
と、 を有することを特徴とする請求項3記載のシェーディン
グ演算装置。 - 【請求項5】 上記第1〜第3入力値はいずれもnビッ
トであり、上記第1及び第2乗算回路はいずれも上位n
ビットのみ出力することを特徴とする請求項4記載のシ
ェーディング演算装置。 - 【請求項6】 上記第1及び第2入力値は整数であり、
上記第3入力値は固定小数点数であることを特徴とする
請求項5記載のシェーディング演算装置。 - 【請求項7】 3次元CGのスムーズシェーディングに
おける頂点カラーを計算するために、3原色の各々のデ
ータに対応して上記乗算回路及び上記加算回路を3組有
し、上記制御回路が該3組について共通に用いられるこ
とを特徴とする請求項1乃至6のいずれか1つに記載の
シェーディング演算装置。 - 【請求項8】 上記第1〜3レジスタの前段に備えられ
たFIFOバッファ記憶部をさらに有することを特徴と
する請求項2乃至7のいずれか1つに記載のシェーディ
ング演算装置。 - 【請求項9】 シェーディング処理を行う画像プロセッ
サと、 該画像プロセッサから供給される上記第1〜第3入力値
に基づいて反射光強度を算出しこれを該画像プロセッサ
へ供給する請求項8記載のシェーディング演算装置と、 を有することを特徴とする画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10309740A JP2000137828A (ja) | 1998-10-30 | 1998-10-30 | シェーディング演算装置及びこれを用いた画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10309740A JP2000137828A (ja) | 1998-10-30 | 1998-10-30 | シェーディング演算装置及びこれを用いた画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000137828A true JP2000137828A (ja) | 2000-05-16 |
Family
ID=17996738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10309740A Withdrawn JP2000137828A (ja) | 1998-10-30 | 1998-10-30 | シェーディング演算装置及びこれを用いた画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000137828A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7786993B2 (en) | 2001-10-10 | 2010-08-31 | Sony Computer Entertainment America Llc | Environment mapping |
US8133115B2 (en) | 2003-10-22 | 2012-03-13 | Sony Computer Entertainment America Llc | System and method for recording and displaying a graphical path in a video game |
US8204272B2 (en) | 2006-05-04 | 2012-06-19 | Sony Computer Entertainment Inc. | Lighting control of a user environment via a display device |
US8243089B2 (en) | 2006-05-04 | 2012-08-14 | Sony Computer Entertainment Inc. | Implementing lighting control of a user environment |
US8284310B2 (en) | 2005-06-22 | 2012-10-09 | Sony Computer Entertainment America Llc | Delay matching in audio/video systems |
US8289325B2 (en) | 2004-10-06 | 2012-10-16 | Sony Computer Entertainment America Llc | Multi-pass shading |
US10786736B2 (en) | 2010-05-11 | 2020-09-29 | Sony Interactive Entertainment LLC | Placement of user information in a game space |
-
1998
- 1998-10-30 JP JP10309740A patent/JP2000137828A/ja not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7786993B2 (en) | 2001-10-10 | 2010-08-31 | Sony Computer Entertainment America Llc | Environment mapping |
US8133115B2 (en) | 2003-10-22 | 2012-03-13 | Sony Computer Entertainment America Llc | System and method for recording and displaying a graphical path in a video game |
US8289325B2 (en) | 2004-10-06 | 2012-10-16 | Sony Computer Entertainment America Llc | Multi-pass shading |
US8284310B2 (en) | 2005-06-22 | 2012-10-09 | Sony Computer Entertainment America Llc | Delay matching in audio/video systems |
US8204272B2 (en) | 2006-05-04 | 2012-06-19 | Sony Computer Entertainment Inc. | Lighting control of a user environment via a display device |
US8243089B2 (en) | 2006-05-04 | 2012-08-14 | Sony Computer Entertainment Inc. | Implementing lighting control of a user environment |
US10786736B2 (en) | 2010-05-11 | 2020-09-29 | Sony Interactive Entertainment LLC | Placement of user information in a game space |
US11478706B2 (en) | 2010-05-11 | 2022-10-25 | Sony Interactive Entertainment LLC | Placement of user information in a game space |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100278565B1 (ko) | 그래픽 데이터 계산 수행 방법 및 그에 이용되는 데이터 프로세서 | |
US6141013A (en) | Rapid computation of local eye vectors in a fixed point lighting unit | |
US6417858B1 (en) | Processor for geometry transformations and lighting calculations | |
US6377265B1 (en) | Digital differential analyzer | |
US6115047A (en) | Method and apparatus for implementing efficient floating point Z-buffering | |
US5862066A (en) | Methods and apparatus for fast check of floating point zero or negative zero | |
US6806886B1 (en) | System, method and article of manufacture for converting color data into floating point numbers in a computer graphics pipeline | |
US6157393A (en) | Apparatus and method of directing graphical data to a display device | |
US6597357B1 (en) | Method and system for efficiently implementing two sided vertex lighting in hardware | |
EP0377639B1 (en) | Quadratic interpolation for shaded image generation | |
JP2000137828A (ja) | シェーディング演算装置及びこれを用いた画像処理装置 | |
US6611265B1 (en) | Multi-stage fixed cycle pipe-lined lighting equation evaluator | |
US5892516A (en) | Perspective texture mapping circuit having pixel color interpolation mode and method thereof | |
US20030160799A1 (en) | Reconfigurable hardware filter for texture mapping and image processing | |
US20020126127A1 (en) | Lighting processing circuitry for graphics adapter | |
US6559856B1 (en) | Apparatus for fixed-point graphics and method therefor | |
JP2001222712A (ja) | 画像処理装置、畳み込み積分回路及びその方法 | |
Schneider | A processor for an object‐oriented rendering system | |
US6784895B1 (en) | Programmable multiple texture combine circuit for a graphics processing system and method for use thereof | |
US6885375B2 (en) | Stalling pipelines in large designs | |
US6654777B1 (en) | Single precision inverse square root generator | |
US7061494B1 (en) | Method and apparatus for hardware optimization of graphics pipeline functions | |
US6822656B1 (en) | Sphere mode texture coordinate generator | |
KR100272093B1 (ko) | 그래픽스 시스템의 트라이리니어 텍스쳐 맵핑처리장치 | |
JPH0721155A (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: 20060110 |