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

シェーディング処理装置

Info

Publication number
JP3233376B2
JP3233376B2 JP08126393A JP8126393A JP3233376B2 JP 3233376 B2 JP3233376 B2 JP 3233376B2 JP 08126393 A JP08126393 A JP 08126393A JP 8126393 A JP8126393 A JP 8126393A JP 3233376 B2 JP3233376 B2 JP 3233376B2
Authority
JP
Japan
Prior art keywords
vector
shading
light
polygon
rotation
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 - Lifetime
Application number
JP08126393A
Other languages
English (en)
Other versions
JPH06266854A (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 JP08126393A priority Critical patent/JP3233376B2/ja
Publication of JPH06266854A publication Critical patent/JPH06266854A/ja
Application granted granted Critical
Publication of JP3233376B2 publication Critical patent/JP3233376B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、立体を表現した3次
元画像に陰影を付加し、立体の把握を容易にするシェー
デイング処理装置に関する。
【0002】
【従来の技術】CRTディスプレイ等の2次元(平面)
表示装置に3次元立体図形を透視変換処理、遠近処理等
によって表示する場合に、表示された物体に自然な感じ
を与えるため光反射モデルに基づいて、陰影、すなわち
シェーディング処理が行なわれている。
【0003】このシェーディングの手法としては、ビ・
トウイング・フォング(Bui・Toung・Phon
g)のフォングシェーディングなどが知られている。
【0004】このフォングシェーディングは、次の数1
式に基いて、図14に示すベクトルの関数に従い視線方
向の光の強さを算出するものである。
【0005】
【数1】
【0006】また、鏡面反射を無視したシェーディング
手法として、下記数2式に基づいて、図15に示すベク
トル関数に従い光の強さを算出するランバート(Lam
bart)シェーディング手法がある。
【0007】
【数2】
【0008】このアルゴリズムを適用する時には、光線
ベクトル、面法線ベクトルを随時算出する必要があり、
極めて高速に動作する大規模な専用ハードウェアを必要
とする。
【0009】簡単な回路でランバートシェーディング手
法を実現する装置が特開平2−51789号公報(国際
特許分類G06F 15/72)に提案されている。
【0010】この装置は、物体の面法線をまず算出し、
その後、物体の回転の逆回転を光線ベクトルにだけ行
い、上記モデルによって陰影を付加するので、物体の回
転に伴って法線ベクトルの再計算を行なう必要がなく、
簡単な回路で高速動作を実現しようとするものである。
【0011】
【発明が解決しようとする課題】しかしながら、上記装
置は、ランバートモデルのように物体の面法線と光線ベ
クトルだけの関係にのみ成立し、フォングモデルのよう
に鏡面反射を考慮すると、視線ベクトルと反射ベクトル
も考慮しなければならずリアルな画像を表現する場合に
は適用することができない。
【0012】このため、従来は光線方向、視線方向の変
更をリアルタイムに行なうゲーム機器やフライトシミュ
レータ、ドライブシミュレータ等のように使用者のハン
ドル操作をリアルタイムに伝えられるシステムにおいて
は遅れを伴うという問題があった。
【0013】一方、フォングモデルは局所照明モデルで
あるため、光線ベクトルとは全く反対の方向からその物
体を見たとき、その物体の面(ポリゴン面)は光線ベク
トルとは反対の方向を向いているため、拡散反射光、鏡
面反射光とも”0”となり、すべての面が環境光の光し
か示さなくなり、すべて同じ色もしくは同じ輝度しか持
たずリアル感が損なわれるという問題があった。
【0014】また、大域照明モデルであるレイトレーシ
ング等では全ての反射光について計算を行うため、1次
の光線が視線ベクトルと反対方向でも数次の反射光によ
りそれぞれの面に輝度が与えられ、全て同じ輝度を示す
という上述した問題は発生しないが、多くの計算を必要
とする問題があった。
【0015】この発明は、上述した従来の問題点を解消
するためになされたものにして、簡単な構成でシェーデ
ィングのリアルタイム処理が行なえる方法を提供するこ
とを第1の目的とする。
【0016】更に、この発明は、光線方向と反対方向の
面に対しても、簡単な構成でシェーディングのリアルタ
イム処理が行なえる方法を提供することを第2の目的と
する。
【0017】
【課題を解決するための手段】この発明の第1の発明
は、第1の目的を達成するために、複数のポリゴンの集
合体として立体物を表し、ポリゴンデータを格納してい
る記憶手段よりポリゴンデータを読み出し、ポリゴンの
端点の値を視野座標系に変換し、投影変換処理により2
次元座標系に変換する手段と前記ポリゴンの法線ベク
トルを格納する記憶手段と上記立体物に対し3次元の
回転操作を行なう手段と、上記立体に向かう光源ベク
トルに対し、上記回転操作とは逆方向の回転補正を行な
う手段と、上記立体物に向かう視線ベクトルに対し、上
記回転操作とは逆方向の回転補正を行なう手段と、上記
法線ベクトルと回転補正された光源ベクトルと視線ベク
トルとの内積に応じて上記立体物を表すポリゴンに陰影
を付加する陰影付加手段と、を備えてなる。
【0018】さらに、この発明の第2の発明は、第2の
目的を達成するために、上記陰影付加手段は、面方向と
光方向との関係に基づく拡散反射光を演算する手段と、
視線方向と光が面から反射する方向との関係に基づく鏡
面反射光を演算する手段と、を備え、上記拡散反射光と
鏡面反射光及び上記法線ベクトルと回転補正された光源
ベクトルと視線ベクトルに基づいて、ポリゴンに陰影を
付加することを特徴とする。
【0019】
【作用】この発明は、物体の回転に伴って法線ベクトル
の再計算などをおこなう必要がなくなり、シェーディン
グ処理演算をROMなどに格納することが可能となるの
で、幾何変換処理部と並列にシェーディング処理ができ
応答性がきわめて良好になる。
【0020】また、この発明の第2の発明によれば、光
線方向と反対方向の面に対しもそれぞれの輝度が与えら
れリアルなシェーディングを高速に行える。
【0021】
【実施例】以下、この発明の一実施例につき図面を参照
して説明する。
【0022】図1は、この発明のシェーディング装置を
用いた立体画像表示装置のブロック図である。
【0023】この装置は、例えば、レーシングゲームや
飛行機の操縦シュミレーションなどのゲーム機器に用い
て好適な一例が示されている。図1に従いこの発明のシ
ェーディング装置を用いた立体画像表示装置の全体構成
につき説明する。
【0024】この実施例においては、各種条件のシミュ
レーション画像を複数のポリゴン情報として、ポリゴン
端点メモリ1にX,Y,Z座標値として与えられる。
【0025】また、各ポリゴン端点の法線ベクトル値
(NX,NY,NZ)はポリゴン端点法線ベクトルメモ
リ2に格納さている。このベクトルメモリ2には、更に
各ポリゴンのレッドの拡散反射係数(RKd)、グリー
ンの拡散反射係数(GKd)、ブルーの拡散反射係数
(BKd)と各ポリゴンのレッドの鏡面反射係数(RK
s)、グリーンの鏡面反射係数(GKs)、ブルーの鏡
面反射係数(BKs)及びレッドの環境光値(Rambien
t)、グリーンの環境光値(Gambient)、ブルーの環境
光値(Bambient)を格納している。これら各データは
この発明の特徴とするところのシェーディング装置5に
与えられる。
【0026】CPUはあらゆる立体物(オブジェクト)
を複数のポリゴンの集合体として表現し、このポリゴン
の各端点を示す端点情報を読み出し、ハンドルアクセス
等で構成された操作部(図示しない)の操作内容に基づ
いて変換された電気信号に従いこの状況に応じた状況デ
ータを演算し、幾何変換装置3及びシェーディング装置
5に夫々データを与える。
【0027】幾何変換装置3は、CPUからの命令に従
い各種ポリゴンデータを参照しながら、ポリゴン端点メ
モリ1からデータを読み出し、ポリゴンの端点の値を視
線方向に回転する視野変換、透視投影変換により各ポリ
ゴンの端点座標を幾何変換し、そのX,Yの2次元座標
(SX,SY)をスクリーンメモリ4に与える。また、
ポリゴン中心の視野変換された代表値即ち、そのポリゴ
ンの視点からの距離の代表値(Z値)を決定し、そのデ
ータをスクリーンメモリ4に与える。
【0028】シェーディング装置5は、ベクトルメモリ
2より読み出したポリゴン端点の法線ベクトル値に対し
てシェーディング演算を行い、ポリゴン端点の色を算出
し、このポリゴン端点の色をポリゴン端点カラーメモリ
6に与える。このシェーディング装置5の詳細について
は後述する。
【0029】描画処理装置7はスクリーン画面のY方向
に分割された処理領域に含まれるポリゴンに対してスク
リーンメモリ4及びカラーメモリ6より端点情報を読み
出してCRT9が必要とするスキャンラインにかかるポ
リゴンをビットマップ上に描画し、そのデータをフレー
ムメモリ8に与える。
【0030】次に、この発明の実施例におけるシェーデ
ィング装置5につき図2を参照して更に説明する。
【0031】シェーディング装置5は、ベクトルメモリ
2から、法線ベクトル値、拡散反射係数、鏡面反射係
数、環境光値を夫々読み出し、読み出された各データは
メモリインターフェース51に一旦格納される。ベクト
ルメモリ2のアクセスは、アドレス生成回路52にて生
成されたアドレスによって行なわれ、メモリより夫々デ
ータが読み出される。
【0032】メモリインターフェース51に格納された
データは、隠面処理装置57及びシェーディング演算回
路58にそれぞれ与えられ、隠面処理装置57にてポリ
ゴン面法線ベクトルとベクトル回転回路55にて回転演
算処理された視線ベクトルとの内積に基づいてそのポリ
ゴンか可視か不可視、すなわち表に現れるポリゴンか裏
に隠れるポリゴンかを判定し、その結果をコントローラ
61に出力する。コントローラ61は可視ポリゴンに対
してのみフォングモデルに基づくシェーディング演算処
理をを行うように、シェーディング演算回路58を制御
する。この隠面処理回路57の構成例を図4に示し、詳
細については後述する。
【0033】立体物体(オブジェクト)が例えば時計回
りにθだけ回転させたとき、オブジェクトのある点の法
線ベクトルはnはn’の位置に移動するのに対し、視線
ベクトル、光線ベクトルは移動しない。このため視線ベ
クトル、光線ベクトルとで新たなシェーディング係数の
計算を行う必要がある。この時、法線ベクトルは多数存
在するので、この回転移動した法線ベクトルを演算する
とした場合、大規模な回路が必要となる。ところが、光
線ベクトル及び視線ベクトルを反時計回りに−θだけ回
転させたベクトルとオブジェクト回転前の法線ベクトル
とで求めたシェーディング係数が法線ベクトルを回転演
算させ視線ベクトル及び光線ベクトルとで算出したシェ
ーディング係数と同じになる。このため、この発明では
法線ベクトルに回転処理演算を行うのではなく視線ベク
トル及び光線ベクトルに逆回転処理演算を行いシェーデ
ィング係数を求めるように構成している。
【0034】CPUよりオブジェクトの回転角度(X
θ、Yθ、Zθ)が入力されると、視線ベクトルはベク
トル回転回路55にてX,Y,Z方向に(Xθ、Yθ、
Zθ)だけ逆回転処理が行われる。すなわち、視線ベク
トルはレジスタ53に一旦格納され、ベクトル回転回路
55のY回転演算器55aにて、Y方向にYθ逆回転演
算が行われ、X回転演算器55bに送られる。X回転演
算器55bはX方向にXθ逆回転演算を行い、Z回転演
算器55cにそのデータを送る。Z回転演算器55cは
Z方向にZθ逆回転演算を行い、その演算結果をシェー
ディング演算回路58及び隠面処理回路57にそれぞれ
与える。
【0035】また、光線ベクトルは、ベクトル回転回路
56にてX,Y,Z方向に(Xθ、Yθ、Zθ)だけ逆
回転処理が行われる。すなわち、光線ベクトルはレジス
タ53に一旦格納され、ベクトル回転回路56のY回転
演算器56aにて、Y方向にYθ逆回転演算が行われ、
X回転演算器56bに送られる。X回転演算器56bは
X方向にXθ逆回転演算を行い、Z回転演算器56cに
そのデータを送る。Z回転演算器56cはZ方向にZθ
逆回転演算を行い、その演算結果をシェーディング演算
回路58に与える。これら回転演算器は図5に示すよう
に構成され、各X,Y,Zにおける各ベクトルの座標係
数(A,B)に対してsinθ、cosθの乗算を行い
それぞれその乗算結果の差分をとり、θの逆回転演算を
行う。
【0036】そして、ベクトル回転回路55の処理結果
と、ベクトル回転回路56の処理結果がシェーディング
演算器58に与えられる。シェーディング演算器58
は、両処理結果とベクトルメモリ2からのR,G,Bの
拡散反射係数、鏡面反射係数、環境光値とにより、色値
を求める演算を行ない、この算出した色値をメモリイン
ターフェース59に出力する。シェーディング演算器5
8の構成例を図3に示し、その詳細につき後述する。
【0037】メモリインターフェース59に格納された
色値は、アドレス生成回路60にて生成されたアドレス
値にて指定されたポリゴン端点カラーメモリ6の領域に
格納される。
【0038】この発明の隠面処理回路57について、図
4に従い説明する。この隠面処理回路57はポリゴン面
法線ベクトル(PX,PY,PZ)と変換された視線ベ
クトル(EX,EY,EZ)との内積をとり、その正、
負をコントローラ61に知らせるものである。すなわ
ち、それぞれ3つの乗算器571、572、573の一
方の入力に法線ベクトル(PX,PY,PZ)データ
が、また乗算器571、572、573の他方の入力に
変換された視線ベクトル(EX,EY,EZ)データが
与えられ、各乗算器で演算され、その演算結果が加算器
574に与えられる。この加算器574にて各乗算器の
演算結果が加算され、正、負の出力がなされる。この加
算器574からの出力が正の場合には、ポリゴン面は表
を向いており、また、負の場合には裏を向いていると判
断される。
【0039】次に、図3に基づきシェーディング演算回
路58の構成につき説明する。この図3においては、輝
度値のみを求めており、フォングモデルのシェーディン
グアルゴリズムをハードウェア化したものである。例え
ば、色値を求める場合には、R,G,Bそれぞれの拡散
反射係数Kdと鏡面反射係数Ksと環境光強度AMBと
光源強度L1を持ち、内積値(INNNER)に対して
R,G,Bそれぞれの拡散反射係数Kdを乗算し、R,
G,Bの拡散反射光強度を求める。そして、第2の内積
値(INNNER2)に対してR,G,Bそれぞれの鏡
面反射係数Ksを乗算し、R,G,Bごとに光の強度を
求めるように構成される。
【0040】これら各演算器はコントローラ61により
制御され、コントローラ61は図6に示すフローチャー
トに従って動作する。
【0041】次に、この発明の第1実施例の動作を図6
のフローチャートに基づいて、更に説明する。
【0042】シェーディング動作を開始すると、まず、
オブジェクトの回転角度Xθ,Yθ,ZθがCPUより
入力される(ステップS1)。そして、ベクトル回転回
路56にて光線ベクトル(LX,LY,LZ)をオブジ
ェクトの回転角度Xθ,Yθ,Zθだけ逆回転させる
(ステップS2)。続いて、ベクトル回転回路55にて
視線ベクトル(EX,EY,EZ)をオブジェクトの回
転角度Xθ,Yθ,Zθだけ逆回転させる(ステップS
3)。
【0043】そして、ベクトルメモリ2よりポリゴン面
法線ベクトル(PX,PY,PZ)が読み出された後
(ステップS4)、R,G,Bの拡散反射係数(RK
d,GKd,BKd)及び鏡面反射係数(RKs,GK
s,BKs)が読み出され(ステップS5)、ステップ
S6へ進む。。
【0044】ステップS6では、隠面処理回路57に
て、ポリゴン面法線ベクトル(PX,PY,PZ)と変
換された視線ベクトル(EX,EY,EZ)との内積が
とられる。この内積値(INNNER)が正か負か判断
され(ステップS7)、内積値(INNNER)が負の
場合には、そのポリゴンは裏を向いているため、表側か
らは見えないのでステップS4に戻る。正の場合には、
可視ポリゴン面としてステップS8に進む。
【0045】ステップS8において、ポリゴン端点法線
ベクトル(NX,NY,NZ)をベクトルメモリ2より
読み出し、シェーディング演算回路58にて法線ベクト
ル(NX,NY,NZ)と逆回転演算された視線ベクト
ル(EX,EY,EZ)とのとの内積がとられる(ステ
ップS9)。この内積値(INNNER)と拡散反射係
数Kdを乗算し、R,G,Bの拡散反射強度(DIF)
を算出する(ステップS10)。
【0046】続いて、ステップS11にて、反射光のベ
クトルを求め、ステップS12にて視線ベクトルと反射
光ベクトルとの内積を求める。この第2内積値(INN
ER2)と鏡面反射強度Ksを乗算しR,G,Bの鏡面
反射強度を算出する(ステップS13)。
【0047】続いて、ステップS14において、光線強
度L1に拡散反射強度と鏡面反射強度を加えたものを乗
算し、この値に環境強度を加算して、輝度値(I)を算
出する。
【0048】そして、ステップS15にて、輝度値をカ
ラーメモリ6に書き込み、ステップS16にて、ポリゴ
ンの全てのポリゴン端点の処理が終了したか否か判断さ
れ、処理していない場合には、前述のステップS8に戻
り、前述の動作を繰り返す。また、処理が終了すると、
ステップS17に進み、ステップS17にて、全てのポ
リゴンの処理が終了したか否か判断され、処理が終了し
ていない場合には、ステップS4に戻り、前述の動作を
繰り返す。ステップS18にて、オブジェクト中のポリ
ゴン全てに対して、処理が終了したか否か判断され、処
理していない場合には、前述のステップS1に戻り、前
述の動作を繰り返す。また、処理が終了すると、処理が
終了したと判断されると、このシェーディング処理が終
了する。
【0049】上述した第1の実施例は、フォングモデル
に基づいてシェーディングのリアルタイム処理を実現し
ているが、フォングモデルは、局所照明モデルであるた
め、光線ベクトルとは全く反対の方向からその物体を見
たとき、その物体の面(ポリゴン面)は光線ベクトルと
は反対の方向を向いているため、拡散反射光、鏡面反射
光とも”0”となり、すべての面が環境光の光しか示さ
なくなり、すべて同じ色もしくは同じ輝度しか持たずリ
アル感が損なわれる。第2の実施例は全ての反射光を考
慮してリアル感のあるシェーディング処理を施す装置を
提供するものである。
【0050】この第2実施例と第1実施例と相違すると
ころはシェーディング演算回路の構成であり、その他の
部分は第1実施例と同様であるので、説明の重複を避け
るために同一部分については説明を省略し、シェーディ
ング演算回路部分を中心にして説明する。
【0051】上述した実施例と同様に、ベクトル回転回
路55の処理結果と、ベクトル回転回路56の処理結果
がシェーディング演算器58に与えられる。シェーディ
ング演算器58は、両処理結果とベクトルメモリ2から
のR,G,Bの拡散反射係数、鏡面反射係数、環境光値
とにより、色値を求める演算を行ない、この算出した色
値をメモリインターフェース59に出力する。この実施
例におけるシェーディング演算器58は図7に示すよう
に、拡散反射光演算装置581と鏡面反射光演算装置5
82と環境反射光演算装置583とを備え、各演算装置
の演算結果が加算器584にて加算され、輝度値が算出
され、その輝度値をレジスタ585に格納するように構
成されている。すなわち、この第2実施例におけるシェ
ーディング演算回路58により、フォングモデル基づい
て、環境光に対してポリゴン面法線方向に反射する光と
面方向以外に反射する光を考慮したシェーディング処理
を以下の数式3に従い行われる。
【0052】
【数3】
【0053】拡散反射光演算装置581は、上記数式3
の第2項に相当する演算を行うもので、図8に示すよう
にハードウェア化される。この図8の回路で、法線ベク
トル(NX,NY,NZ)と逆回転演算された視線ベク
トル(EX,EY,EZ)との内積がとられ、この内積
値(INNNER)と拡散反射係数Kdを乗算される。
この乗算値と光線強度L1とを乗算し、拡散反射強度
(DIF)を算出する。
【0054】鏡面反射光演算装置582は、上記数式3
の第3項に相当する演算を行うもので、図9に示すよう
にハードウェア化される。この図9の回路で、法線ベク
トル(NX,NY,NZ)と逆回転された光線ベクトル
(LX,LY,LZ)との内積により反射光のベクトル
を求め、この反射光ベクトルと視線ベクトル(EX,E
Y,EZ)との内積を求める。この第2内積値(INN
ER2)と鏡面反射強度Ksを乗算し、鏡面反射強度
(SPEC)を算出する。
【0055】環境反射光演算装置583は上記数式3の
第1項に相当する演算を行うもので、図10に示すよう
に、面方向に反射する環境反射光演算装置583aと面
方向に以外に反射する環境反射光演算装置583bを備
え、両演算装置の処理結果を加算器583cにて加算す
ることにより算出される。
【0056】面方向に反射する環境反射光演算装置58
3aは、図11に示すように、ハードウェア化され、法
線ベクトル(NX,NY,NZ)と逆回転演算された視
線ベクトル(EX,EY,EZ)との内積がとられ、こ
の第3内積値(INNNER3)と環境反射係数Kaが
乗算される。この乗算値と第2光線強度L2とを乗算
し、第1の環境反射強度(ANB1)を算出する。
【0057】面方向以外に反射する環境反射光演算装置
583bは、図12に示すように、ハードウェア化さ
れ、第2光線強度L2と環境光(Iamb)とを加算す
ることにより、第2の環境反射強度(ANB2)が算出
される。
【0058】次に、この第2実施例の動作を図13のフ
ローチャートに基づいて、更に説明する。
【0059】シェーディング動作を開始すると、まず、
オブジェクトの回転角度Xθ,Yθ,ZθがCPUより
入力される(ステップS21)。そして、ベクトル回転
回路56にて光線ベクトル(LX,LY,LZ)をオブ
ジェクトの回転角度Xθ,Yθ,Zθだけ逆回転させる
(ステップS22)。続いて、ベクトル回転回路55に
て視線ベクトル(EX,EY,EZ)をオブジェクトの
回転角度Xθ,Yθ,Zθだけ逆回転させる(ステップ
S23)。
【0060】そして、ベクトルメモリ2よりポリゴン面
法線ベクトル(PX,PY,PZ)が読み出された後
(ステップS24)、R,G,Bの拡散反射係数(RK
d,GKd,BKd)、鏡面反射係数(RKs,GK
s,BKs)及び環境反射係数(RKa,GKa,BK
a)が読み出され(ステップS25)、ステップS26
へ進む。
【0061】ステップS26では、隠面処理回路57に
て、ポリゴン面法線ベクトル(PX,PY,PZ)と変
換された視線ベクトル(EX,EY,EZ)との内積が
とられる。この内積値(INNNER)が正か負か判断
され(ステップS27)、内積値(INNNER)が負
の場合には、そのポリゴンは裏を向いているため、表側
からは見えないのでステップS24に戻る。正の場合に
は、可視ポリゴン面としてステップS28に進む。
【0062】ステップS28において、ポリゴン端点法
線ベクトル(NX,NY,NZ)をベクトルメモリ2よ
り読み出し、シェーディング演算回路58にて法線ベク
トル(NX,NY,NZ)と逆回転演算された光線ベク
トル(LX,LY,LZ)とのとの内積がとられる(ス
テップS29)。この内積値(INNNER)と拡散反
射係数Kdを乗算し、R,G,Bの拡散反射強度(DI
F)を算出する(ステップS30)。
【0063】続いて、ステップS31にて、反射光のベ
クトルを求め、ステップS32にて視線ベクトルと反射
光ベクトルとの内積を求める。この第2内積値(INN
ER2)と鏡面反射強度Ksを乗算しR,G,Bの鏡面
反射強度を算出する(ステップS33)。
【0064】続いて、ステップS34にて、法線ベクト
ル(NX,NY,NZ)と逆回転演算された視線ベクト
ル(EX,EY,EZ)との内積を求める。この第3内
積値(INNNER3)と環境反射係数Kaが乗算した
ものと第2光線強度L2とを乗算し、面方向に反射する
環境反射強度を算出する(ステップS35)。
【0065】そして、ステップS36にて、光源強度L
1を拡散反射強度と鏡面反射強度に乗算したものと環境
光強度L2を面方向に反射する環境反射強度に乗算した
ものと面方向以外に反射する環境光強度を加えて輝度値
(I)を求める。
【0066】そして、ステップS37にて、輝度値をカ
ラーメモリ6に書き込み、ステップS38にて、ポリゴ
ンの全てのポリゴン端点の処理が終了したか否か判断さ
れ、処理していない場合には、前述のステップS28に
戻り、前述の動作を繰り返す。また、処理が終了する
と、ステップS39に進み、ステップS39にて、全て
のポリゴンの処理が終了したか否か判断され、処理が終
了していない場合には、ステップS24に戻り、前述の
動作を繰り返す。ステップS40にて、オブジェクト中
のポリゴン全てに対して、処理が終了したか否か判断さ
れ、処理していない場合には、前述のステップS21に
戻り、前述の動作を繰り返す。また、処理が終了する
と、処理が終了したと判断されると、このシェーディン
グ処理が終了する。
【0067】
【発明の効果】以上説明したように、この発明によれ
ば、物体の回転に伴って法線ベクトルの再計算などを
必要がなくなり、シェーディング処理演算をROMな
どに格納することが可能となるので、幾何変換処理部と
並列にシェーディング処理ができ応答性がきわめて良好
になる。
【0068】また、この発明の第2の発明によれば、光
線方向と反対方向の面に対しもそれぞれの輝度が与え
られリアルなシェーディングを高速に行える。
【図面の簡単な説明】
【図1】この発明のシェーディング装置を用いた立体画
像表示装置を示すブロック図である。
【図2】この発明のシェーディング装置を示すブロック
図である。
【図3】この発明の第1実施例におけるシェーディング
演算回路の具体的構成を示すブロック図である。
【図4】この発明に用いられる隠面処理回路の具体的構
成を示すブロック図である。
【図5】この発明に用いられるベクトル回転回路の具体
的構成を示すブロック図である。
【図6】この発明の第1実施例の動作を示すフローチャ
ートである。
【図7】この発明の第2実施例におけるシェーディング
演算回路の構成を示すブロック図である。
【図8】この発明の第2実施例のシェーディング演算回
路における拡散反射演算装置の具体的構成を示すブロッ
ク図である。
【図9】この発明の第2実施例のシェーディング演算回
路における鏡面反射演算装置の具体的構成を示すブロッ
ク図である。
【図10】この発明の第2実施例のシェーディング演算
回路における環境光演算装置の構成を示すブロック図で
ある。
【図11】この発明の第2実施例のシェーディング演算
回路における面方向に反射する環境光演算装置の具体的
構成を示すブロック図である。
【図12】この発明の第2実施例のシェーディング演算
回路における面方向以外に反射する環境光演算装置の具
体的構成を示すブロック図である。
【図13】この発明の第2実施例の動作を示すフローチ
ャートである。
【図14】フォングシェーディングモデルのベクトルの
関係を示す模式図である。
【図15】ランバートシェーディングモデルのベクトル
の関係を示す模式図である。
【符号の説明】
1 ポリゴン端点メモリ 2 ポリゴン端点法線ベクトルメモリ 5 シェーディング装置 6 ポリゴン端点カラーメモリ 55,56 ベクトル回転回路 58 シェーディング演算器
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中島 達也 東京都大田区中馬込1丁目3番6号 株 式会社リコー内 (72)発明者 井澤 康浩 東京都大田区中馬込1丁目3番6号 株 式会社リコー内 (56)参考文献 特開 平2−51789(JP,A) 特開 昭61−103277(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 15/50 200

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のポリゴンの集合体として立体物を
    表し、ポリゴンデータを格納している記憶手段よりポリ
    ゴンデータを読み出し、ポリゴンの端点の値を視野座標
    系に変換し、投影変換処理により2次元座標系に変換す
    る手段と前記ポリゴンの法線ベクトルを格納する記憶
    手段と上記立体物に対し3次元の回転操作を行なう手
    段と、上記立体に向かう光源ベクトルに対し、上記回
    転操作とは逆方向の回転補正を行なう手段と、上記立体
    に向かう視線ベクトルに対し、上記回転操作とは逆方
    向の回転補正を行なう手段と、上記法線ベクトルと回転
    補正された光源ベクトルと視線ベクトルとの内積に応じ
    上記立体物を表すポリゴンに陰影を付加する陰影付加
    手段と、を備えてなるシェーディング処理装置。
  2. 【請求項2】 上記陰影付加手段は、面方向と光方向と
    の関係に基づく拡散反射光を演算する手段と、視線方向
    と光が面から反射する方向との関係に基づく鏡面反射光
    を演算する手段と、を備え、上記拡散反射光と鏡面反射
    光及び上記法線ベクトルと回転補正された光源ベクトル
    と視線ベクトルに基づいて、ポリゴンに陰影を付加する
    ことを特徴とする請求項1に記載のシェーディング処理
    装置。
  3. 【請求項3】 上記回転補正された視線ベクトルと法線
    ベクトルを内積し、ポリゴンの表裏を判断する手段と、
    を備え、上記陰影付加手段は、表のポリゴンに対して陰
    影を付加することを特徴とする請求項1又は2に記載の
    シェーディング処理装置
JP08126393A 1993-03-15 1993-03-15 シェーディング処理装置 Expired - Lifetime JP3233376B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08126393A JP3233376B2 (ja) 1993-03-15 1993-03-15 シェーディング処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08126393A JP3233376B2 (ja) 1993-03-15 1993-03-15 シェーディング処理装置

Publications (2)

Publication Number Publication Date
JPH06266854A JPH06266854A (ja) 1994-09-22
JP3233376B2 true JP3233376B2 (ja) 2001-11-26

Family

ID=13741480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08126393A Expired - Lifetime JP3233376B2 (ja) 1993-03-15 1993-03-15 シェーディング処理装置

Country Status (1)

Country Link
JP (1) JP3233376B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6646640B2 (en) * 2001-02-06 2003-11-11 Sony Computer Entertainment Inc. System and method for creating real-time shadows of complex transparent objects
EP1442390B1 (en) 2001-10-10 2017-09-13 Sony Computer Entertainment America LLC System and method for environment mapping
US7262770B2 (en) 2002-03-21 2007-08-28 Microsoft Corporation Graphics image rendering with radiance self-transfer for low-frequency lighting environments
US10786736B2 (en) 2010-05-11 2020-09-29 Sony Interactive Entertainment LLC Placement of user information in a game space

Also Published As

Publication number Publication date
JPH06266854A (ja) 1994-09-22

Similar Documents

Publication Publication Date Title
JP3021368B2 (ja) 画素の法線ベクトルを用いたバンプマッピングレンダリング方法及びそれを具現するレンダリング装置
US8648856B2 (en) Omnidirectional shadow texture mapping
US7256781B2 (en) Image processing apparatus and method of same
JPH1079046A (ja) シェーディング処理装置
US8223149B2 (en) Cone-culled soft shadows
US7106325B2 (en) System and method for rendering digital images having surface reflectance properties
JPH0746391B2 (ja) 図形シエ−デイング装置
JPH11272880A (ja) 固定小数点ライティング・ユニットを用いたロ―カル・アイ・ベクトルの高速計算方法
JP3588351B2 (ja) 透明オブジェクトのリアルタイムな影を作成するためのシステムおよび方法
US6806886B1 (en) System, method and article of manufacture for converting color data into floating point numbers in a computer graphics pipeline
US6614431B1 (en) Method and system for improved per-pixel shading in a computer graphics system
JPH0434159B2 (ja)
JP3233376B2 (ja) シェーディング処理装置
KR100489572B1 (ko) 화상 처리 방법
US20010045956A1 (en) Extension of fast phong shading technique for bump mapping
JPH0772915B2 (ja) 図形シェーディング装置
JP3278828B2 (ja) 半透明立体画像処理装置
JPH06259571A (ja) 画像合成装置
JP4726347B2 (ja) 画像表示装置、画像表示方法、情報記憶媒体および画像表示プログラム
JP3453410B2 (ja) 画像処理装置及びその方法
JP3612239B2 (ja) 画像生成装置及び記録媒体
JPH06333059A (ja) 立体画像処理装置
JPH06266853A (ja) シェーディング処理方法及びその装置
JPH04315275A (ja) コンピュータグラフィックにおける飽和演算をデータプロセッサによって行う方法
JPH0737120A (ja) 隠面処理装置

Legal Events

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

Free format text: PAYMENT UNTIL: 20080921

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080921

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090921

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090921

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110921

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120921

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130921

Year of fee payment: 12