JPH10510074A - 像構成 - Google Patents

像構成

Info

Publication number
JPH10510074A
JPH10510074A JP8518438A JP51843896A JPH10510074A JP H10510074 A JPH10510074 A JP H10510074A JP 8518438 A JP8518438 A JP 8518438A JP 51843896 A JP51843896 A JP 51843896A JP H10510074 A JPH10510074 A JP H10510074A
Authority
JP
Japan
Prior art keywords
intersection
path
paths
light
intensity
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
Application number
JP8518438A
Other languages
English (en)
Inventor
ライグレイ,エイドリアン
Original Assignee
アドバンスト・レンダリング・テクノロジー・リミテッド
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 アドバンスト・レンダリング・テクノロジー・リミテッド filed Critical アドバンスト・レンダリング・テクノロジー・リミテッド
Publication of JPH10510074A publication Critical patent/JPH10510074A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)
  • Holo Graphy (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Photoreceptors In Electrophotography (AREA)
  • Processing Or Creating Images (AREA)
  • Lubrication Of Internal Combustion Engines (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)

Abstract

(57)【要約】 架空のシーンの像を、シーンにおける複数の物体(1、2、18)およびシーンの照明に関するデータから構成するための光線追跡方法であって、シーンにおける物体の表面を複数のサブセットに割当て、架空の観察位置(4、21)から複数の直線経路(6、20)を投射し、この経路すべてについてのデータをストアし、もしあるとするならばこの直線経路のうちいずれが選択されたサブセットまたは照明のゾーンにおける表面と交差するかを判断し、すべての経路がシーンにおける表面すべてに対し交差点(たとえば12)についてテストされるまでその他のすべてのサブセットについて上記ステップを繰返すことを含む。この方法はまた、各経路について、どの交差点が観察位置に最も近いかを判断し、その交差点についての座標に関する、およびその交差点における物体の表面または照明のゾーンについてのデータをストアする。その交差点から架空の観察位置(4、21)を通して経路に沿って通過する光の色の強度が次に計算およびストアされ、ストアされた強度および/または色は次にビジュアルディスプレイのための画像信号を生成するのに用いられる。複数の経路が、経路がその他のサブセットとの関連で検討される前に、所与の表面のサブセットに対し交差点についてテストされ、データベースから読出す必要があるサブセットの回数を減少させる。この方法は平行光線プロセッサを使用する装置において実行可能である。

Description

【発明の詳細な説明】 像構成発明の分野 本発明は架空のシーンの像を構成するための方法および装置に関する。本発明 は特に、光線追跡のプロセスにより像を構成することに関する。発明の背景 光線追跡は、たとえば1つ以上の局所的な光源または周辺光により照明される 1つ以上の物体を含む架空のシーンの像をコンピュータが生成できるようにする ための多数のプロセスの1つである。 光線追跡プロセスでは、像を構成する各ピクセルについて、何らかの光線がシ ーンから、シーンに関しかつ架空の観察位置に関しピクセルの位置を定める座標 を通して通過するかどうかが判断される。そのような光線が、観察位置に入射す る光の架空の強度および色に寄与するものが次に計算される。この情報によって ピクセルに対し必要とされる明るさおよび色が決定される。基本的な光線追跡法 については、Communications of the ACM,26(6),342-349(Whitted 1980)の、 「陰のあるディスプレイのための改良された照明モデル(An Improved Illumina tion Model for Shaded Display)」と題された論文に述べられている。 光線追跡によって、解像度の高い像を生成することが可能になり、かつ反射、 屈折および光の散乱などの現象を表現することが可能になる。 しかしながら、各光線の経路(および特性)を決定するためには多数の計算を 行なわなければならず、その結果光線追跡法は非常に遅くなる傾向がある。発明の概要 本発明の1つの局面に従い、可能な複数の観察位置から観察されかつ既知の態 様で照明される複数の物体を含む架空のシーンの像を、物体の表面の座標、その 表面上のすべての点の光学的特性、および特定的な照明についての情報から構成 する方法が与えられる。この情報はコンピュータメモリにストアされる。上記方 法は、 A.観察位置から複数の直線経路を投射し、これら経路すべてを表わすデータ をストアすることと、 B.物体のうち1つについて、もしあれば直線経路のうちどれが物体の表面ま たは照明のゾーンと交差するかを判断し、交差する経路各々について、観察位置 に最も近い交差点の座標を決定し、その交差点すべてをストアすることと、 C.上記のステップBをその他の物体について、またはその他の各物体につい て交互に繰返すことと、 D.各経路について観察位置に最も近い交差点を決定し、これをその交差点で の物体表面に関するデータとともにストアすることと、 E.ストアされた表面データに対し、経路に沿い観察位置へと通過する光を上 記の最も近い交差点各々について決定し、これを光の強度および位置データとし てストアすることと、 F.ストアされた光の強度および位置データを読出してビジュアルディスプレ イ上に画像信号ディスプレイを生成することとを含む。 複数の直線経路すべてはサブセットにまたは各々のサブセットに交互に関係す ると考えられるため、各々のサブセットにおける表面についての詳細は、その直 線経路と表面との交差点すべてを決定するためには、メモリから一度引出す必要 があるのみである。したかって、表面についての詳細をメモリから引出す必要が ある回数、およびそれに関連する時間的な遅延は最小となり、その結果、光線追 跡方法は、各々の表面を1つの経路につき少なくとも一度引出さねばならない既 知の方法よりも高速で行なうことができる。 この複数の直線経路はほんの数本かもしれないが、好ましくは像を構成するの に必要な直線経路すべてを構成するものである。 好ましくは、各サブセットは物体それぞれの表面を含む。 上記のステップEは、交差点から二次的な1本以上の直線経路の組を投射する ことを含む。これは、交差点での物体表面の特性により、光が各々の二次経路に より定められる方向に沿い界面に入射した場合最初の経路に沿い観察位置に少な くとも一部が導かれる場合に行なわれる。上記のステップEはさらに、上記ステ ップBおよびCに従い二次経路と、上記交差点に最も近いその他の物体(または 光源)との交差点を決定することと、二次経路の交差点についてのデータから、 上記二次経路により定められる方向で最初の直線経路の交差点に入射する何らか の光の少なくとも強度を計算し、最初の経路の交差点での物体の表面特性に関す る情報から、最初の経路に沿い観察位置に入射する光の少なくとも強度を計算す ることとを含む。 この方法はこのようにして、別の物体から散乱あるいは反射するまたは別の物 体を通して屈折する光の、物体の見かけに対する影響を考慮することができる。 観察位置に入射する光の強度をより正確に決定することは、先の直線経路の組 の選択された交差点から、二次直線経路と同じ態様で、1つ以上のさらなる直線 経路の組を投射し、そのさらなる経路の組により定められる方向に沿い界面に入 射する光の強度を決定することにより可能である。 好ましくは、強度に加え、ピクセルから放出される何らかの光の色もまた決定 される。これは、光を異なる色成分(たとえば赤、緑および青)の組合せであり 、その相対的な大きさが光の色を規定するものであるとみなし、関連する界面で の相互作用の、各成分に対する組合わされた効果を考慮することにより可能であ る。 好ましくは、どの直線経路が選択された表面と交差するかを判断するプロセス は、各経路に対しその経路が上記表面を含む架空のエンベロープと交差するかど うかを判断し、その経路がエンベロープと交差しなければ、表面に関連するさら なる考察の対象から外すことを含む。 このように、架空の物体のエンベロープを用いて、物体表面の正確な座標に関 連して考慮する必要がある経路の数を減じることができる。この理由は、エンベ ロープと交差しない経路はエンベロープに含まれる表面と交差するはずがないか らである。 エンベロープに関連して考慮する必要がある経路の数は、どの経路が、複数の エンベロープを含むより大きなエンベロープと交差するのかを判断し、そのさら に大きなエンベロープと交差しない経路をその他のエンベロープに関する考察か ら外すことにより、減じることができる。 もし経路の交差点での物体の表面特性により、そこに入射する光が多数の方向 に拡散または散乱するというものであれば、その界面を起点とするさらなる多数 の光線ベクトルが、交差する光線ベクトルにより定められる経路に沿い導かれ、 入射する光線の可能な方向を正確に表わすのに必要であろう。この場合、ランダ ムに選択された方向を有するそのようなさらなる経路を1つのみ発生させること が好都合であろう。 ランダムにそのようなさらなる経路を1つのみ発生させることにより、ピクセ ルが像の一部を構成するのに必要な強度の計算の正確度は低下するが、上記の特 性を有する物体の領域において十分な数の交差点が生じれば、交差点で発生する さらなる経路のランダムな性質は、特にもし2つ以上の直線経路(平均で)が各 ピクセルに対し観察位置から投射された場合、最終的な像におけるエイリアシン クの量を減じるのに使用されるスーパーサンプリング方法において起こるように 、そのような不正確性を補償するものとなる傾向がある。 本発明の他の局面に従って、可能な複数の観察位置のうち1つから観察される 、複数の物体を含む架空のシーンの像を構成するための装置が提供される。この 装置は、 物体の表面の座標、その表面におけるすべての点の光学的特性、およびそのシ ーンに対する照明についての情報がストアされるメモリと、 観察位置から複数の直線経路を投射するため、もしあればどの経路が各物体の 表面と交差するかを決定するため、および観察位置に最も近い各経路の交差点を 選択するための光線追跡手段と、 その交差点での物体表面について、およびシーンの照明についてのデータから 、その各々の経路に沿い観察位置へと通過する光の強度を決定するための計算手 段と、 ビジュアルディスプレイで表示するために上記強度を表わす画像信号を発生す るための出力手段とを含み、光線追跡手段により選択された第1の物体に対する すべての交差点は、各々の物体との交差点の前に決定されるので、交差点は各物 体について交互に決定される。 好ましくは、光線追跡手段は、メモリに接続され、各プロセッサが像のそれぞ れの部分に対し直線経路のそれぞれのグループを発生するように配置された複数 のデータプロセッサを含み、各グループが選択された物体と交差する点は同時に 決定される。 この特徴は特に有利なものである。その理由は、物体に関する詳細はプロセッ サによって同時にメモリから引出されるからである。こうすることにより、異な るプロセッサがいつ何時でも異なる物体についての情報を要求する場合に生じる であろう「ボトルネック」を回避するものである。 好ましくは、各プロセッサは、光線追跡動作を行なうように特別に構成された 専用チップを含む。こうして、各プロセッサが特定のソフトウェアと組合わされ た汎用チップからなる場合と比べ、このプロセスをさらに高速で行なうことが可 能になる。 好ましくは、計算手段は、対数算術のプロセスにより、関連する交差点での架 空の光線の相互作用の効果を組合せるようにされている。 こうすることにより、このような組合せを行なうのに必要な、超高密度集積( VLSI)計算を比較的迅速に行なうことが可能になり、初期値を対数的に等価 であるものに変換するのに必要なさらなる時間の補償をする。図面の簡単な説明 本発明は添付の図面を参照して例示としてのみ以下で説明される。 図1および2は、光線追跡方法の基本的原則を示す。 図3は、先行技術による光線追跡の方法に含まれるステップを示すフローチャ ートである。 図4は、本発明に従う方法に対する、対応するフローチャートである。 図5および6は、本発明に従う方法におけるさらなる段を示す図である。 図7および8は、これら段に含まれる種々のステップを示すフローチャートで ある。 図9は、本発明に従う光線追跡装置のブロック図である。 図10は、図9に示される装置の一部を形成するチップの外から見た等角図で ある。 図11は、図10に示されるチップのアーキテクチャを示すブロック図である 。 図12−15は、図11に示される多数の構成要素のより詳細なブロック図で ある。 図16は、図12−15に示される構成要素の機能の略語表を表わす。 図17は、本発明の好ましい特徴を有する方法に関する光線ツリー図である。 図18は、図9に示される装置とともに使用するためのさらなる装置を示す。 図19は、図18に示す装置により提供できるデータの例を図式的に示す。 図20および21は、図9に示される装置がいかにして図18に示される装置 によって与えられるデータを使用するかを示す。 図22−24は、各々本発明に従う3つの方法により構成される像を示す。詳細な説明 図1を参照して、光線追跡プロセスを用いて、予め定められた観察位置4から 観察した、物体1および2を含む架空のシーンの像を構成することができる。像 は複数のピクセルから構成され、シーンに関連するピクセルのうち1つの位置が 参照番号6で示されている。ピクセルはすべて、観察位置4とシーンとの間に置 かれた像面8にある。図1に示された要素は初めデータの形式でコンピュータデ ータベースにあるが、面8および観察位置4はそれぞれ、最終的に像が表示され るスクリーン、およびシーンに関する観察者の位置に対応する。 一次直線経路10が観察位置4から投射され、ピクセル位置6を通過する。経 路10は無限の長さを有するものと考えることができる。経路10と架空のシー ンにおける物体またはその他の要素(光源など)との交差点すべてが比較され、 位置4に最も近い交差点以外はすべて無視される。経路10の場合、ポイント1 2での、球形の物体1の表面との交差点が最も近いものである。 データベースは、光と物体1との間に起こり得る種々の相互作用のシミュレー ションを可能にする、物体1の視覚的に明らかな多数の特性についての情報を含 む。その情報は、交差点12を含む種々のポイントでの物体1の表面に対する法 線の方向、およびその表面の種々のポイント(交差点12を含む)での、何らか の光を反射するまたは散乱させる物体1の特質についての情報を含む。 この例では、物体1は不透明であり、その結果入射する光を反射または散乱さ せるのみである。しかしながら、透明または半透明な物体の像を発生させること も可能であり、この場合、データベースはまた、そのような物体の光透過特性に ついての情報をストアする。 二次経路14が発生する。なぜならば経路14により定められる経路に沿う方 向で界面12に入射する光は少なくとも部分的には経路10に沿い反射、屈折ま たは散乱するためである。経路14と何らかのその他の物体/光源との交差点は 、経路10に対して行なったのと同じ方法で分析できるが、この場合交差点12 に最も近いもの以外の交差点は無視される。 このプロセスが一次および二次経路しか考慮しないのであれば、必要とされる ピクセル6の強度は、経路10および16に沿い進行し入来する想像上の光線の 強度に対する交差点の影響を計算することにより決定される。したがって、明る い光源と経路14との交差点が選択されるならば、比較的高い強度の値が初めに 割当てられるであろう。しかしながら、物体1が光を非常に効果的に吸収するも のであれば、強度は大幅に減少するであろう。さらに、経路14がいかなる光源 ともいかなる周囲光のゾーンとも交差しなければ、0の強度の値が割当てられる であろう。このようにこの場合は、ピクセルに対する最終的な強度の値は、経路 の選択された交差点の割当てられた強度の値から決定される。 同じ方法で、入来する光線の関連の色が(赤、青および緑の成分の相対的強度 により表わすことができる)また決定される。架空の光線の強度および色は、ピ クセル6により表示される必要な明るさおよび色を表わすものとなる。この計算 がすべてのピクセルについて計算されれば、像を表示することができる。 像は、たとえば陰極線管(CRT)といった何らかの適切な手段によって、ま たは感光性フィルムに焼き付けて表示することができる。 図1に示す例では、物体1の表面は反射性があり、そのため1つの二次経路1 4のみが界面12で発生する。しかしながら、物体1の表面が凸凹であれば、入 射する光は散乱する傾向があり、その結果、多数の方向のうち1つで界面12に 入射する光は、一次ベクトル10により定められる経路に沿い導かれる可能性が ある。 この状態は図2に示されている。図2では、参照符号16a−fは、球形で表 面が滑らかでない物体18と、観察位置21を起点としピクセル22を通過する 経路20との交差点で発生する起こり得る二次経路を示す。 図2に示す配置では、経路16e−gはまた、光を散乱させる物体と交差し、 図示されたプロセスは、それら二次経路の交差点からさらなる経路の組を投射す るステップを含む。そのような経路の3つのグループが、24、26および28 で示されている。この方法のある変形では、各ピクセルに対する計算に必要とさ れる正確度次第で、同様なやり方でさらなる経路の組を発生させることができる 。 必要な計算の回数を減少させるための、本発明の方法の好ましい特徴は、初め の組のベクトルと光を散乱させる表面との界面で発生する可能性があるベクトル のうち1つのみを選択することである。したがってこの例では、ベクトル16の うち1つのみがランダムに選択され、もし選択されたベクトルが16e−gであ る場合、関連する三次ベクトルのグループからベクトルが1つのみランダムに選 択される。 図3に示すフローチャートを参照して、既知の光線追跡方法では、各経路がシ ーンにおけるいずれかの物体と交差する点が、他の経路から独立して決定される 。このように、この方法で使用される光線追跡回路は、各経路(このチャートで は「視線」として示されている)につき少なくとも一度すべての物体についての 情報をデータベースから引出さなければならない。その結果、入れ子状になった 物体プログラミングループ30およびピクセルプログラミングループ32として 示されるように、物体についての情報を何度も引出す必要がある。 図4を参照して、本発明に従う方法では、ボックス34で示されるように、所 与の組の経路(一次、二次、三次など)すべてが最初に投射される。回路はボッ クス36に示されるように、所与のプリミティブについての詳細を引出し、どの 経路がそのプリミティブと交差するのかを判断する(ボックス38)。物体に関 連し、何らかのその他の物体に関する詳細が呼出される前に、何らかの所与の組 のすべての経路が考慮され、その結果物体についての詳細が引出される回数は、 既知の方法におけるよりも少なくなる。これは、さらなるプリミティブについて の情報の引出しを表わすループ42内で、各経路に対する交差点についてのテス トの繰返しを表わすループ40が入れ子になっていることによって示される。 光線追跡プロセスが終了すると、すべてのピクセルに対し必要な色および明る さを表わす出力信号が発生される(ブロック44で示される)。 図5−7は、ボックス38により表わされる交差点テストに含まれる種々の段 を示す。物体に関する情報を含むデータベースはまた、架空の球形で境を接する エンベロープについての情報を含み、エンベロープの座標によれば、各エンベロ ープがそれぞれの物体を1つ含む。図5は、シーンにおいて表現される多数の物 体ならびに各物体に対する46および48などの境を接するエンベロープを示す 。 データベースはまた、架空の境を接するより大きなエンベロープの座標を含み 、このエンベロープ各々は1つ以上の物体のエンベロープを含んでいる。 そのようなさらに大きなエンベロープの例が、50、52、54、56および 58で示される。 実際の物体の座標に関する経路について考慮する前に、このプロセスでは、物 体を含む(しかし経路の起点は含まない)連続するエンベロープと経路とが交差 するかどうかを判断する。経路がこのようなエンベロープすべてと交差しなけれ ばその経路は無視される。 このようにして図6に示す例では、図6の面の真上のポイントから投射された 一次経路が、エンベロープ46に含まれる物体と交差するかどうかを判断するプ ロセスは、この経路がエンベロープ50と交差するかどうかを判断する最初の段 階を含む。交差点がなければ、この経路は、エンベロープ46と交差するはずが ないという理由で無視されるが、交差点がある場合は、この経路がまたエンベロ ープ53と交差するかどうかという問題について検討が行なわれる。交差点があ れば、物体の表面の実際の座標との関連でこの経路を検討する前に、エンベロー プ52そして次にエンベロープ46についてこのプロセスが繰返される。 図6の内部的なツリー表現は、物体のいずれかに関連して所与の一次経路を分 析するときに生じる種々の選択肢を示す。 図9を参照して、ブロック60は、経路を発生し、交差点を判断し、必要とさ れるピクセル出力を計算する光線追跡装置を示す。この装置は多数の光線追跡ユ ニットを含み、例としては、表現されるシーンにおける物体についてのかつ境を 接するエンベロープについての必要な情報を含むコンピュータメモリ(図示せず )に接続されるブロードキャストデータバス66に並列して接続される63お よび64である。 各光線追跡ユニットは、そのユニットに割当てられた多数のピクセルのために 必要とされる出力を表わす出力信号を発生するように動作し、その出力信号は、 すべての光線追跡プロセッサに、ならびにブロック62で示されるフレームスト アデバイスのメモリ70およびビデオ出力信号発生器72に並列に接続されるピ クセル出力バス68に沿い中継して送られる。デバイス62は、装置60および 62における他のユニットを制御するための主(またはホスト)プロセッサ74 を含む。ユニット72は、光線追跡プロセッサの出力からの信号を、CRTディ スプレイ76に表示されるビデオ信号に変換する。 図10および11を参照して、各光線追跡プロセッサユニットは、図11に示 す構造を有するVLSI(超高密度集積)集積シリコンチップ78を含む。チッ プ78は、光線スタックメモリ82に接続される種々のレジスタカウンタおよび メモリスタック80、光線データメモリ84、ならびに光線交差点メモリ86を 含む。メモリ84および86は、視線算出ユニット88、再方向付け算出ユニッ ト90、交差点算出ユニット92、および出力発生ユニット96と情報を交換し 、これらユニットはすべて、バスコネクタ98および100によりメモリ84お よび86に接続されている。ユニット88および92はまたバスコネクタ66で 接続される。 視線算出ユニット88は図12に示され、発生される経路すべてでメモリ86 を初期化するのに用いられる。ユニット88はまた、各経路に対するデカルト座 標を決定し、そのために対数乗算、加算、除算および減算ユニットを用いる。対 数ユニットの機能については、図16に示される略語表で表わされている。ユニ ット88は次に各経路の座標をメモリ84に与える。シーンにおける表面および 境を接するエンベロープの座標および特徴に関するデータがまた、バス66およ びユニット88を介してメモリ84に与えられる。メモリ84はしたがって、プ ロセッサユニットが実行する次のプロセスのために必要なデータを含んでいる。 図13は、交差点算出ユニット92をより詳細に示す。このユニットは表現さ れるシーンにおける、各経路と、境を接する体積(すなわちエンベロープ)およ び表面とのすべての交差点を決定し、そのためにまた対数算術を用いる。したが って、ベクトルの起点に最も近い物体表面との交差点以外の、物体表面との交差 点は無視される。 ユニット92は、メモリ84から、経路および物体表面または境を接するエン ベロープ表面についての必要な座標データを獲得し、物体表面との交差点につい て最も近い交差点座標を、その交差点での物体表面の光学的特性についてのデー タとともに、メモリ86にストアする。 座標がメモリ84にストアされている経路は、ユニット80により割当てられ るアドレスという手段により識別される。交差点算出ユニットにより所与の経路 が境を接するエンベロープと交差していることが発見されると、その経路に対す るアドレスが光線スタックメモリ82にストアされ、光線スタックメモリはその エンベロープと交差する経路のリストをコンパイルする。光線スタックメモリは 、そのアドレスを連続するメモリ場所にストアするため、アドレスはその後順序 通りに読出される。そのエンベロープにおける物体がレンダリング(描画)され るとき、そのアドレスは光線スタックメモリ82から読出され、メモリ84およ び86に対するインデックスに使用される。 このようにして、境界のエンベロープと交差する経路のみが、その中の表面に 関して考慮される。光線スタックメモリ82は数個のアドレスリストを一度にス トアし、このリストは隣接してストアされる。こうして前述のように物体のエン ベロープを階層的に使用することができる。 図11に示されるプロセッサの種々のユニットの動作は、それらユニットに対 し制御信号のシーケンスを発生するステートマシン87によって制御される。こ のシーケンスは、プロセッサが実行する動作の予め定められたシーケンスによっ て決定され、各ユニットおよび各バスは適時活性化される。 一旦所与の表面との交差点についてすべての一次経路がテストされると、別の 表面についてのデータがプロセッサにブロードキャストされ、メモリ84が更新 され、シーンにおけるすべての物体表面および照明源との交差点について一次経 路すべてがテストされるまで、上記のプロセスが繰返される。 例示の再方向付けユニット90は、図14でより詳細に示されている。データ ベースが、すべての一次経路と、および物体表面と交差する各経路について最も 近い交差点についてのメモリ86にストアされたデータと比較されると、このユ ニットは対数算術手段によりさらなる二次経路を発生する。こうした経路各々に ついて、ユニット90はメモリ86から、その経路の最も近い交差点の座標およ び表面特性についてのデータを受取り、二次経路を発生する。二次経路の座標は メモリ84にストアされる。次に二次経路は、一次経路について行なわれた交差 点テストと同じやり方で、境界のエンベロープおよび物体表面との交差点につい てテストが行なわれる。データベース三次光線の次の通路は、同じやり方で二次 経路から形成され、以降同様に行なわれる。経路を多数の光源に向けて、正反射 し拡散しかつ屈折する方向に送るのに、より複雑な再方向付けユニットが必要で ある。 この装置の変形例では、所与の経路についてユニット92により検出される各 交差点に対し、ユニット90はさらなる再方向付けされる経路を発生する。もし 交差点が経路の以前のいかなる交差点よりも経路の起点に近いことが発見されれ ば、再方向付けされた経路は交差点メモリ86に書込まれ、そうでなければ経路 は廃棄される。これには、経路が再方向付けられ次に時折廃棄されるときに、不 必要な計算が含まれるが、メモリ86に表面データをストアする必要はない。デ ータベースに対しすべての一次経路がテストされた後、二次経路がメモリ86か らメモリ84に複写される。後続のデータベースのパスにおいて、三次光線を二 次光線から形成し、同様の動作を続けることができる。 図15は、出力発生ユニット96をより詳細に示している。このユニットは光 線メモリにおける交差点情報をピクセル強度および色に変換し、それらを示す出 力信号を発生する。 出力信号はバスコネクタ68に沿ってビデオ出力72に与えられ、ここでディ スプレイ76のためにビデオ信号に組み入れられる。各ピクセルについての強度 の値は3つの色の成分すなわち赤、緑、および青を有し、これらは組合わされて ピクセルの色を定める。 使用中には、各光線追跡プロセッサユニットは、そのユニットに割当てられる ピクセルのグループに対し必要とされる出力を計算し、光線追跡プロセッサユニ ットは同時に各物体との交差点を判断する。 プロセッサユニットは、動作プロセスのパイプラインとして知られているもの を提供する。これは、このユニットが異なる直線経路について異なるプロセスを 同時に実行することを意味している。 このようにしてたとえば、再方向付け算出ユニット90が一次経路と表面とが 交差する点での二次経路を発生しているときに、交差点算出ユニット92は視線 算出ユニット88により発生される次の一次経路をテストしており、その間にユ ニット88は第3の一次経路を発生している。 この装置の方法について以下でさらに詳細に説明する。 交差点についてテストするためには、一次経路の起点および方向が計算され、 この情報は最も近い交差点に対する光線の交差距離を決定するのに用いられる。 その交差点での物体の表面特性は、すべての物体をテストした後その交差点が最 も近いということが判明した場合に、距離とともにストアされる。データベース の第2のパスにおいて二次経路を処理しなければならず、一方さらなるパスを用 いて何らかの深さの光線ツリーが処理可能である。所望のパスすべてが完了する と、視線(すなわち一次経路に沿い進行する光)の色をディスプレイ装置に出力 することができる。 この方法においては、データベースは一度だけ(経路の各組に対し)ブロード キャストされ、像におけるすべての光線に対する経路は、1つの光線の経路を次 を開始する前に完了するのではなく、ともに追跡される。反射または屈折の各レ ベルは、さらなるベクトルの組が発生されるときにデータベースの別のパスを必 要とする。ブロードキャストデータバスはこのようにして非常に効率的に使用さ れ、各要素は、シーンにおける光線から独立して、固定された(少ない)回数( 光線が追跡されるレベルの数に等しい)ブロードキャストされる。 装置60のビデオ出力ポートはビデオレートで像データを搬送し、512ビッ トバス68に接続される。データベースおよび制御ポートを512ビットバス6 8または128ビットバス66のいずれかに接続することが可能だが、このポー トでのデータは非順次的な性質をもつ傾向があり、必要とされる帯域幅はより小 さくなる(8Mバイトを上回るデータベースが2Nピクセルディスプレイで見え る場合にはこれは生じない)。 境を接する体積(たとえばエンベロープ46)はブロードキャストバス66で 、その中に含まれる物体に先行して伝送される。この態様で、境を接する体積に 入る光線についてのみ、物体のテストを行なうことができる。 データベースの各プリミティブに一度だけアクセスして全体の像をレンダリン グするためには、ピクセルごとにではなく(これにはデータベースにおける各要 素に複数回アクセスする必要がある)、全体像が同時にレンダリングされる。光 線追跡ハードウェアの内部状態はしたがって、全体像が要素ごとに伝えられると きに全体像の状態を含むことになる。その効果は、多くの単純なソフトウェア光 線追跡装置(図3および4)において存在する内部および外部ループが交換され ることである。 全体像を一度にレンダリングするためには、レンダリングする側であるメモリ 70はすべてのピクセル(すなわち光線)の色を一度に保持しており、算出中そ の光線が参照する何らかの状態もまた保持している。 境を接する体積は、物体、およびさらなる境を接する体積双方を含み、階層を 生み出すことができる。実行される交差点テストの数は、非階層的な場合のよう に線形的であるのではなく、データベースサイズの関数として対数的になる。こ うして大きなデータベースのレンダリングが可能となり、実際にはほとんどの物 体が不明確にされる非常に大きなデータベースについては、レンダリング時間は 事実上データベースサイズと無関係になる。 境を接する体積の階層的配置の使用(図6)には、データベースをツリーとし て構成することが含まれ、目に見える物体はリーフノードに相当し、ペアレント ノードは、対応するリーフノードすべてのまわりに境界線を描く、目に見えない 境を接する球体を含む。ツリー全体に対するルートノードはこうして、データベ ース全体を描く球体すなわち「世界球体」を特定する。 レンダリング動作はツリーを横切るようになり、リーフノードすべてがブロー ドキャストされるまで、始めに世界球体(原点および半径)をブロードキャスト し、次にドータ(娘)ノードを繰返しブロードキャストすることを含む。この横 切る動作は深さ優先の態様で行なわれる。 どの光線をさらに検討するかを決定する際に、境を接する球体情報を利用する ことにより最適化がもたらされる。ストアされた各光線ベクトルを、簡単なベク トル算術テストにより、現在ブロードキャストされている境を接する球体との交 差点についてテストできる。光線ベクトルが境を接する球体と交差しなければ、 このツリーの枝をさらに下るリーフノードいずれとも交差する可能性はない。交 差点テストに落ちた経路は、サーチがツリーのこの部分を出るまで、再び考慮す る必要はない。交差点テストの数はこのようにして大幅に減少される。この方法 の全体的な効率は、ツリーの分岐要素およびその深さ、ならびに境を接する球体 の投射される領域に依存する。光線の起点での境を接する球体の投射される領増 が小さいほど、交差しない可能性が高く、不必要な境を接する球体−光線および 物体光線テストを排除する。すべての光線が境を接する球体から外れていれば、 ツリーをはるかに下ったノードのブロードキャストは不要である(データベース のその部分は最終的な像に何の影響もない)。ブロードキャストは、何らかの交 差点がまだ可能である次のツリーのノードにジャンプする。 レンダリングプロセスは、各光線追跡プロセッサの光線メモリを初期化するこ とによって開始される。アンチエイリアシンクのない単純なケースにおいては、 各ピクセルは1つの視線を生成する。光線メモリは、カメラ位置である起点、ピ クセル位置から引出される方向および観察方向を備える構造(前述のとおり)、 ならびに「無限」(表現可能な最大数)と設定される距離の値を保持する。 ホストプロセッサ74(すなわちブロードキャスティングエージェント)は次 に、データベースのルートノードに対応する境を接している球体をブロードキャ ストする。すべての光線はこの球体に対する交差点について検査される。今まで に発見されたよりも近い交差点を有する光線は、さらなる検討を行なうために光 線(光線へのポインタ)のリストに配置される。ホストは次に(リストが空でな いと仮定すれば)次のレベルへとツリーを下って移動し、次の境を接している球 体をブロードキャストする。リストにおける交差しているすべての光線は新しい リストに転送される。ホストは、リーフノードに到達するかまたは現在のリスト が空になるまで、ツリーを下方に移動し続ける。上記の事態が発生したとき、現 在の光線リストは落とされ、(前のリストが現在のものになる)、ホストはツリ ーの上方へと次のまだ伝送されていないノードをブロードキャストし、(新し い)現在の光線リストについてのテストを行なう。この深さ優先探索は、ツリー 全体を横断するまで継続され、その時点ですべての光線リストは廃棄されている ことになる。こうして第1レベルの光線の交差点が発見されたことになる。 ホストは、レンダラーにおけるすべての現在の光線リストがいつ空になるかを 判断する。これは、各レンダラーチップにより出力され外部で論理和がとられる (ワイヤリングされたOR配置を用いて)現在のリストが空でないかどうかを示 す信号によって行なわれる。このようにして、ホストは、何らかのプロセッサが 現在境を接している体積の拡大を必要としているかどうかを判断することができ る。 シェーディングおよび二次経路発生(本明細書では光線の再方向付けとされて いる)のプロセスの発生がここで可能となる。すべての光線は、関連する経路と ともにストアされた交差点の色および他の表面特性に従う色の組を有している。 交差点で生じる経路が1つのみであれば、その新しい経路の情報をそのペアレン ト経路と同じメモリ場所にストアできる。2つ以上の経路が生成されれば、デー タはすべて同じスクリーンのピクセルに対応するさらなるメモリ場所にストアさ れねばならない。レンダリングプロセスの終了時に、ピクセルの強度が、そのピ クセルから引出されるすべての経路の総和として計算される。これらのシェーデ ィング動作すべては、各々の光線について適切なデータがストアされていると仮 定すれば、データベースを参照せずに行なうことができる。ブロードキャスティ ングエージェントは、光線ベクトルの再方向付けが完了するまでは、さらなる動 作を行なう必要はない。 ここで二次経路の追跡を行なうことが可能になる。ホストプロセッサは、再び ルートノードからデータベースの探索を開始して、以前と同じステップを辿る。 経路は前よりも広範囲にわたる方向に進行している(一次経路の方向の範囲は制 限されている)ので、この段階においてより多くのデータベースにアクセスが行 なわれる可能性がある。データベースの横断が完了すると、別のシェーディング プロセスが可能になる。シャドー経路すなわち光源に到達しない経路は黒に設定 される。以前と同様に光線を再方向付けすることにより、さらなる反射、屈折お よびシャドー経路が発生し得る。 レンダリングは規定された制限までまたは追跡すべき光線がなくなるまでレベ ルごとに続けることができる(弱い光線はシェーディング段階中に廃棄される可 能性がある)。最終的なシェーディングが完了すると、出力段階が発生する。す べての光線は、出力像に付加される最終的な強度を有する(最初は黒に設定され ている)。光線が分割される(すなわち反射および屈折成分にされる)場合、最 終のピクセルは、光線追跡アルゴリズムが要求する各経路からの光を含む。ホス トプロセッサが実行するアルゴリズムは図4に示されている。 ノードの各ドータ(娘)分岐を任意の順序で単純に横断することは、より遠く にある境を接する体積がより近い体積よりも前に探索されることがしばしばある ことを意味している。理想的なのは、各光線に対し、より近い境を接する体積が 、それよりも遠い境を接する体積よりも前に探索されることである。このように して、より遠い境を接する体積における起こり得る最も近い交差点よりも近い交 差点が発見されれば、そのより遠い境を接する体積ではより近い交差点が発見さ れる可能性がないので拒否される。光線の起点の後ろにある境を接する体積はま た、拒否される。不運にも、ブロードキャストデータベースアルゴリズムは最適 方法を妨げるものである。その理由は、考慮の対象となるすべてのベクトルに対 して使用されるツリー探索順序は1つしかなく、最適性のためには異なるベクト ルが異なる横断順序を必要とすることが多いからである。探索順序を改良する1 つの方法は以下のとおりである。 1) ツリーのルートノードに移動する。 2) ノードを拡大させてドータ(娘)ノードを与える(恐らくは境を接する 球体)。 一次経路のみについては以下のとおりである。 3) 観察錐台との交差点について各々の境を接する体積をテストし、 観察錐台の完全に外側に位置する、境を接する体積を拒否する(このステップ は任意のものである)。 4) カメラへの距離に基づきノードを順序正しく分類する(最も近いものが 第1番目である)。 5) 順序正しい各々のノードに対し、ノードを(境を接する球体または物 体)ブロードキャストし、ノードが境を接する球体であれば、ステップ2に進む (反復的に)。 このアルゴリズムを用いることによって、単純なツリー横断の場合よりも、不 必要な境を接する体積および物体について行なわれるテストはより少なくなる。 達成される実際の改良点は、シーンに大いに依存する。たとえば、部屋内部から の観察がレンダリングされる場合、部屋のノードは、部屋の外側の何らかの物体 を考慮する前に拡大される。この態様で、部屋の外側に関連するほとんどのデー タベースは無視される。 光線のキャスティングという簡単なケース(一次経路のみが発生される)では 、視線のみが考慮され、観察錐台の外側にあるデータベースのいかなる部分も無 視される。 上記のアルゴリズムでは、光線の数個のリストの生成およびメンテナンスが要 求される。そのための方法について以下で説明する。 システムにおけるすべての経路は、光線メモリにおけるアドレスによって表現 される。経路が境を接する球体に入ると、アドレスはスタック80に押し出され る。能動的な経路すべての検討が行なわれれば、能動的な経路の新しいリストが 、スタックに押し出されたばかりの経路のリストによって与えられる。リンキン グポインタがスタックに押し出されるため、リストが廃棄されたときには、スタ ックポインタが前のリストに移動することができる。 能動的なリストを操作するこの方法は効果的であるということがわかっており 、ハードウェアにおいて容易に実現され、この場合1つのRAM、ポインタレジ スタ(次のリンクポインタに対し)、およびローディング可能なアップカウンタ (スタックポインタに対し)が必要とされる。メモリアクセスパターンは、最上 部により近い場所への頻繁なアクセスを必要とするという非常に単純なものであ ることに注目すると興味深い。ハードウェアキャッシュ方法によって、ここで述 べるポインタリストおよび実際の光線データ双方に対し大きなメモリを提供する ことが可能である。こうすることにより、サイクルタイム全体に影響を及ぼすこ となく、光線データおよびポインタに対し、大きな比較的低速のメモリを使用し て、大きなピクセルアレイのレンダリングを行なうことができる。このような特 定的なキャッシュ方法は、スタックに基づくマイクロプロセッサ(Harris RTX 2 000(Harris 1990)など)のために使用されている。 出力像における各ピクセルに対する強度および色は、考慮されたすべての大き さにおけるポイントサンプルの重み付けされた総和を計算することによって決定 される。一次経路は、観察のジオメトリおよび出力ピクセルグリッドから通常の 方法で決定されるが、アンチエイリアシンクのためにピクセル座標XおよびYの 値に、およびフィールドの深さについての観察位置に対し、オフセットが加えら れる。経路はまた、移動しているフレームのシーケンスが計算されているならば 、架空のフレーム時間からのオフセットでタイムスタンプがつけられる。 一次経路は第1の交差点まで追跡され、このポイントで、表面からランダムな 方向に交差点から出る1つの拡散経路が発生するか、屈折経路が発生するか、ま たは正反射する光線が発生する。拡散方向は半球にわたり均一的に分布する可能 性があり、交差点のジオメトリから決定されるファクタにより乗算される光線強 度の値(入ってくるおよび出ていく方向、表面タイプおよび法線)、または特別 な分布を選択することができ、拡散強度がより高い方向の可能性がより高くなる 。この二次経路は次に、同じプロセスが発生する次の交差点まで追跡される。最 終的にほとんどすべての光線経路(すなわち、一次経路により定められる経路お よび一次経路に関連する経路の後続の組)は、有限の強度の光源に達しその結果 対応するピクセル強度に貢献することになり、または無限へと分岐しあるいは無 限小の光源に達して強度に貢献しなくなる。経路により定められる光線は、関連 のベクトルとともにストアされた時間のオフセットに対応するデータベースに対 してテストされる。結果として生じる光線ツリーが図17に示される。 光線の最終の強度は、関連するピクセルの真の強度の見積りであると考えられ るが、可能性のある経路すべてではなく光への経路1つのみが用いられ、光線ベ クトルは多大なる強度の変更を受けやすいため、通常は非常に不正確なものであ る。多くのこのようなベクトルからデータを集めることにより、関連するすべて の大きさにおけるサンプリングの効果を考慮して、真の強度の適切な推定が可能 になる。採り上げたサンプル各々は、反射の各レベルで光線ベクトルを1つのみ 考慮する必要があるため、メモリの扱いは非常に単純化される。メモリに光線ツ リーをストアする必要は最早なく、各レベルでの反射力の現在の積を計算するだ けで十分であり、実際分岐する光線ツリーは単純な交差点のリスト(すなわち分 岐がない)となる。光線の伝搬は、経路が光源に入ったとき終了の可能性がある (有限の領域を有する必要がある)、または通常の光線追跡のように何らかの範 囲に従って任意的に切り離すことができる。この場合、周囲の値を用いて、また は黒を使用してこの特定的な経路の後に続く光がないことを示すことが可能であ る。対数算術 シミュレーションおよび本明細書の説明において使用されているフォーマット は、基数を2とする対数の20ビットの対数表現であり、2進小数点は、−32 .0000から+31.99988の対数の値が表現されるようにされている。 数の符号は残余のビット(ビット0)に置かれている。約−4×109と4×1 09との間のすべての数は、0周辺の小さなジャンプを除けば、5つの有効数字 のほんの下まで表現することができる。特別なケースの数を減少させるために簡 単なフォーマットが使用され、厳密な0および無限大は不要である。0が欠けて いることにより観察されるアーティファクトはなく、数学的に必要ならば、最も 小さな正の数が使用される(本明細書では「最小」と称される)。 種々のスカラ演算は、この算術形式では以下のように実現される。 乗算:対数を加算する(2の補数において)。オーバフローが発生すればXO R符号ビットを飽和させる。 加算: 符号が整合するとき…結果は、大きい方+f(大きい方−小さい方)であり、 この場合f(x)=log(1+2-x)である。 符号が異なるとき…上記のとおりであるが、f(x)=log(1−2-x)で ある。 減算:符号ビットを逆にして加算の手続きを利用する。 平方:算術シフト左、オーバフローで飽和、符号ビット=0。 平方根:算術シフト右、符号ビット=1であれば誤差を与える。 除算:対数を減算、オーバフローであればXOR符号ビット飽和。 逆数:2の補数。 比較:符号が異なっていれば正の方が大きい。符号が同じであれば、対数の大 きさを比較する。 注:飽和手段は(最小)または(最大)を、オーバフローの方向次第でリター ンする。 この段階で別の演算、求積加算(Qadd)が導入される。この演算はsqr t(x2+y2)をリターンし、ベクトルの長さを計算するには有用であり、X Qadd Y Qadd Zまで評価する。この演算を導入する利点は、中間( x2+Y2)は決して表現されず、そのため結果がオーバフローするのでなければ 演算がオーバフローを引き起こすことがないことである。式を直接評価するには 、余剰のビットを導入する必要があり、4つのファンクションユニットで表現さ れるであろう。 直接実現化するには、単純な加算と同じ方法を使用することができるが、加算 器への入力は常に正となるため、負の数を扱うという多大なオーバヘッドは生じ ない。 効率的なアルゴリズムは単に対数表現を比較し、もし双方の数が負であれば結 果を逆にすることであるため、比較はまた特別なファンクションユニットとして 実現されることは注目すべきことである。 加算および減算以外の共通の演算は、浮動小数点表現に比べて単純化されるこ とがわかり、加算にはlog(1+2-2)を決定する必要がある。この関数(ガ ウスの対数として知られている)はxが大きくなる(xは常に正である)につれ て迅速に0に減少し、タブ動作(補間ありまたはなし)、または恐らくは論理最 適化ソフトウェアにより決定される小さな多段論理ネットワークにより実現でき る。この簡潔な実現により、非常に多くの数のファンクションユニットを、あま り大きくないVLSI構成要素にさえ配置することができる。 オーバフローを検査する、簡単なパイプライン化された加算器または減算器で 、乗算器および除算器を実現することができる。 ブロック回路図(図12−15)で使用される最後のブロックは、空のパイプ ライン段である。これは単に信号を1クロックサイクルだけ遅延させ、時間的に 段を整列させて対応するデータを計算するようにする。実現は、用いる技術に従 い、単に静的または動的ラッチである。 データベースにおける空間座標は、デカルト三重項(x,y,z)により表わ される。これら座標の値は、スクリーン上の1つのピクセルに対応する精度で少 なくとも保持されねばならず(表面にファセットができるように)、(アンチエ イリアシンクおよび計算の中間生成物のためには)精度はより高いことが好まし い。その範囲は、データベースにおいて保持されるまたは中間生成物に必要とさ れる距離の範囲を扱うのに十分である。 方向ベクトル(表面の法線など)の表現上の要件は、空間座標のものとは僅か に異なっている。長さは常に単一であるため、いかなる座標の値も決して1を超 えることはなく、範囲についての要求は緩和される。表現における誤差は、方向 とは関係なくおよそ一定であることが理想的である。したがって、小さな数を正 確に表現することには利点はない。以前のように、ベクトルの方向は、目の角度 的な解像度に少なくとも対応する角度的な正確度に保たれる。対数の分数部分は したがって11ビットを有さねばならない。範囲についての要求は、対数が、4 ビットを必要とする、−10から0の数を保持しなければならないことを意味し ている。したがって完璧な表現は以前のとおり16ビット(値の符号を含め)で あるが、対数の符号は欠けている(対数は常に負である)。 色の成分を表現することは、像に加えられるさらなる雑音をほとんどないに等 しいものにするのに十分な解像度を与えるのに十分である。ここでは、目は若干 のパーセンテージの変化まで強度の変化を解像できるので、対数表現は特に効果 的である。ケンブリッジアドバンストフレームストア(Cambridge Advanced Fram estore)などのディスプレイ回路は、8ビットの強度の精度を表示する。物体の 色の入力表現には、この点についての改良は不要であるが、なぜならば、変化が 出力を少なくとも1量子だけ変化させるのに十分であれば目に見える効果のみが 観察されるからである。内部の計算は少なくともこの解像度まで行なわれ、目立 つ劣化は防止される。表現のこの範囲は、必要とされる少なくとも最も暗い出力 から明るさの出力まで少なくとも強度を維持することができる(すなわち出力バ ッファにおいて0−255)。ここで使用されるディスプレイは、フレームスト アにおいて64の変化に対し強度をおよそ2倍にする(これは、100という均 一的な強度と同程度に明るい値0と164とを有するストライプのあるパターン を観察することによりわかるであろう)。この結果は、実際の強度の値の対数( 基数2)は、256ステップを伴う、約(たとえば)0から4にまたがり、これ は2ビットが2進小数点の左にあり、6つが右にある対数システム表現である。 この8ビットをディスプレイに書込むことができる。必要であれば、より高い精 度およびより大きな範囲は、ビットを左または右それぞれに加えることにより達 成できる。 対数的計算ユニットを相互にリンキングするための方法は、単にクロックされ たラッチを介することである。各々のクロックパルスで、新しいデータを計算ユ ニットの入力側のラッチに導入し、一方では以前のデータが段を進行する。計算 に以前の段よりも前の段からのデータが必要である場合、データを既知のサイク ル数の間保持する、さらなるラッチを挿入することができる。計算上の遅延はこ のようにして一定になり、段の数によってもたらされる。 光線追跡装置に存在する主要な内部ブロックが図11に示されている。ここで 与えられるデータ構造は、システムを通る幅の広いデータバスで直接表現される 。種々の計算ユニットおよびメモリがバスに接続され、バスタイミングおよび制 御機能は、簡単なステートマシンにより与えられる。 視線計算ユニット88は、追跡される一次経路すべてで光線/交差点メモリを 初期化する責任がある。これには、観察の詳細、ピクセルの数、分布する光線の 数などでの初期化が必要である。 光線交差点ユニット92は、境を接する球体またはプリミティブ要素タイプを 表わす外部から与えられるデータで、内部バスを通る経路についての距離(交差 点ラムダパラメータ)を決定する責任がある。 再方向付け計算ユニット90は、光線追跡の次のレベルのための新しい経路を 発生する。これは、メモリ84における各々の経路を通して順次的にスキャンし 、起点を発見された何らかの交差点に移動させることによって可能である。経路 の方向は関連する交差点データから計算される。 出力発生ユニット68は、光線/光線交差点メモリと外部システムとの間のイ ンタフェースである。1ピクセル幅の経路の必要性を示唆したデータレートは、 非常に高いクロックレートをサポートできると仮定すれば、外部回路には十分で あろう。 光線メモリは、ユニット88が発生するデータで初期化される。外部インタフ ェースは、観察する視点、見る方向、およびスクリーンxおよびy方向について の観察パラメータを、すべてデカルト3ベクトルとして特定する。このインタフ ェースはまた、xスクリーン座標およびyスクリーン座標の最大値を、各ピクセ ルを発生させる一次経路の数とともに与える。これらは、必要数の経路の発生を 可能にする種々のカウンタにローディングされる値である。複数のユニットを備 えるシステムでは、ホストプロセッサは各インタフェースを個別に(簡単なイネ ーブルラインを介して)アドレスできる。このようにして、異なる光線追跡プロ セッサは、異なる観察条件、恐らくは異なるピクセル、スクリーン領域または観 察点を処理できる。各一次経路に対する初期光線強度(明るさ)もまたローディ ングされる。 レンダリングされる観察についての詳細をローディングして、ユニット88は 高速なシーケンスに必要なすべてのベクトルを発生させ、結果としての光線の詳 細を光線メモリに書込むことができる。ユニット88は7段のパイプラインから なるため、メモリの書込は7サイクルだけ遅延され、ベクトルが正しい場所に書 込まれることが確実とされる。ベクトルメモリがチップの外部にあれば、このレ ートはメモリのサイクルタイムにより、および恐らくはインタフェース幅により 制限されるであろう(チップは外部の1つの光線につき数回の転送を必要として 、外部データラインの多重通信を行なってもよい。光線メモリ交差点構造は、ラ ムダ(交差点の距離)を表現可能な最大数に設定し、交差点の表面の色を(0, 0,0)に設定することにより初期化される。576×768ピクセルのスクリ ーンについての典型的なレンダリングでは、1ピクセルにつき約5サンプルと仮 定すれば、約2000000の一次経路が発生するであろう。これに対する初期 化時間(0.02秒)はしたがって、フレーム時間未満であろう(100MHz の内部動作レートと仮定、高いがサブミクロンCMOSプロセスについてはあり そう である)。光線追跡器状態マシンは次に、光線スタックメモリ82を初期化し、 レンダリングの次の段が進行する。光線交差点ユニット−内部的詳細 初期化が行なわれると、ホストはエレメントごとに、深さ優先の態様でルート ノードからデータベースツリーのブロードキャストを開始する。光線交差点ユニ ット92は、光線メモリから経路の仕様を読出し、交差点についてホストにより ブロードキャストされたエレメントをテストし、新しい交差点ラムダおよび表面 法線の値を形成する。これらの値は、物体のヒットが発見されれば、光線メモリ にストアされる。 ユニット92は、プリミティブタイプを読出し、ブロードキャストデータを、 上記の構造の1つとして解釈する。境を接する球体の場合、計算は単に、経路お よび経路の起点と球体の起点とを結合するベクトルに適用される二乗されたベク トルクロス積である(すなわちベクトルの差)。この値は球体の半径と比較され る。境を接する球体が交差していれば、(より近い)交差点の距離が、経路とと もにストアされたものと比較される。交差点ユニットは、交差点が近ければステ ートマシンに信号を送り、境を接する球体に含まれている物体に対し起こり得る 物体のヒットを示す。この信号により、経路(ポインタ)はスタックされ、境を 接する球体の内容についての情報のブロードキャストの準備が整う(すなわちデ ータベースツリーはさらにこの分岐を辿る)。プロセッサはこうして、ホストは ツリーを辿って探索を続けなければならないことを示す信号(境を接する体積の 拡大要求)を出力するが、その理由は、データベースのその部分に入る経路がい くつかあるからである。 ブロードキャストされている物体の面の場合、交差点のテストは、表面の法線 と経路配置ベクトルの面とのドット積を要求するもので、簡単である。この距離 は、経路のその他の交差点とともにストアされた距離と比較される。新しい交差 点がより近ければ(それでもなお正である)、光線交差点ユニットは、交差点が 発見されており、新しい交差点データが、経路とともにストアされた古いデータ の代わりにストアされることを示す。 すべての経路について光線データベースが比較されると、各経路とともにスト アされた交差点は、経路の実際の物理的な交差点を表わすことになる。与えられ た経路(二次、三次経路など)に対しさらなる追跡が要求されれば、さらなる経 路の各々は、反射または屈折のプロセスにより導かれるか、または定められた光 線の強度が大きくないためまたは経路が物体にヒットしないために削除されるか もしれない。さらに追跡を行なうことが要求されなければ、光線メモリがスキャ ンされ出力ピクセルが発生する。再方向付けユニット90の目的は、光線メモリ にストアされた情報に従い、新しい経路の起点、強度および方向を計算すること である。このプロセスは6つの段のパイプラインからなる。 新しい経路の起点は単に、古い経路の起点プラス起点の方向に沿うラムダユニ ットである。新しい光線の色は、表面により与えられた色により乗算された古い 色である。表面により与えられた色は単に表面の拡散の色である可能性があるが 、余剰のシリコンを用いれば、より現実的なシステムを構築することができる。 新しい経路の方向は、反射、屈折、拡散またはシャドー光線が発生されるかど うか次第である。上記の単純化を用いれば、シャドー光線はなく、すべての照明 はエリア光源によるものである。正反射および拡散反射の概念が、ランダムな配 置を、表面の正反射の係数に依存する大きさの正反射の方向に加えることによっ て組合わされる。この単純化は、ただ2つのタイプの再方向付けすなわち反射お よび屈折が必要になる。 このプロセスでは、各光線メモリ場所を読出し、後に多数のクロックサイクル それを読出すことが必要である。完全なスキャンには、視線計算ユニットによっ て行なわれる初期化プロセスの2倍の長さがかかる、または576×768の、 5倍スーパーサンプリングされるケースでは、約0.04秒である。再方向付け は一次および二次光線レンダリングの間に必要とされ、各々のさらなるレベルに ついてもう一度必要である。光線伝搬が3つのレベルの場合(2回の反射)、再 方向付けは、レンダリング時間に約0.08秒を加算する。 出力ユニット68は、光線メモリにおける交差点情報をピクセル強度に変換す る。ユニットはメモリを通して順次的にカウントし、交差点強度で光線強度を乗 算し、光線経路について出力ピクセルに対し強度についての貢献を行なう。この 貢献は、そのピクセルに対する光線が含められ外部インタフェースにRGBフォ ーマットで強度を出力するまで、累算器(なおも対数算術を用いる)において総 和がとられる。RGBフォーマットへの変換は単に、対数表現の中央の8ビット を取り入れることにより行なわれる。1未満の数は0の出力をもたらし、数の対 数が0未満でありMSBセットを与えるか、または値の符号ビットがセットされ て負の強度を示す(すべての物体が正の強度を有するならば起こるべきではない ことである)。出力範囲(256以上)を超える値は、255の出力を生じさせ る。どのビットを使用するかについての選択で、出力ガンマが決定される。 光線追跡ユニットから完全な像を出力する時間は、光線メモリ時間およびイン タフェース時間の遅い方によって与えられる。高いスーパーサンプリングファク タについては、光線メモリは各出力RGBの値について何度もサイクルされねば ならず、そのサイクルタイムが優先するであろう。 装置60は、シーンにおけるすべての視線を初期化することにより開始される 。各レンダラーチップは、光線の合計数の小数部を保持している。最初の境を接 するボリュームを処理するときには、レンダラーチップは同時に終了し、各光線 をテストするのに2つのクロックサイクルをとり、各チップにより考慮される光 線の数は同じである。後続の境を接するボリュームのブロードキャストは、各プ ロセッサが考慮する光線の数が減少しているためテストに使用する時間はより短 い。以前に終了していたプロセッサは、すべてのチップがすべての光線のテスト を行なうまでプロセスを続けることができない。したがっていずれかのレベルで 各チップが取扱う光線の数が大きく変化するようになれば、このアーキテクチャ は非効率的となる。この事態が発生する頻度は、チップの数、光線の数、および これらのシーンにおける分布次第である。プロセッサの数が増大するに従い、y 軸における同様の分割を行なうことが有利となるだろう。必要であれば、異なる プロセッサにおける同じピクセルの異なるスーパーサンプルを処理することが可 能である。各プロセッサにおける一次光線交差点は非常に相関しており、各々が 考慮する光線の数は事実上同一である。二次および後続の光線の光路に対し、光 線の方向の分布はさらにランダムになる(特に分布された光線追跡による拡散照 明の場合)。負荷分散の問題はしたがって、最初の光線の分布とは全く関係のな いも のになる。 この負荷分散の詳細な分析は複雑であり、実際のデータベースのコンテクスト において検討されるべきものであるが、簡単な分析によって何らかのアイディア を得ることが可能である。データベースの階層をさらに進んで境を接するボリュ ームをテストするためには、すべてのプロセッサはほぼ同じ負荷を有しているが 、その理由としては同じ数の光線で開始するからである。各プロセッサにおいて 考慮される光線の数が少なくなると、分布はよりアンバランスになるが、処理時 間は短縮される。ツリーをさらに進み、数本の光線のみが処理されているところ では、次のデータベースエレメントをブロードキャストするのに要する時間は、 エレメントを処理する時間に匹敵するものになり、レンダリングはブロードキャ ストレートによって制限されるようになる。こうした状況下では、プロセッサの 不平衡の効果は無視できる。 負荷分散が問題となる場合は、データベースの予めのブロードキャストのある 量の蓄積を可能にする、各チップにおける小さなバッファを考案することができ る。現在のエレメントの処理を終了したプロセッサは、即時階層を辿って次のエ レメントについて開始する。これはまた、ホストプロセッサによるエレメントの ブロードキャストのタイミング外である。 像によっては、たとえば絵などの表面パターン、または表面の色、正反射性、 正反射力、屈折率、放射率あるいは方向における変化といった複雑な表面特徴を 有する物体を含み得る。この特徴は、プロセッサが発生する直線経路に対してテ ストされねばならないであろうが、プロセッサのメモリ84にはストアできない 。なぜならこのメモリは表面全体についてのすべての特徴をストアするには容量 が不十分であるためである。 図18は、テクスチャマップの形式でこのような詳細をストアするのに使用で きる各プロセッサのためのさらなる構成要素を示す。 図18に示す構成要素は、図11に示した交差点算出ユニット92を変形した ものに組み入れられ、図19の経路152などの直線経路と表面154との交差 点の座標を受取るように配置されるテクスチャアドレス算出ユニット150を含 む。この座標は、領域156を有する表面154の面にあるパラメータUおよび Vによって表わされ、これに対する種々の表面についての詳細は、アドレス算出 ユニット150に接続されるテクスチャメモリユニット101におけるテクスチ ャマップとしてストアされる。 交差点算出ユニットは、所与の交差点のデカルト座標を、ユニット50に与え る前に、パラメータUおよびVにより表わされる座標に変換し、ユニット50は 次に、交差点が領域156内にあるかどうかを判断し、もしあれば、ユニット1 01に例としてポイント158という交差点での表面156についての詳細を与 えるように指示する。その交差点に対しユニット101が提供したデータは次に 、交差点算出ユニット92が、これら表面特性が、この経路に沿いこの交差点か ら導かれる何らかの光に与える効果を計算するのに使用され、かつ再方向付け算 出ユニット90がさらなる経路を発生させるのに使用される。領域156と交差 しない経路160などの経路は、ユニット101に表面データの発生を促さない 。 経路と領域156との交差点すべてが決定されると、ユニット150および1 01は、表面154または別の表面の異なる領域でのさらなるテクスチャマップ のためのデータで重ね書きすることができる。 表面の所与の領域についての詳細の量があまりにも多すぎてメモリ101に保 持することができない場合、図20に示すように、表面を複数の領域に分割する ことができる。図20では、領域156についての詳細は、領域1から4各々に ついて1つ、4つのテクスチャマップに含まれる。これらテクスチャマップは1 60、162、164および168という参照番号が付され、各々は交互にメモ リにローディングされる。 この場合、テクスチャアドレス算出ユニットは、表面154と交差する経路に ついて2つのレベルのテストを行なう。第1のレベルは、表面154に交差する 経路のうちいずれが、現在メモリユニット101にローディングされたテクスチ ャマップを含む領域において交差するかが判断される。このような領域とまさに 交差する経路は次にテストされて、どれが実際にテクスチャマップにおける物体 に交差するかが判断される。このようにして、ユニット150は、テクスチャマ ップの正確な座標に関連して必要な交差点のテストの数を減少させる。 図21はこの方法を発展させたものを示し、表面154の領域各々は、領域2 . 3などのサブ領域に分割される。この場合、ユニットは3つのレベルで経路をテ ストし、始めに経路が問題のテクスチャマップを含む領域にあるかどうかが判断 され、次にテクスチャマップを含むサブ領域での表面154と交差しない経路が 廃棄され、こうしてテクスチャマップの正確な座標に関連して考慮する必要があ る経路の数を減少させる。 より具体的には、このプロセスは以下のステップを含む。 A) 物体全体に対するテクスチャデータが現在の最適なデータの組であると 考える。 B) 現在の光学的特性(すなわちテクスチャデータ)の組からのデータを必 要とする直線経路の組が空であるかどうかを判断する。空であれば、終了する。 C) 現在の光学的特性の組が、テクスチャのメモリユニットに書込むのに十 分小さいかどうかを判断する。小ければ、ステップGに進み終了する。 D) 現在の光学的特性の組のサブセットを選択する。 E) 光学的特性の各々のサブセット(またはサブセットのグループ)につい て交互に、照明の計算のために光学的特性の上記サブセット(または複数のサブ セット)を必要とする現在の直線経路の組のサブセット(またはサブセットのグ ループ)を決定し、現在の光学的特性の組としてこの光学的特性のサブセット( または複数のサブセット)で、および直線経路の現在の組としてこの直線経路の サブセットで、ステップBから開始する。 F) 終了。 G) 現在の光学的特性の組をテクスチャメモリユニットに書込む。 H) 現在の直線経路の組について照明の計算を実行する。 I) この光学的特性の組を終了し、残余のサブセットについて継続する。 上記の方法は好都合にも、本明細書で説明する像発生装置において照明計算を 開始するホストプロセッサで再帰的サブルーチンという手段によって実現し得る 。 テクスチャデータのサブセットを選択するとき、上記のテクスチャデータを、 2つまたは3つのパラメータの値の特定的な範囲によって境界を定められる4つ または8つの領域に分割するのが好都合である。この態様で象限の階層が選択さ れる。 図22は、一次経路のみが使用されている光線追跡方法によって生み出される 像を示す。この場合、シーンにおける表面のすべての点は、これらの点から受取 った光を表わす値が割当てられている。このように、目に見えるこれら表面は実 際、光を発するものとして扱われる。図示のように、この方法により、物体の相 対的な位置を表示することができるが、一方の物体が他方の物体に入射する光に 与える影響についての情報は明らかにされない。 図23では、一次および二次経路が使用され、シーンは図23の面から外れて 位置決めされた架空の単一の光源によって照明される。この場合、シーンにおけ る表面のいくつかはまた、光を発するものとして扱われるため、影の領域は完全 に黒として示されるわけではない。影および表面の輝きは明らかであるが、植物 、机および椅子の後方に配置された鏡においては反射は見受けられない。 しかしながら、三次的な経路の組を使用した場合、こうした反射が図24に示 すように可視になる。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,LS,MW,SD,SZ,U G),AM,AT,AU,BB,BG,BR,BY,C A,CH,CN,CZ,DE,DK,EE,ES,FI ,GB,GE,HU,IS,JP,KE,KG,KP, KR,KZ,LK,LR,LT,LU,LV,MD,M G,MK,MN,MW,MX,NO,NZ,PL,PT ,RO,RU,SD,SE,SG,SI,SK,TJ, TM,TT,UA,UG,US,UZ,VN

Claims (1)

  1. 【特許請求の範囲】 1.可能な複数の観察位置のうち1つから観察され、既知の態様で照明される、 複数の物体を含む架空のシーンの像を、物体を定める表面の組の座標についての 、これら表面のすべての点の光学的特性についての、および特定的な照明につい ての情報から構成する方法であって、この情報はコンピュータメモリにストアさ れ、前記方法は、 A.表面を、1つ以上の表面を各々が含む複数のサブセットに割当てるステッ プと、 B.観察位置から複数の直線経路を投射し、前記経路すべてを表わすデータを ストアするステップと、 C.サブセットのうち1つについて、もしあるならば、直線経路のうちどれが そのサブセットにおけるいずれかの表面と、または照明のゾーンと交差するのか を判断し、その交差点の座標を決定するステップと、 D.上記ステップCをその他のサブセットまたはその他の各サブセットについ て交互に繰返すステップと、 E.表面または照明のゾーンと交差する各々の経路について、観察位置に最も 近い交差点を決定し、その交差点をその交差点での物体の表面または照明のゾー ンについてのデータとともにストアするステップと、 F.最も近い交差点各々について、その交差点から観察位置へと経路に沿って 通過するであろう光を決定し、その光を光の強度および位置データとしてストア するステップと、 G.ストアされた光の強度および位置データを読出し、可視のディスプレイの ための画像信号を生成するステップとを含む、像を構成する方法。 2.前記複数の直線経路の数は、像全体を構成するのに十分である、請求項1に 記載の方法。 3.ステップFは、表面との最も近い交差点各々に対し、前記最も近い交差点に より定められる起点から、1つ以上の二次直線経路の組を発生させることを含み 、これはもしその起点での表面の特性により各々の二次経路に沿い入射する光が 前記観察位置に導かれるというようなものである場合に行なわれ、ステップFは さ らに各々の二次経路が他の表面または照明のゾーンとの前記起点に最も近い交差 点を、ステップCおよびDに従い決定し、各々の二次経路に沿い起点に入射する 光の少なくとも強度を計算し、起点での表面の特性から、起点から観察位置に入 射する光の少なくとも強度を計算することを含む、請求項1に記載の方法。 4.ステップFは、二次直線経路と同じ方法で、前の直線経路の組の選択された 交差点により定められる起点から、さらなる直線経路の1つ以上の組を発生させ 、前記さらなる経路の組により定められる方向に沿いその起点に入射する光の強 度を決定するステップを含む、請求項3に記載の方法。 5.どの直線経路が選択された表面に交差するかを判断するステップは、各々の 経路が、前記表面を含む架空のエンベロープと交差するかどうかを判断し、エン ベロープと交差しないならば、表面に関するさらなる考察の対象からその経路を 外すステップを含む、上記請求項のうちいずれか1つに記載の方法。 6.エンベロープに関連して考慮しなければならない経路の数は、前記エンベロ ープを含むより大きなエンベロープにどの経路が交差するかを判断し、前記より 大きなエンベロープと交差しない経路を、エンベロープに関連する考察の対象か ら外す、請求項5に記載の方法。 7.前記起点での物体の表面特性により、入射する光が複数の方向に拡散または 散乱し、複数のさらなる経路各々からの光が前記前の経路に沿い導かれる場合、 そのようなさらなる経路1つのみがランダムに発生される、請求項3に記載の方 法。 8.可能な複数の観察位置の1つから観察される複数の物体を含む架空のシーン の像を構成するための装置であって、 物体の表面の座標についての、その表面上のすべての点についての光学的特性 についての、およびそのシーンに対する照明についての情報がストアされるメモ リ手段を含み、座標データは1つ以上の物体の表面についてのデータを各々が含 むサブセットに配置され、前記装置はさらに、 もしあれば経路のうちいずれが各物体の表面または照明のゾーンと交差するか を決定するため、かつ観察位置に最も近い各経路の交差点を選択するために、複 数の直線経路を観察位置から投射するための光線追跡手段と、 前記交差点での物体表面についての、およびシーンの照明についてのデータか ら、前記経路各々に沿い観察位置へと通過する光の少なくとも強度を決定するた めの算出手段と、 可視のディスプレイに表示するために前記強度を表わす画像信号を発生させる ための出力手段とを含み、光線追跡手段により選択された1つ以上の物体表面の 第1のサブセットに対するすべての交差点は、各々のサブセットとの交差点の前 に決定されるため、交差点は各サブセットについて交互に決定される、像を構成 するための装置。 9.光線追跡手段は、すべてメモリに接続される複数のデータプロセッサを含み 、その配置によれば、各プロセッサは像のそれぞれの部分に対し直線経路のそれ ぞれのグループを発生し、メモリはプロセッサへ各サブセットを交互にブロード キャストし、選択されたサブセットの各々の表面との各グループの交差点は同時 に決定される、請求項8に記載の装置。 10.各プロセッサは光線追跡動作を実行するように特別に構成された専用チッ プを含む、請求項9に記載の装置。 11.各プロセッサは、同時にそれぞれのグループにおいて異なる経路について 異なる動作を行なうように配置されている、請求項10に記載の装置。 12.算出手段は、対数算術のプロセスにより関連の界面での架空の光線の相互 作用の効果を組合せるように配置されている、請求項8から11のいずれか1つ に記載の装置。 13.光線追跡手段は、対数計算により各直線経路の座標の対数表現を生み出し 、交差点について各経路をテストし、最も近い交差点の座標を決定するように動 作する、請求項8から12のいずれか1つに記載の装置。 14.各光線追跡プロセッサは、1つまたは複数の表面を含む架空のエンベロー プと、それぞれの直線経路のグループとの交差点をテストするように配置されそ の表面について交差点についてのテストが行なわれ、装置は、エンベロープと交 差する経路を識別するデータをストアするための蓄積手段を有するため、この経 路についてプロセッサによりさらなる交差点テストを次に行なうことができる、 請求項9から12のいずれか1つに記載の装置。 15.蓄積手段はまた、前記エンベロープの座標をストアするように配置され、 前記メモリ手段の一部を含む、請求項14に記載の装置。 16.前記プロセッサはまた算出手段を組み入れているため、各プロセッサはま た、経路の各々に沿い観察位置へと進行する光の強度を計算するように動作でき る、請求項9に記載の装置。 17.各プロセッサはメモリ手段に接続されるそれぞれのテクスチャメモリユニ ットを含むかまたはこのユニットに接続され、このユニットは、計算手段により アクセスするためのマップの境界により定められる領域内のシーンにおける1つ または複数の表面の表面特性のテクスチャマップを、計算手段がアクセスして前 記領域における表面と交差する直線経路に関し光の強度および/または色を計算 できるように一時的にストアするように動作する、請求項16に記載の装置。 18.メモリ手段は、各テクスチャストアに現在ストアされている何らかのテク スチャマップを重ね書きし、計算手段がシーンの異なる領域における表面に交差 する直線経路に関し光の強度および/または色を計算できるように動作できる、 請求項17に記載の装置。 19.プロセッサは、表面を1つ以上の領域に分割し、どの経路がマップの少な くとも一部の座標を含む領域と交差するかを決定し、その経路のうちどれがマッ プの座標によって定められる領域と交差するかを決定することにより、どの経路 が表面のテクスチャマップと交差するかを判断するように動作できる、請求項1 7または18に記載の装置。 20.二次直線経路の各々の組または直線経路のさらなる組は、前の直線経路の 交差点が発見されたとき、かつ前の経路のその起点に最も近い交差点の前に、ま たは観察位置が決定されたときに発生し、前記最も近い交差点から発生しない二 次またはさらなる経路の各々の組は後に廃棄される、請求項3または4に記載の 方法。
JP8518438A 1994-12-01 1995-11-30 像構成 Pending JPH10510074A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9424273.2 1994-12-01
GB9424273A GB9424273D0 (en) 1994-12-01 1994-12-01 Improvements in and relating to image constrcution
PCT/GB1995/002798 WO1996017326A1 (en) 1994-12-01 1995-11-30 Image construction

Publications (1)

Publication Number Publication Date
JPH10510074A true JPH10510074A (ja) 1998-09-29

Family

ID=10765277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8518438A Pending JPH10510074A (ja) 1994-12-01 1995-11-30 像構成

Country Status (8)

Country Link
US (1) US5933146A (ja)
EP (1) EP0795164B1 (ja)
JP (1) JPH10510074A (ja)
AT (1) ATE170999T1 (ja)
AU (1) AU3987795A (ja)
DE (1) DE69504704T2 (ja)
GB (2) GB9424273D0 (ja)
WO (1) WO1996017326A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006506744A (ja) * 2002-11-15 2006-02-23 サンフィッシュ スタジオ インコーポレイテッド 区間解析を使用するコンピュータ・グラフィックスの際の可視面決定システムおよび方法
JP2011503757A (ja) * 2007-11-19 2011-01-27 コースティック グラフィックス、インク. レイトレーシングによるレンダリングシステムおよび方法
JP2012528376A (ja) * 2009-05-29 2012-11-12 シリコンアーツ インコーポレイテッド レイトレーシング装置及び方法
JP2013065100A (ja) * 2011-09-15 2013-04-11 Canon Inc 画像処理装置および画像処理方法

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815411A (en) * 1993-09-10 1998-09-29 Criticom Corporation Electro-optic vision system which exploits position and attitude
US6445807B1 (en) * 1996-03-22 2002-09-03 Canon Kabushiki Kaisha Image processing method and apparatus
JPH1097642A (ja) * 1996-09-20 1998-04-14 Canon Inc 画像処理方法及び装置及び記憶媒体
DE19714915A1 (de) * 1997-04-03 1998-10-08 Gmd Gmbh Bilddarstellungsverfahren und Vorrichtung zur Durchführung des Verfahrens
JP3073943B2 (ja) * 1997-09-16 2000-08-07 日本無線株式会社 画像合成装置及び方法
US6014144A (en) * 1998-02-03 2000-01-11 Sun Microsystems, Inc. Rapid computation of local eye vectors in a fixed point lighting unit
US6650327B1 (en) 1998-06-16 2003-11-18 Silicon Graphics, Inc. Display system having floating point rasterization and floating point framebuffering
CN1139046C (zh) * 1998-09-29 2004-02-18 伦敦大学学院 能量传播模化装置
US6674922B1 (en) * 1999-03-26 2004-01-06 Canon Kabushiki Kaisha Image processing method, image processing apparatus, and storage medium
US6556200B1 (en) * 1999-09-01 2003-04-29 Mitsubishi Electric Research Laboratories, Inc. Temporal and spatial coherent ray tracing for rendering scenes with sampled and geometry data
US6484063B1 (en) * 1999-11-10 2002-11-19 Visteon Global Technologies, Inc. System and method of inspecting tooling for feasibility
DE19954019B4 (de) * 1999-11-10 2006-01-26 Jesko Schwarzer Bildprozessor zur strahlbasierten Generierung digitaler Bilder
US6429864B1 (en) 1999-11-10 2002-08-06 Create.It Services Ag Method for traversing a binary space partition or octree and image processor for implementing the method
US6597359B1 (en) 2000-05-17 2003-07-22 Raychip, Inc. Hierarchical space subdivision hardware for ray tracing
US7499053B2 (en) * 2000-06-19 2009-03-03 Mental Images Gmbh Real-time precision ray tracing
US7184042B2 (en) * 2000-06-19 2007-02-27 Mental Images Gmbh Computer graphic system and computer-implemented method for generating images using a ray tracing methodology that makes use of a ray tree generated using low-discrepancy sequences and ray tracer for use therewith
US7495664B2 (en) * 2000-06-19 2009-02-24 Mental Images Gmbh Instant ray tracing
AU2001292559A1 (en) * 2000-08-24 2002-03-04 Immersive Technologies Llc Computerized image system
JP3576126B2 (ja) * 2001-07-30 2004-10-13 株式会社ナムコ 画像生成システム、プログラム及び情報記憶媒体
US20040243364A1 (en) * 2002-05-22 2004-12-02 Wendelin Timothy J. Method and system for modeling solar optics
US6931615B1 (en) * 2002-06-04 2005-08-16 Cadence Design Systems, Inc. Method and apparatus for identifying a path between source and target states
US7092558B2 (en) * 2002-08-14 2006-08-15 General Electric Company Automated optimization of medical 3D visualizations
DE10239672B4 (de) * 2002-08-26 2005-08-11 Universität des Saarlandes Verfahren und Vorrichtung zur Erzeugung einer zweidimensionalen Abbildung einer dreidimensionalen Struktur
US7012604B1 (en) * 2002-09-12 2006-03-14 Advanced Micro Devices, Inc. System architecture for high speed ray tracing
US7432925B2 (en) * 2003-11-21 2008-10-07 International Business Machines Corporation Techniques for representing 3D scenes using fixed point data
DE102004007835A1 (de) * 2004-02-17 2005-09-15 Universität des Saarlandes Vorrichtung zur Darstellung von dynamischen komplexen Szenen
US9024949B2 (en) * 2004-10-13 2015-05-05 Sony Corporation Object representation using distance functions
US8098243B2 (en) * 2005-09-23 2012-01-17 Samsung Electronics Co., Ltd. Method and apparatus for efficiently handling query for 3D display
FR2896895B1 (fr) * 2006-02-01 2008-09-26 Redway Soc Par Actions Simplifiee Procede de synthese d'une image virtuelle par lancer de faisceaux
US7739267B2 (en) 2006-03-10 2010-06-15 International Business Machines Corporation Classification and sequencing of mixed data flows
US20080024489A1 (en) * 2006-07-28 2008-01-31 Robert Allen Shearer Cache Utilization Optimized Ray Traversal Algorithm with Minimized Memory Bandwidth Requirements
US8243081B2 (en) * 2006-08-22 2012-08-14 International Business Machines Corporation Methods and systems for partitioning a spatial index
US9665970B2 (en) 2006-09-19 2017-05-30 Imagination Technologies Limited Variable-sized concurrent grouping for multiprocessing
US7830379B2 (en) 2006-09-19 2010-11-09 Caustic Graphics, Inc. Architectures for parallelized intersection testing and shading for ray-tracing rendering
US7969434B2 (en) 2006-09-19 2011-06-28 Caustic Graphics, Inc. Method, apparatus, and computer readable medium for accelerating intersection testing in ray-tracing rendering
US9478062B2 (en) 2006-09-19 2016-10-25 Imagination Technologies Limited Memory allocation in distributed memories for multiprocessing
US8674987B2 (en) * 2006-09-19 2014-03-18 Caustic Graphics, Inc. Dynamic ray population control
US8018457B2 (en) * 2006-09-19 2011-09-13 Caustic Graphics, Inc. Ray tracing system architectures and methods
US11205295B2 (en) 2006-09-19 2021-12-21 Imagination Technologies Limited Ray tracing system architectures and methods
US8339398B2 (en) * 2006-09-28 2012-12-25 International Business Machines Corporation Integrated acceleration data structure for physics and ray tracing workload
US7940266B2 (en) * 2006-10-13 2011-05-10 International Business Machines Corporation Dynamic reallocation of processing cores for balanced ray tracing graphics workload
US20080088619A1 (en) * 2006-10-17 2008-04-17 Robert Allen Shearer Branch Prediction for Acceleration Data Structure Traversal
US8139060B2 (en) * 2006-11-28 2012-03-20 International Business Machines Corporation Ray tracing image processing system
US7852336B2 (en) * 2006-11-28 2010-12-14 International Business Machines Corporation Dynamic determination of optimal spatial index mapping to processor thread resources
US7755628B2 (en) * 2006-12-29 2010-07-13 Intel Corporation Method and apparatus for multi-level ray tracing
FR2912240B1 (fr) * 2007-02-01 2009-04-17 Vision Numeric Sa Procede de rendu d'images en temps reel de modeles en trois dimensions de pieces de joaillerie
US20080231627A1 (en) * 2007-03-20 2008-09-25 Robert Allen Shearer Using Ray Tracing to Enhance Artificial Intelligence Character Behavior
US8797320B2 (en) * 2007-08-02 2014-08-05 Disney Enterprises, Inc. Surface shading of computer-generated object using multiple surfaces
US7646332B2 (en) * 2007-08-09 2010-01-12 Raytheon Company Method and apparatus for interleaved gridding in distributed multiple computing for real-time RCS prediction
US7652620B2 (en) * 2007-08-09 2010-01-26 Raytheon Company RCS signature generation for closely spaced multiple objects using N-point models
US8063902B2 (en) * 2007-10-12 2011-11-22 Caustic Graphics, Inc. Method and apparatus for increasing efficiency of transmission and/or storage of rays for parallelized ray intersection testing
US7932905B2 (en) * 2007-10-15 2011-04-26 Caustic Graphics, Inc. Method, apparatus, and computer readable medium for light energy accounting in ray tracing
US9082213B2 (en) * 2007-11-07 2015-07-14 Canon Kabushiki Kaisha Image processing apparatus for combining real object and virtual object and processing method therefor
US8289324B1 (en) * 2007-12-17 2012-10-16 Nvidia Corporation System, method, and computer program product for spatial hierarchy traversal
US8502819B1 (en) 2007-12-17 2013-08-06 Nvidia Corporation System and method for performing ray tracing node traversal in image rendering
KR101420237B1 (ko) * 2008-02-25 2014-07-17 삼성전자주식회사 이웃 포인트의 탐색이 용이한 3d 영상 처리 방법
KR101536197B1 (ko) * 2008-02-27 2015-07-13 삼성전자주식회사 3차원 영상 프로세서 및 프로세싱 방법
US8217935B2 (en) * 2008-03-31 2012-07-10 Caustic Graphics, Inc. Apparatus and method for ray tracing with block floating point data
KR101475779B1 (ko) * 2008-06-02 2014-12-23 삼성전자주식회사 3d 영상 처리 방법
US7602332B1 (en) 2008-06-13 2009-10-13 Raytheon Company Reducing scattering center data using multi-volume aggregation
US7616151B1 (en) * 2008-06-13 2009-11-10 Raytheon Company Reducing scattering center data using magnitude-based reduction
US8525826B2 (en) * 2008-08-08 2013-09-03 International Business Machines Corporation System for iterative interactive ray tracing in a multiprocessor environment
US8421801B2 (en) * 2008-09-09 2013-04-16 Caustic Graphics, Inc. Ray tracing using ray-specific clipping
US7750842B2 (en) * 2008-09-18 2010-07-06 Raytheon Company Parallel processing to generate radar signatures for multiple objects
US7592947B1 (en) * 2008-09-18 2009-09-22 Raytheon Company Generating radar signatures for multiple objects
US7567205B1 (en) * 2008-09-18 2009-07-28 Raytheon Company Dynamic ray traversing
US7880671B2 (en) * 2008-09-18 2011-02-01 Raytheon Company Electromagnetic (EM) solver using a shooting bouncing ray (SBR) technique
US8749552B2 (en) 2008-10-17 2014-06-10 Imagination Technologies Limited Synthetic acceleration shapes for use in ray tracing
US8952961B2 (en) * 2009-06-29 2015-02-10 Imagination Technologies, Limited Systems and methods for photon map querying
US8390508B1 (en) 2010-04-05 2013-03-05 Raytheon Company Generating radar cross-section signatures
US20110283059A1 (en) * 2010-05-11 2011-11-17 Progeniq Pte Ltd Techniques for accelerating computations using field programmable gate array processors
KR101705072B1 (ko) * 2010-09-28 2017-02-09 삼성전자주식회사 영상 처리 장치 및 방법
US9460546B1 (en) * 2011-03-30 2016-10-04 Nvidia Corporation Hierarchical structure for accelerating ray tracing operations in scene rendering
US10061618B2 (en) 2011-06-16 2018-08-28 Imagination Technologies Limited Scheduling heterogenous computation on multithreaded processors
WO2012174334A1 (en) 2011-06-16 2012-12-20 Caustic Graphics, Inc. Graphics processor with non-blocking concurrent architecture
CN103765481B (zh) 2011-08-05 2016-06-29 想象技术有限公司 用于3-d场景加速结构创建和更新的系统和方法
US10789757B2 (en) * 2013-05-06 2020-09-29 Disney Enterprises Inc. Ray-mediated illumination control
US9390548B2 (en) * 2014-06-16 2016-07-12 Sap Se Three-dimensional volume rendering using an in-memory database
KR20160071774A (ko) * 2014-12-12 2016-06-22 삼성전자주식회사 영상 처리를 위한 영상 처리 장치, 방법 및 기록 매체
WO2018200685A2 (en) 2017-04-27 2018-11-01 Ecosense Lighting Inc. Methods and systems for an automated design, fulfillment, deployment and operation platform for lighting installations
US10825231B2 (en) * 2018-12-10 2020-11-03 Arm Limited Methods of and apparatus for rendering frames for display using ray tracing
US11004253B2 (en) * 2019-02-21 2021-05-11 Electronic Arts Inc. Systems and methods for texture-space ray tracing of transparent and translucent objects
CN112396684A (zh) * 2020-11-13 2021-02-23 贝壳技术有限公司 光线追踪方法、装置及机器可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4928250A (en) * 1986-07-02 1990-05-22 Hewlett-Packard Company System for deriving radiation images
JP2806003B2 (ja) * 1990-07-31 1998-09-30 トヨタ自動車株式会社 カラーグラフィック装置
US5305430A (en) * 1990-12-26 1994-04-19 Xerox Corporation Object-local sampling histories for efficient path tracing
JPH06223201A (ja) * 1993-01-22 1994-08-12 Matsushita Electric Ind Co Ltd 並列画像生成装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006506744A (ja) * 2002-11-15 2006-02-23 サンフィッシュ スタジオ インコーポレイテッド 区間解析を使用するコンピュータ・グラフィックスの際の可視面決定システムおよび方法
JP4643271B2 (ja) * 2002-11-15 2011-03-02 サンフィッシュ スタジオ エルエルシー 区間解析を使用するコンピュータ・グラフィックスの際の可視面決定システムおよび方法
JP2011503757A (ja) * 2007-11-19 2011-01-27 コースティック グラフィックス、インク. レイトレーシングによるレンダリングシステムおよび方法
JP2014081972A (ja) * 2007-11-19 2014-05-08 Caustic Graphics Inc レイトレーシングによるレンダリングシステムおよび方法
JP2012528376A (ja) * 2009-05-29 2012-11-12 シリコンアーツ インコーポレイテッド レイトレーシング装置及び方法
JP2013065100A (ja) * 2011-09-15 2013-04-11 Canon Inc 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
GB2309145B (en) 1999-05-12
ATE170999T1 (de) 1998-09-15
AU3987795A (en) 1996-06-19
GB9424273D0 (en) 1995-01-18
EP0795164B1 (en) 1998-09-09
GB2309145A (en) 1997-07-16
GB9708808D0 (en) 1997-06-25
WO1996017326A1 (en) 1996-06-06
US5933146A (en) 1999-08-03
DE69504704T2 (de) 1999-05-27
EP0795164A1 (en) 1997-09-17
DE69504704D1 (de) 1998-10-15

Similar Documents

Publication Publication Date Title
JPH10510074A (ja) 像構成
US11790595B2 (en) Method for handling of out-of-order opaque and alpha ray/primitive intersections
US11645810B2 (en) Method for continued bounding volume hierarchy traversal on intersection without shader intervention
US11675704B2 (en) Method for efficient grouping of cache requests for datapath scheduling
US8115763B2 (en) Device for the photorealistic representation of dynamic, complex, three-dimensional scenes by means of ray tracing
US11804002B2 (en) Techniques for traversing data employed in ray tracing
US20080024489A1 (en) Cache Utilization Optimized Ray Traversal Algorithm with Minimized Memory Bandwidth Requirements
US20080088619A1 (en) Branch Prediction for Acceleration Data Structure Traversal
US11816783B2 (en) Enhanced techniques for traversing ray tracing acceleration structures
US11450057B2 (en) Hardware acceleration for ray tracing primitives that share vertices
US20090049452A1 (en) Spawned Message State Determination
US11373358B2 (en) Ray tracing hardware acceleration for supporting motion blur and moving/deforming geometry
US11854141B2 (en) Early release of resources in ray tracing hardware
US20240095996A1 (en) Efficiency of ray-box tests
Chao A parallel architecture of ray tracing image generation