JP3387750B2 - シェーディング処理装置 - Google Patents

シェーディング処理装置

Info

Publication number
JP3387750B2
JP3387750B2 JP23202096A JP23202096A JP3387750B2 JP 3387750 B2 JP3387750 B2 JP 3387750B2 JP 23202096 A JP23202096 A JP 23202096A JP 23202096 A JP23202096 A JP 23202096A JP 3387750 B2 JP3387750 B2 JP 3387750B2
Authority
JP
Japan
Prior art keywords
light source
value
vector
source vector
register
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.)
Expired - Fee Related
Application number
JP23202096A
Other languages
English (en)
Other versions
JPH1079046A (ja
Inventor
尚人 白石
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP23202096A priority Critical patent/JP3387750B2/ja
Priority to US08/919,304 priority patent/US6081274A/en
Publication of JPH1079046A publication Critical patent/JPH1079046A/ja
Application granted granted Critical
Publication of JP3387750B2 publication Critical patent/JP3387750B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】この発明は、コンピュータに
よる画像生成に関し、CRT画面などにシェーディング
処理して画像を表示するシェーディング処理装置に関す
る。 【0002】 【従来の技術】コンピュータグラフィックスの分野にお
いては、立体を構成する各面に対して、光源位置や周囲
環境条件によりポリゴンに陰影(シェーディング)を付
加し、より現実的な立体の表現が試みられている。 【0003】従来、リアルタイムにコンピュータグラフ
ィックスのシェーディング、ライティング処理を行うも
のとして、平行光源によるシェーディング処理が演算処
理量が少ないため、良く使用されている。平行光源を用
い、シェーディング処理演算を高速に行うシェーディン
グ処理方法が特開昭61−103277号公報、特開昭
62−204386号公報等に開示されている。 【0004】従来、リアルタイムのコンピュータグラフ
ィックス処理装置は、デジタル・シグナル・プロセッサ
(DSP)などで実現するソフトウェアで行われること
が多い。しかしながら、点光源やスポットライトなどの
ような多くの演算を必要とする処理は、DSPなどで実
現するソフトウェアではかなりの時間を必要としてい
た。 【0005】特に、点光源を用いたシェーディング処理
においては、ポリゴン端点と点光源からの正規化された
単位光ベクトルを求めるときに、下記数1に示すよう
に、光ベクトルを正規化するためのルート演算が必要で
ある。このルート演算は多くの演算時間を必要とする。 【0006】 【数1】 DX=LPX−PX …(1) LNX=DX/{(DX)2+(DY)2+(DZ)21/2 …(2) DY=LPY−PY …(3) LNY=DY/{(DX)2+(DY)2+(DZ)21/2 …(4) DZ=LPZ−PZ …(5) LNZ=DZ/{(DX)2+(DY)2+(DZ)21/2 …(6) 【0007】ここで、DXは光ベクトルのX値、PXは
ポリゴン端点のXアドレス値、LPXは点光源のXアド
レス値、LNXは正規化された光ベクトルのX値、DY
は光ベクトルのY値、PYはポリゴン端点のYアドレス
値、LPYは点光源のYアドレス値、LNYは正規化さ
れた光ベクトルのY値、DZは光ベクトルのZ値、PZ
はポリゴン端点のZアドレス値、LPZは点光源のZア
ドレス値、LNZは正規化された光ベクトルのZ値であ
る。 【0008】 【発明が解決しようとする課題】上記した数1に示すル
ート演算処理をハードウェアで構成する場合には、基本
的に多くのハードウェアを必要とする。 【0009】ところで、通常フルカラーではR,G,B
各8ビットの精度で十分であり、シェーディング処理に
おいては、あまり多くの精度を必要にしていない。 【0010】この発明は、上述した従来の問題点に鑑み
なされたものにして、光源ベクトルのビット長を情報量
をあまり削らずに減らし、正規化された光源ベクトルを
小さい演算装置で可能にし、高速でハードウェアの小さ
いシェーディング処理装置を提供することを目的とす
る。 【0011】 【課題を解決するための手段】この発明は、光源座標と
ポリゴン端点座標から点光源の正規化された光源ベクト
ルを求める光源ベクトル生成手段と、この光源ベクトル
生成手段により算出した光源ベクトルとポリゴンの法線
ベクトルとの内積に拡散反射の係数を掛けて拡散反射に
よる光強さを求める拡散反射手段と、この拡散反射処理
手段からの拡散反射係数と視線ベクトルに基づき鏡面反
射係数を求める鏡面反射処理手段と、拡散反射処理手段
で求めた拡散反射係数と鏡面反射処理手段で求めた鏡面
反射係数から光強度を求めポリゴン面または端点のシェ
ーディングされた色情報を算出するシェーディング処理
装置であって、前記光源ベクトル生成手段は、光源座標
の座標値とポリゴン端点座標の座標値との差分値を取り
正規化されていない光源ベクトルの各成分の値を求める
手段と、求めた光源ベクトルの各成分の値のMSB側か
ら”1”が現れるまでの”0”値をカウントする手段
と、このカウント手段により求めた”0”のカウント値
の最小値を求める最小値算出手段と、この最小値算出手
段により求めた最小値により光源ベクトルの各成分の値
をシフトするシフト手段と、このシフト手段によりシフ
トされた光源ベクトルの各成分の値から所定の上位ビッ
トを取りビット長を縮小するビット長縮小化手段と、
の縮小化された光源ベクトルを用いて光源ベクトルを正
規化する正規化手段と、を備えたことを特徴とする。 【0012】 【0013】上記したように、ビット長を小さくして且
つ高品質の点光源/スポットライトなどの処理を行うた
めに、ビット長縮小化手段を使用することにより、ビッ
ト長の小さいルート演算装置により、高速でハードウェ
アの小さいシェーディング処理装置を提供することがで
きる。 【0014】 【発明の実施の形態】以下、この発明の実施の形態につ
き図面を参照して説明する。図1は、この発明のシェー
ディング処理装置を備えた画像描画装置の全体構成を示
すブロック図である。 【0015】この画像描画装置は、CPU1がメインメ
モリ2に格納されたプログラムに基づき全体を制御す
る。CPU1と各ブロックとはバス8にて接続されてい
る。幾何変換/シェーディング処理装置3はリアルタイ
ムのコンピュータグラフィックス処理に必要な視点の座
標とオブジェクト座標とそのオブジェクトを構成するポ
リゴンの端点座標と視線の方向からスクリーン面に投影
される2次元のポリゴンの座標を求める幾何変換処理
と、光源座標とその光源の種類(点光源、平行光源、ス
ポットライトなど)とオブジェクトの座標とそのオブジ
ェクトを構成するポリゴン端点の座標とポリゴン端点の
持つ法線ベクトルなどからポリゴン面やポリゴン端点の
輝度を求めるシェーディング処理を行う。この幾何変換
/シェーディング処理装置3の演算に用いる各座標等の
データはメモリ2に格納されている。 【0016】幾何変換/シェーディング処理装置3にて
演算されたポリゴン端点の2次元X,Y座標とR,G,
B値は描画処理装置4に与えられる。描画処理装置4は
受け取ったポリゴン端点の2次元X,Y座標とR,G,
B値などからCRT6に描画するポリゴンの画像データ
を演算で求め、求めた画像データをフレームメモリ5に
書き込む。この実施の形態においては、アナログスティ
ックなど人の操作をCPU1へ伝えるマンマシンインタ
ーフェース7が設けられている。 【0017】図2は、幾何変換/シェーディング処理装
置3を、DSP3aとシェーディング処理装置3bで構
成し、幾何変換とシェーディングパラメータ生成をセッ
トで行うものである。この図2に示す装置においては、
シェーディング処理として光源ベクトル生成はDSP3
aの演算では処理時間がかかるため、シェーディング処
理装置3bとして別装置としている。シェーディング処
理装置3b及び光源ベクトル生成装置については図3及
び図4に詳しく説明する。 【0018】図3はシェーディング処理装置のブロック
図である。DSP3aより光源座標とポリゴン端点座標
が光源ベクトル生成装置30に与えられる。この光源ベ
クトル生成装置30は光源座標とポリゴン端点座標から
点光源の正規化された光源ベクトルを求める。求めた光
源ベクトルは拡散反射処理装置40に与えられる。拡散
反射処理装置40は、ポリゴンの法線ベクトルと光源ベ
クトルとの内積を求めることにより拡散反射の係数を求
める。 【0019】拡散反射処理装置40で求めた内積値が鏡
面反射処理装置50及びRGB生成装置60に与えられ
る。鏡面反射処理装置50は、拡散反射処理装置40か
らの内積値とポリゴンの法線ベクトルによりポリゴン面
またはポリゴン端点の反射ベクトルを求め、さらに光源
ベクトルとの減算により鏡面反射の視線ベクトルと反射
光の内積値を求めて鏡面反射係数を求め、RGB生成装
置60に与える。以上の演算は図11に示すような視野
座標上で行っているため、視線ベクトルはX,Y,Z=
0,0,1と決まっているため、この実施の形態におけ
る鏡面反射処理装置50は簡略化している。 【0020】RGB生成装置60は、拡散反射処理装置
40で求めた光源ベクトルとボリゴンの法線ベクトルの
内積にR,G,B成分の拡散反射係数をそれぞれ乗算
し、各R,G,Bの拡散反射値を求める。更にRGB生
成装置60は鏡面反射処理装置50で求めた光源反射ベ
クトルと視線ベクトルとの内積にRGB成分の鏡面反射
係数をそれぞれ乗算し、各R,G,Bの鏡面反射値を求
め、光源の属性がスポットライトであれば図12に示す
ようにスポットライトのスポットライトベクトルと光源
ベクトルとの内積を求め、スポットライトの光強度と
し、各R,G,Bの拡散反射値と鏡面反射値を加えたも
のにこの光強度をそれぞれ乗算し、且つR,G,Bの環
境光を加算したものをそのポリゴン面または端点のR,
G,B色として求める。 【0021】図4は光源ベクトル生成装置を示すブロッ
ク図である。DSP3aより与えられた図12に示すよ
うな光源座標(LPX,LPY,LPZ)の座標値とポ
リゴン端点座標(PX,PY,PZ)の座標値を光源座
標−ポリゴン座標差分演算装置31で差分値を取り、数
1で示すように、正規化されていない光源ベクトル(D
X,DY、DZ)を求め、この光源ベクトル(DX,D
Y、DZ)をbit(ビット)長縮小化装置34に与え
る。 【0022】bit(ビット)長縮小化装置34は、図
13に示すように、光源座標−ポリゴン座標差分演算装
置31で求めた正規化されていない光源ベクトルのX,
Y,Z成分のMSB側から”1”が現れるまでの”0”
値をカウントし、その最小値を求める。この実施の形態
では、同図(a)に示すように、”0”検出がXが7、
Yが5、Zが10であるので、この場合は最小値は5で
ある。この最小値から1つ少なくした分だけシフトす
る。この実施の形態では同図(b)に示すように、(5
−1)bit(ビット)シフトさせる。そして、上位8
ビットのみ取り、16ビットの光源ベクトルの情報量を
8ビットに縮小化する。このように8ビット化すること
により、光源ベクトルの情報量をあまり削らずにビット
長を縮小化することができる。 【0023】この縮小化された光源ベクトルを用いて正
規化装置36にて、数1に基づき光源ベクトルを正規化
する。即ち、bit(ビット)長縮小化装置34で求め
たビット長の縮小されたX,Y,Zの光源ベクトル値を
2乗し、加算した後、平方根演算を行い、その値により
除算することにより正規化された光源ベクトル(LN
X,LNY,LNZ)が算出される。 【0024】次に、光源ベクトル生成装置30の各装置
の具体例を図5ないし図7に従い説明する。 【0025】図5は、光源座標−ポリゴン端点座標差分
演算装置31の具体的回路を示す回路図である。DSP
3aより光源点座標(LPX,LPY,LPZ)が与え
られ、レジスタ311に光源点座標のXアドレス値(L
PX)が、レジスタ312に光源点座標のYアドレス値
(LPY)が、レジスタ313に光源点座標のZアドレ
ス値(LPZ)がそれぞれ格納される。また、DSP3
aよりポリゴン端点座標(PX,PY,PZ)が与えら
れ、レジスタ314にポリゴン端点座標のXアドレス値
(PX)が、レジスタ315にポリゴン端点座標のYア
ドレス値(PY)が、レジスタ316にポリゴン端点座
標のZアドレス値(PZ)がそれぞれ格納される。 【0026】レジスタ311に格納された光源点座標の
Xアドレス値(LPX)とレジスタ314に格納された
ポリゴン端点座標のXアドレス値(PX)とが減算器3
17に与えられ、この減算器317にて光源座標とポリ
ゴン端点座標の差分値の演算、即ち、LPX−PXの演
算が行われ、この演算結果である正規化されていないX
方向の光ベクトル値(DX)をレジスタ320に格納す
る。また、レジスタ312に格納された光源点座標のY
アドレス値(LPY)とレジスタ315に格納されたポ
リゴン端点座標のYアドレス値(PY)とが減算器31
8に与えられ、この減算器318にて光源座標とポリゴ
ン端点座標の差分値、即ち、LPY−PYの演算が行わ
れ、この演算結果である正規化されていないY方向の光
ベクトル値(DY)をレジスタ321に格納する。更
に、レジスタ313に格納された光源点座標のZアドレ
ス値(LPZ)とレジスタ316に格納されたポリゴン
端点座標のZアドレス値(PZ)とが減算器319に与
えられ、この減算器319にて光源座標とポリゴン端点
座標の差分値、即ち、LPZ−PZの演算が行われ、こ
の演算結果である正規化されていないZ方向の光ベクト
ル値(DZ)をレジスタ322に格納する。レジスタ3
20、321、322に格納された正規化されていない
光源ベクトル値(DX,DY,DZ)はbit(ビッ
ト)長縮小化装置34へ与えられる。 【0027】図6は、bit(ビット)長縮小化装置3
4の具体的回路を示す回路図である。光源座標−ポリゴ
ン端点座標差分演算装置31から与えられた正規化され
ていない光源ベクトル値(DX,DY,DZ)はレジス
タ341、342、343にそれぞれ与えられる。レジ
スタ341に格納されたX方向の光源ベクトル値(D
X)は正数化回路344に与えられる。この正数化回路
344はレジスタ341に格納された光源ベクトル値
(DX)が負であれば正に変換し、その値をZER
O(”0”)検出回路347及びマルチプレクサ350
に与える。図13(a)に示すように、ZERO検出回
路347ではMSBから”1”が表れるまでの”0”の
値をカウントし、その数を最小値(MIN)検出回路3
51に与える。 【0028】また、レジスタ342に格納されたY方向
の光源ベクトル値(DY)は正数化回路345に与えら
れる。この正数化回路345はレジスタ342に格納さ
れた光源ベクトル値(DY)が負であれば正に変換し、
その値をZERO(”0”)検出回路348及びマルチ
プレクサ350に与える。図13(a)に示すように、
ZERO検出回路348ではMSBから”1”が表れる
までの”0”の値をカウントし、その数を最小値(MI
N)検出回路351に与える。 【0029】更に、レジスタ343に格納されたZ方向
の光源ベクトル値(DZ)は正数化回路346に与えら
れる。この正数化回路346はレジスタ343に格納さ
れた光源ベクトル値(DZ)が負であれば正に変換し、
その値をZERO(”0”)検出回路349及びマルチ
プレクサ350に与える。図13(a)に示すように、
ZERO検出回路349ではMSBから”1”が表れる
までの”0”の値をカウントし、その数を最小値(MI
N)検出回路351に与える。 【0030】MIN値検出回路351はZERO検出回
路347、348、349の出力する値から最小値を求
め、シフター352にその値を送る。シフター352
は、図13(b)に示すように、MIN値検出回路35
1から受けた値だけ、マルチプレクサ350から与えら
れる光源ベクトル値(DX,DY,DZ)をシフトし、
レジスタ353、354、355に与える。このレジス
タ353,354,355は、図13(c)に示すよう
に、この実施の形態では8ビットのレジスタであり、マ
ルチプレクサ350から与えられるシフトされた光源ベ
クトルの上位8ビットのみ取り込み、ビット長が縮小さ
れた光源ベクトル(DX,DY,DZ)がレジスタ35
3,354,355に格納する。このように、このbi
t(ビット)長縮小化回路34にて、16ビットのビッ
ト長が8ビットに縮小される。この縮小化された光源ベ
クトル(DX,DY,DZ)が正規化装置36に送られ
る。 【0031】図7は、正規化装置36の具体的回路を示
す回路図である。bit(ビット)長縮小化装置34に
て縮小化された光源ベクトル(DX,DY,DZ)が2
乗演算装置361、362、363及びマルチプレクサ
366に与えられる。2乗演算装置361では、縮小化
された光源ベクトル(DX)を2乗すると共に、その値
を加算演算装置364に与え、2乗演算装置362で
は、縮小化された光源ベクトル(DY)を2乗すると共
に、その値を加算演算装置364に与え、2乗演算装置
363では、縮小化された光源ベクトル(DZ)を2乗
すると共に、その値を加算演算装置364に与える。加
算演算装置364では、(DX)2+(DY)2+(D
Z)2の加算演算が行われ、この値が平方根処理装置3
65に与えられる。平方根処理装置365では、{(D
X)2+(DY)2+(DZ)2}の平方根が取られ、こ
の値が除算器365の一方に与えられる。除算器367
の他方にはマルチプレクサ366を介してDX,DY,
DZが与えられ、この除算器367にて、LNX=DX
/{(DX)2+(DY)2+(DZ)21/2 、LNY
=DY/{(DX)2+(DY)2+(DZ)21/2、L
NZ=DZ/{(DX) 2+(DY)2+(D
Z)21/2)の演算が行われ、正規化された光源ベクト
ル値(LNX,LNY,LNZ)がレジスタ368、3
69、370に格納され、格納された光源ベクトル値
(LNX,LNY,LNZ)が拡散反射処理装置40に
与えられる。 【0032】この正規化装置36は、bit(ビット)
長縮小化回路34で16ビットのビット長を8ビットに
縮小しているので、18ビット長の演算装置で構成でき
る。これに対して、16ビットのままのデータであれ
ば、35ビット長の演算になり演算回路が大型化する。 【0033】図8は、拡散反射処理装置40の具体的回
路を示す回路図である。正規化装置36から送られてき
た正規化された光源ベクトル値(LNX,LNY,LN
Z)レジスタ401、402、403に格納される。そ
して、ポリゴン端点の法線ベクトル(NX,NY,N
Z)がレジスタ404、405、406にそれぞれ格納
される。レジスタ401に格納された光源ベクトルのX
値(LNX)とレジスタ404に格納された法線ベクト
ルのX値(NX)が乗算器407に与えられ、この乗算
器407で乗算した値が加算器410に与えられる。ま
た、レジスタ402に格納された光源ベクトルのY値
(LNY)とレジスタ405に格納された法線ベクトル
のY値(NY)が乗算器408に与えられ、この乗算器
408で乗算した値が加算器410に与えられる。更
に、レジスタ403に格納された光源ベクトルのZ値
(LNZ)とレジスタ406に格納された法線ベクトル
のZ値(NZ)が乗算器409に与えられ、この乗算器
409で乗算した値が加算器410に与えられる。この
乗算器407、408、409と加算器410により光
源ベクトルとポリゴン端点の法線ベクトルの内積が求め
られ、この内積値がレジスタ411に格納され、RGB
生成装置60及び鏡面反射処理装置50に与えられる。 【0034】図9は、鏡面反射処理装置50の具体的回
路を示す回路図である。拡散反射処理装置40より与え
られた光源ベクトルとポリゴン端点の法線ベクトルの内
積値(INNER)がレジスタ501に格納され、ポリ
ゴン端点の法線ベクトルのZ値(NZ)がレジスタ50
2に格納される。レジスタ501に格納された内積値
(INNER)とレジスタ502に格納された法線ベク
トルのZ値(NZ)が乗算器503に与えられる。この
乗算器503にて、内積値(INNER)と法線ベクト
ルのZ値(NZ)が乗算され、その値が演算器504に
与えられる。この演算器504は×2演算器であり、ポ
リゴンの端点の光の反射ベクトルのZ値を算出する。こ
の算出されたZ値は減算器506の一方に与えられる。
減算器506の他方には、レジスタ505に格納された
光源ベクトルのZ値(LNZ)が与えられ、この減算器
506にて、減算することにより、鏡面反射の視線ベク
トルと反射光の内積値(INNER2)が求められ、こ
の値がレジスタ507に格納され、RGB生成装置60
に与えられる。 【0035】図10は、RGB生成装置60の具体的回
路を示す回路図である。光源ベクトル生成装置からの正
規化された光源ベクトル(LNX,LNY,LNZ)が
レジスタ601、602、603にそれぞれ格納され
る。スポットライトベクトル(SPNX,SPNY,S
PNZ)がレジスタ604、605、606にそれぞれ
格納される。レジスタ601に格納された光源ベクトル
のX値(LNX)とレジスタ604に格納されたスポッ
トライトベクトルのX値(SPNX)が乗算器607に
与えられ、両者の乗算結果が加算器610に与えられ
る。また、レジスタ602に格納された光源ベクトルの
Y値(LNY)とレジスタ605に格納されたスポット
ライトベクトルのY値(SPNY)が乗算器608に与
えられ、両者の乗算結果が加算器610に与えられる。
レジスタ603に格納された光源ベクトルのZ値(LN
Z)とレジスタ606に格納されたスポットライトベク
トルのZ値(SPNZ)が乗算器609に与えられ、両
者の乗算結果が加算器610に与えられる。この乗算器
607、608、609及び加算器610により、光源
ベクトルとスポットライトベクトルの内積値が算出さ
れ、その値が乗算器612の一方に与えられる。乗算器
612の他方にはレジスタ611に格納されたスポット
ライトの光の強度が与えられる。このレジスタ611に
与えられた光の強度はマルチプレクサ613にも与えら
れる。 【0036】乗算器612では、スポットライト光の強
度と、図12に示すように、スポットライトベクトルと
光源ベクトルとの内積の乗算から光源ベクトルの強度を
求め、この値をマルチプレクサ613に与える。マルチ
プレクサ613は光の属性がスポットライトか否かによ
り切り替える。スポットライトの時には乗算器612か
らの出力をスポットライトでないときにはレジスタ61
1からの出力を選択し、乗算器631に与える。 【0037】拡散反射処理装置からのポリゴン端点の法
線ベクトルと光ベクトルとの内積値(INNER)がレ
ジスタ614に格納され、各RGBの拡散反射係数(D
IFR,DIFG,DIFB)がレジスタ615,61
6,617にそれぞれ格納される。レジスタ614に格
納された内積値(INNER)は乗算器619の一方に
与えられる。レジスタ615,616,617にそれぞ
れ格納された各RGBの拡散反射係数(DIFR,DI
FG,DIFB)はマルチプレクサ618に与えられ、
マルチプレクサ618は各RGBの拡散反射係数(DI
FR,DIFG,DIFB)を切り替えて乗算器619
の他方に与える。乗算器619は各RGBの拡散反射値
を演算し、その演算結果を加算器626に与える。 【0038】鏡面反射処理装置からの反射光と視線ベク
トルとの内積値(INNER2)がレジスタ620に格
納され、各RGBの鏡面反射係数(SPR,SPG,S
PB)がレジスタ621,622,623にそれぞれ格
納される。レジスタ620に格納された内積値(INN
ER2)は乗算器625の一方に与えられる。レジスタ
621,622,623にそれぞれ格納された各RGB
の鏡面反射係数(SPR,SPG,SPB)はマルチプ
レクサ624に与えられ、マルチプレクサ624は各R
GBの鏡面反射係数(SPR,SPG,SPB)を切り
替えて乗算器625の他方に与える。乗算器625は各
RGBの鏡面反射値を演算し、その演算結果を加算器6
26に与える。加算器626は拡散反射値と鏡面反射値
とを加算し、その値を乗算器631に与える。乗算器6
31にて拡散反射値と鏡面反射値との加算値に光強度を
乗算し、その値を加算器632に与える。 【0039】一方、RGBの各環境光強度(AMR,A
MG,AMB)はレジスタ627、628、629に格
納される。レジスタ627、628、629に格納され
た各環境光強度(AMR,AMG,AMB)はマルチプ
レクサ630により切り替えられて加算器632に与え
られる。 【0040】加算器632は拡散反射値と鏡面反射値と
の加算値に光強度を乗算した値とマルチプレクサ630
により切り替えられたRGBの各環境光強度(AMR,
AMG,AMB)とが加算され、その値がマルチプレク
サ633に与えられる。マルチプレクサ633はシェー
ディングされたRGBを切り替え、R値をレジスタ63
4に与え、G値をレジスタ635に与え、B値をレジス
タ636に与えてRGBの生成を行い、その値を描画処
理装置4に与える。 【0041】このようにして、RGB値のシェーディン
グ処理を従来ソフトウェア等で行われていたものを、光
源ベクトル生成装置のビット長縮小化装置を使用するこ
とにより、小さいハードウェア量で高速な点光源処理と
スポットライト処理を行うことができる。 【0042】上記した実施の形態においては、シェーデ
ィングしたRGB値を算出しているが、RGBを算出す
る変わりにシェーディングした輝度値を求めるように構
成することもできる。 【0043】この場合には、RGB生成装置の変わりに
輝度値生成装置によりシェーディング処理を行えばよ
い。図14に輝度値生成装置の具体的回路図を示し、そ
の構成につき説明する。光源ベクトル生成装置からの正
規化された光源ベクトル(LNX,LNY,LNZ)が
レジスタ601、602、603にそれぞれ格納され
る。スポットライトベクトル(SPNX,SPNY,S
PNZ)がレジスタ604、605、606にそれぞれ
格納される。レジスタ601に格納された光源ベクトル
のX値(LNX)とレジスタ604に格納されたスポッ
トライトベクトルのX値(SPNX)が乗算器607に
与えられ、両者の乗算結果が加算器610に与えられ
る。また、レジスタ602に格納された光源ベクトルの
Y値(LNY)とレジスタ605に格納されたスポット
ライトベクトルのY値(SPNY)が乗算器608に与
えられ、両者の乗算結果が加算器610に与えられる。
レジスタ603に格納された光源ベクトルのZ値(LN
Z)とレジスタ606に格納されたスポットライトベク
トルのZ値(SPNZ)が乗算器609に与えられ、両
者の乗算結果が加算器610に与えられる。この乗算器
607、608、609及び加算器610により、光源
ベクトルとスポットライトベクトルの内積値が算出さ
れ、その値が乗算器612の一方に与えられる。乗算器
612の他方にはレジスタ611に格納されたスポット
ライトの光の強度が与えられる。このレジスタ611に
与えられた光の強度はマルチプレクサ613にも与えら
れる。 【0044】乗算器612では、スポットライト光の強
度と、図13に示すように、スポットライトと光線ベク
トルのcosθの関係から光源ベクトルの強度を求め、
この値をマルチプレクサ613に与える。マルチプレク
サ613は光の属性がスポットライトか否かにより切り
替える。スポットライトの時には乗算器612からの出
力をスポットライトでないときにはレジスタ611から
の出力を選択し、乗算器631に与える。 【0045】拡散反射処理装置からのポリゴン端点の法
線ベクトルと光ベクトルとの内積値(INNER)がレ
ジスタ614に格納され、輝度値Iの拡散反射係数(D
IFI)がレジスタ615aに格納される。レジスタ6
14に格納された内積値(INNER)は乗算器619
の一方に与えられる。レジスタ615aに格納された輝
度値Iの拡散反射係数(DIFI)は乗算器619の他
方に与える。乗算器619は輝度値Iの拡散反射値を演
算し、その演算結果を加算器626に与える。 【0046】鏡面反射処理装置からの反射光と視線ベク
トルとの内積値(INNER2)がレジスタ620に格
納され、輝度値Iの鏡面反射係数(SPI)がレジスタ
621aに格納される。レジスタ620に格納された内
積値(INNER2)は乗算器625の一方に与えられ
る。レジスタ621aに格納された輝度値Iの鏡面反射
係数(SPI)は乗算器625の他方に与える。乗算器
625は輝度値Iの鏡面反射値を演算し、その演算結果
を加算器626に与える。加算器626は拡散反射値と
鏡面反射値とを加算し、その値を乗算器631に与え
る。乗算器631にて拡散反射値と鏡面反射値との加算
値に光強度を乗算し、その値を加算器632に与える。 【0047】一方、輝度値Iの各環境光強度(AMI)
はレジスタ627aに格納される。レジスタ627aに
格納された各環境光強度(AMI)は加算器632に与
えられる。 【0048】加算器632は拡散反射値と鏡面反射値と
の加算値に光強度を乗算した値と輝度値Iの環境光強度
(AMI)とが加算され、その値がレジスタ640に与
られ、その値を描画処理装置4に与える。 【0049】このようにして、輝度値のシェーディング
処理を従来ソフトウェア等で行われていたものを、光源
ベクトル生成装置のビット長縮小化装置を使用すること
により、小さいハードウェア量で高速な点光源処理とス
ポットライト処理を行うことができる。 【0050】 【発明の効果】以上説明したように、この発明は、ビッ
ト長を小さくして且つ高品質の点光源/スポットライト
などの処理を行うために、ビット長縮小化手段を使用す
ることにより、ビット長の小さいルート演算装置によ
り、高速でハードウェアの小さいシェーディング処理装
置を提供することができる。
【図面の簡単な説明】 【図1】この発明のシェーディング処理装置を備えた画
像描画装置の全体構成を示すブロック図である。 【図2】この発明のシェーディング処理装置を備えた画
像描画装置の全体構成を示し、幾何変換/シェーディン
グ処理装置を、DSPとシェーディング処理装置で構成
した画像描画装置のブロック図である。 【図3】図2に示すシェーディング処理装置のブロック
図である。 【図4】この発明の光源ベクトル生成装置を示すブロッ
ク図である。 【図5】この発明の光源ベクトル生成装置における光源
座標−ポリゴン端点座標差分演算装置の具体的回路を示
す回路図である。 【図6】この発明の光源ベクトル生成装置におけるbi
t(ビット)長縮小化装置の具体的回路を示す回路図で
ある。 【図7】この発明の光源ベクトル生成装置における正規
化装置の具体的回路を示す回路図である。 【図8】この発明のシェーディング処理装置における拡
散反射処理装置の具体的回路を示す回路図である。 【図9】この発明のシェーディング処理装置における鏡
面反射処理装置の具体的回路を示す回路図である。 【図10】この発明のシェーディング処理装置における
RGB生成装置の具体的回路を示す回路図である。 【図11】この発明が適用される視野座標を示す模式図
である。 【図12】光源点、光源ベクトル、スポットライト及び
ポリゴン端点の関係を示す図である。 【図13】この発明の(bit)ビット長縮小化装置の
動作を示す模式図である。 【図14】この発明のシェーディング処理装置における
輝度値生成装置の具体的回路を示す回路図である。 【符号の説明】 1 CPU 2 メインメモリ 3 幾何変換/シェーディング処理装置 4 描画処理装置 5 フレームメモリ 6 CRT 30 光源ベクトル生成装置 40 拡散反射処理装置 50 鏡面反射処理装置 60 RGB生成装置 31 光源座標−ポリゴン端点座標差分演算装置 34 bit(ビット)長縮小化装置 36 正規化装置
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 15/50 200 JICSTファイル(JOIS)

Claims (1)

  1. (57)【特許請求の範囲】 【請求項1】 光源座標とポリゴン端点座標から点光源
    の正規化された光源ベクトルを求める光源ベクトル生成
    手段と、この光源ベクトル生成手段により算出した光源
    ベクトルとポリゴンの法線ベクトルとの内積に拡散反射
    の係数を掛けて拡散反射による光強さを求める拡散反射
    手段と、この拡散反射処理手段からの拡散反射係数と視
    線ベクトルに基づき鏡面反射係数を求める鏡面反射処理
    手段と、拡散反射処理手段で求めた拡散反射係数と鏡面
    反射処理手段で求めた鏡面反射係数から光強度を求めポ
    リゴン面または端点のシェーディングされた色情報を算
    出するシェーディング処理装置であって、 前記光源ベクトル生成手段は、光源座標の座標値とポリ
    ゴン端点座標の座標値との差分値を取り正規化されてい
    ない光源ベクトルの各成分の値を求める手段と、求めた
    光源ベクトルの各成分の値のMSB側から”1”が現れ
    るまでの”0”値をカウントする手段と、このカウント
    手段により求めた”0”のカウント値の最小値を求める
    最小値算出手段と、この最小値算出手段により求めた最
    小値により光源ベクトルの各成分の値をシフトするシフ
    ト手段と、このシフト手段によりシフトされた光源ベク
    トルの各成分の値から所定の上位ビットを取りビット長
    を縮小するビット長縮小化手段と、この縮小化された光
    源ベクトルを用いて光源ベクトルを正規化する正規化手
    段と、を備えたことを特徴とするシェーディング処理装
    置。
JP23202096A 1996-09-02 1996-09-02 シェーディング処理装置 Expired - Fee Related JP3387750B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP23202096A JP3387750B2 (ja) 1996-09-02 1996-09-02 シェーディング処理装置
US08/919,304 US6081274A (en) 1996-09-02 1997-08-28 Shading processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23202096A JP3387750B2 (ja) 1996-09-02 1996-09-02 シェーディング処理装置

Publications (2)

Publication Number Publication Date
JPH1079046A JPH1079046A (ja) 1998-03-24
JP3387750B2 true JP3387750B2 (ja) 2003-03-17

Family

ID=16932709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23202096A Expired - Fee Related JP3387750B2 (ja) 1996-09-02 1996-09-02 シェーディング処理装置

Country Status (2)

Country Link
US (1) US6081274A (ja)
JP (1) JP3387750B2 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001509934A (ja) * 1997-11-14 2001-07-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ コンピュータグラフィックス・バンプマッピングの方法及び装置
US6717577B1 (en) 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US20030063383A1 (en) * 2000-02-03 2003-04-03 Costales Bryan L. Software out-of-focus 3D method, system, and apparatus
JP4443012B2 (ja) 2000-07-27 2010-03-31 株式会社バンダイナムコゲームス 画像生成装置、方法および記録媒体
US6980218B1 (en) 2000-08-23 2005-12-27 Nintendo Co., Ltd. Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US7196710B1 (en) 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US7576748B2 (en) 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6781594B2 (en) * 2001-08-21 2004-08-24 Sony Computer Entertainment America Inc. Method for computing the intensity of specularly reflected light
US7046245B2 (en) * 2001-10-10 2006-05-16 Sony Computer Entertainment America Inc. System and method for environment mapping
US7459098B2 (en) * 2002-08-28 2008-12-02 Kyocera Corporation Dry etching apparatus, dry etching method, and plate and tray used therein
JP4133369B2 (ja) * 2003-01-27 2008-08-13 株式会社リコー 画像処理装置、方法及びプログラム
JP4313130B2 (ja) * 2003-09-18 2009-08-12 株式会社リコー 画像形成装置、画像形成方法、およびその方法をコンピュータで実行するプログラム
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
JP4400401B2 (ja) * 2004-09-30 2010-01-20 セイコーエプソン株式会社 電気光学装置とその駆動方法及び電子機器
US20060071933A1 (en) 2004-10-06 2006-04-06 Sony Computer Entertainment Inc. Application binary interface for multi-pass shaders
US7636126B2 (en) 2005-06-22 2009-12-22 Sony Computer Entertainment Inc. Delay matching in audio/video systems
US9563980B2 (en) * 2005-11-18 2017-02-07 Autodesk, Inc. Grip manipulatable shadows in 3D models
US7965859B2 (en) 2006-05-04 2011-06-21 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
US7880746B2 (en) 2006-05-04 2011-02-01 Sony Computer Entertainment Inc. Bandwidth management through lighting control of a user environment via a display device
US10786736B2 (en) 2010-05-11 2020-09-29 Sony Interactive Entertainment LLC Placement of user information in a game space
US9342817B2 (en) 2011-07-07 2016-05-17 Sony Interactive Entertainment LLC Auto-creating groups for sharing photos
JP2013084224A (ja) 2011-10-12 2013-05-09 Ricoh Co Ltd 画像処理装置
JP5862267B2 (ja) 2011-12-14 2016-02-16 株式会社リコー 画像処理装置および画像処理方法、ならびに、画像形成装置
JP6221637B2 (ja) 2013-02-19 2017-11-01 株式会社リコー 画像処理装置および画像処理方法、ならびに、画像形成装置
JP6252225B2 (ja) 2014-02-17 2017-12-27 株式会社リコー 画像処理装置、画像処理方法及び画像形成装置
US10255323B1 (en) 2015-08-31 2019-04-09 Google Llc Quantization-based fast inner product search
JP6821924B2 (ja) 2016-03-02 2021-01-27 株式会社リコー 画像処理装置、画像処理方法
US10719509B2 (en) * 2016-10-11 2020-07-21 Google Llc Hierarchical quantization for fast inner product search
JP7040058B2 (ja) 2018-01-31 2022-03-23 株式会社リコー 符号化装置
US11392596B2 (en) 2018-05-14 2022-07-19 Google Llc Efficient inner product operations

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4646075A (en) * 1983-11-03 1987-02-24 Robert Bosch Corporation System and method for a data processing pipeline
US4808988A (en) * 1984-04-13 1989-02-28 Megatek Corporation Digital vector generator for a graphic display system
JPH0746391B2 (ja) * 1984-09-14 1995-05-17 株式会社日立製作所 図形シエ−デイング装置
JPS61103277A (ja) * 1984-10-26 1986-05-21 Hitachi Ltd 図形シエ−デイング装置
JPH0814854B2 (ja) * 1985-10-11 1996-02-14 株式会社日立製作所 三次元図形表示装置
JPH0772915B2 (ja) * 1986-03-05 1995-08-02 株式会社日立製作所 図形シェーディング装置
US5063375A (en) * 1987-07-27 1991-11-05 Sun Microsystems, Inc. Method and apparatus for shading images
US4866637A (en) * 1987-10-30 1989-09-12 International Business Machines Corporation Pipelined lighting model processing system for a graphics workstation's shading function
US4945500A (en) * 1987-11-04 1990-07-31 Schlumberger Technologies, Inc. Triangle processor for 3-D graphics display system
US5369737A (en) * 1988-03-21 1994-11-29 Digital Equipment Corporation Normalization of vectors associated with a display pixels of computer generated images
US5777608A (en) * 1989-03-10 1998-07-07 Board Of Regents, The University Of Texas System Apparatus and method for in-parallel scan-line graphics rendering using content-searchable memories
US5253339A (en) * 1990-07-26 1993-10-12 Sun Microsystems, Inc. Method and apparatus for adaptive Phong shading
US5550641A (en) * 1991-05-15 1996-08-27 Gentech Corporation System and method for rendering images
US5706415A (en) * 1991-12-20 1998-01-06 Apple Computer, Inc. Method and apparatus for distributed interpolation of pixel shading parameter values
US5307449A (en) * 1991-12-20 1994-04-26 Apple Computer, Inc. Method and apparatus for simultaneously rendering multiple scanlines
JP2682559B2 (ja) * 1992-09-30 1997-11-26 インターナショナル・ビジネス・マシーンズ・コーポレイション 物体の画像をディスプレイ装置上に表示する装置及び方法並びにコンピュータ・グラフィックス表示システム
US5739820A (en) * 1992-11-19 1998-04-14 Apple Computer Inc. Method and apparatus for specular reflection shading of computer graphic images
US5704024A (en) * 1995-07-20 1997-12-30 Silicon Graphics, Inc. Method and an apparatus for generating reflection vectors which can be unnormalized and for using these reflection vectors to index locations on an environment map
US5880736A (en) * 1997-02-28 1999-03-09 Silicon Graphics, Inc. Method system and computer program product for shading

Also Published As

Publication number Publication date
US6081274A (en) 2000-06-27
JPH1079046A (ja) 1998-03-24

Similar Documents

Publication Publication Date Title
JP3387750B2 (ja) シェーディング処理装置
US4709231A (en) Shading apparatus for displaying three dimensional objects
US5808619A (en) Real-time rendering method of selectively performing bump mapping and phong shading processes and apparatus therefor
Segal et al. Fast shadows and lighting effects using texture mapping
US6624812B1 (en) Method and apparatus for providing shading in a graphic display system
CA2236071C (en) Texture compositing apparatus and method
EP0262619B1 (en) Shading circuit for shading a plurality of polygons which constitute a solid model, and method of shading the same
US6437781B1 (en) Computer graphics system having per pixel fog blending
US6593923B1 (en) System, method and article of manufacture for shadow mapping
KR19990072375A (ko) 고정소수점라이팅유닛의로컬눈벡터의고속계산
US5739820A (en) Method and apparatus for specular reflection shading of computer graphic images
EP0817126A2 (en) Method and apparatus implementing high resolution rendition of Z-buffered primitives
TW523698B (en) Multi-stage fixed cycle pipe-lined lighting equation evaluator
US5990894A (en) Method for implementing the power function DP and computer graphics system employing the same
US5892516A (en) Perspective texture mapping circuit having pixel color interpolation mode and method thereof
JP4456070B2 (ja) 光反射強度計算回路
US7397479B2 (en) Programmable multiple texture combine circuit for a graphics processing system and method for use thereof
JP3233376B2 (ja) シェーディング処理装置
CN111739074A (zh) 一种场景多点光源渲染方法及装置
JP2007128180A (ja) 演算処理装置
JPH03127278A (ja) カラー画像処理方法及び装置
EP0817130A2 (en) Apparatus and method for calculating specular lighting
JP3538826B2 (ja) 演算回路および演算方法
KR19990078036A (ko) 유효한부동점제트버퍼링을구현하기위한방법및장치
JP3034716B2 (ja) 形状表現方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080110

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090110

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100110

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110110

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120110

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130110

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20140110

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees