JPH07152926A - 3次元像を陰影付けする方法 - Google Patents
3次元像を陰影付けする方法Info
- Publication number
- JPH07152926A JPH07152926A JP6178577A JP17857794A JPH07152926A JP H07152926 A JPH07152926 A JP H07152926A JP 6178577 A JP6178577 A JP 6178577A JP 17857794 A JP17857794 A JP 17857794A JP H07152926 A JPH07152926 A JP H07152926A
- Authority
- JP
- Japan
- Prior art keywords
- shading
- display
- dimensional image
- image
- visible
- 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
- 238000000034 method Methods 0.000 title claims description 28
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000009877 rendering Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- 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)
- Studio Circuits (AREA)
Abstract
タイム3次元グラフィックシステムを提供する。 【構成】 表示されるべき3次元像の各オブジェクト
は、1組の無限の面によって表される。像を表示すべき
スクリーンの各基礎領域は、これを通して3次元像へと
射線が投影される。この投影された射線と各面との交差
の位置が決定され、これらの位置から、交差面がその基
礎領域において見えるかどうか決定される。その決定の
結果に基づいて基礎領域が表示のために陰影付けされ
る。
Description
(シェーディング)するシステムに係り、より詳細に
は、実質的にリアルタイムでこれを行うことのできるシ
ステムに係る。
するための公知の最良のシステムは、Zバッファ又は深
度バッファ像高精度アルゴリズムである。これは、ソフ
トウェア又はハードウェアのいずれかで実施することが
でき、シリコン・グラフィックス社、イベンツ・アンド
・スサーランド社、及びヒューレット・パッカード社の
ような会社で製造されたシステムに使用される。
ルごとにカラー値を記憶するフレームバッファを必要と
する。これに加えて、各ピクセルごとにエントリを有す
るZバッファを必要とする。これには、各ピクセルごと
にZ値(深度値)が記憶される。3D表示を発生するた
めには、三角形のような多角形が任意の順序でフレーム
バッファにレンダリングされる。多角形の走査変換中
に、多角形上の点が、そのピクセルに対してバッファに
既に存在する点よりも観察者から離れない場合には、そ
の新たな点のカラー及びZ値が古い値に取って代わる。
予めの分類は不要であり、オブジェクトとオブジェクト
の比較も不要である。
ムは、高レベルの集積及び性能を必要とする上に、非常
に高価である。又、リアルタイム性能を得るべき場合に
は、高性能のフレームバッファ及びZバッファを使用す
る必要がある。
は、高度に集積された低コストで高性能のリアルタイム
3次元グラフィックシステムを形成できるようにする。
VLSI(超大規模集積)実施に非常に適した規模変更
可能な(scalable)通常のパイプライン構造で実施され
る。このような規模変更可能な解決策を用いることは、
3Dグラフィックレンダリングシステムを単一チップ上
に設けられることを意味する。
ー)、アンチエリアジング、ソフトな影、透明度、視野
深度の効果、動きのぼけ、カーブした面、及び構造上の
立体形状(CSG)の直接実施をサポートできるように
する。これら特徴の幾つか、例えば、リアルタイムの影
発生は、Zバッファ技術を用いて実施することが非常に
困難であり、それ故、実際にそれらを実施する高性能シ
ステムは、ほとんどない。本発明による解決策は、影の
ような特徴を比較的単純なやり方で得られるようにす
る。
ング技術ではなく、3次元像をレンダリングするための
射線投射(ray casting) 技術の使用に基づくものであ
る。
ェクトは、各々、データのセットとして記憶された1組
の面によって表される。像平面は、観察者と、見るべき
場面との間に存在すると考えられ、これは、複数の基礎
領域(ピクセル)で構成される。射線は、観察点からス
クリーンの基礎領域を経て見られるべき場面へと通過す
ると仮定され、その場面内のオブジェクトを表す種々の
面に交差する。これらの交差と、観察者からの距離とを
分析することにより、面が見えるかどうか、ひいては、
そのピクセルを特定のシェードでレンダリングしなけれ
ばならないかどうかを判断することができる。
同様の計算を実行する必要がある。場面の各オブジェク
トに対する1組の面を各ピクセルにおいてテストし、そ
して目に見える最も近い面に指定されたシェードがその
ピクセルに与えられる。このような技術は、パイプライ
ン形態で実施することができる。これは、高度な集積化
を可能にし、性能/複雑さとコストとの間の妥協をなし
得るようにする。
範囲に詳細に定められる。以下、添付図面を参照し、本
発明の実施例を詳細に説明する。
ており、像表面の操作が所定の1組のルールに基づいて
実行されて、個々の画素(ピクセル)にシェード(濃
淡)が割り当てられる。パイプライン2が作用する3次
元像データは、3Dデータベース4に記憶される。デー
タベースとパイプラインとの間には形状プロセッサ6が
設けられており、データベースからのデータを、パイプ
ラインによりレンダリングする前に、操作できるように
なっている。操作は、オブジェクトの回転、並進移動、
視点変更及びシェーディング計算のような機能を含むこ
とができる。ある形式のユーザ入力をこれに与えて、3
Dデータベースのリアルタイム対話操作を行うことがで
きる。形状プロセッサによってパイプラインに送られる
像は、パイプラインにより表示のためのピクセルデータ
に変換される面データである。
をベースとするレンダリングアルゴリズムではなくて、
射線トレースアルゴリズムに基づくものである。射線ト
レースアルゴリズムにおいては、表示されるべき各3次
元形状が、図2に示すようにオブジェクトの集合として
モデリングされる。これらは、図3に示すように、元の
形状の近似形を作るために何が必要とされるかに基づい
て互いに交差する。元のオブジェクトの凹所は、図4に
示すように、多数のブロックに分割される。
られる。図2ないし4に示した例では、これらの面が全
て平らであるが、本システムは、カーブした面を取り扱
うに充分な融通性を有している。各オブジェクトの縁及
び頂点は、面の交差から暗黙のうちに定められ、従っ
て、縁及び頂点のデータを記憶する必要はない。
の場面の各面は、前方の面又は逆向きの面として分類さ
れる。これは、各面を定めるデータと共に記憶されるフ
ラグをセットすることによって行われる。前方の面は、
その面に直角な線が観察者を向くような状態を表す。逆
向きの面は、その反対である。
次取り上げそして観察者の目から像平面内の選択された
点(ピクセル)を通る射線がそのオブジェクトに定めら
れた全ての面に交差することをイメージすることによっ
て動作する。これが行われると、目から最も離れた前方
面の交差と、目に最も近い逆向き面の交差とが決定され
る。これが図5に示されている。
観察点8からスタートする。オブジェクトは、図5の断
面の平面において4つの面で定められる。観察点8から
最も離れた射線1の前方面の交差はF1であり、そして
観察点に最も近い逆向き面の交差はR1である。
交差よりも観察点の近くにあるこの状態は、射線1がオ
ブジェクトに交差しないことを示す。それ故、この特定
のオブジェクトは、射線1が通過する像平面内のピクセ
ルにおいて見えない。一方、射線2は、その最も近い逆
向き交差R4が最も遠い前方面交差F3よりも観察点8
から離れている。これは、射線2が通過するピクセルに
おいて像平面内でオブジェクトが見えることを指示す
る。それ故、このピクセルには、その面に割り当てられ
たシェード(濃淡)が割り当てられる。このシェード
は、通常、面を定めるデータと共に記憶され、グレース
ケール値であってもよいし、全色システムの場合には
R、G、B値であってもよい。単一オブジェクトの特定
のピクセルにシェードを割り当てるこの技術は、ルール
間セット(inter-rule set)と称する。
が繰り返され、そして目に最も近いオブジェクトの目に
見える面であって、特定のピクセルを通過する射線に交
差する面がもしあれば、それはそのピクセルに対するシ
ェードを導出するように選択される。これをルール内セ
ット(intra-rule set)と称する。
ードは、目に見える面の特性及び向きから計算すること
ができる。射線が交差する目に見える面がない場合に
は、その射線が通過するピクセルに割り当てられたシェ
ードは、バックグランドシェードとなる。シェードは、
グレースケール値であってもよいし、全R、G、B値で
あってもよい。
面を定めるデータからの非常に簡単な動作に簡略化する
ことができる。これは、以下に説明する。
とができる。 n.x=k 但し、n=原点(通常は観察点)に向いた面に対する単
位直角ベクトルで、通常は原点からの角度のコサインと
して記憶される。 k=面から原点への垂直距離である。 x=面上の点(座標)である。
表される。 p1+U(p2−p1) 但し、p1=ベースベクトル、即ち原点から観察点まで
の距離である。 p2=像平面上のピクセルの中心における射線上の点で
ある。 U=射線に沿ってどれほど遠くで点xにおいて交差が生
じるかの尺度である。 それ故、n(P1+u(p2−p1))=k、及び u=(k−n.p1)/n.(p2−p1) パラメータuは、交差する面の後方では負であり、p1
とp2との間で0ないし1の範囲であり、そして像平面
の前方の点については1より大きい。従って、パラメー
タuは、観察者から像平面上の点を経て所与の面までの
距離の尺度を与える。これは、像平面上の各ピクセルに
射線を通すときにピクセルごとの分割を必要とする。し
かしながら、このパラメータの逆数1/uは、分割を必
要とせず、依然として面までの距離の尺度を与える。こ
の場合に、これは、面までの距離が無限に向かうにつれ
て0に近づく。この距離の逆の尺度を通常は深度と称し
ている。それ故、次の式を用いて各ピクセルにおける各
面の深度を比較することにより、各ピクセルにおいてど
の面が見えるかを見つけることができる。 1/u=n(p2−p1)/(k−n.p1) この式においてベクトルを拡張すると、次の結果が得ら
れる。 1/u=(n1.(xs−xe)+n2.(ys−ye)+
n3.(zs−ze))/(k−(n1.xe+n2.y
e+n3.ze)) 但し、xs、ys、zsは、像平面交差座標であり、そ
してxe、ye、zeは目点の座標である。
ある場合には、上記式は次のように簡略化される。 1/u=(n1.xs+n2.ys+n3.(zs−z
e))/(k−n3.ze) これは、次のようなより一般的な形態に有理化すること
ができる。 1/u=A.xs+B.ys+C A、B、Cは、特定の場面における各面の定数であり、
従って、上記の式を用いて、各射線上の各面への距離を
導出することができる。
距離を計算すべき像平面内のピクセルの座標である。
することにより構成され、従って、特定の面について
は、スタート深度が計算された後に、像平面において水
平方向に進行するときにAだけ増加しそして垂直方向に
進行するときにBだけ増加することにより、各ピクセル
の深度を計算することができる。前記したように、各面
の深度は、像平面内の各ピクセルごとに計算しなければ
ならない。これは、相当の数の計算である。しかしなが
ら、水平に隣接するピクセル間の深度計算は単一の加算
しか必要とせずそして多数のピクセルを並列に動作させ
ることができるので、非常に効率的なアーキテクチャを
案出することができる。シャドー及び透明なオブジェク
トも処理することのできる1つの考えられるアーキテク
チャを、図4について説明する。
は、パイプライン構成された一連の同じセルで構成され
る。セルの典型的な個数は32ないし64である。2つ
のこのようなセルが図6に示されている。各セルは単一
のピクセルについて機能し、そして隣接するセルは隣接
ピクセルについて機能する。即ち、セルNは、ピクセル
(x,y)を処理し、セルN+1は、ピクセル(x+
1,y)を処理し、そしてセルN+2は、ピクセル(x
+2,y)を処理する。
よって達成される。特定の面に対して、パラメータAが
各サイクルの始めにレジスタ10に入れられ、そしてA
xs+Bys+Cを表す深度パラメータが各サイクルの
始めにレジスタ12に入れられる。これら2つの値は加
算器14において合成され、水平に隣接するピクセルに
対する新たな深度パラメータ2Axs+By+Cを生
じ、これは、次のセルのレジスタ12に入れられる。
又、パラメータAは、次のセルの対応するレジスタ10
にも入れられる。次のセルにおけるレジスタ10及び1
2の値は、対応する加算器14において合成され、その
出力は、パイプラインの次のセルのレジスタ12への入
力を形成する。
して記憶され、順次に処理される。これらの面は、それ
が定めるオブジェクトに関してグループ分けされ、そし
て全ての前方面がそのグループのスタート時の基礎とな
り、その後に逆向きの面が続くというような順序にされ
る。これを以下に示す。 オブジェクトN+1の面 M+9逆向き面 オブジェクトN+1の面 M+8逆向き面 オブジェクトN+1の面 M+7前方面 オブジェクトN+1の面 M+6前方面 オブジェクトNの面 M+5逆向き面 オブジェクトNの面 M+4逆向き面 オブジェクトNの面 M+3逆向き面 オブジェクトNの面 M+2前方面 オブジェクトNの面 M+1前方面 オブジェクトNの面 M前方面
他の面のアトリビュートを含むオペレーションコードと
共に記憶される。これらの1つは、面を陰影付けするた
めにルックアップテーブルのインデックスとして使用さ
れる面タグである。或いは、このタグは、その面に対す
る実際のR、G、B値を含むこともできる。オペレーシ
ョンコードの更に別の情報がプロセッサによって使用さ
れて、各面で何を行うべきかが判断される。コードに含
まれる情報の形式は、次の通りである。 新たなオブジェクトのスタート 前方又は逆向きの面 全場面に対する面データの開始 全場面に対する面データの終了 シャドーオブジェクト 透明オブジェクト
て記憶される制御信号によって表される。そこから必要
に応じてアクセスされる。
処理されているピクセルに対しそのオブジェクトの第1
の面の深度が深度内レジスタ18に記憶される。面のシ
ェードのような面タグデータは、タグ内レジスタ22に
記憶される。それと同時に、手前のオブジェクトからの
手前の深度内の値が深度間レジスタ16の値と比較さ
れ、このレジスタは、処理されているピクセルに対し処
理された目に見える面の深度を記憶する。深度内の値が
そのピクセルに対する深度間よりも大きい場合には、深
度内レジスタの値が深度間レジスタ16に転送される。
従って、システムは、オブジェクトの面の処理の終了と
共に、そのオブジェクトの最も近い目に見える面を、そ
の特定のピクセルに対して場面内でそれまでに検出され
ている最も近い目に見える面と比較する。必要に応じ
て、レジスタ16が更新される。
に、MUX24を用いて、レジスタ16の出力が比較器
26の入力の一方へと切り換えられ、その他方の入力は
レジスタ18の出力を受け取る。
間に、MUX24はレジスタ28に入れられた制御信号
によって制御されて、レジスタ12及びレジスタ18を
比較器26の入力に接続する。前方面に対し、現在の面
深度が深度内の値より大きい場合には、深度内抵抗が同
一に保たれる。逆向き面の場合には、逆の動作が生じ
る。従って、オブジェクトの処理の始めに、深度内レジ
スタは、その手前のオブジェクトから目までの最も近い
面を含んでいる。全てのオブジェクトが処理された後
に、タグ内及び深度内レジスタは、セルが機能している
ピクセルに対し目までの最も近い面を定めるデータを含
む。
面が検出されたときに深度間レジスタ16及びタグ間レ
ジスタ32に対して更新を行うのに使用される。
ムとしてフラグを立てることによりシステムによって影
がレンダリングされる。シャドーボリュームは、点光源
から照射されるオブジェクトのシルエットエッジによっ
てスイープされるスペースの領域である。このボリュー
ム内のオブジェクトは、影に入ると考えられる。
トと同様に処理される。全てのシャドー及び非シャドー
オブジェクトが処理されたときには、ピクセルに指定さ
れた面が影に入るかどうかを決定することは簡単であ
る。これは、その面の位置をシャドーオブジェクトの最
も遠い前方面及び最も近い逆向き面と比較しそして目に
見える面がその範囲内にあるかどうかチェックすること
により行われる。もしそうであれば、その面に関連した
フラグがセットされて、その陰影付けの効果をシュミレ
ーションするためにそのシェード又はカラーの変更を行
う必要があることを指示する。システムは、2つ以上の
点光源からの照射、ひいては、2つ以上の影シェードを
取り扱うに充分な融通性をもたせることができる。
トは、全ての前方面が処理された後に、深度内レジスタ
18が深度間レジスタ16と比較されるという点で、若
干異なるように取り扱われる。深度内の値が深度間の値
よりも大きい場合には、タグ間レジスタ32においてフ
ラグがセットされる。全ての逆向き面が処理された後
に、深度内の値が深度間の値と再び比較される。深度内
の値が深度間の値より大きい場合は、フラグがクリアさ
れる。影を投げることのできる各光源ごとに1つのフラ
グが設けられる。全てのシャドーオブジェクトを処理し
た後に、いずれかのシャドーフラグがセットされた場合
には、そのピクセルの面のカラーが、影の状態をシュミ
レーションするように変更される。これら全ての動作
は、図6のルール発生器によって行われる。これは、全
ての制御信号を受信し、そして充分な選択ロジックを介
して、更新のためにレジスタを選択的にイネーブルす
る。
り扱うことができる。これは、光線が透明なオブジェク
トを通過するときに特定の波長においてエネルギーを失
い、これにより、光線の色を変化させるような状態であ
る。
るとフラグを立てることにより刺激される。これらは、
不透明なオブジェクトの後に処理される。透明なオブジ
ェクトは、通常のルール内セットによって処理される。
特定のピクセルに対し、そのピクセルにおける目に見え
る面の前に透明オブジェクトが現れた場合には、この状
態を指示するためにフラグがセットされる。フラグがセ
ットされた場合には、そのピクセルの面の色が、透明度
をシュミレーションするように変更される。透明なオブ
ジェクトの厚みを導出し、そのピクセルの色に対して更
に別の適当な変更を行うように更に別のソフトウェアを
設けることができる。
して使用される。しかしながら、オブジェクトの1つの
面を目に見えないようにすることができ、例えば、チュ
ーブにすることができる。従って、閉じていない凸状の
体積が形成される。この形式の構成を作るために、オブ
ジェクトが処理された後に、逆向き面が再び通過され
る。前方面がピクセルにおいて目に見えるものであり、
そして目に見えないフラグをセットした場合には、その
深度及びタグ値が、観察点に最も近い逆向き面と置き換
えられる。これは、次いで、全ての更に別の動作に対し
前方面として分類される。逆向き面も目に見えない場合
に、その面は逆向き面のままとされ、深度動作において
それ以上の部分を持たない。従って、開放端円筒が形成
される。
が処理されたときに、内部ルールは同じままである。し
かしながら、透明の深度内の値が深度間レジスタに対し
て比較されるときには、深度間の値は常に同じままであ
る。透明な深度内の値が深度間の値より大きい場合に
は、タグ内においてフラグがセットされる。次いで、こ
れを用いて、後で色を変更し、透明度をシュミレーショ
ンすることができる。
を含む簡単なプロセッサを示している。全部でM個のセ
ルがカスケード構成にされ、典型的にMは32に等し
い。メモリ42は、表示されるべき像の各面を表す値
A、B及びCを記憶する。レジスタ44は、処理される
べき像の各ブロックの始めにX及びYの値を記憶する。
ェクトの第1面の値A、B及びCがメモリからの出力に
供給される。値Aは、乗算器46において初期X座標即
ちブロックの第1ピクセルによって乗算され、そして加
算器48の入力として送られる。それに対応する値B
は、乗算器50において処理されるべきピクセルの第1
行のYの値によって乗算され、その出力は加算器48の
別の入力を形成し、そして値Cは、加算器48の入力に
直接送られる。
1面の深度値を表す。これは、第1のセル40に供給さ
れる。
内レジスタ16及び18は、どちらも最初は0にセット
され、従って、この初期深度値は両方のレジスタに対し
て読み取られる。又、パラメータAは、セル40に直接
的にも供給され、そこで、加算器14において初期深度
値と合成される。
は、第2のセルのレジスタ10に送られ、そして加算器
14によって供給される更新された深度値がレジスタ1
2に送られる。それと同時に、処理されているオブジェ
クトの次の面に対するパラメータA、B及びCが乗算器
46及び50によって加算器48に供給され、そしてそ
こから深度値が第1セルに供給され、このセルは、第2
面の深度を第1面の深度と比較し、そして深度内レジス
タ18に記憶されている現在値との比較に基づくと共
に、その新たな面及び既存の面が前方面であるか逆向き
面であるかに基づいて、深度内レジスタ18に記憶され
た値を更新する。レジスタが更新された場合には、面ア
トリビュートを記憶するタグ内レジスタ22も更新され
る。
に、深度内レジスタの値が深度間レジスタの値と比較さ
れ、後者のレジスタをより近い目に見える面で更新すべ
きかどうか調べる。
がセル40のアレーに通されるまでこれらの面に対して
続けられる。オブジェクトの最後の面がメモリ42によ
って送られてしまうと、次のオブジェクトの第1面が送
られる。従って、セル40に送られる面の連鎖に途切れ
はない。
ると、レジスタ44のX部分は、プロセッサ内のセルの
数であるMだけ増加され、例えば、32だけ増加され
る。次いで、オブジェクトの全リストが、セルの新たな
ブロックに対して再び逐次処理される。このプロセス
は、ピクセルのライン全体が処理されるまで続けられ、
その点において、レジスタ44のY部分が1だけ増加さ
れそしてX部分が、処理されるべきデータの次のライン
の開始を表すその初期値にリセットされる。レジスタ4
4のX及びY部分を増加するための接続は、図7には示
さない。
対して種々の拡張を行うことができる。これらについ
て、以下に説明する。
簡単に得ることができる。この方法では、各オブジェク
トは何回も処理される。オブジェクトが処理されるたび
に、その位置がピクセル以下の量だけ変更され、ピクセ
ルカラーがパスの上に蓄積される。パスの終わりに、最
終カラー値がパスの回数で除算される。行われるパスの
回数は、必要とされる最終的な像の質に基づく。例え
ば、1/2ピクセル精度が要求される場合には、4回の
パスが行われ、そのたびに半ピクセル増分だけオブジェ
クトが移動される。従って、射線はピクセルの各四半分
を通して効率的に投影され、その結果が平均化される。
って生じ、従って、面上の点は、光の一部分のみを見
る。半影に対応する部分的に不鮮明な光を見ることから
本影に対応する完全な暗黒を見ることへの移行は、影に
ソフトな縁を生じさせ、影の縁のアンチエリアジングが
必要とされる。この効果は、シャドーボリュームを形成
するのに使用される光の点をパス間で移動するようなマ
ルチパス技術によってシュミレーションすることができ
る。その結果がパス間で累積され、最終的なカラー値
が、行ったパスの回数で除算される。
ったりぼけたりする視野の深度は、人間の目の視野では
なくて、カメラの視野を模擬するものである。この効果
も、マルチパス解決策を用いて達成することができる。
これを行うために、A及びBのパラメータがパス間で若
干変更され、前記のように結果が累積される。
果を模擬するものであり、一時的なアンチエリアジング
の実用的な方法である。この効果は、マルチパス解決策
によっても形成される。ぼけさせるべきオブジェクトは
パス間に移動され、前記の場合と同様に結果が累積され
る。
するようにアルゴリズムを拡張することができる。各面
に関連した3つのパラメータのみをもつのではなく、こ
こでは、例えば、二次及び三次導関数があって、これら
も累積される。これは、二次及び三次曲線面を再現する
ことができ、従って、よりリアルな像を形成することが
できる。
憶する特別なレジスタへと拡張すると、CSGブールプ
リミティブの幾つかを実施することができる。これは、
例えば、2つのオブジェクトを互いに差し引きすること
ができる。従って、オブジェクトから小さな立体を差し
引くことにより穴をもつオブジェクトを形成することが
できる。
で除算する状態、即ちシルエットの縁において生じる状
態が存在する。従って、面は、正の無限大から単一ピク
セルを横切って負の無限大へと進まねばならない。これ
は、ここに述べるシステムでは不可能であるから、この
状態を避けるように面を擾乱しなければならない。しか
しながら、このような擾乱は、この面により形成された
シルエットの縁が動くように見えることになり、像のリ
アルさを低減する。
を指示することにより、この問題を取り除くことができ
る。フラグがアサートされそして面が正の深度を有する
ときには、システムによって許容された最大値に深度が
セットされる。フラグがアサートされそして面が負の深
度を有するときには、システムにより許容された最小深
度値に深度がセットされる。従って、面は、1つのピク
セルにおいて最大深度から最小深度へ進むことができ
る。
増加することによって非常に容易に向上させることがで
きる。上記例では32個のセルが使用された。しかしな
がら、256個又はそれ以上のセルが使用できない理由
はない。セルの総数は、使用すべき技術が与えられた場
合、コストと性能との間の妥協となる。又、ここに提案
した多数の装置を互いにカスケード構成にして性能を向
上させることも非常に容易である。これは、多数の装置
をパイプライン構成にするか又は並列に動作させるか或
いはその両方の組み合わせによって行うことができる。
方法は、その場面にもはや必要ないことが検出されたと
きにオブジェクトを廃棄することである。これに必要な
ことは、視野がオブジェクト内に入ったときにセットさ
れそして視野がもはやオブジェクトにないときにクリア
されるフラグを設けることだけである。フラグがクリア
されると、そのオブジェクトは、そのラスタ線に対する
処理においてそれ以上の部分を担わない。
れている。このシステムは汎用マイクロプロセッサ52
を備え、これはゲームポートのようなインターフェイス
と通信する。マイクロプロセッサ52は、32ビットバ
スを経て本発明による複数のプロセッサ54と通信す
る。バスが接続された第1プロセッサは、2つのバスを
経て、場面の全ての面座標が記憶されたパラメータ記憶
及びメインメモリへも接続される。これは、異なる場面
に関するデータで更新することのできるランダムアクセ
スメモリである。
び7について説明したセルのアレーであり、図9に更に
詳細に示されている。
リと、マイクロプロセッサ52のプロセッサポートとに
インターフェイスするメモリコントローラ56が示され
ている。セルアレー40、乗算器46及び50、加算器
48は、図7に示されたものに対応し、X及びYのスタ
ート値はコントロールレジスタ58によって供給され
る。又、コントロールレジスタ58は、メモリコントロ
ーラにも制御信号を供給し、これは、次いで、適当な制
御信号を面アトリビュートと共にセル40に供給する。
は、マルチプレクサ62を経てセル40の出力に接続さ
れ、そして処理された値を累積するのに使用され、従っ
て、プロセッサの出力をセルから減結合する。ピクセル
アキュムレータ64は、上記の種々のマルチパス技術を
実施できるように設けられている。
バッファに供給するための高性能バスに接続することも
できるし、或いはデジタル/アナログコンバータに直結
されてディスプレイユニットに供給することもできる。
このユニットへの入力は、ジョイスティック、ROMカ
ートリッジ及び他のゲーム入力装置にインターフェイス
するゲーム型ポートであってもよいし、或いはIBM
PCバスインターフェイスのようなホストコンピュータ
インターフェイスであってもよい。
ートから送られる信号に応答して、処理されている場面
において回転や並進移動等の機能を実行できる。
することができる。或いは又、この回路の一部分のみを
単一のチップに設けることもできる。
る。
れる形状を示す図である。
れる形状を示す図である。
れる形状を示す図である。
で、本発明の実施例を示す図である。
セルを示す図である。
す図である。
ロック図である。
Claims (14)
- 【請求項1】 スクリーン上に表示するための3次元像
を陰影付けする方法において、射線を3次元像へと投影
するディスプレイの各基礎領域に対し1群の無限面によ
り像の各オブジェクトを表し;射線が各面に交差する位
置を決定し;交差する面がその基礎領域において見える
かどうかを決定し;そしてその決定の結果に基づいて表
示のために基礎領域を陰影付けするという段階を備えた
ことを特徴とする方法。 - 【請求項2】 各面は、前方を向いた面又は逆方向を向
いた面として指定され、そしてこれら前方及び逆方向を
向いた面との交差の相対的な位置を用いて、面が見える
かどうかを決定する請求項1に記載のスクリーン上に表
示するための3次元像を陰影付けする方法。 - 【請求項3】 最も遠い前方を向いた面の交差が最も遠
い逆方向を向いた面の交差よりも射線の投影点に近い場
合には基礎領域が見える請求項2に記載のスクリーン上
に表示するための3次元像を陰影付けする方法。 - 【請求項4】 各基礎領域に対し、像内のオブジェクト
を表す面のグループを通して射線が順次に投影される請
求項1ないし3のいずれかに記載のスクリーン上に表示
するための3次元像を陰影付けする方法。 - 【請求項5】 各基礎領域に対し、オブジェクトを表す
各グループの面の各面を順次に通して射線が投影される
請求項4に記載のスクリーン上に表示するための3次元
像を陰影付けする方法。 - 【請求項6】 オブジェクトを表す1群の面中の最も近
い目に見える面を、その手前の全てのグループの面から
の最も近い目に見える面と比較し、そしてその比較結果
に基づいて基礎領域を陰影付けする請求項4又は5に記
載のスクリーン上に表示するための3次元像を陰影付け
する方法。 - 【請求項7】 オブジェクトをシャドーオブジェクトと
して指定し、各基礎領域を通過する各射線においてシャ
ドーオブジェクトの境界を決定し、そしてその基礎領域
において見える面がそのシャドーオブジェクトの境界内
にある場合には変更したシェードで基礎領域を陰影付け
するという段階を更に備えた請求項1ないし6のいずれ
かに記載のスクリーン上に表示するための3次元像を陰
影付けする方法。 - 【請求項8】 オブジェクトを透明オブジェクトとして
指定し、そして基礎領域において見える面が像の透明オ
ブジェクトの後方にある場合には基礎領域に付与される
シェードを変更するという段階を更に備えた請求項1な
いし7のいずれかに記載のスクリーン上に表示するため
の3次元像を陰影付けする方法。 - 【請求項9】 スクリーン上に表示するための3次元像
を陰影付けする装置において、像の各オブジェクトを表
す1群の無限面を画成するデータを供給する手段と、デ
ィスプレイの各基礎領域に対し各面の深度値を像平面か
らのその面の距離に基づいて発生する手段と、面がその
基礎領域において見えるかどうかを決定する手段と、そ
の決定の結果に基づいてその基礎領域を陰影付けする手
段とを備えたことを特徴とする装置。 - 【請求項10】 各面は、前方に向いた面又は逆方向に
向いた面として指定され、そしてこれら前方及び逆方向
に向いた面の相対的な深度を使用して、面が基礎領域に
おいて見えるかどうかを決定する請求項9に記載のスク
リーン上に表示するための3次元像を陰影付けする装
置。 - 【請求項11】 各基礎領域に対し像において見える面
の相対的な深度を比較し、そしてその比較結果に基づい
て基礎領域を陰影付けするための手段を備えた請求項9
又は10に記載のスクリーン上に表示するための3次元
像を陰影付けする装置。 - 【請求項12】 上記深度値を発生する手段は、像の各
基礎領域に対して各オブジェクトの各面の深度値を順次
に発生する請求項9、10又は11に記載のスクリーン
上に表示するための3次元像を陰影付けする装置。 - 【請求項13】 単一の集積回路に設けられた請求項
9、10、11又は12に記載のスクリーン上に表示す
るための3次元像を陰影付けする装置。 - 【請求項14】 表示のための3次元像を陰影付けする
方法において、像の各オブジェクトを表す1群の無限面
を定めるデータを供給し、ディスプレイの各基礎領域に
対し、各面の深度値を像平面からのその面の距離に基づ
いて発生し、面がその基礎領域において見えるかどうか
を決定し、そしてその決定結果に基づいてその基礎領域
を陰影付けするという段階を備えたことを特徴とする方
法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB939315852A GB9315852D0 (en) | 1993-07-30 | 1993-07-30 | Shading three-dimensional images |
GB9315852:5 | 1993-07-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07152926A true JPH07152926A (ja) | 1995-06-16 |
JP3759971B2 JP3759971B2 (ja) | 2006-03-29 |
Family
ID=10739738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17857794A Expired - Lifetime JP3759971B2 (ja) | 1993-07-30 | 1994-07-29 | 3次元像を陰影付けする方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5596685A (ja) |
JP (1) | JP3759971B2 (ja) |
GB (2) | GB9315852D0 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003006671A (ja) * | 2001-06-21 | 2003-01-10 | Namco Ltd | 画像生成システム、プログラム及び情報記憶媒体 |
JP2008181559A (ja) * | 2008-03-31 | 2008-08-07 | Sony Corp | 画像処理装置 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08329276A (ja) * | 1995-06-01 | 1996-12-13 | Ricoh Co Ltd | 3次元グラフィックス処理装置 |
US6359624B1 (en) * | 1996-02-02 | 2002-03-19 | Kabushiki Kaisha Toshiba | Apparatus having graphic processor for high speed performance |
GB9717656D0 (en) | 1997-08-20 | 1997-10-22 | Videologic Ltd | Shading three dimensional images |
GB2343600B (en) * | 1998-11-06 | 2003-03-12 | Videologic Ltd | Depth sorting for use in 3-dimensional computer shading and texturing systems |
GB2343602B (en) † | 1998-11-06 | 2003-03-19 | Videologic Ltd | Shading 3-dimensional computer generated images |
JP2000163601A (ja) * | 1998-11-24 | 2000-06-16 | Sega Enterp Ltd | 画像処理装置、画像処理方法および記録媒体 |
GB2354416B (en) | 1999-09-17 | 2004-04-21 | Technologies Limit Imagination | Depth based blending for 3D graphics systems |
GB2378108B (en) * | 2001-07-24 | 2005-08-17 | Imagination Tech Ltd | Three dimensional graphics system |
GB2383248B (en) * | 2001-12-14 | 2005-12-07 | Imagination Tech Ltd | 3-dimensional computer graphics system |
US7092558B2 (en) * | 2002-08-14 | 2006-08-15 | General Electric Company | Automated optimization of medical 3D visualizations |
CA2506419C (en) * | 2002-11-15 | 2014-01-21 | Sunfish Studio, Inc. | Visible surface determination system & methodology in computer graphics using interval analysis |
JP4193979B2 (ja) * | 2003-03-17 | 2008-12-10 | 任天堂株式会社 | シャドウボリューム生成プログラム及びゲーム装置 |
US7406123B2 (en) * | 2003-07-10 | 2008-07-29 | Mitsubishi Electric Research Laboratories, Inc. | Visual complexity measure for playing videos adaptively |
US20050134588A1 (en) * | 2003-12-22 | 2005-06-23 | Hybrid Graphics, Ltd. | Method and apparatus for image processing |
JP4327175B2 (ja) | 2005-07-12 | 2009-09-09 | 株式会社ソニー・コンピュータエンタテインメント | マルチグラフィックプロセッサシステム、グラフィックプロセッサおよび描画処理方法 |
GB0524804D0 (en) | 2005-12-05 | 2006-01-11 | Falanx Microsystems As | Method of and apparatus for processing graphics |
GB2442266B (en) | 2006-09-29 | 2008-10-22 | Imagination Tech Ltd | Improvements in memory management for systems for generating 3-dimensional computer images |
US9965886B2 (en) | 2006-12-04 | 2018-05-08 | Arm Norway As | Method of and apparatus for processing graphics |
GB2452731B (en) | 2007-09-12 | 2010-01-13 | Imagination Tech Ltd | Methods and systems for generating 3-dimensional computer images |
GB0900700D0 (en) | 2009-01-15 | 2009-03-04 | Advanced Risc Mach Ltd | Methods of and apparatus for processing graphics |
GB201004675D0 (en) | 2010-03-19 | 2010-05-05 | Imagination Tech Ltd | Memory management system |
US9171396B2 (en) * | 2010-06-30 | 2015-10-27 | Primal Space Systems Inc. | System and method of procedural visibility for interactive and broadcast streaming of entertainment, advertising, and tactical 3D graphical information using a visibility event codec |
US9317948B2 (en) | 2012-11-16 | 2016-04-19 | Arm Limited | Method of and apparatus for processing graphics |
US10204391B2 (en) | 2013-06-04 | 2019-02-12 | Arm Limited | Method of and apparatus for processing graphics |
KR20160047316A (ko) * | 2014-10-22 | 2016-05-02 | 삼성전자주식회사 | 렌더링 장치 및 방법 |
GB2553744B (en) | 2016-04-29 | 2018-09-05 | Advanced Risc Mach Ltd | Graphics processing systems |
CN108736993B (zh) * | 2017-04-17 | 2022-01-25 | 中兴通讯股份有限公司 | 一种可见面判定方法、反向射线追踪方法及装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4862392A (en) * | 1986-03-07 | 1989-08-29 | Star Technologies, Inc. | Geometry processor for graphics display system |
US4967375A (en) * | 1986-03-17 | 1990-10-30 | Star Technologies, Inc. | Fast architecture for graphics processor |
DE3782160T2 (de) * | 1986-09-11 | 1993-02-11 | Hughes Aircraft Co | Digitales simulationssystem zur erzeugung von realistischen szenen. |
JPH0769972B2 (ja) * | 1987-07-16 | 1995-07-31 | インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション | 画像生成方法 |
US5088054A (en) * | 1988-05-09 | 1992-02-11 | Paris Ii Earl A | Computer graphics hidden surface removal system |
JPH0727581B2 (ja) * | 1988-09-09 | 1995-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 図形処理装置 |
US5142617A (en) * | 1988-10-27 | 1992-08-25 | Tektronix, Inc. | Method of shading a graphics image |
GB8828342D0 (en) * | 1988-12-05 | 1989-01-05 | Rediffusion Simulation Ltd | Image generator |
US5101475A (en) * | 1989-04-17 | 1992-03-31 | The Research Foundation Of State University Of New York | Method and apparatus for generating arbitrary projections of three-dimensional voxel-based data |
US5027292A (en) * | 1989-04-19 | 1991-06-25 | International Business Machines Corporation | Multiple depth buffers for graphics and solid modelling |
US5226113A (en) * | 1989-10-30 | 1993-07-06 | General Electric Company | Method and apparatus for volumetric projection rendering using reverse ray casting |
EP0459761A3 (en) * | 1990-05-31 | 1993-07-14 | Hewlett-Packard Company | Three dimensional computer graphics employing ray tracking to compute form factors in radiosity |
JPH07122908B2 (ja) * | 1991-03-12 | 1995-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 3次元のソリッド物体を表す表示可能情報を生成する装置と方法 |
GB2259432A (en) * | 1991-09-06 | 1993-03-10 | Canon Res Ct Europe Ltd | Three dimensional graphics processing |
US5377313A (en) * | 1992-01-29 | 1994-12-27 | International Business Machines Corporation | Computer graphics display method and system with shadow generation |
JP3426647B2 (ja) * | 1992-06-24 | 2003-07-14 | 日本電信電話株式会社 | 3次元トポグラフィシミュレーションのための一般化されたソリッドモデリング |
US5355442A (en) * | 1992-12-16 | 1994-10-11 | Loral Aerospace Corp. | Terrain visualization by ray tracing a conical height field transformation |
-
1993
- 1993-07-30 GB GB939315852A patent/GB9315852D0/en active Pending
-
1994
- 1994-07-22 GB GB9414834A patent/GB2281682B/en not_active Expired - Lifetime
- 1994-07-26 US US08/280,649 patent/US5596685A/en not_active Expired - Lifetime
- 1994-07-29 JP JP17857794A patent/JP3759971B2/ja not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003006671A (ja) * | 2001-06-21 | 2003-01-10 | Namco Ltd | 画像生成システム、プログラム及び情報記憶媒体 |
JP2008181559A (ja) * | 2008-03-31 | 2008-08-07 | Sony Corp | 画像処理装置 |
JP4670887B2 (ja) * | 2008-03-31 | 2011-04-13 | ソニー株式会社 | 画像処理装置 |
Also Published As
Publication number | Publication date |
---|---|
GB2281682B (en) | 1995-10-25 |
GB2281682A (en) | 1995-03-08 |
GB9315852D0 (en) | 1993-09-15 |
GB9414834D0 (en) | 1994-09-14 |
US5596685A (en) | 1997-01-21 |
JP3759971B2 (ja) | 2006-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3759971B2 (ja) | 3次元像を陰影付けする方法 | |
US5729672A (en) | Ray tracing method and apparatus for projecting rays through an object represented by a set of infinite surfaces | |
US6744430B1 (en) | Image processing method and its apparatus | |
US8115763B2 (en) | Device for the photorealistic representation of dynamic, complex, three-dimensional scenes by means of ray tracing | |
Catmull | Computer display of curved surfaces | |
TWI448983B (zh) | 三維物體之三維模型之顯現方法與系統 | |
US5856829A (en) | Inverse Z-buffer and video display system having list-based control mechanism for time-deferred instructing of 3D rendering engine that also responds to supervisory immediate commands | |
US8803879B1 (en) | Omnidirectional shadow texture mapping | |
US7948487B2 (en) | Occlusion culling method and rendering processing apparatus | |
US4888583A (en) | Method and apparatus for rendering an image from data arranged in a constructive solid geometry format | |
EP0300703A2 (en) | Depth buffer priority processing for real time computer image generating systems | |
US7812837B2 (en) | Reduced Z-buffer generating method, hidden surface removal method and occlusion culling method | |
JPS63502464A (ja) | 実時間像発生システムに於ける包括的な歪み補正 | |
JPH0273479A (ja) | 図形処理装置 | |
JPH0757117A (ja) | テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム | |
US11341708B2 (en) | Graphics processing | |
WO2002001500A2 (en) | Method, apparatus and article for determining visible parts of surfaces of three-dimensional objects and their parameters of shading accounting for light and shadow volumes | |
Vyatkin et al. | Voxel Volumes volume-oriented visualization system | |
US6542154B1 (en) | Architectural extensions to 3D texturing units for accelerated volume rendering | |
EP0725365B1 (en) | Method and apparatus for shading three-dimensional images | |
Yu | Efficient visibility processing for projective texture mapping | |
KR100372901B1 (ko) | 지.에프-버퍼를 이용하여 광선추적법의 속도를 개선하는방법 | |
Romanyuk et al. | Blending functionally defined surfaces | |
Uchiki et al. | SCOPE: solid and colored object projection environment | |
Assarsson | A Real-Time Soft Shadow Volume Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050711 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050715 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051128 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060106 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090113 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100113 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110113 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110113 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120113 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130113 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130113 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |