JPH04213175A - 大域レンダリングで使用するための分散処理装置 - Google Patents
大域レンダリングで使用するための分散処理装置Info
- Publication number
- JPH04213175A JPH04213175A JP3006375A JP637591A JPH04213175A JP H04213175 A JPH04213175 A JP H04213175A JP 3006375 A JP3006375 A JP 3006375A JP 637591 A JP637591 A JP 637591A JP H04213175 A JPH04213175 A JP H04213175A
- Authority
- JP
- Japan
- Prior art keywords
- data
- ray
- memory
- transform
- processors
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/50—Lighting effects
- G06T15/55—Radiosity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/06—Ray-tracing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は一般に、三次元コンピュ
ータ・グラフィックスの分野に関している。より詳しく
は本発明は、ラジオシティー(radiosity)ま
たはレイトレーシングなどの大域照射(global
illumination)手法を用いる三次元グラフ
ィックス・レンダラーにおける光線交点計算(ray
intersection calculations
)を速めるための方法及び装置に関している。
ータ・グラフィックスの分野に関している。より詳しく
は本発明は、ラジオシティー(radiosity)ま
たはレイトレーシングなどの大域照射(global
illumination)手法を用いる三次元グラフ
ィックス・レンダラーにおける光線交点計算(ray
intersection calculations
)を速めるための方法及び装置に関している。
【0002】
【従来の技術】三次元コンピュータ・グラフィックスを
作成するための多くの大域照射手法が知られているが、
そのうち最も一般的なものはレイトレーシング及びラジ
オシティーである。レイトレーシング及びラジオシティ
ーは何れも、(i) シーンに表現される対象から得た
表面要素(「多角形(polygons)」)及び/ま
たはボックス(「境界ボリューム(bounding
volumes)」)と、(ii)シーンの視点(レイ
トレーシング)またはシーンの光源(ラジオシティー)
から投じられる光線、との間の交差を検査することによ
り、そのシーンの大域照射を計算するものである。これ
らのステップは、多角形検査、ボックス検査及び/また
はシャドー検査と呼ばれることもある。以下の参照によ
ってその内容を本明細書に取り入れる以下の刊行物には
、シーンの大域照射を解決するためのレイトレーシング
及びラジオシティーの手法について記述してある。即ち
グラスナー(Andrew S. Glassner)
編集の「レイトレーシング入門」、Academic
Press、1989年(2章、33−77頁)、ケイ
(Kay,T.L.)らの「レイトレーシング複合シー
ン」、SIGGRAPH Proceedings、v
ol.20、no.4、269−277 頁(1986
年8月)、グリーンバーグ(Greenberg D.
P.)らの「ラジオシティー:大域照射の計算方法」、
The Visual Computer、vol.2
、291−297頁(1986年)」、コーエン(Co
hen M.F.)らの「半立方体:複雑な環境でのラ
ジオシティー解法」、SIGGRAPH Procee
dings、vol.19、no.3、31−40頁(
1985年)」がある。シーンの大域照射を解決するた
めの1つの現在推奨される方法であって、本発明が特別
の用途を持つものは、1989年4月3日に出願された
「ラジオシティーにおける形状因子の計算にレイトレー
シングを用いる三次元コンピュータ・グラフィックス」
と題する同時係属中の米国特許出願第332,777号
に記述されている。またワラス(Wallace J.
R.)らの「漸進ラジオシティーのためのレイトレーシ
ングアルゴリズム」、SIGGRAPH Procee
dings、Computer Graphics、v
ol.23、no.3、315−324頁(1989年
7月)も参照されたい。
作成するための多くの大域照射手法が知られているが、
そのうち最も一般的なものはレイトレーシング及びラジ
オシティーである。レイトレーシング及びラジオシティ
ーは何れも、(i) シーンに表現される対象から得た
表面要素(「多角形(polygons)」)及び/ま
たはボックス(「境界ボリューム(bounding
volumes)」)と、(ii)シーンの視点(レイ
トレーシング)またはシーンの光源(ラジオシティー)
から投じられる光線、との間の交差を検査することによ
り、そのシーンの大域照射を計算するものである。これ
らのステップは、多角形検査、ボックス検査及び/また
はシャドー検査と呼ばれることもある。以下の参照によ
ってその内容を本明細書に取り入れる以下の刊行物には
、シーンの大域照射を解決するためのレイトレーシング
及びラジオシティーの手法について記述してある。即ち
グラスナー(Andrew S. Glassner)
編集の「レイトレーシング入門」、Academic
Press、1989年(2章、33−77頁)、ケイ
(Kay,T.L.)らの「レイトレーシング複合シー
ン」、SIGGRAPH Proceedings、v
ol.20、no.4、269−277 頁(1986
年8月)、グリーンバーグ(Greenberg D.
P.)らの「ラジオシティー:大域照射の計算方法」、
The Visual Computer、vol.2
、291−297頁(1986年)」、コーエン(Co
hen M.F.)らの「半立方体:複雑な環境でのラ
ジオシティー解法」、SIGGRAPH Procee
dings、vol.19、no.3、31−40頁(
1985年)」がある。シーンの大域照射を解決するた
めの1つの現在推奨される方法であって、本発明が特別
の用途を持つものは、1989年4月3日に出願された
「ラジオシティーにおける形状因子の計算にレイトレー
シングを用いる三次元コンピュータ・グラフィックス」
と題する同時係属中の米国特許出願第332,777号
に記述されている。またワラス(Wallace J.
R.)らの「漸進ラジオシティーのためのレイトレーシ
ングアルゴリズム」、SIGGRAPH Procee
dings、Computer Graphics、v
ol.23、no.3、315−324頁(1989年
7月)も参照されたい。
【0003】
【発明が解決しようとする課題】一般に、シーン内の対
象や光源の記述などを含む、表示すべきシーンを規定し
ているデータは、大域照射を計算するために大域レンダ
ラーの作動する(例えばレイトレーシング又はラジオシ
ティーにより)データベースに与えられ、また一般に光
線交点計算などのすべての計算は、ホスト・コンピュー
タで行われる。しかしながら従来技術の大域レンダラー
に関する問題の1つとして、光線交点計算に非常に時間
がかかることがある。大域照射の解決に要する大部分の
時間は、光線交点計算に費やされている。以下の刊行物
は一般に、大域照射の解決を速めるためのハードウェア
及びソフトウェア・システムについて記述してある。ポ
トメシル(Potmesil M.)らの「ピクセル・
マシン:パラレル・イメージ・コンピュータ」、SIG
GRAPH Proceedings、vol.23、
no.3、69−78頁(1989年7月)、アケレイ
(Akeley K.)らの「高性能多角形レンダリン
グ」、SIGGRAPH Proceedings、v
ol.22、no.4、239−246頁(1988年
8月)等がこれである。しかしながらこれらのシステム
は、大域レンダリングにおける光線交点計算を速めるた
めの必要性に適切に応えてはいない。
象や光源の記述などを含む、表示すべきシーンを規定し
ているデータは、大域照射を計算するために大域レンダ
ラーの作動する(例えばレイトレーシング又はラジオシ
ティーにより)データベースに与えられ、また一般に光
線交点計算などのすべての計算は、ホスト・コンピュー
タで行われる。しかしながら従来技術の大域レンダラー
に関する問題の1つとして、光線交点計算に非常に時間
がかかることがある。大域照射の解決に要する大部分の
時間は、光線交点計算に費やされている。以下の刊行物
は一般に、大域照射の解決を速めるためのハードウェア
及びソフトウェア・システムについて記述してある。ポ
トメシル(Potmesil M.)らの「ピクセル・
マシン:パラレル・イメージ・コンピュータ」、SIG
GRAPH Proceedings、vol.23、
no.3、69−78頁(1989年7月)、アケレイ
(Akeley K.)らの「高性能多角形レンダリン
グ」、SIGGRAPH Proceedings、v
ol.22、no.4、239−246頁(1988年
8月)等がこれである。しかしながらこれらのシステム
は、大域レンダリングにおける光線交点計算を速めるた
めの必要性に適切に応えてはいない。
【0004】そこで光線交点計算を速めるため、レイト
レーシング又はラジオシティー(または光線交点に依存
する他の何らかの大域照射手法)と共に用いることがで
き、実施が簡単かつ効率的に、さらに比較的廉価に行う
ことのできる方法及び装置を提供することが望ましい。 本発明はこれらの課題を解決するものである。
レーシング又はラジオシティー(または光線交点に依存
する他の何らかの大域照射手法)と共に用いることがで
き、実施が簡単かつ効率的に、さらに比較的廉価に行う
ことのできる方法及び装置を提供することが望ましい。 本発明はこれらの課題を解決するものである。
【0005】
【課題を解決するための手段】ホスト・コンピュータは
、シーンに表示される対象から得た境界ボリューム及び
多角形を示すデータなどの、ディスプレイ上に表示され
るシーンを規定するデータを記憶するためのデータベー
スを含んでいる。本発明によれば、ホストから与えられ
る選ばれた境界ボリューム及び多角形のデータについて
光線交点計算を行うよう各々がプログラムされたP個の
複数の変換プロセッサから成る変換エンジンが設けられ
る。ホストに記憶されたすべての境界ボリューム及び多
角形のデータについての光線交点計算は、P個の変換プ
ロセッサにわたって分散される。
、シーンに表示される対象から得た境界ボリューム及び
多角形を示すデータなどの、ディスプレイ上に表示され
るシーンを規定するデータを記憶するためのデータベー
スを含んでいる。本発明によれば、ホストから与えられ
る選ばれた境界ボリューム及び多角形のデータについて
光線交点計算を行うよう各々がプログラムされたP個の
複数の変換プロセッサから成る変換エンジンが設けられ
る。ホストに記憶されたすべての境界ボリューム及び多
角形のデータについての光線交点計算は、P個の変換プ
ロセッサにわたって分散される。
【0006】共用メモリが、変換エンジン及びホストと
通信して作動可能なように結合されており、変換プロセ
ッサの各々はその光線交点計算の結果を共用メモリに記
憶するようにプログラムされており、それがホストコン
ピュータによって検索可能である。本発明の一つの実施
例によれば、境界ボリューム及び多角形のデータをホス
トから変換エンジンに迅速に転送するために、ホストと
変換エンジンの間にはブロック・データ転送経路が与え
られている。このブロック・データ転送経路はDMA(
直接メモリ・アクセス)回路から構成することができる
。本発明の別の実施例によれば、変換エンジンは多数の
専用メモリを含み、変換プロセッサの各々に一つの専用
メモリが関連している。この実施例によれば、ホストか
らのデータはDMAサイクルで専用メモリに直接記憶さ
れ、各々の変換プロセッサにより処理される。
通信して作動可能なように結合されており、変換プロセ
ッサの各々はその光線交点計算の結果を共用メモリに記
憶するようにプログラムされており、それがホストコン
ピュータによって検索可能である。本発明の一つの実施
例によれば、境界ボリューム及び多角形のデータをホス
トから変換エンジンに迅速に転送するために、ホストと
変換エンジンの間にはブロック・データ転送経路が与え
られている。このブロック・データ転送経路はDMA(
直接メモリ・アクセス)回路から構成することができる
。本発明の別の実施例によれば、変換エンジンは多数の
専用メモリを含み、変換プロセッサの各々に一つの専用
メモリが関連している。この実施例によれば、ホストか
らのデータはDMAサイクルで専用メモリに直接記憶さ
れ、各々の変換プロセッサにより処理される。
【0007】さらに別の実施例では、境界ボリューム及
び多角形のデータは各専用メモリのシーケンシャルメモ
リ位置にデータワードとして記憶され、各変換プロセッ
サは、それぞれに関連する専用メモリのP番目のデータ
ワード毎(Pは変換プロセッサの数)に光線交点計算を
行うようにプログラムされている。変換プロセッサが全
体としてデータワードのすべてについて光線交点計算を
行うように、各変換プロセッサは、他のすべての変換プ
ロセッサとは異なるデータワードで開始する。光線交点
計算の結果はその後、ホストにより検索するために共用
メモリに記憶される。
び多角形のデータは各専用メモリのシーケンシャルメモ
リ位置にデータワードとして記憶され、各変換プロセッ
サは、それぞれに関連する専用メモリのP番目のデータ
ワード毎(Pは変換プロセッサの数)に光線交点計算を
行うようにプログラムされている。変換プロセッサが全
体としてデータワードのすべてについて光線交点計算を
行うように、各変換プロセッサは、他のすべての変換プ
ロセッサとは異なるデータワードで開始する。光線交点
計算の結果はその後、ホストにより検索するために共用
メモリに記憶される。
【0008】本発明を実施する望ましい方法では、以下
のステップが行われる: (a) ホストコンピュータに、境界ボリューム及び多
角形のデータを含むグラフィックス・データを記憶する
こと、 (b) 境界ボリューム及び多角形のデータを、ブロッ
ク・データ転送によりホストから、P個の複数の変換プ
ロセッサ及び関連する専用メモリから成るタイプの変換
エンジンに伝送し、該データをデータワードとして専用
メモリのシーケンシャルメモリ位置に記憶すること、(
c) 各々の変換プロセッサを他の変換プロセッサとは
異なるデータワードで開始させ、それぞれに関連する専
用メモリのP番目のデータワード毎に光線交点計算を行
うことにより、境界ボリューム及び多角形のデータにつ
いて行われる光線交点計算をP個の変換プロセッサにわ
たって分散させること、 (d) 光線交点計算の結果を共用メモリに記憶するこ
と、及び (e) 最後の変換プロセッサが光線交点計算を完了し
た後、大域レンダリングのために、共用メモリに記憶さ
れた光線交点計算の結果をホストコンピュータに伝送す
ること。
のステップが行われる: (a) ホストコンピュータに、境界ボリューム及び多
角形のデータを含むグラフィックス・データを記憶する
こと、 (b) 境界ボリューム及び多角形のデータを、ブロッ
ク・データ転送によりホストから、P個の複数の変換プ
ロセッサ及び関連する専用メモリから成るタイプの変換
エンジンに伝送し、該データをデータワードとして専用
メモリのシーケンシャルメモリ位置に記憶すること、(
c) 各々の変換プロセッサを他の変換プロセッサとは
異なるデータワードで開始させ、それぞれに関連する専
用メモリのP番目のデータワード毎に光線交点計算を行
うことにより、境界ボリューム及び多角形のデータにつ
いて行われる光線交点計算をP個の変換プロセッサにわ
たって分散させること、 (d) 光線交点計算の結果を共用メモリに記憶するこ
と、及び (e) 最後の変換プロセッサが光線交点計算を完了し
た後、大域レンダリングのために、共用メモリに記憶さ
れた光線交点計算の結果をホストコンピュータに伝送す
ること。
【0009】本発明のさらなる詳細は、以下の詳細な説
明及び特許請求の範囲を読むことによって明らかとなる
ものである。
明及び特許請求の範囲を読むことによって明らかとなる
ものである。
【0010】
【実施例】添付図面を参照すると、そこでは同じ符号は
同じ構成要素を表している。図1には、本発明の装置及
び方法を用いることのできるコンピュータ・グラフィッ
クス・レンダラー10のブロック図が示されている。し
かし本発明が図1に示すタイプのグラフィックス・レン
ダラーに限定されないことは理解すべきである。本発明
は、レイトレーシング又はラジオシティーなどの大域照
射手法を用いるどのようなグラフィックス・レンダラー
と関連しても用いることができる。
同じ構成要素を表している。図1には、本発明の装置及
び方法を用いることのできるコンピュータ・グラフィッ
クス・レンダラー10のブロック図が示されている。し
かし本発明が図1に示すタイプのグラフィックス・レン
ダラーに限定されないことは理解すべきである。本発明
は、レイトレーシング又はラジオシティーなどの大域照
射手法を用いるどのようなグラフィックス・レンダラー
と関連しても用いることができる。
【0011】グラフィックス・レンダラー10の詳細は
、「グラフィックス・システムにおけるウィンドゥの加
速方法及び装置」と題する同時係属中の特許出願明細書
により詳しく記述してある。また、ローデン(Rhod
en D.)らの「ウィンドゥ・システムのためのハー
ドウェア加速」、SIGGRAPH Proceedi
ngs, Computer Graphics, v
ol.23,no.3,61−67 頁(1989年7
月)も参照せよ。特許請求の範囲に記載の事項を除き、
グラフィックス・レンダラー10の詳細は本発明の一部
を構成するものではなく、本明細書においては詳述する
ことはしない。これについては、上述した文献を参照さ
れたい。ここでは図1のグラフィックス・レンダラー1
0が、インタフェース16を介して変換エンジン14と
通信するホスト・コンピュータ12を含んでいることを
述べるにとどめる。変換エンジン14は、グラフィック
ス・データをレンダリングVLSI(超大規模集積回路
)18と交信し、VLSIは次にウィンドゥ回路20と
交信する。ウィンドゥ回路20は、データをフレーム・
バッファ22に送り、該バッファはビデオ発生器24と
交信する。ビデオ発生器24は、ラスター・ディスプレ
イ26上の画像表示をコントロールする。データはまた
、ホスト・コンピュータ12からインタフェース回路1
6及びパイプライン・バイパス28を介して、ウィンド
ゥ回路20、フレーム・バッファ22、及びビデオ発生
器24にも交信される。図1のタイプのグラフィックス
・レンダラーを用いる場合には、本明細書で詳細に述べ
るように、本発明の装置及び方法を、ホスト・コンピュ
ータ12、インタフェース16、及び変換エンジン14
に組み込むことが望ましい。
、「グラフィックス・システムにおけるウィンドゥの加
速方法及び装置」と題する同時係属中の特許出願明細書
により詳しく記述してある。また、ローデン(Rhod
en D.)らの「ウィンドゥ・システムのためのハー
ドウェア加速」、SIGGRAPH Proceedi
ngs, Computer Graphics, v
ol.23,no.3,61−67 頁(1989年7
月)も参照せよ。特許請求の範囲に記載の事項を除き、
グラフィックス・レンダラー10の詳細は本発明の一部
を構成するものではなく、本明細書においては詳述する
ことはしない。これについては、上述した文献を参照さ
れたい。ここでは図1のグラフィックス・レンダラー1
0が、インタフェース16を介して変換エンジン14と
通信するホスト・コンピュータ12を含んでいることを
述べるにとどめる。変換エンジン14は、グラフィック
ス・データをレンダリングVLSI(超大規模集積回路
)18と交信し、VLSIは次にウィンドゥ回路20と
交信する。ウィンドゥ回路20は、データをフレーム・
バッファ22に送り、該バッファはビデオ発生器24と
交信する。ビデオ発生器24は、ラスター・ディスプレ
イ26上の画像表示をコントロールする。データはまた
、ホスト・コンピュータ12からインタフェース回路1
6及びパイプライン・バイパス28を介して、ウィンド
ゥ回路20、フレーム・バッファ22、及びビデオ発生
器24にも交信される。図1のタイプのグラフィックス
・レンダラーを用いる場合には、本明細書で詳細に述べ
るように、本発明の装置及び方法を、ホスト・コンピュ
ータ12、インタフェース16、及び変換エンジン14
に組み込むことが望ましい。
【0012】次に図2を参照すると、そこには本発明の
原理を具体化した装置のブロック図が示してある。図示
のように、ホスト・コンピュータ12は図1と同様にし
て、インタフェース(IFU)16により変換エンジン
14と交信する。しかしこの場合インタフェース16に
はブロック・データ転送回路が設けられており、これは
望ましい実施例ではDMA回路30である。さらに、図
1のブロック図とは異なり、変換エンジン14はP個の
多数の変換プロセッサ34とこれに関連する専用メモリ
32から成る。 これについては後で詳細に述べる。
原理を具体化した装置のブロック図が示してある。図示
のように、ホスト・コンピュータ12は図1と同様にし
て、インタフェース(IFU)16により変換エンジン
14と交信する。しかしこの場合インタフェース16に
はブロック・データ転送回路が設けられており、これは
望ましい実施例ではDMA回路30である。さらに、図
1のブロック図とは異なり、変換エンジン14はP個の
多数の変換プロセッサ34とこれに関連する専用メモリ
32から成る。 これについては後で詳細に述べる。
【0013】シーンに表示される対象から得た境界ボリ
ューム及び多角形を示すデータを含むシーンを規定する
データ、並びに境界ボリュームや多角形と交わる光線を
規定するデータは、ホスト・コンピュータ12のメモリ
に記憶される。境界ボリューム及び多角形データ、及び
光線記述データは、後でより詳細に説明するようにして
、ブロック・データ転送(DMAサイクルが望ましい)
でもって専用メモリ32の各々に迅速に転送される。し
たがって、ホストがデータをダウンロードした後には、
専用メモリ32の各々には、同じ境界ボリューム及び多
角形データ並びに光線記述データが含まれる。境界ボリ
ューム及び多角形データは、各専用メモリ32のシーケ
ンシャルメモリ位置にデータワードとして記憶されるこ
とが望ましい。以下で明らかにされるように、各変換プ
ロセッサは、ホスト12により与えられ関連する専用メ
モリ32に記憶された、選ばれた境界ボリューム及び多
角形データだけについて光線交点計算を行うようにプロ
グラムされており、境界ボリューム及び多角形データに
ついての光線交点計算結果はすべて、変換プロセッサ3
4に送られる。 やはり後に詳細に説明するが、望ましい実施例において
は、変換プロセッサの各々はそれに関連する専用メモリ
におけるP番目のデータワード(Pは変換プロセッサ3
4の数に等しい)毎に光線交点計算を行うようにプログ
ラムされており、変換プロセッサが全体としてすべての
データワードについての光線交点計算を行うように、各
々の変換プロセッサは他の変換プロセッサとは異なるデ
ータワードで始動する。
ューム及び多角形を示すデータを含むシーンを規定する
データ、並びに境界ボリュームや多角形と交わる光線を
規定するデータは、ホスト・コンピュータ12のメモリ
に記憶される。境界ボリューム及び多角形データ、及び
光線記述データは、後でより詳細に説明するようにして
、ブロック・データ転送(DMAサイクルが望ましい)
でもって専用メモリ32の各々に迅速に転送される。し
たがって、ホストがデータをダウンロードした後には、
専用メモリ32の各々には、同じ境界ボリューム及び多
角形データ並びに光線記述データが含まれる。境界ボリ
ューム及び多角形データは、各専用メモリ32のシーケ
ンシャルメモリ位置にデータワードとして記憶されるこ
とが望ましい。以下で明らかにされるように、各変換プ
ロセッサは、ホスト12により与えられ関連する専用メ
モリ32に記憶された、選ばれた境界ボリューム及び多
角形データだけについて光線交点計算を行うようにプロ
グラムされており、境界ボリューム及び多角形データに
ついての光線交点計算結果はすべて、変換プロセッサ3
4に送られる。 やはり後に詳細に説明するが、望ましい実施例において
は、変換プロセッサの各々はそれに関連する専用メモリ
におけるP番目のデータワード(Pは変換プロセッサ3
4の数に等しい)毎に光線交点計算を行うようにプログ
ラムされており、変換プロセッサが全体としてすべての
データワードについての光線交点計算を行うように、各
々の変換プロセッサは他の変換プロセッサとは異なるデ
ータワードで始動する。
【0014】図2にも示してあるように、バス42を介
して変換プロセッサ34の各々と通信する共用メモリ3
6を設けることが望ましい。二重ポート通信レジスタ3
8も設けられているが、これは各変換プロセッサ34と
通信し、バス42、46を介してマルチプレクサ40と
も通信するものである。通信レジスタ38の読み出し専
用出力44も、以後に明らかになる理由によりマルチプ
レクサ40への入力として与えられる。図示のように、
マルチプレクサ40は、ホスト12、共用メモリ36及
び通信レジスタ38の間に配置され、以下で明らかにさ
れる手法によって、これらの間の情報の流れを指図して
いる。
して変換プロセッサ34の各々と通信する共用メモリ3
6を設けることが望ましい。二重ポート通信レジスタ3
8も設けられているが、これは各変換プロセッサ34と
通信し、バス42、46を介してマルチプレクサ40と
も通信するものである。通信レジスタ38の読み出し専
用出力44も、以後に明らかになる理由によりマルチプ
レクサ40への入力として与えられる。図示のように、
マルチプレクサ40は、ホスト12、共用メモリ36及
び通信レジスタ38の間に配置され、以下で明らかにさ
れる手法によって、これらの間の情報の流れを指図して
いる。
【0015】各変換プロセッサ34は、光線交点計算の
中間結果を関連する専用メモリ32に記憶するようにプ
ログラムされていることが望ましく、また光線交点計算
が完了したときに、すべての光線交点計算結果を関連メ
モリ32から共用メモリ36に記憶させるようにプログ
ラムされている。以下で明らかになるように、共用メモ
リ36には、変換プロセッサ34の数に対応するP個の
ビット位置を有する完了レジスタが含まれる。各変換プ
ロセッサ34は、ある変換プロセッサがその光線交点計
算結果を共用メモリ36に記憶するときに、これに対応
する完了レジスタのビットをセットする。完了レジスタ
の最後のビットをセットする変換プロセッサ34は、そ
の後に通信レジスタ38のフラグをセットする。ホスト
コンピュータは、マルチプレクサ40、バス46及び読
み出し専用出力44を介して通信レジスタを周期的にポ
ーリングし、出力44において立っているフラグの存在
を検出すると、光線交点計算結果をマルチプレクサ40
を介して共用メモリ36から検索する。所望の場合には
、共用メモリ36からのデータを、DMA回路30を通
してブロック・データ転送によりホスト・コンピュータ
12に転送することができる。したがって、共用メモリ
のデータをホストにより検索する準備が整ったという通
知を、通信レジスタが提供するということが理解されよ
う。通信レジスタはハンドシェーキング手法によりポー
リングされることが望ましく、該手法では、通信レジス
タ38がアドレス指定され、マルチプレクサ40を介す
るホスト12への出力44にフラグの状態が与えられる
。
中間結果を関連する専用メモリ32に記憶するようにプ
ログラムされていることが望ましく、また光線交点計算
が完了したときに、すべての光線交点計算結果を関連メ
モリ32から共用メモリ36に記憶させるようにプログ
ラムされている。以下で明らかになるように、共用メモ
リ36には、変換プロセッサ34の数に対応するP個の
ビット位置を有する完了レジスタが含まれる。各変換プ
ロセッサ34は、ある変換プロセッサがその光線交点計
算結果を共用メモリ36に記憶するときに、これに対応
する完了レジスタのビットをセットする。完了レジスタ
の最後のビットをセットする変換プロセッサ34は、そ
の後に通信レジスタ38のフラグをセットする。ホスト
コンピュータは、マルチプレクサ40、バス46及び読
み出し専用出力44を介して通信レジスタを周期的にポ
ーリングし、出力44において立っているフラグの存在
を検出すると、光線交点計算結果をマルチプレクサ40
を介して共用メモリ36から検索する。所望の場合には
、共用メモリ36からのデータを、DMA回路30を通
してブロック・データ転送によりホスト・コンピュータ
12に転送することができる。したがって、共用メモリ
のデータをホストにより検索する準備が整ったという通
知を、通信レジスタが提供するということが理解されよ
う。通信レジスタはハンドシェーキング手法によりポー
リングされることが望ましく、該手法では、通信レジス
タ38がアドレス指定され、マルチプレクサ40を介す
るホスト12への出力44にフラグの状態が与えられる
。
【0016】以下の説明から明らかになるように、変換
プロセッサ34の各々は、光線交点計算を完了するに際
して共用メモリ36を要請し(すなわち、他のすべての
変換プロセッサ34を除外する)、自己の光線交点計算
結果を記憶することが許可される。当該変換プロセッサ
からのすべての光線交点計算結果が共用メモリ36に記
憶された後に共用メモリ36は解放され、今度は別の変
換プロセッサ34がその結果を同様にして記憶すること
ができるようになる。
プロセッサ34の各々は、光線交点計算を完了するに際
して共用メモリ36を要請し(すなわち、他のすべての
変換プロセッサ34を除外する)、自己の光線交点計算
結果を記憶することが許可される。当該変換プロセッサ
からのすべての光線交点計算結果が共用メモリ36に記
憶された後に共用メモリ36は解放され、今度は別の変
換プロセッサ34がその結果を同様にして記憶すること
ができるようになる。
【0017】本発明の望ましい実施においては、各変換
プロセッサ34には、他の変換プロセッサを除いてそれ
自体を固有に識別するコードを有する情報レジスタ80
(図5)が含まれる。光線交点計算を計算するための開
始データワードは、当該変換プロセッサの情報レジスタ
80に記憶されたコードに従って決められるのが望まし
い。図5に、情報レジスタの1つの実施例を示す。図示
のように、情報レジスタ80にはP個の多数のビット位
置があり、そこにおいてPは変換エンジン14の変換プ
ロセッサ34の数と等しい。情報レジスタ80は各変換
プロセッサ34に設けられ、各情報レジスタの1つのビ
ットだけがセットされている。セットされる特定ビット
は、当該変換プロセッサを固有に識別するだけでなく、
その特定の変換プロセッサが他の変換プロセッサに対し
てどこに置かれているのかをも示す。例えば、レジスタ
80のビット位置3が特定の変換プロセッサ34におい
てセットされている場合、それはその変換エンジンが行
内の3番目であることを示している。
プロセッサ34には、他の変換プロセッサを除いてそれ
自体を固有に識別するコードを有する情報レジスタ80
(図5)が含まれる。光線交点計算を計算するための開
始データワードは、当該変換プロセッサの情報レジスタ
80に記憶されたコードに従って決められるのが望まし
い。図5に、情報レジスタの1つの実施例を示す。図示
のように、情報レジスタ80にはP個の多数のビット位
置があり、そこにおいてPは変換エンジン14の変換プ
ロセッサ34の数と等しい。情報レジスタ80は各変換
プロセッサ34に設けられ、各情報レジスタの1つのビ
ットだけがセットされている。セットされる特定ビット
は、当該変換プロセッサを固有に識別するだけでなく、
その特定の変換プロセッサが他の変換プロセッサに対し
てどこに置かれているのかをも示す。例えば、レジスタ
80のビット位置3が特定の変換プロセッサ34におい
てセットされている場合、それはその変換エンジンが行
内の3番目であることを示している。
【0018】次に図3及び図4を参照すると、本発明の
方法が非常に詳細に記述されている。注記した点を除き
、図3及び図4のフローチャートは各変換プロセッサ3
4の動作を示す。したがって、各変換プロセッサ34は
同様な方法で作動する。各変換エンジンは、マイクロコ
ンピュータなどのプログラム可能な装置であることが望
ましく、図3及び図4に示す機能を行うようにプログラ
ムされる。
方法が非常に詳細に記述されている。注記した点を除き
、図3及び図4のフローチャートは各変換プロセッサ3
4の動作を示す。したがって、各変換プロセッサ34は
同様な方法で作動する。各変換エンジンは、マイクロコ
ンピュータなどのプログラム可能な装置であることが望
ましく、図3及び図4に示す機能を行うようにプログラ
ムされる。
【0019】ブロック50に示すように、各変換プロセ
ッサ34はホストコンピュータ12からの光線交差コマ
ンドを待っている。換言すれば、データベースが確立さ
れ、光線の記述が定義されて、境界ボリューム及び多角
形のデータがホストから得られた後に、周知の方法によ
って変換プロセッサ34により光線交差を行うことがで
きる。変換プロセッサ34が光線交差コマンドを受け取
ると、そのプロセッサは52に示すようにして、そのコ
マンドが光線セットアップ・コマンドであるかどうかを
問い合わせる。言い換えると、その変換プロセッサ34
は、そのコマンドが境界ボリューム及び多角形のデータ
と交差するための光線をセットアップするためのもので
あるかどうかを問い合わせるのである。そのコマンドが
光線セットアップ・コマンドであったならば、望ましく
はDMA30を介してのブロック・データ転送により、
光線記述データがすべての専用メモリ32にダウンロー
ドされる。光線記述データは、すべての専用メモリ32
に与えられて記憶される。
ッサ34はホストコンピュータ12からの光線交差コマ
ンドを待っている。換言すれば、データベースが確立さ
れ、光線の記述が定義されて、境界ボリューム及び多角
形のデータがホストから得られた後に、周知の方法によ
って変換プロセッサ34により光線交差を行うことがで
きる。変換プロセッサ34が光線交差コマンドを受け取
ると、そのプロセッサは52に示すようにして、そのコ
マンドが光線セットアップ・コマンドであるかどうかを
問い合わせる。言い換えると、その変換プロセッサ34
は、そのコマンドが境界ボリューム及び多角形のデータ
と交差するための光線をセットアップするためのもので
あるかどうかを問い合わせるのである。そのコマンドが
光線セットアップ・コマンドであったならば、望ましく
はDMA30を介してのブロック・データ転送により、
光線記述データがすべての専用メモリ32にダウンロー
ドされる。光線記述データは、すべての専用メモリ32
に与えられて記憶される。
【0020】ステップ52で、コマンドが光線セットア
ップ・コマンドではないことが確認されると、そのコマ
ンドは変換プロセッサが光線交点計算の実行を開始する
ためのものであると仮定される。光線交点計算を行うた
めには、すべての境界ボリューム(BV)または多角形
(PGON)のデータを、すべての専用メモリ32にも
供給して記憶しなければならない。ステップ56に示さ
れているように、このデータは、DMA回路30を介し
てブロック・データ転送によりホスト12から全ての専
用メモリ32に迅速にダウンロードされる。すべての境
界ボリューム及び多角形のデータが専用メモリ34にダ
ウンロードされたならば、ステップ58以下に示す機能
を行うことができる。
ップ・コマンドではないことが確認されると、そのコマ
ンドは変換プロセッサが光線交点計算の実行を開始する
ためのものであると仮定される。光線交点計算を行うた
めには、すべての境界ボリューム(BV)または多角形
(PGON)のデータを、すべての専用メモリ32にも
供給して記憶しなければならない。ステップ56に示さ
れているように、このデータは、DMA回路30を介し
てブロック・データ転送によりホスト12から全ての専
用メモリ32に迅速にダウンロードされる。すべての境
界ボリューム及び多角形のデータが専用メモリ34にダ
ウンロードされたならば、ステップ58以下に示す機能
を行うことができる。
【0021】この時点では、各専用メモリ32の情報内
容が同じであることが理解されよう。しかし光線交点計
算をすべての変換プロセッサ34に分散して行わせるた
めには、各変換プロセッサに対し、光線交点計算を行う
について別々のデータを選択するように指令する方法を
用意せねばならない。このことについては一般的にステ
ップ58に示してあるが、計算を行うためのデータを選
択する手順については、図6のフローチャートにより詳
しく示してある。
容が同じであることが理解されよう。しかし光線交点計
算をすべての変換プロセッサ34に分散して行わせるた
めには、各変換プロセッサに対し、光線交点計算を行う
について別々のデータを選択するように指令する方法を
用意せねばならない。このことについては一般的にステ
ップ58に示してあるが、計算を行うためのデータを選
択する手順については、図6のフローチャートにより詳
しく示してある。
【0022】図6のステップ90に示されているように
、各変換プロセッサは、関連する専用メモリ32にある
最初の境界ボリューム/多角形データワードを指示する
ように最初にセットしてあるソフトウェア・ポインタ(
「POINTER」)を用いる。変数BVは最初は1に
セットされている。また、Pビット計数レジスタは最初
に、その最下位ビットだけが1でありその中の他のすべ
てのビットが0であるようにセットされている。簡単の
ために、この計数レジスタはフローチャートでは、「i
」で示してある。ステップ92では、レジスタiの内容
が、その特定の変換プロセッサの情報レジスタ80(図
5)と同じであるかどうかを確かめるための検査が行わ
れる。同じでなければ、変数BVは1だけ増加され、ソ
フトウェア・ポインタは、関連する専用メモリ32にあ
る次の境界ボリューム/多角形データワードを指示する
ように増加される。次に、計数レジスタ「i」の内容は
1ビット位置分だけ左にシフトされ、それまで最下位ビ
ット位置にあったビットが、今度は最下位ビット位置の
隣にくる。 ステップ92、94は、計数レジスタ「i」の内容と各
変換プロセッサ34の情報レジスタ80の内容の間に一
致が得られるまで、繰り返し行われる。特定の変換プロ
セッサ34において一致が得られたならば、その変換プ
ロセッサは、図4に示すステップ60以下を続けて行う
。こうして各変換プロセッサ34について異なる開始デ
ータワードが選択され、各変換プロセッサ34は異なる
データワードで光線交点計算を始めることが理解されよ
う。また、各変換プロセッサ34の開始データワードが
、関連する情報レジスタ80に記憶されたコードに従っ
て決まることも理解されるよう。
、各変換プロセッサは、関連する専用メモリ32にある
最初の境界ボリューム/多角形データワードを指示する
ように最初にセットしてあるソフトウェア・ポインタ(
「POINTER」)を用いる。変数BVは最初は1に
セットされている。また、Pビット計数レジスタは最初
に、その最下位ビットだけが1でありその中の他のすべ
てのビットが0であるようにセットされている。簡単の
ために、この計数レジスタはフローチャートでは、「i
」で示してある。ステップ92では、レジスタiの内容
が、その特定の変換プロセッサの情報レジスタ80(図
5)と同じであるかどうかを確かめるための検査が行わ
れる。同じでなければ、変数BVは1だけ増加され、ソ
フトウェア・ポインタは、関連する専用メモリ32にあ
る次の境界ボリューム/多角形データワードを指示する
ように増加される。次に、計数レジスタ「i」の内容は
1ビット位置分だけ左にシフトされ、それまで最下位ビ
ット位置にあったビットが、今度は最下位ビット位置の
隣にくる。 ステップ92、94は、計数レジスタ「i」の内容と各
変換プロセッサ34の情報レジスタ80の内容の間に一
致が得られるまで、繰り返し行われる。特定の変換プロ
セッサ34において一致が得られたならば、その変換プ
ロセッサは、図4に示すステップ60以下を続けて行う
。こうして各変換プロセッサ34について異なる開始デ
ータワードが選択され、各変換プロセッサ34は異なる
データワードで光線交点計算を始めることが理解されよ
う。また、各変換プロセッサ34の開始データワードが
、関連する情報レジスタ80に記憶されたコードに従っ
て決まることも理解されるよう。
【0023】今度は図4を参照するが、特定の変換プロ
セッサ34についての開始データワードが突き止められ
ると、そのデータワードにより示される境界ボリューム
または多角形についての光線交点計算が行われうること
が看取されよう。光線交点計算を行う方法は技術的に周
知であり、本発明の一部をなすものではない。これにつ
いては例えば、レイトレーシング入門という表題の前述
の刊行物を参照されたい。その特定の境界ボリューム/
多角形についての光線交点計算が完了したならば、変換
プロセッサ34は、この計算によって境界ボリュームま
たは多角形と光線との実際の交差がもたらされたかどう
かを問い合わせる。交差が生じた場合には、ステップ6
4に示すようにその計算結果はその変換プロセッサに関
連する専用メモリ32に一時的に記憶され、ステップ6
6が次に行われる。計算結果から、境界ボリューム/多
角形と光線との交差がないことが分かったならば、その
特定の境界ボリューム/多角形に関連する専用メモリ3
2にはデータは記憶されず、ステップ66が次に行われ
る。
セッサ34についての開始データワードが突き止められ
ると、そのデータワードにより示される境界ボリューム
または多角形についての光線交点計算が行われうること
が看取されよう。光線交点計算を行う方法は技術的に周
知であり、本発明の一部をなすものではない。これにつ
いては例えば、レイトレーシング入門という表題の前述
の刊行物を参照されたい。その特定の境界ボリューム/
多角形についての光線交点計算が完了したならば、変換
プロセッサ34は、この計算によって境界ボリュームま
たは多角形と光線との実際の交差がもたらされたかどう
かを問い合わせる。交差が生じた場合には、ステップ6
4に示すようにその計算結果はその変換プロセッサに関
連する専用メモリ32に一時的に記憶され、ステップ6
6が次に行われる。計算結果から、境界ボリューム/多
角形と光線との交差がないことが分かったならば、その
特定の境界ボリューム/多角形に関連する専用メモリ3
2にはデータは記憶されず、ステップ66が次に行われ
る。
【0024】ステップ66では、変換エンジンにある変
換プロセッサの数、すなわちPだけループ・カウントが
増加される。ステップ68では、境界ボリューム/多角
形ポインタ(最初は図6のステップ90でセットされ、
ステップ94で増加される)もまた、システムの変換プ
ロセッサ34の数、すなわちPだけ増加される。ステッ
プ70では、その変換プロセッサに関連する専用メモリ
32のすべての境界ボリューム/多角形のデータが処理
されたかどうかについて問い合わせられる。処理されて
いなければ、専用メモリ32のすべてのデータが処理、
すなわち光線交差について検査されるまで、ステップ6
0−68 が繰り返される。
換プロセッサの数、すなわちPだけループ・カウントが
増加される。ステップ68では、境界ボリューム/多角
形ポインタ(最初は図6のステップ90でセットされ、
ステップ94で増加される)もまた、システムの変換プ
ロセッサ34の数、すなわちPだけ増加される。ステッ
プ70では、その変換プロセッサに関連する専用メモリ
32のすべての境界ボリューム/多角形のデータが処理
されたかどうかについて問い合わせられる。処理されて
いなければ、専用メモリ32のすべてのデータが処理、
すなわち光線交差について検査されるまで、ステップ6
0−68 が繰り返される。
【0025】以上のことから、各変換プロセッサ34が
関連する専用メモリ32にあるP番目のデータワード毎
に光線交点計算を行い、また変換プロセッサ全体でホス
ト・コンピュータ12から渡されたすべてのデータワー
ドについて光線交点計算を行うように、各変換プロセッ
サ34がシステム中の他の変換プロセッサとは異なるデ
ータワードで開始することが理解されよう。こうして光
線交点計算は、すべての変換プロセッサ34へと、実質
的に均一に分散される。さらに、各変換プロセッサがス
テップ60−68(図4)を行うに際して、光線交点計
算の中間結果が、関連する専用メモリ32に記憶される
ことも理解されよう。各変換プロセッサ34は光線交点
計算を完了すると、ブロック72に示すようにして、(
関連する専用メモリ32に記憶された)その結果を共用
メモリ36に書き込む。図8に、それを行う方法を示す
。
関連する専用メモリ32にあるP番目のデータワード毎
に光線交点計算を行い、また変換プロセッサ全体でホス
ト・コンピュータ12から渡されたすべてのデータワー
ドについて光線交点計算を行うように、各変換プロセッ
サ34がシステム中の他の変換プロセッサとは異なるデ
ータワードで開始することが理解されよう。こうして光
線交点計算は、すべての変換プロセッサ34へと、実質
的に均一に分散される。さらに、各変換プロセッサがス
テップ60−68(図4)を行うに際して、光線交点計
算の中間結果が、関連する専用メモリ32に記憶される
ことも理解されよう。各変換プロセッサ34は光線交点
計算を完了すると、ブロック72に示すようにして、(
関連する専用メモリ32に記憶された)その結果を共用
メモリ36に書き込む。図8に、それを行う方法を示す
。
【0026】図8について述べる前に、共用メモリ36
の望ましい構成について記述しておくことが有用である
。 図7に示すように、共用メモリ36は以下のデータを含
むように構成されていることが望ましい。第一は「完了
レジスタ」である。前述したように、これは、P個の変
換プロセッサの各々に対応する1つのビット位置を有す
るPビット・レジスタであることが望ましい。各変換プ
ロセッサ34が光線交点計算を完了して結果を共用メモ
リに記憶すると、完了レジスタのこれに対応するビット
位置がセットされる。これは、情報レジスタ80に記憶
されるのと同じビットである。既に述べたように、完了
レジスタの最後のビットをセットする変換プロセッサは
、光線交点計算の結果を共用メモリ36から検索可能で
あるということをホストコンピュータ12に知らせるた
めに、通信レジスタ38のフラグもセットする。第二は
「実行交点の合計(running total in
tersections)」を示すデータワードである
。これは、各変換プロセッサ34から返される交点の数
の実行カウントである。第三は「ワードの合計」を示す
データワードである。「ワードの合計」は、ホストコン
ピュータ12に転送するために共用メモリに記憶される
データワードの数を示す。これは、DMAサイクルを介
して共用メモリ38から結果を検索することを望む場合
に、データのブロック・サイズの合計を利用できるよう
にするために提供される。第四は「光線交点の合計」を
示すデータワードである。これは、すべての変換プロセ
ッサ34により検出される交点の合計数を示す。 「交点の合計」と「実行交点の合計」の相違は、各変換
プロセッサがその光線交点計算結果を共用メモリに記憶
するときに、「実行交点の合計」が連続的に更新される
ことである。「交点の合計」は、交点の最終的な合計数
を示す。第五は、各変換プロセッサ34により与えられ
る実際の光線交点計算結果である。
の望ましい構成について記述しておくことが有用である
。 図7に示すように、共用メモリ36は以下のデータを含
むように構成されていることが望ましい。第一は「完了
レジスタ」である。前述したように、これは、P個の変
換プロセッサの各々に対応する1つのビット位置を有す
るPビット・レジスタであることが望ましい。各変換プ
ロセッサ34が光線交点計算を完了して結果を共用メモ
リに記憶すると、完了レジスタのこれに対応するビット
位置がセットされる。これは、情報レジスタ80に記憶
されるのと同じビットである。既に述べたように、完了
レジスタの最後のビットをセットする変換プロセッサは
、光線交点計算の結果を共用メモリ36から検索可能で
あるということをホストコンピュータ12に知らせるた
めに、通信レジスタ38のフラグもセットする。第二は
「実行交点の合計(running total in
tersections)」を示すデータワードである
。これは、各変換プロセッサ34から返される交点の数
の実行カウントである。第三は「ワードの合計」を示す
データワードである。「ワードの合計」は、ホストコン
ピュータ12に転送するために共用メモリに記憶される
データワードの数を示す。これは、DMAサイクルを介
して共用メモリ38から結果を検索することを望む場合
に、データのブロック・サイズの合計を利用できるよう
にするために提供される。第四は「光線交点の合計」を
示すデータワードである。これは、すべての変換プロセ
ッサ34により検出される交点の合計数を示す。 「交点の合計」と「実行交点の合計」の相違は、各変換
プロセッサがその光線交点計算結果を共用メモリに記憶
するときに、「実行交点の合計」が連続的に更新される
ことである。「交点の合計」は、交点の最終的な合計数
を示す。第五は、各変換プロセッサ34により与えられ
る実際の光線交点計算結果である。
【0027】今度は図8を参照すると、光線交点計算結
果を、専用メモリ32の各々から共用メモリ36に転送
するためのルーチンが示されている。100で示されて
いるように、各変換プロセッサ34は光線交点計算を完
了すると、共用メモリ36を要求してから待ちループに
進む。共用メモリがその変換プロセッサ34(すなわち
他のすべての変換プロセッサを除く)に許可されると、
その変換プロセッサは102に示すようにして、すでに
述べた「完了レジスタ」の各ビットをセットする。ステ
ップ104では、その変換プロセッサが光線交点計算の
結果、交点がないことを検出したかどうかについて問い
合わせが行われる。実際に交点がある場合には、106
に示すステップが行われる。特に、光線交点結果はその
変換プロセッサに関連する専用メモリ32から共用メモ
リ36にコピーされ、実行交点の合計を示すデータワー
ドは更新されて、その変換プロセッサにより検出された
さらなる交点の数が反映される。ステップ104で交点
が一つも検出されないことが確認されると、その変換プ
ロセッサに関連する専用メモリ32からはデータはコピ
ーされず、108に示す機能が行われる。
果を、専用メモリ32の各々から共用メモリ36に転送
するためのルーチンが示されている。100で示されて
いるように、各変換プロセッサ34は光線交点計算を完
了すると、共用メモリ36を要求してから待ちループに
進む。共用メモリがその変換プロセッサ34(すなわち
他のすべての変換プロセッサを除く)に許可されると、
その変換プロセッサは102に示すようにして、すでに
述べた「完了レジスタ」の各ビットをセットする。ステ
ップ104では、その変換プロセッサが光線交点計算の
結果、交点がないことを検出したかどうかについて問い
合わせが行われる。実際に交点がある場合には、106
に示すステップが行われる。特に、光線交点結果はその
変換プロセッサに関連する専用メモリ32から共用メモ
リ36にコピーされ、実行交点の合計を示すデータワー
ドは更新されて、その変換プロセッサにより検出された
さらなる交点の数が反映される。ステップ104で交点
が一つも検出されないことが確認されると、その変換プ
ロセッサに関連する専用メモリ32からはデータはコピ
ーされず、108に示す機能が行われる。
【0028】ステップ108では、すべての変換プロセ
ッサが共用メモリ36に光線交点計算結果を記憶したか
どうかについての問い合わせがされる。記憶されていな
い場合には、次の変換プロセッサが光線交点計算結果を
転送することができるように共用メモリが解放されてい
るステップ112へと、制御は直接に移動する。他方、
それが最後の変換プロセッサであることが、完了レジス
タのすべてのビットがセットされていることにより示さ
れるならば、110に示すように幾らかの共用メモリ・
ハウスキーピングを最初に行わねばならない。特に、す
べての変換プロセッサが共用メモリに光線交点計算結果
を記憶したならば、通信レジスタのフラグを立てねばな
らず、完了レジスタはゼロにされねばならない。さらに
「実行交点の合計」データワードは、共用メモリの「交
点の合計」メモリ位置にコピーされる。「ワードの合計
」(ホストコンピュータに転送されるデータワードの合
計数)が次に計算され、共用メモリの「ワードの合計」
位置に記憶される。最後に「実行交点の合計」データワ
ードがクリアされる。これで共用メモリ36は変換エン
ジン14から新しいデータを受信する準備ができたこと
になる。
ッサが共用メモリ36に光線交点計算結果を記憶したか
どうかについての問い合わせがされる。記憶されていな
い場合には、次の変換プロセッサが光線交点計算結果を
転送することができるように共用メモリが解放されてい
るステップ112へと、制御は直接に移動する。他方、
それが最後の変換プロセッサであることが、完了レジス
タのすべてのビットがセットされていることにより示さ
れるならば、110に示すように幾らかの共用メモリ・
ハウスキーピングを最初に行わねばならない。特に、す
べての変換プロセッサが共用メモリに光線交点計算結果
を記憶したならば、通信レジスタのフラグを立てねばな
らず、完了レジスタはゼロにされねばならない。さらに
「実行交点の合計」データワードは、共用メモリの「交
点の合計」メモリ位置にコピーされる。「ワードの合計
」(ホストコンピュータに転送されるデータワードの合
計数)が次に計算され、共用メモリの「ワードの合計」
位置に記憶される。最後に「実行交点の合計」データワ
ードがクリアされる。これで共用メモリ36は変換エン
ジン14から新しいデータを受信する準備ができたこと
になる。
【0029】図9及び図10は、光線交点計算の結果と
して共用メモリ36に記憶されるデータの種類を示す。 図9は、光線R0と境界ボリューム120の交差を示す
。光線R0と境界ボリューム120との交点は、光線が
境界ボリューム120に進入しまた退出する光線R0に
沿うパラメータ距離をそれぞれ表す、2つの指標tne
ar及びtfarをもたらす。図10は、光線R0の多
角形130との交点を示す。多角形は平面であるから、
1つの値、即ち多角形130 と交差する光線R0に沿
うパラメータ距離を表す値tdistだけを返すことが
必要である。
して共用メモリ36に記憶されるデータの種類を示す。 図9は、光線R0と境界ボリューム120の交差を示す
。光線R0と境界ボリューム120との交点は、光線が
境界ボリューム120に進入しまた退出する光線R0に
沿うパラメータ距離をそれぞれ表す、2つの指標tne
ar及びtfarをもたらす。図10は、光線R0の多
角形130との交点を示す。多角形は平面であるから、
1つの値、即ち多角形130 と交差する光線R0に沿
うパラメータ距離を表す値tdistだけを返すことが
必要である。
【0030】
【発明の効果】本発明は、三次元コンピュータ・グラフ
ィックス・レンダラーにおける光線交差プロセスを、非
常に大きく加速するものである。本発明は、その思想ま
たは本質的な属性から逸脱することなく、どのような特
定の形態でも実施することができ、従って本発明の範囲
を示すものとしては、以上の発明の詳細な説明ではなく
、添付の特許請求の範囲を参照すべきである。
ィックス・レンダラーにおける光線交差プロセスを、非
常に大きく加速するものである。本発明は、その思想ま
たは本質的な属性から逸脱することなく、どのような特
定の形態でも実施することができ、従って本発明の範囲
を示すものとしては、以上の発明の詳細な説明ではなく
、添付の特許請求の範囲を参照すべきである。
【図1】本発明の装置及び方法を用いることのできるコ
ンピュータ・グラフィックス・レンダラーのブロック図
である。
ンピュータ・グラフィックス・レンダラーのブロック図
である。
【図2】本発明の原理を具体化した装置のブロック図で
ある。
ある。
【図3】本発明の方法を示すフローチャートである。
【図4】本発明の方法を示すフローチャートである。
【図5】本発明の好ましい実施例の具体化に基づき設け
られる情報レジスタの概念を例示する図である。
られる情報レジスタの概念を例示する図である。
【図6】本発明のさらなる詳細を示すフローチャートで
ある。
ある。
【図7】本発明の実施による共用メモリの好ましい構成
を示す図である。
を示す図である。
【図8】本発明の方法の別のさらなる詳細を示すフロー
チャートである。
チャートである。
【図9】光線交点計算の結果として与えられるデータの
タイプを概念的に示す図である。
タイプを概念的に示す図である。
【図10】光線交点計算の結果として与えられるデータ
のタイプを概念的に示す図である。
のタイプを概念的に示す図である。
10 コンピュータ・グラフィックス・レンダラー1
2 ホスト・コンピュータ 14 変換エンジン 16 インタフェース 18 レンダリングVLSI 20 ウィンドゥ回路 22 フレーム・バッファ 24 ビデオ発生器 26 ラスター・ディスプレイ 28 パイプライン・バイパス 30 DMA回路 32 専用メモリ 34 変換プロセッサ 36 共用メモリ 38 二重ポート通信レジスタ 40 マルチプレクサ 120 境界ボリューム 130 多角形
2 ホスト・コンピュータ 14 変換エンジン 16 インタフェース 18 レンダリングVLSI 20 ウィンドゥ回路 22 フレーム・バッファ 24 ビデオ発生器 26 ラスター・ディスプレイ 28 パイプライン・バイパス 30 DMA回路 32 専用メモリ 34 変換プロセッサ 36 共用メモリ 38 二重ポート通信レジスタ 40 マルチプレクサ 120 境界ボリューム 130 多角形
Claims (1)
- 【請求項1】 a) シーンに表示される対象から
得た境界ボリューム及び多角形(120,130)を示
すデータを含めて、ディスプレイ装置(26)上に表示
されるシーンを規定するデータを記憶するホストコンピ
ュータ(12)と、b) ホストコンピュータ(12
)により供給された境界ボリューム及び多角形の選ばれ
たデータについて光線交点計算を行うよう各々プログラ
ムされているP個の複数の変換プロセッサ(34)から
なる変換エンジン(14)とからなり、ホストコンピュ
ータ(12)に記憶された境界ボリューム及び多角形の
全てのデータについての光線交点計算が、P個の変換プ
ロセッサ(34)にわたって分散される、大域レンダリ
ングで使用するための分散処理装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US46867790A | 1990-01-23 | 1990-01-23 | |
| US468677 | 1990-01-23 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04213175A true JPH04213175A (ja) | 1992-08-04 |
Family
ID=23860781
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3006375A Pending JPH04213175A (ja) | 1990-01-23 | 1991-01-23 | 大域レンダリングで使用するための分散処理装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5369738A (ja) |
| EP (1) | EP0439260B1 (ja) |
| JP (1) | JPH04213175A (ja) |
| DE (1) | DE69129995T2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011515766A (ja) * | 2008-03-21 | 2011-05-19 | コースティック グラフィックス、インク. | レイトレース・レンダリングのための並列化された交差テストおよびシェーディングのアーキテクチャ |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07152693A (ja) * | 1993-11-29 | 1995-06-16 | Canon Inc | 情報処理装置 |
| US5450543A (en) * | 1994-10-11 | 1995-09-12 | Ati Technologies Inc. | Flag-based high-speed I/O data transfer |
| US5561752A (en) * | 1994-12-22 | 1996-10-01 | Apple Computer, Inc. | Multipass graphics rendering method and apparatus with re-traverse flag |
| US5765022A (en) * | 1995-09-29 | 1998-06-09 | International Business Machines Corporation | System for transferring data from a source device to a target device in which the address of data movement engine is determined |
| US5969726A (en) * | 1997-05-30 | 1999-10-19 | Hewlett-Packard Co. | Caching and coherency control of multiple geometry accelerators in a computer graphics system |
| US9024949B2 (en) * | 2004-10-13 | 2015-05-05 | Sony Corporation | Object representation using distance functions |
| US8493387B2 (en) * | 2005-11-23 | 2013-07-23 | Pixar | Accelerated statistical rendering methods and apparatus |
| US8402317B1 (en) | 2005-12-22 | 2013-03-19 | The Math Works, Inc. | Viewing multi-dimensional metric data from multiple test cases |
| US8279204B1 (en) * | 2005-12-22 | 2012-10-02 | The Mathworks, Inc. | Viewer for multi-dimensional data from a test environment |
| EP1804187B1 (en) | 2005-12-30 | 2020-09-09 | Dassault Systèmes | Process for displaying objects in a PLM database and apparatus implementing this process |
| EP1804184B1 (en) * | 2005-12-30 | 2017-06-28 | Dassault Systèmes | Process for selecting an object in a PLM database and apparatus implementing this process |
| US10289094B2 (en) | 2011-04-14 | 2019-05-14 | Suntracker Technologies Ltd. | System and method for the optimization of radiance modelling and controls in predictive daylight harvesting |
| US9078299B2 (en) | 2011-04-14 | 2015-07-07 | Suntracker Technologies Ltd | Predictive daylight harvesting system |
| US10290148B2 (en) | 2011-04-14 | 2019-05-14 | Suntracker Technologies Ltd. | System and method for real time dynamic lighting simulation |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4730261A (en) * | 1983-10-25 | 1988-03-08 | Ramtek Corporation | Solids modelling generator |
| US4649498A (en) * | 1984-05-08 | 1987-03-10 | The University Of Rochester | Computer systems for curve-solid classification and solid modeling |
| US4737921A (en) * | 1985-06-03 | 1988-04-12 | Dynamic Digital Displays, Inc. | Three dimensional medical image display system |
| US4928250A (en) * | 1986-07-02 | 1990-05-22 | Hewlett-Packard Company | System for deriving radiation images |
| US5010515A (en) * | 1987-07-28 | 1991-04-23 | Raster Technologies, Inc. | Parallel graphics processor with workload distributing and dependency mechanisms and method for distributing workload |
| US4866637A (en) * | 1987-10-30 | 1989-09-12 | International Business Machines Corporation | Pipelined lighting model processing system for a graphics workstation's shading function |
| US4958303A (en) * | 1988-05-12 | 1990-09-18 | Digital Equipment Corporation | Apparatus for exchanging pixel data among pixel processors |
| JPH0727581B2 (ja) * | 1988-09-09 | 1995-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 図形処理装置 |
| US5058042A (en) * | 1989-04-03 | 1991-10-15 | Hewlett-Packard Company | Method for employing a hierarchical display list in global rendering |
-
1991
- 1991-01-11 EP EP91300212A patent/EP0439260B1/en not_active Expired - Lifetime
- 1991-01-11 DE DE69129995T patent/DE69129995T2/de not_active Expired - Fee Related
- 1991-01-23 JP JP3006375A patent/JPH04213175A/ja active Pending
-
1994
- 1994-02-16 US US08/197,224 patent/US5369738A/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011515766A (ja) * | 2008-03-21 | 2011-05-19 | コースティック グラフィックス、インク. | レイトレース・レンダリングのための並列化された交差テストおよびシェーディングのアーキテクチャ |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0439260A2 (en) | 1991-07-31 |
| US5369738A (en) | 1994-11-29 |
| EP0439260B1 (en) | 1998-08-19 |
| DE69129995D1 (de) | 1998-09-24 |
| DE69129995T2 (de) | 1998-12-24 |
| EP0439260A3 (en) | 1993-08-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7508394B1 (en) | Systems and methods of multi-pass data processing | |
| US5821940A (en) | Computer graphics vertex index cache system for polygons | |
| EP0795164B1 (en) | Image construction | |
| EP0314288B1 (en) | Improvements in computer graphics generation and display | |
| US5557711A (en) | Apparatus and method for volume rendering | |
| US3816726A (en) | Computer graphics clipping system for polygons | |
| US7598952B1 (en) | Three-dimensional image compositing on a GPU utilizing multiple transformations | |
| US6052129A (en) | Method and apparatus for deferred clipping of polygons | |
| JPH04213175A (ja) | 大域レンダリングで使用するための分散処理装置 | |
| JP2713323B2 (ja) | 等値サーフェイスを効率的に生成し等値サーフェイス画像データ及び表面等値線画像データをディスプレイするための方法及び装置 | |
| JP2000348202A (ja) | ボクセルを有するボリューム・データ・セットのずらし−ワープ・レンダリング方法、ボリューム・データ・セットのレンダリング装置 | |
| AU763382B2 (en) | A method for forming a perspective rendering from a voxel space | |
| EP0752685B1 (en) | Method and apparatus for efficient rendering of three-dimensional scenes | |
| JPS59172068A (ja) | マルチプロセツサ・コンピユ−タシステム | |
| US7064755B2 (en) | System and method for implementing shadows using pre-computed textures | |
| US7038692B1 (en) | Method and apparatus for providing a vertex cache | |
| JP4027463B2 (ja) | テクセル・データを記憶する方法およびテクセル・データを記憶するシステム | |
| US6756981B2 (en) | Graphics processor and system for determining colors of the vertices of a figure | |
| US20040085312A1 (en) | Method and apparatus for triangle tessellation | |
| US7151543B1 (en) | Vertex processor with multiple interfaces | |
| US5926181A (en) | Method and apparatus for identifying and eliminating three-dimensional objects visually obstructed from a planar surface | |
| Balciunas et al. | GPU-assisted ray casting of large scenes | |
| JP2737829B2 (ja) | イメージ・データの拡大変換方法及び装置 | |
| JP2772027B2 (ja) | 画像再構成方式 | |
| CN119295639A (zh) | 一种基于异构算力加速的大场景消隐算法 |