JPH1079046A - シェーディング処理装置 - Google Patents
シェーディング処理装置Info
- Publication number
- JPH1079046A JPH1079046A JP8232020A JP23202096A JPH1079046A JP H1079046 A JPH1079046 A JP H1079046A JP 8232020 A JP8232020 A JP 8232020A JP 23202096 A JP23202096 A JP 23202096A JP H1079046 A JPH1079046 A JP H1079046A
- Authority
- JP
- Japan
- Prior art keywords
- light source
- value
- vector
- source vector
- stored
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
さい演算装置で可能にし、高速でハードウェアの小さい
シェーディング処理装置を提供することを目的とする。 【解決手段】 CRT画面などにシェーディング処理し
て画像を表示するシェーディング処理装置であって、ビ
ット長を小さくして且つ高品質の点光源/スポットライ
トなどの処理を行うために、正規化されていない光源ベ
クトルのMSB側から”1”が現れるまでの”0”値を
カウントし、その最小値を求める手段と、この最小値か
ら1つ少なくした分だけシフトする手段と、所定の上位
ビットのみ取りビット長を縮小化する手段と、を備える
ことにより、正規化された光源ベクトルを小さい演算装
置で実現する。
Description
よる画像生成に関し、CRT画面などにシェーディング
処理して画像を表示するシェーディング処理装置に関す
る。
いては、立体を構成する各面に対して、光源位置や周囲
環境条件によりポリゴンに陰影(シェーディング)を付
加し、より現実的な立体の表現が試みられている。
ィックスのシェーディング、ライティング処理を行うも
のとして、平行光源によるシェーディング処理が演算処
理量が少ないため、良く使用されている。平行光源を用
い、シェーディング処理演算を高速に行うシェーディン
グ処理方法が特開昭61−103277号公報、特開昭
62−204386号公報等に開示されている。
ィックス処理装置は、デジタル・シグナル・プロセッサ
(DSP)などで実現するソフトウェアで行われること
が多い。しかしながら、点光源やスポットライトなどの
ような多くの演算を必要とする処理は、DSPなどで実
現するソフトウェアではかなりの時間を必要としてい
た。
においては、ポリゴン端点と点光源からの正規化された
単位光ベクトルを求めるときに、下記数1に示すよう
に、光ベクトルを正規化するためのルート演算が必要で
ある。このルート演算は多くの演算時間を必要とする。
ポリゴン端点のXアドレス値、LPXは点光源のXアド
レス値、LNXは正規化された光ベクトルのX値、DY
は光ベクトルのY値、PYはポリゴン端点のYアドレス
値、LPYは点光源のYアドレス値、LNYは正規化さ
れた光ベクトルのY値、DZは光ベクトルのZ値、PZ
はポリゴン端点のZアドレス値、LPZは点光源のZア
ドレス値、LNZは正規化された光ベクトルのZ値であ
る。
ート演算処理をハードウェアで構成する場合には、基本
的に多くのハードウェアを必要とする。
各8ビットの精度で十分であり、シェーディング処理に
おいては、あまり多くの精度を必要にしていない。
なされたものにして、光源ベクトルのビット長を情報量
をあまり削らずに減らし、正規化された光源ベクトルを
小さい演算装置で可能にし、高速でハードウェアの小さ
いシェーディング処理装置を提供することを目的とす
る。
ポリゴン端点座標から点光源の正規化された光源ベクト
ルを求める光源ベクトル生成手段と、この光源ベクトル
生成手段により算出した光源ベクトルとポリゴンの法線
ベクトルとの内積を求めて拡散反射の係数を求める拡散
反射処理手段と、この拡散反射処理手段からの拡散反射
係数と視線ベクトルに基づき鏡面反射係数を求める鏡面
反射処理手段と、拡散反射処理手段で求めた拡散反射係
数と鏡面反射処理手段で求めた鏡面反射係数から光強度
を求めポリゴン面または端点のシェーディングされた色
情報を算出するシェーディング処理装置であって、前記
光源ベクトル生成手段は、光源座標の座標値とポリゴン
端点座標の座標値から正規化されていない光源ベクトル
を求める手段、この光源ベクトルのビット長を縮小する
ビット長縮小化手段と、この縮小化された光源ベクトル
を用いて光源ベクトルを正規化する正規化手段と、を備
えたことを特徴とする。
いない光源ベクトルのMSB側から”1”が現れるまで
の”0”値をカウントし、その最小値を求める手段と、
この最小値から1つ少なくした分だけシフトする手段
と、所定の上位ビットのみ取りビット長を縮小化する手
段と、で構成すると良い。
つ高品質の点光源/スポットライトなどの処理を行うた
めに、ビット長縮小化手段を使用することにより、ビッ
ト長の小さいルート演算装置により、高速でハードウェ
アの小さいシェーディング処理装置を提供することがで
きる。
き図面を参照して説明する。図1は、この発明のシェー
ディング処理装置を備えた画像描画装置の全体構成を示
すブロック図である。
モリ2に格納されたプログラムに基づき全体を制御す
る。CPU1と各ブロックとはバス8にて接続されてい
る。幾何変換/シェーディング処理装置3はリアルタイ
ムのコンピュータグラフィックス処理に必要な視点の座
標とオブジェクト座標とそのオブジェクトを構成するポ
リゴンの端点座標と視線の方向からスクリーン面に投影
される2次元のポリゴンの座標を求める幾何変換処理
と、光源座標とその光源の種類(点光源、平行光源、ス
ポットライトなど)とオブジェクトの座標とそのオブジ
ェクトを構成するポリゴン端点の座標とポリゴン端点の
持つ法線ベクトルなどからポリゴン面やポリゴン端点の
輝度を求めるシェーディング処理を行う。この幾何変換
/シェーディング処理装置3の演算に用いる各座標等の
データはメモリ2に格納されている。
演算されたポリゴン端点の2次元X,Y座標とR,G,
B値は描画処理装置4に与えられる。描画処理装置4は
受け取ったポリゴン端点の2次元X,Y座標とR,G,
B値などからCRT6に描画するポリゴンの画像データ
を演算で求め、求めた画像データをフレームメモリ5に
書き込む。この実施の形態においては、アナログスティ
ックなど人の操作をCPU1へ伝えるマンマシンインタ
ーフェース7が設けられている。
置3を、DSP3aとシェーディング処理装置3bで構
成し、幾何変換とシェーディングパラメータ生成をセッ
トで行うものである。この図2に示す装置においては、
シェーディング処理として光源ベクトル生成はDSP3
aの演算では処理時間がかかるため、シェーディング処
理装置3bとして別装置としている。シェーディング処
理装置3b及び光源ベクトル生成装置については図3及
び図4に詳しく説明する。
図である。DSP3aより光源座標とポリゴン端点座標
が光源ベクトル生成装置30に与えられる。この光源ベ
クトル生成装置30は光源座標とポリゴン端点座標から
点光源の正規化された光源ベクトルを求める。求めた光
源ベクトルは拡散反射処理装置40に与えられる。拡散
反射処理装置40は、ポリゴンの法線ベクトルと光源ベ
クトルとの内積を求めることにより拡散反射の係数を求
める。
面反射処理装置50及びRGB生成装置60に与えられ
る。鏡面反射処理装置50は、拡散反射処理装置40か
らの内積値とポリゴンの法線ベクトルによりポリゴン面
またはポリゴン端点の反射ベクトルを求め、さらに光源
ベクトルとの減算により鏡面反射の視線ベクトルと反射
光の内積値を求めて鏡面反射係数を求め、RGB生成装
置60に与える。以上の演算は図11に示すような視野
座標上で行っているため、視線ベクトルはX,Y,Z=
0,0,1と決まっているため、この実施の形態におけ
る鏡面反射処理装置50は簡略化している。
40で求めた拡散反射係数からR,G,B成分の拡散反
射係数とそれぞれ乗算し、各R,G,Bの拡散反射値を
求める。更にRGB生成装置60は鏡面反射処理装置5
0で求めた鏡面反射係数からRGB成分の鏡面反射係数
とそれぞれ乗算し、各R,G,Bの鏡面反射値を求め、
光源の属性がスポットライトであれば図12に示すよう
にスポットライトのスポットライトベクトルと光源ベク
トルとの内積を求め、スポットライトの光強度とし、各
R,G,Bの拡散反射値と鏡面反射値を加えたものにこ
の光強度をそれぞれ乗算し、且つR,G,Bの環境光を
加算したものをそのポリゴン面または端点のR,G,B
色として求める。
ク図である。DSP3aより与えられた図12に示すよ
うな光源座標(LPX,LPY,LPZ)の座標値とポ
リゴン端点座標(PX,PY,PZ)の座標値を光源座
標−ポリゴン座標差分演算装置31で差分値を取り、数
1で示すように、正規化されていない光源ベクトル(D
X,DY、DZ)を求め、この光源ベクトル(DX,D
Y、DZ)を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ビット化すること
により、光源ベクトルの情報量をあまり削らずにビット
長を縮小化することができる。
規化装置36にて、数1に基づき光源ベクトルを正規化
する。即ち、bit(ビット)長縮小化装置34で求め
たビット長の縮小されたX,Y,Zの光源ベクトル値を
2乗し、加算した後、平方根演算を行い、その値により
除算することにより正規化された光源ベクトル(LN
X,LNY,LNZ)が算出される。
の具体例を図5ないし図7に従い説明する。
演算装置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)がそれぞれ格納される。
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へ与えられる。
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に与える。
の光源ベクトル値(DY)は正数化回路345に与えら
れる。この正数化回路345はレジスタ342に格納さ
れた光源ベクトル値(DY)が負であれば正に変換し、
その値をZERO(”0”)検出回路348及びマルチ
プレクサ350に与える。図13(a)に示すように、
ZERO検出回路348ではMSBから”1”が表れる
までの”0”の値をカウントし、その数を最小値(MI
N)検出回路351に与える。
の光源ベクトル値(DZ)は正数化回路346に与えら
れる。この正数化回路346はレジスタ343に格納さ
れた光源ベクトル値(DZ)が負であれば正に変換し、
その値をZERO(”0”)検出回路349及びマルチ
プレクサ350に与える。図13(a)に示すように、
ZERO検出回路349ではMSBから”1”が表れる
までの”0”の値をカウントし、その数を最小値(MI
N)検出回路351に与える。
路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に送られ
る。
す回路図である。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)2}1/2 、LNY
=DY/{(DX)2+(DY)2+(DZ)2}1/2、L
NZ=DZ/{(DX) 2+(DY)2+(D
Z)2}1/2)の演算が行われ、正規化された光源ベクト
ル値(LNX,LNY,LNZ)がレジスタ368、3
69、370に格納され、格納された光源ベクトル値
(LNX,LNY,LNZ)が拡散反射処理装置40に
与えられる。
長縮小化回路34で16ビットのビット長を8ビットに
縮小しているので、18ビット長の演算装置で構成でき
る。これに対して、16ビットのままのデータであれ
ば、35ビット長の演算になり演算回路が大型化する。
路を示す回路図である。正規化装置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に与えられる。
路を示す回路図である。拡散反射処理装置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
に与えられる。
路を示す回路図である。光源ベクトル生成装置からの正
規化された光源ベクトル(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にも与えら
れる。
度と、図13に示すように、スポットライトと光線ベク
トルのcosθの関係から光源ベクトルの強度を求め、
この値をマルチプレクサ613に与える。マルチプレク
サ613は光の属性がスポットライトか否かにより切り
替える。スポットライトの時には乗算器612からの出
力をスポットライトでないときにはレジスタ611から
の出力を選択し、乗算器631に与える。
線ベクトルと光ベクトルとの内積値(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に与える。
トルとの内積値(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に与える。
MG,AMB)はレジスタ627、628、629に格
納される。レジスタ627、628、629に格納され
た各環境光強度(AMR,AMG,AMB)はマルチプ
レクサ630により切り替えられて加算器632に与え
られる。
の加算値に光強度を乗算した値とマルチプレクサ630
により切り替えられたRGBの各環境光強度(AMR,
AMG,AMB)とが加算され、その値がマルチプレク
サ633に与えられる。マルチプレクサ633はシェー
ディングされたRGBを切り替え、R値をレジスタ63
4に与え、G値をレジスタ635に与え、B値をレジス
タ636に与えてRGBの生成を行い、その値を描画処
理装置4に与える。
グ処理を従来ソフトウェア等で行われていたものを、光
源ベクトル生成装置のビット長縮小化装置を使用するこ
とにより、小さいハードウェア量で高速な点光源処理と
スポットライト処理を行うことができる。
ィングしたRGB値を算出しているが、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にも与えら
れる。
度と、図13に示すように、スポットライトと光線ベク
トルのcosθの関係から光源ベクトルの強度を求め、
この値をマルチプレクサ613に与える。マルチプレク
サ613は光の属性がスポットライトか否かにより切り
替える。スポットライトの時には乗算器612からの出
力をスポットライトでないときにはレジスタ611から
の出力を選択し、乗算器631に与える。
線ベクトルと光ベクトルとの内積値(INNER)がレ
ジスタ614に格納され、輝度値Iの拡散反射係数(D
IFI)がレジスタ615aに格納される。レジスタ6
14に格納された内積値(INNER)は乗算器619
の一方に与えられる。レジスタ615aに格納された輝
度値Iの拡散反射係数(DIFI)は乗算器619の他
方に与える。乗算器619は輝度値Iの拡散反射値を演
算し、その演算結果を加算器626に与える。
トルとの内積値(INNER2)がレジスタ620に格
納され、輝度値Iの鏡面反射係数(SPI)がレジスタ
621aに格納される。レジスタ620に格納された内
積値(INNER2)は乗算器625の一方に与えられ
る。レジスタ621aに格納された輝度値Iの鏡面反射
係数(SPI)は乗算器625の他方に与える。乗算器
625は輝度値Iの鏡面反射値を演算し、その演算結果
を加算器626に与える。加算器626は拡散反射値と
鏡面反射値とを加算し、その値を乗算器631に与え
る。乗算器631にて拡散反射値と鏡面反射値との加算
値に光強度を乗算し、その値を加算器632に与える。
はレジスタ627aに格納される。レジスタ627aに
格納された各環境光強度(AMI)は加算器632に与
えられる。
の加算値に光強度を乗算した値と輝度値Iの環境光強度
(AMI)とが加算され、その値がレジスタ640に与
られ、その値を描画処理装置4に与える。
処理を従来ソフトウェア等で行われていたものを、光源
ベクトル生成装置のビット長縮小化装置を使用すること
により、小さいハードウェア量で高速な点光源処理とス
ポットライト処理を行うことができる。
ト長を小さくして且つ高品質の点光源/スポットライト
などの処理を行うために、ビット長縮小化手段を使用す
ることにより、ビット長の小さいルート演算装置によ
り、高速でハードウェアの小さいシェーディング処理装
置を提供することができる。
像描画装置の全体構成を示すブロック図である。
像描画装置の全体構成を示し、幾何変換/シェーディン
グ処理装置を、DSPとシェーディング処理装置で構成
した画像描画装置のブロック図である。
図である。
ク図である。
座標−ポリゴン端点座標差分演算装置の具体的回路を示
す回路図である。
t(ビット)長縮小化装置の具体的回路を示す回路図で
ある。
化装置の具体的回路を示す回路図である。
散反射処理装置の具体的回路を示す回路図である。
面反射処理装置の具体的回路を示す回路図である。
RGB生成装置の具体的回路を示す回路図である。
である。
ポリゴン端点の関係を示す図である。
動作を示す模式図である。
輝度値生成装置の具体的回路を示す回路図である。
Claims (2)
- 【請求項1】 光源座標とポリゴン端点座標から点光源
の正規化された光源ベクトルを求める光源ベクトル生成
手段と、この光源ベクトル生成手段により算出した光源
ベクトルとポリゴンの法線ベクトルとの内積を求めて拡
散反射の係数を求める拡散反射処理手段と、この拡散反
射処理手段からの拡散反射係数と視線ベクトルに基づき
鏡面反射係数を求める鏡面反射処理手段と、拡散反射処
理手段で求めた拡散反射係数と鏡面反射処理手段で求め
た鏡面反射係数から光強度を求めポリゴン面または端点
のシェーディングされた色情報を算出するシェーディン
グ処理装置であって、 前記光源ベクトル生成手段は、光源座標の座標値とポリ
ゴン端点座標の座標値から正規化されていない光源ベク
トルを求める手段、この光源ベクトルのビット長を縮小
するビット長縮小化手段と、この縮小化された光源ベク
トルを用いて光源ベクトルを正規化する正規化手段と、
を備えたことを特徴とするシェーディング処理装置。 - 【請求項2】 前記ビット長縮小化手段は、正規化され
ていない光源ベクトルのMSB側から”1”が現れるま
での”0”値をカウントし、その最小値を求める手段
と、この最小値から1つ少なくした分だけシフトする手
段と、所定の上位ビットのみ取りビット長を縮小化する
手段と、を備えたことを特徴とする請求項1に記載のシ
ェーディング処理装置。
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 true JPH1079046A (ja) | 1998-03-24 |
JP3387750B2 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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69817152T2 (de) * | 1997-11-14 | 2004-06-09 | Koninklijke Philips Electronics N.V. | Computergraphisches bump-mapping-verfahren und geraet |
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 |
US7576748B2 (en) | 2000-11-28 | 2009-08-18 | Nintendo Co. Ltd. | Graphics system with embedded frame butter having reconfigurable pixel formats |
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 |
US7196710B1 (en) | 2000-08-23 | 2007-03-27 | Nintendo Co., Ltd. | Method and apparatus for buffering graphics data in 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 |
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 |
EP1442390B1 (en) * | 2001-10-10 | 2017-09-13 | Sony Computer Entertainment America LLC | 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)
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 |
US5307449A (en) * | 1991-12-20 | 1994-04-26 | Apple Computer, Inc. | Method and apparatus for simultaneously rendering multiple scanlines |
US5706415A (en) * | 1991-12-20 | 1998-01-06 | Apple Computer, Inc. | Method and apparatus for distributed interpolation of pixel shading parameter values |
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 |
-
1996
- 1996-09-02 JP JP23202096A patent/JP3387750B2/ja not_active Expired - Fee Related
-
1997
- 1997-08-28 US US08/919,304 patent/US6081274A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6081274A (en) | 2000-06-27 |
JP3387750B2 (ja) | 2003-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH1079046A (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 | |
JPH05307610A (ja) | テクスチャマッピング方法およびその装置 | |
US6437781B1 (en) | Computer graphics system having per pixel fog blending | |
EP1229499A2 (en) | System and method for creating real-time shadows of transparent objects | |
US5361100A (en) | Apparatus and method for transforming a video image into a three dimensional video image with shadows | |
US5990894A (en) | Method for implementing the power function DP and computer graphics system employing the same | |
KR20040041083A (ko) | 렌더링 방법 | |
JPH11212955A (ja) | 演算装置および画像処理装置 | |
JP3233376B2 (ja) | シェーディング処理装置 | |
JPH06266852A (ja) | 画像合成装置 | |
JP3278828B2 (ja) | 半透明立体画像処理装置 | |
KR19980041754A (ko) | 컴퓨터 그래픽에서 텍스쳐 좌표를 결정하는 방법 및 장치 | |
JP2000057372A (ja) | 画像処理装置、画像処理方法及び記憶媒体 | |
JP2003030683A (ja) | ラフ面光反射回路 | |
JPH11328438A (ja) | 高効率浮動小数点zバッファリングの方法および装置 | |
JP2795083B2 (ja) | 画像処理における同一材質感画像の作成方法 | |
JPH0721155A (ja) | 中央演算処理装置 | |
JPH03127278A (ja) | カラー画像処理方法及び装置 | |
JP3538826B2 (ja) | 演算回路および演算方法 | |
JP3311905B2 (ja) | 画像処理装置 | |
JP4244444B2 (ja) | データ処理装置、除算回路および画像処理装置 | |
JP2001333435A (ja) | 美肌処理回路および色判断回路 | |
JPH06333059A (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 |