JPH06176167A - Ray tracing processing system - Google Patents

Ray tracing processing system

Info

Publication number
JPH06176167A
JPH06176167A JP4325495A JP32549592A JPH06176167A JP H06176167 A JPH06176167 A JP H06176167A JP 4325495 A JP4325495 A JP 4325495A JP 32549592 A JP32549592 A JP 32549592A JP H06176167 A JPH06176167 A JP H06176167A
Authority
JP
Japan
Prior art keywords
ray
data
ray tracing
processing
graphic data
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.)
Withdrawn
Application number
JP4325495A
Other languages
Japanese (ja)
Inventor
Kazuhiko Sawamura
和彦 澤村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4325495A priority Critical patent/JPH06176167A/en
Publication of JPH06176167A publication Critical patent/JPH06176167A/en
Withdrawn legal-status Critical Current

Links

Abstract

PURPOSE:To provide a ray tracing processing system whose processing efficiency is improved by reducing the number of loading times of graphic data. CONSTITUTION:Graphic data is stored in a local memory 3 by way of an interface mechanism 1 by being separated into several times. At a single loading of graphic data, ray tracing control calculation processor 2 executes ray tracing processing to the rays of different depths at different sampling points at the same time to obtain reflection luminance at each sampling point to store it in a memory 4 with an additional function. The above processing is executed to all the pieces of graphic data and data stored in the memory 4 with the additional function is displayed on the display device by a CRT control part 5. As the rays of different depths at the different sampling points are processed to the single loading of graphic data, the number of the pixels which can be processed by the single loading can be increased and the number of loading times of graphic data can be reduced.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はレイ・トレーシング処理
機能を持つグラフィク・ディスプレイ装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a graphic display device having a ray tracing processing function.

【0002】[0002]

【従来の技術】レイ・トレーシング処理は、隠面消去を
行うだけでなく、物体間相互の鏡面反射による映り込
み、透明物体の表示、影付けなどを一括して行う、広域
照明モデルのレンダリング(描画)手法であり、一般に
次の様な処理によって実現されている。
2. Description of the Related Art Ray tracing processing is a rendering of a wide-area lighting model that not only removes hidden surfaces but also reflects by mutual specular reflection between objects, displays transparent objects, and shadows all at once. This is a (drawing) method and is generally realized by the following processing.

【0003】図8はレイ・トレーシング処理の概念を示
す図であり、81は表示対象となる物体、82は投影
面、83は視点であり、同図に示すように、レイ・トレ
ーシング処理においては、表示対象の物体81をすべて
位置づけた空間(以後、シーンと呼ぶ)上に、CRT画
面上の表示領域に対応する投影面82を設け、投影面8
2上の各サンプル点から発生するレイと表示対象物体8
1との交点における反射輝度を投影面81上の各サンプ
ル点に投影することにより、表示対象物体81の画像を
生成する。
FIG. 8 is a diagram showing the concept of ray tracing processing. Reference numeral 81 is an object to be displayed, 82 is a projection plane, and 83 is a viewpoint. As shown in FIG. In the above, the projection surface 82 corresponding to the display area on the CRT screen is provided in the space where all the objects 81 to be displayed are positioned (hereinafter referred to as a scene).
Ray generated from each sample point on 2 and display object 8
An image of the display target object 81 is generated by projecting the reflection brightness at the intersection with 1 on each sample point on the projection surface 81.

【0004】図9はレイ・トレーシング処理における初
期レイ、反射レイ、屈折レイを示す図であり、82は投
影面、91は投影面上のサンプル点、92aは初期レ
イ、92bは鏡面反射レイ、92cは屈折透過レイ、9
3a,93bは表示の対象となる物体を示しており、9
3aは光の一部が透過し、一部が鏡面反射する物体、9
3bは光が鏡面反射する物体である。レイ・トレーシン
グ処理においては、同図に示すように、初期レイ92a
に加えて、鏡面反射レイ92b、屈折透過レイ92cに
よる輝度を考慮する。
FIG. 9 is a diagram showing an initial ray, a reflection ray, and a refraction ray in ray tracing processing. Reference numeral 82 is a projection surface, 91 is a sample point on the projection surface, 92a is an initial ray, and 92b is a specular reflection ray. , 92c is a refraction transmitting ray, 9
Reference numerals 3a and 93b denote objects to be displayed.
3a is an object in which a part of light is transmitted and a part is specularly reflected, 9
3b is an object whose light is specularly reflected. In the ray tracing process, as shown in FIG.
In addition to this, the luminance due to the specular reflection ray 92b and the refraction transmission ray 92c is considered.

【0005】図10はレイ・トレーシングにおける処理
の流れを示す図であり、図8、図9を参照しながら、図
10により、レイ・トレーシング処理の概要について説
明する。図10において、図8、図9の投影面82の
サンプル点91(図9)を決定し、上記投影面82上
に取ったサンプル点91より初期レイ92aを発生す
る。
FIG. 10 is a diagram showing the flow of processing in ray tracing, and an outline of the ray tracing processing will be described with reference to FIGS. 8 and 9 with reference to FIG. In FIG. 10, a sample point 91 (FIG. 9) on the projection plane 82 of FIGS. 8 and 9 is determined, and an initial ray 92a is generated from the sample point 91 taken on the projection plane 82.

【0006】ついで、表示の対象となる図形データをメ
モリ上にロードし、初期レイ92aが最初にぶつかる
物体(図9の93a)を探査し、シーン中の各光源が、
上記レイ92aと物体93aの交点を照射するかどうか
を判定する。において、図形データ中の反射率等によ
り上記交点の反射輝度を計算し、において、反射、透
過回数が上限値を越えているか否かを判定し、越えてい
なければ、において、図9に示すように、上記交点か
ら鏡面反射レイ92bおよび屈折透過レイ92cを発生
し、上記と同様、それらのレイがぶつかる物体を探し
て、その交点の反射輝度を計算する。
Then, the graphic data to be displayed is loaded into the memory, the object (93a in FIG. 9) which the initial ray 92a first collides with is searched, and each light source in the scene
It is determined whether or not to illuminate the intersection of the ray 92a and the object 93a. In, the reflection brightness of the intersection is calculated from the reflectance in the graphic data, and it is determined whether or not the number of reflections and transmissions exceeds the upper limit in. If not, as shown in FIG. Then, a specular reflection ray 92b and a refraction / transmission ray 92c are generated from the intersection point, and similarly to the above, an object which these rays collide with is searched for, and the reflection brightness at the intersection point is calculated.

【0007】そして、上記処理を反射、透過回数が予め
定められた上限値に達するまで、繰り返し、におい
て、上記のようにして求めた1個のサンプル点について
求めた何個かの反射輝度を合成して、そのサンプル点の
輝度値として、サンプル点に対応する画像メモリ上のア
ドレスに出力する。図11は一個のサンプル点における
輝度値の算出手法を示す図であり、同図において、太実
線は初期レイ(例えば、図9の92a)、細実線は鏡面
反射レイ(例えば、図9の92b)、点線は屈折透過レ
イ(例えば、図9の92c)、丸印は上記各レイと物体
の交点、Iは各交点の反射輝度であり、Ioは初期レイ
の反射輝度、I11〜I12は一次レイの交点(一回反射も
しくは屈折したレイと物体との交点)の反射輝度、I21
〜I24は二次レイの交点(二回反射もしくは屈折したレ
イと物体との交点)の反射輝度、I31〜I38は三次レイ
の交点(三回反射もしくは屈折したレイと物体との交
点)の反射輝度、wは各レイのウエイト値であり、同図
には、レイの深さとして三次レイまでが示されている。
Then, the above processing is repeated until the number of reflections and transmissions reaches a predetermined upper limit value, and in the above, several reflection luminances obtained for one sample point obtained as described above are synthesized. Then, the luminance value of the sample point is output to the address on the image memory corresponding to the sample point. FIG. 11 is a diagram showing a method of calculating the luminance value at one sample point. In FIG. 11, a thick solid line indicates an initial ray (eg, 92a in FIG. 9), and a thin solid line indicates a specular ray (eg, 92b in FIG. 9). ), A dotted line is a refraction / transmission ray (for example, 92c in FIG. 9), a circle is an intersection point between each ray and an object, I is a reflection luminance at each intersection point, Io is a reflection luminance of an initial ray, and I11 to I12 are primary Reflection brightness at the intersection of rays (the intersection of rays that have been reflected or refracted once and an object), I21
~ I24 is the reflection brightness of the intersection of the secondary ray (the intersection of the ray that has been twice reflected or refracted and the object), and I31 to I38 is the reflection of the intersection of the third ray (the intersection of the ray that has been reflected or refracted three times and the object). Luminance and w are weight values of each ray, and in the figure, up to the third ray is shown as the depth of the ray.

【0008】なお、何回反射もしくは屈折透過したレイ
まで考慮するかは予め定めておく。また、初期レイから
延べn回の反射・屈折透過を経たレイをn次レイと呼
び、このときのnをそのレイの深さと言う。例えば、二
次レイは「レイの深さ」=2という。同図に示すよう
に、三次レイまで考慮する場合には、三次レイと物体の
交点は最大「8」、二次レイと物体の交点は最大
「4」、一次レイと物体の交点は最大「2」となる。ま
た、サンプル点における各レイの反射輝度成分は同図に
示すようなる。すなわち、初期レイの交点の反射輝度成
分は初期レイの交点の反射輝度Io とそのウエイト値w
o との積、一次レイの交点の反射輝度成分は一次レイの
各交点の反射輝度I11,I12とそれぞれのウエイト値w
11,w12の積の和、同様に、d次レイの交点における反
射輝度成分は、各交点の反射輝度とそれぞれのウエイト
値の積の和で示され、サンプル点の輝度値は上記各成分
の和となる。
It should be noted that how many times the ray is reflected or refracted and transmitted is considered in advance. A ray that has undergone a total of n times of reflection / refraction transmission from the initial ray is called an n-th ray, and n at this time is called the depth of the ray. For example, the secondary ray is “ray depth” = 2. As shown in the figure, when the third ray is considered, the maximum intersection of the tertiary ray and the object is "8", the maximum intersection of the secondary ray and the object is "4", and the maximum intersection of the primary ray and the object is " 2 ”. The reflection luminance component of each ray at the sample point is as shown in the same figure. That is, the reflection luminance component at the intersection of the initial rays is the reflection luminance Io at the intersection of the initial rays and its weight value w.
The product of o and the reflection brightness component at the intersection of the primary rays is the reflection brightness I11, I12 at each intersection of the primary ray and the respective weight values w.
Similarly, the sum of the products of 11 and w12, similarly, the reflection luminance component at the intersection of the d-th ray is represented by the sum of the products of the reflection luminance at each intersection and each weight value, and the luminance value at the sample point is It becomes the sum.

【0009】図10に示したないしの一連の処理
を、充分な密度で取ったサンプル点に対して行うことに
より、図8に示した投影面82上にレイ・トレーシング
画像が生成される。なお、図8には視点83の方向から
レイが発生する透視投影の例が示されているが、レイの
方向は上記透視投影の外、平行投影など、シーンの投影
面への投影法に応じた方向を取ることができる。
The ray tracing image is generated on the projection plane 82 shown in FIG. 8 by performing the series of processes shown in FIG. 10 to the sample points taken with sufficient density. Note that FIG. 8 shows an example of perspective projection in which rays are generated from the direction of the viewpoint 83, but the direction of rays depends on the projection method on the projection plane of the scene, such as outside the perspective projection or parallel projection. You can take different directions.

【0010】ところで、上記のような、レイ・トレーシ
ング処理をするに当たっての問題点は、上記処理を行う
処理プロセッサがシーン内の物体全ての図形データを保
持できるだけの実メモリを持たない場合に生ずる。すな
わち、図10のないしの処理には、それぞれ、シー
ン中の全ての物体の図形データが必要であり、上記の場
合には、物体を記述できるデータを数回に分けて、処理
プロセッサの実メモリにロードしなくてはならない。
By the way, the above-mentioned problem in the ray tracing processing occurs when the processing processor for performing the above processing does not have a real memory capable of holding the graphic data of all the objects in the scene. . That is, each of the processes in FIG. 10 and FIG. 10 requires graphic data of all the objects in the scene. In the above case, the data that can describe the objects is divided into several times and the real memory of the processor is used. Must be loaded into.

【0011】図12は上記の場合における従来の処理を
示す図である。同図は深さの上限=3の場合を示してお
り、投影面をP分割して、S1 ,S2,…,Sp に分
け、各分割画面からσ個ずつサンプル点を取って、それ
ぞれ並行処理する場合を想定し、Si 上の深さ0のσo
個のレイを並行処理しているところからの処理の流れを
示している。
FIG. 12 is a diagram showing a conventional process in the above case. The figure shows the case where the upper limit of the depth = 3, the projection plane is divided into P and divided into S1, S2, ..., Sp, σ sample points are taken from each divided screen, and parallel processing is performed for each. Assuming that
The flow of processing from the point where parallel processing of individual rays is shown.

【0012】同図に示すように、従来においては、複数
のサンプル点の処理を複数のプロセッサにより並行に処
理する場合においても、全物体の図形データを複数回に
分けて実メモリにロードしてSi の深さ0のレイについ
て処理を行い、ついで、再び全物体の図形データを複数
回に分けて実メモリにロードしてSi の深さ1のレイに
ついて処理を行い、同様にSi の深さ3のレイまで処理
を行うと、次に、Si+1 の深さ0ないし3のレイについ
て上記と同様に処理を行うことにより、図形データをシ
ーケンシャルに処理していた。
As shown in the figure, conventionally, even when processing a plurality of sample points by a plurality of processors in parallel, the graphic data of all objects are divided into a plurality of times and loaded into the real memory. The process is performed for the ray of depth 0 of Si, and then the graphic data of all the objects are divided into a plurality of times to be loaded into the real memory and the process of ray of depth 1 of Si is performed again. After processing up to 3 rays, next, the graphic data are processed sequentially by performing the same processing for the rays of depth 0 to 3 of Si + 1.

【0013】[0013]

【発明が解決しようとする課題】ところで、同時に複数
のサンプル点を並行処理するとしても、普通サンプル点
の個数は数十万〜数千万個あるので、全てのサンプル点
の輝度を決めるまでに、図10に示すないしまでの
処理を繰り返すことになる。また、レイ・トレーシング
は広域照明モデルとして使われる性格上、物体の個数も
数千〜数十万個となるので、物体データを実メモリにロ
ードするためにかかる時間が性能に与える影響が大き
い。
Even if a plurality of sample points are processed in parallel at the same time, the number of sample points is usually several hundreds of thousands to several tens of millions. Therefore, it is necessary to determine the brightness of all the sample points. Then, the processes up to and including the steps shown in FIG. 10 are repeated. In addition, since ray tracing is used as a wide-area lighting model, the number of objects is in the range of several thousand to several hundred thousand, so the time taken to load the object data into the real memory has a large effect on performance. .

【0014】本発明は上記した従来技術の問題点を改善
するためになされたものであって、図形データのロード
回数を減少させることにより、処理効率を向上させたレ
イ・トレーシング処理方式を提供することを目的とす
る。
The present invention has been made in order to improve the above-mentioned problems of the prior art, and provides a ray tracing processing method in which the processing efficiency is improved by reducing the number of times of loading graphic data. The purpose is to do.

【0015】[0015]

【課題を解決するための手段】図1は本発明の原理ブロ
ック図である。同図において、1は外部データ・ベー
ス、他プロセッサ、もしくは外部バスとの間のインタフ
ェースを取るインタフェース機構、2は図形データをレ
イ・トレーシング処理するレイ・トレーシング制御・演
算プロセッサ、3は図形データ、レイ・データを格納す
る領域、ワーク領域を備えたローカル・メモリ、4はレ
イ・トレーシング制御・演算プロセッサ2が出力する表
示対象図形の各ピクセル毎の反射輝度を格納する加算機
能付きメモリ、5は加算機能付きメモリ4に格納された
データを表示するCRT制御部である。
FIG. 1 is a block diagram showing the principle of the present invention. In the figure, 1 is an interface mechanism for interfacing with an external data base, another processor, or an external bus, 2 is a ray tracing control / arithmetic processor for ray tracing processing of graphic data, and 3 is a graphic. A local memory having data, an area for storing ray data, and a work area, and 4 is a memory with an addition function for storing the reflection luminance of each pixel of the display target graphic output by the ray tracing control / arithmetic processor 2 Reference numeral 5 denotes a CRT control unit that displays the data stored in the memory 4 with the addition function.

【0016】上記課題を解決するため、本発明の請求項
1の発明は、図1に示すように、外部データ・ベース、
他プロセッサ、もしくは外部バスとの間のインタフェー
スを取るインタフェース機構1と、図形データをレイ・
トレーシング処理するレイ・トレーシング制御・演算プ
ロセッサ2と、レイ・トレーシング制御・演算プロセッ
サ2に設けられ、図形データ、レイ・データ等を格納す
るローカル・メモリ3と、出力インタフェースを介して
レイ・トレーシング制御・演算プロセッサ2と接続さ
れ、レイ・トレーシング制御・演算プロセッサ2の処理
結果を格納する加算機能を具備した加算機能付きメモリ
4とを備え、インタフェース機構1を介して与えられる
図形データをレイ・トレーシング処理するレイ・トレー
シング処理方式において、個々のレイ・データに、その
レイのウエイトと、発生元のサンプル点に対応する画面
上のピクセル位置かアドレス、または、サンプル点が含
まれるピクセルの位置かアドレスのデータを持たせると
ともに、ローカル・メモリ3に、一個のサンプル点から
発生し得る全てのレイのデータを格納できる領域を設
け、レイ・トレーシング制御・演算プロセッサ2は、レ
イの発生処理において、〔「レイの深さの上限値」−
1〕に対応した値εからε=0までの各εについて、深
さεのレイをもとにして、深さε+1のレイを計算して
上記ローカル・メモリ3の今まで別のサンプル点の深さ
εのレイ・データが格納されていた領域に格納し、最後
に新しいサンプル点の初期レイのデータを今まで別のサ
ンプル点を格納していた領域に格納する処理を行い、ロ
ーカル・メモリ3の図形データ領域への図形データの一
回のロードにおいて、異なるサンプル点の異なる深さの
レイに対して、同時にレイ・トレーシング処理を行って
各サンプル点における反射輝度を求め、求めた反射輝度
をレイ・データに含まれる上記ピクセルの位置かアドレ
スに基づき加算機能付きメモリ4の対応するアドレスに
格納することにより、図形データのロード回数を減少さ
せたものである。
In order to solve the above-mentioned problems, the invention of claim 1 of the present invention, as shown in FIG.
An interface mechanism 1 for interfacing with another processor or an external bus, and graphic data
A ray tracing control / arithmetic processor 2 for tracing processing, a local memory 3 provided in the ray tracing control / arithmetic processor 2 for storing graphic data, ray data and the like, and a ray via an output interface. A graphic provided via the interface mechanism 1, which is connected to the tracing control / arithmetic processor 2 and includes the ray tracing control / memory 4 with the addition function for storing the processing result of the arithmetic processor 2 In the ray tracing processing method of ray tracing processing of data, each ray data has a weight of the ray and a pixel position or address on the screen corresponding to the sample point of the generation, or a sample point. The data of the position or address of the included pixel is stored, and the local The memory 3 is provided with an area capable of storing the data of all the rays that can be generated from one sample point, and the ray tracing control / arithmetic processor 2 performs the ray generation process by selecting [“the upper limit value of the ray depth. ]-
1] for each of ε from ε to ε = 0, a ray of depth ε + 1 is calculated based on the ray of depth ε, and another sample point of the local memory 3 up to now is stored. Store the ray data of depth ε in the area where the ray data was stored, and finally store the data of the initial ray of the new sample point in the area that previously stored another sample point. In the one-time loading of the figure data into the figure data area of 3, the ray tracing processing is simultaneously performed on the rays having different depths at the different sample points to obtain the reflection brightness at each sample point, and the obtained reflection is obtained. By storing the brightness at the corresponding address of the memory 4 with the addition function based on the position or address of the pixel included in the ray data, the number of times of loading the graphic data is reduced.

【0017】本発明の請求項2の発明は、請求項1の発
明において、図形データをレイ・トレーシング処理する
レイ・トレーシング制御・演算2プロセッサを、レイ・
トレーシング処理を制御するレイ・トレーシング制御プ
ロセッサと、ローカル・メモリを備えた複数のレイ・ト
レーシング演算プロセッサと、レイ・トレーシング制御
プロセッサと複数のレイ・トレーシング演算プロセッサ
との間に設けられた共通バス/インタフェース機構とか
ら構成したものである。
According to a second aspect of the present invention, in the first aspect of the invention, a ray tracing control / arithmetic 2 processor for ray tracing the graphic data is used.
Provided between a ray tracing control processor that controls the tracing process, a plurality of ray tracing arithmetic processors with local memory, and a ray tracing control processor and a plurality of ray tracing arithmetic processors Common bus / interface mechanism.

【0018】[0018]

【作用】本発明の請求項1,2の発明において、投影面
をS1 ,S2 ,…,Sp にP分割して、各分割面からσ
個ずつサンプル点をとるとし、dをレイの深さの上限と
すると、Si 上の深さdのσd 個のレイ、Si+1 上の深
さd−1のσd-1 個のレイ、…、Si+d-1 上の深さ1の
σ1 個のレイ、Si+d 上の深さ0のσ0 個のレイ(投影
面から出す初期レイ)を一回の物体データのロードにお
いて処理する。
In the first and second aspects of the present invention, the projection surface is divided into S1, S2, ..., Sp by P, and σ
Taking sample points one by one, and letting d be the upper limit of the depth of the ray, σd rays of depth d on Si, and σd-1 rays of depth d-1 on Si + 1, ... , Σ 1 rays of depth 1 on Si + d−1 and σ 0 rays of 0 depth on Si + d (initial rays from the projection plane) are processed in one load of object data.

【0019】すなわち、深さd−1のレイから深い順
に、Si+1 の深さεのレイをもとにして、深さε+1の
レイを計算して、今までSi の深さεのレイのデータを
格納していた領域に新しいレイを格納する。最後にSi+
1+d上のサンプル点をとり、それらのサンプル点による
初期レイのデータを、今まで、Si+d 上のサンプル点の
初期レイのデータを格納していた領域に格納する。
That is, a ray of depth ε + 1 is calculated based on a ray of depth ε of Si + 1 in order from the ray of depth d−1, and a ray of depth ε of Si has been calculated so far. A new ray is stored in the area where the data of was stored. Finally Si +
The sample points on 1 + d are taken, and the data of the initial rays by these sample points are stored in the area where the data of the initial ray of the sample points on Si + d has been stored so far.

【0020】また、これにより、レイのデータ量がd+
1倍に増えないようにするため、鏡面反射レイ、屈折透
過レイを発生するときには、レイ・データにレイのウエ
イトと、発生元のサンプル点に対応する画面上のピクセ
ル位置かアドレス、または、サンプル点が含まれるピク
セル位置かアドレスを含ませておき、処理結果の反射輝
度を出力するとき、親となるレイのデータを参照する必
要がない様にする。
As a result, the ray data amount is d +
When generating specular reflection rays and refraction transmission rays, the ray weight is added to the ray data and the pixel position or address on the screen corresponding to the sample point of the generation, or the sample The pixel position including the point or the address is included so that it is not necessary to refer to the data of the parent ray when outputting the reflection luminance of the processing result.

【0021】以上のように、図形データの一回のロード
に対して、異なるサンプル点のことなる深さのレイを処
理することにより、一回のデータ・ロードによって処理
できるピクセル数を増やすことができ、図形データのロ
ード回数を減少させることが可能となる。特に、レイ・
トレーシング処理装置をマルチ・プロセッサ構成とした
場合には、並列度が増すほどレイトレーシング処理時間
にデータ・ロードのための処理時間の占める割合が高く
なるが、本発明の処理を行うことにより、データ・ロー
ドのための処理時間を減少させることができ、大きな効
果を得ることが可能となる。
As described above, the number of pixels that can be processed by one data load can be increased by processing rays of different depths at different sample points for one load of graphic data. Therefore, the number of times the graphic data is loaded can be reduced. Especially, Ray
When the tracing processing device has a multi-processor configuration, the ratio of the processing time for data loading to the ray tracing processing time increases as the parallelism increases, but by performing the processing of the present invention, The processing time for data loading can be reduced and a great effect can be obtained.

【0022】[0022]

【実施例】図2は本発明の実施例のn並列プロセッサ構
成によるレイ・トレーシング処理装置を持つワーク・ス
テーション装置の構成を示すブロック図である。同図に
おいて、21は外部データ・ベース、他プロセッサ、ま
たは、外部バス等との間のインタフェースをとる外部イ
ンタフェースを介して与えられる図形データを編集処理
したり、外部インタフェースを介して与えられる指令信
号を受信するする外部通信処理・物体データ編集処理
部、22は図形データを格納するメモリであり、図形デ
ータは、物体の頂点座標、その頂点の法線ベクトル(頂
点における辺ベクトルの外積)、面の表裏を判定するた
めの面の法線ベクトル、面の鏡面反射率、拡散反射率、
透過率、屈折率等の物体の形状を定義したり、面の光学
的な特性等を記述したデータからなる。
2 is a block diagram showing the construction of a work station apparatus having a ray tracing processing apparatus having an n parallel processor configuration according to an embodiment of the present invention. In the figure, reference numeral 21 is a command signal given via an external interface, which edits graphic data given via an external interface serving as an interface with an external data base, another processor, or an external bus. The external communication processing / object data edit processing unit 22 for receiving the data is a memory for storing the graphic data, and the graphic data includes the vertex coordinates of the object, the normal vector of the vertex (the outer product of the side vectors at the vertices), the surface. Normal vector of the surface for determining the front and back of the, specular reflectance of the surface, diffuse reflectance,
It consists of data that defines the shape of an object such as transmittance and refractive index, and describes the optical characteristics of a surface.

【0023】23はレイ・トレーシング処理装置であ
り、レイ・トレーシング処理装置23において、23a
は制御部であり、制御部23aは各レイ・トレーシング
・プロセッサ23c−1ないし23c−nに処理を割り
当てるとともに、各レイ・トレーシング・プロセッサ2
3c−1ないし23c−nにレイの生成、レイと図形デ
ータ中の物体との交点探査、影付け処理、反射輝度計算
等の指示をする。
Reference numeral 23 is a ray tracing processing device. In the ray tracing processing device 23, 23a
Is a control unit, and the control unit 23a allocates processing to each ray tracing processor 23c-1 to 23c-n, and each ray tracing processor 2
3c-1 to 23c-n are instructed for ray generation, intersection search between the ray and an object in the graphic data, shadowing processing, reflection brightness calculation, and the like.

【0024】23bはレイ・トレーシング・プロセッサ
の共通バス、23c−1ないし23c−nはレイ・トレ
ーシング・プロセッサであり、レイ・トレーシング・プ
ロセッサ23bは上記制御部23aの指示に基づき割り
当てられた投影面について、レイと図形データ中の物体
との交点探査、影付け処理、反射輝度計算等を実行し、
求めた反射輝度を画面上のピクセル(画素)位置ととも
にピクセル値バス24に出力する。
Reference numeral 23b is a common bus of the ray tracing processor, 23c-1 to 23c-n are ray tracing processors, and the ray tracing processor 23b is assigned based on the instruction of the control section 23a. On the projected surface, the intersection point between the ray and the object in the figure data, shadowing processing, reflection brightness calculation, etc. are executed,
The calculated reflection brightness is output to the pixel value bus 24 together with the pixel position on the screen.

【0025】24はピクセル値バス、25はピクセル値
バス24に出力される輝度値を加算して格納する機能を
持つ画像メモリ、26はCRT等の表示装置を制御する
CRT制御部である。図3は図2に示したレイ・トレー
シング・プロセッサの構成を示すブロック図であり、図
2に示したものと同一のものには同一の符号が付されて
おり、23cはレイ・トレーシング・プロセッサ、23
1はローカル・メモリであり、ローカル・メモリ231
は図形データを格納する領域231a、レイ・データを
格納する領域231b、ワーク領域231cを備えてい
る。
Reference numeral 24 is a pixel value bus, 25 is an image memory having a function of adding and storing the brightness values output to the pixel value bus 24, and 26 is a CRT control unit for controlling a display device such as a CRT. FIG. 3 is a block diagram showing the configuration of the ray tracing processor shown in FIG. 2. The same components as those shown in FIG. 2 are designated by the same reference numerals, and 23c is a ray tracing processor.・ Processor, 23
1 is a local memory, and the local memory 231
Has an area 231a for storing graphic data, an area 231b for storing ray data, and a work area 231c.

【0026】232はレイ・トレーシング演算部であ
り、レイ・トレーシング演算部232は、レイ発生を行
うレイ発生処理部232a、発生されたレイと図形デー
タ中の物体との交点を探査する交点探査処理部232
b、光源と図形データ中の物体との位置に基づき影が発
生する部分を求める影付け処理部232c、レイと図形
データ中の物体の交点の反射輝度を求める反射輝度計算
部232d、その他の処理を行うオプション処理部23
2eを備えている。
Reference numeral 232 denotes a ray-tracing calculation section. The ray-tracing calculation section 232 is a ray generation processing section 232a for generating a ray, and an intersection point for searching an intersection point between the generated ray and an object in the graphic data. Exploration processor 232
b, a shadowing processing unit 232c that obtains a portion where a shadow is generated based on the positions of the light source and the object in the graphic data, a reflection luminance calculation unit 232d that obtains the reflection luminance at the intersection of the ray and the object in the graphic data, and other processing Option processing unit 23 for performing
2e.

【0027】次に、図2および図3により本発明の実施
例の動作を説明する。図2において、外部通信処理・物
体データ編集処理部21は外部インタフェースとの通信
を行い、図形データを編集してシーンを作り、図形メモ
リ22に格納する。外部通信処理・物体データ編集処理
部21が外部インタフェースから、シーンをレイ・トレ
ーシング処理して表示することを指示されると、レイ・
トレーシング処理装置23の制御部23aに制御指令を
出して、レイ・トレーシング処理装置23を起動する。
Next, the operation of the embodiment of the present invention will be described with reference to FIGS. In FIG. 2, an external communication processing / object data edit processing unit 21 communicates with an external interface, edits graphic data to create a scene, and stores it in the graphic memory 22. When the external communication processing / object data editing processing unit 21 is instructed by the external interface to perform ray tracing processing on the scene and display it,
A control command is issued to the control unit 23a of the tracing processing device 23 to activate the ray tracing processing device 23.

【0028】上記指令により、制御部23aは次のよう
にしてレイ・トレーシング処理を進める。先ず、投影面
(図8、図9の82)をレイ・トレーシング・プロセッ
サ23c−1ないし23c−nの個数(n個)に等分
し、それをS1 ,S2 ,…,Sn として、各レイ・トレ
ーシング・プロセッサ23c−1ないし23c−nに割
り当てる。ここで、各Sk (k=1,2,…,n)をそ
れぞれP分割して、Sk,1 ,Sk,2 ,…,Sk,p に分
け、各分割面Sk,i (k=1,2,…,n、i=1,
2,…,p)からσ個ずつサンプル点(ピクセルとい
う)を取るとする。また、説明の都合上、レイの深さの
上限は「2」であると仮定する。
In response to the command, the control section 23a proceeds with ray tracing processing as follows. First, the projection plane (82 in FIGS. 8 and 9) is equally divided into the number (n) of ray tracing processors 23c-1 to 23c-n, which are designated as S1, S2, ..., Sn. Assign to ray tracing processors 23c-1 to 23c-n. Here, each Sk (k = 1, 2, ..., N) is divided into P and divided into Sk, 1, Sk, 2, ..., Sk, p, and each divided surface Sk, i (k = 1, k = 1, 2, ..., n, i = 1,
It is assumed that σ sample points (referred to as pixels) are taken from 2, ..., P). Further, for convenience of explanation, it is assumed that the upper limit of the ray depth is “2”.

【0029】ここで、今、Sk,i 上の深さ2のσ2 個の
レイ、Sk,i+1 上の深さ1のσ1 個のレイ、Sk,i+2 上
の深さ0のσ0 個のレイについてレイ・トレーシング処
理が終わったとする。次に制御部23aはレイ・トレー
シング・プロセッサ23c−1ないし23c−nの各レ
イ・トレーシング演算部232(図3参照)に対して、
レイの生成を指示する。
Now, σ 2 rays of depth 2 on Sk, i, σ 1 rays of depth 1 on Sk, i + 1, σ 0 of depth 0 on Sk, i + 2. It is assumed that the ray tracing process is completed for each ray. Next, the control unit 23a instructs the ray tracing arithmetic units 232 (see FIG. 3) of the ray tracing processors 23c-1 to 23c-n to
Instruct to generate a ray.

【0030】これに対して、各レイ・トレーシング演算
部232は、レイ発生処理部232aが起動して、ロー
カル・メモリ231上のレイ・データ領域にSk,i+1 上
の深さ2のσ2 個のレイ、Sk,i+2 上の深さ1のσ1 個
のレイ、Sk,i+3 上のσ0 個の初期レイを発生する。つ
いで、制御部23aはローカル・メモリ231の図形デ
ータ領域231aに入りきる分だけの図形データをメモ
リ22(図2参照)からロードし、レイ・トレーシング
演算部232に対して、交点探査実行の指示を出す。こ
れに対して、レイ・トレーシング演算部232は交点探
査処理部232bを起動し、図形データ中の物体と各レ
イ(Sk,i+1 上の深さ2のσ2 個のレイ、Sk,i+2 上の
深さ1のσ1 個のレイ、Sk,i+3 上のσ0 個の初期レ
イ)との交点を捜して、交点(仮値)をレイ・データ領
域231bに記録する。
On the other hand, in each ray tracing calculation section 232, when the ray generation processing section 232a is activated, the ray data area on the local memory 231 is assigned a depth of 2 on Sk, i + 1. Generate σ 2 rays, σ 1 rays of depth 1 on Sk, i + 2, and σ 0 initial rays on Sk, i + 3. Then, the control unit 23a loads graphic data from the memory 22 (see FIG. 2) as much as it can fit in the graphic data area 231a of the local memory 231, and executes the intersection search execution on the ray tracing calculation unit 232. Give instructions. On the other hand, the ray tracing calculation unit 232 activates the intersection search processing unit 232b, and the object in the graphic data and each ray (σ2 rays with a depth of 2 on Sk, i + 1, Sk, i, An intersection with σ1 rays of depth 1 on +2 and σ0 initial rays on Sk, i + 3) is searched for, and the intersection (temporary value) is recorded in the ray data area 231b.

【0031】なお、一度に全図形データをロード出来な
いので、上記交点の探査において求めた交点は仮値であ
り、全図形データについての処理が終わった段階で最終
的な交点が求まる。すなわち、図形データの一部をロー
ドして図形データ中の第1の物体とレイとの交点が求め
たのち、他の図形データをロードして交点を求めたとき
上記第1の物体とレイの始点との間にさらに第2の物体
が存在することが分かった場合には、最終的な交点はレ
イと第2の物体との交点となり、上記第1の物体との交
点は第2の物体との交点と置換される。
Since all graphic data cannot be loaded at one time, the intersections obtained in the search for the above intersections are temporary values, and the final intersections can be obtained at the stage when the processing for all the graphic data is completed. That is, when a part of the graphic data is loaded to obtain the intersection of the first object and the ray in the graphic data, and then another graphic data is loaded to obtain the intersection, the intersection of the first object and the ray is obtained. If it is found that there is a second object between the starting point and the starting point, the final intersection is the intersection of the ray and the second object, and the intersection with the first object is the second object. Is replaced with the intersection of and.

【0032】制御部23aはこの処理を全ての図形デー
タをロードして交点探査実行を出すまで繰り返す。次
に、制御部23aは、影付けを行うため、上記と同様な
やり方で、図形データのロードと影付けの実行指示を行
う。指示を受けたレイ・トレーシング演算部232は影
付け処理部232cを起動して、レイ・データ領域23
1bに記録した交点情報と、ロードされた図形データか
ら影情報を作り、ローカル・メモリのワーク領域231
cに記録する。すなわち、上記交点と光源の間に物体が
存在するか否かをしらべ、物体が存在する場合にはその
交点が影になる部分であるとして、ワーク領域231c
に記録する。
The control unit 23a repeats this processing until all the graphic data are loaded and the intersection search is executed. Next, in order to perform the shadow-casting, the control unit 23a issues an instruction to load the graphic data and execute the shadow-casting in the same manner as described above. Upon receiving the instruction, the ray tracing calculation section 232 activates the shadowing processing section 232c, and the ray data area 23
Shadow information is created from the intersection information recorded in 1b and the loaded graphic data, and the work area 231 of the local memory is created.
Record in c. That is, it is checked whether or not there is an object between the intersection and the light source, and if there is an object, the intersection is a shadowed portion, and the work area 231c is determined.
To record.

【0033】次に、制御部23aは交点の反射輝度計算
を行うために、上記と同様なやり方で図形データのロー
ドと反射輝度計算の実行指示を行う。指示を受けたレイ
・トレーシング演算部232は反射輝度計算部232d
を起動して、レイ・データ領域231bに格納されてい
る交点情報とローカル・メモリ231に格納されている
図形データとワーク領域231cに格納されている影情
報とから交点の反射輝度を計算する。
Next, in order to calculate the reflection brightness at the intersection, the control section 23a issues the instruction to load the graphic data and execute the reflection brightness calculation in the same manner as described above. Upon receiving the instruction, the ray tracing calculation unit 232 changes the reflected luminance calculation unit 232d.
Then, the reflection brightness of the intersection is calculated from the intersection information stored in the ray data area 231b, the graphic data stored in the local memory 231, and the shadow information stored in the work area 231c.

【0034】上記のようにして求めた反射輝度は、レイ
・データ領域231b中に記録されているレイ個々のウ
エイトを掛け、そのレイの発生元のサンプル点が乗って
いる投影面上のピクセルの位置と共にピクセル値バス2
4(図2)に出力する。ピクセル値バスに出力された輝
度値は、加算機能を持った画像メモリ25上の、指定さ
れたアドレスのピクセル値に加算される。CRT制御部
26は画像メモリ25に集積されたピクセル値をRGB
信号に変換して、CRT等の表示装置に出力する。
The reflection brightness obtained as described above is multiplied by the weight of each ray recorded in the ray data area 231b to obtain the pixel on the projection plane on which the sample point from which the ray is generated lies. Pixel value bus 2 with position
4 (FIG. 2). The brightness value output to the pixel value bus is added to the pixel value of the specified address on the image memory 25 having an addition function. The CRT control unit 26 converts the pixel values accumulated in the image memory 25 into RGB
It is converted into a signal and output to a display device such as a CRT.

【0035】図4は図形データの一回のロードにおける
レイ・トレーシング演算部232の処理を示す図であ
り、同図に示すように、レイ・トレーシング演算部23
2は、深さの上限=3の場合、1回の全物体データのロ
ードに対して、n回目の処理において、Si-3 の深さ3
のレイ、Si-2 の深さ2のレイ、Si-1 の深さ1のレ
イ、Si の深さ0のレイの処理を行い、次に、n+1回
目の処理において、Si-2の深さ3のレイ、Si-1 の深
さ2のレイ、Si の深さ1のレイ、Si+1 の深さ0のレ
イの処理を行い、以下同様に、n+k回目の処理におい
て、Si+k-3 の深さ3のレイ、Si+k-2 の深さ2のレ
イ、Si+k-1 の深さ1のレイ、Si+k の深さ0のレイの
処理を行う。
FIG. 4 is a diagram showing the processing of the ray tracing operation unit 232 in one load of the graphic data. As shown in FIG.
2 indicates that when the upper limit of the depth = 3, the depth of Si-3 is 3 in the n-th process for one load of all object data.
No. ray, Si-2 depth 2 ray, Si-1 depth 1 ray, and Si depth 0 ray are processed, and then in the (n + 1) th processing, the depth of Si-2 is calculated. 3 ray, Si-1 depth 2 ray, Si depth 1 ray, and Si + 1 depth 0 ray are processed, and similarly, in the n + kth processing, Si + k- A ray of depth 3 of 3, a ray of depth 2 of Si + k-2, a ray of depth 1 of Si + k-1, and a ray of depth 0 of Si + k are processed.

【0036】また、上記のような処理を行うことによっ
てレイのデータ量がd+1倍に増えないようにするた
め、鏡面反射レイ、屈折透過レイを発生するときには、
図5に示すように、そのレイのウエイト値と発生元のサ
ンプル点に対応する投影面上のピクセルの位置かアドレ
ス、サンプル点が含まれているピクセルの位置かアドレ
スをレイ・データに含めておく。
Further, in order to prevent the data amount of the ray from increasing by d + 1 times by performing the above processing, when the specular reflection ray and the refraction transmission ray are generated,
As shown in FIG. 5, the ray value includes the weight value of the ray and the position or address of the pixel on the projection plane corresponding to the sample point of the generation source, and the position or address of the pixel including the sample point in the ray data. deep.

【0037】図5はレイ・データの構造を示す図であ
り、レイ・データは同図に示すように、レイの始点座標
(例えば、初期レイの場合には、サンプル点位置、深さ
1のレイの場合には、初期レイの交点座標)、「レイの
方向」に加え、レイに対応するサンプル点を示す「対応
するサンプル点」、「ウェイト」情報を持っており、こ
れにより、反射輝度を出力するときに親のデータを参照
する必要がないようにする。
FIG. 5 is a diagram showing the structure of the ray data. As shown in FIG. 5, the ray data shows the coordinates of the starting point of the ray (for example, in the case of the initial ray, the sample point position and the depth of 1). In the case of a ray, in addition to the initial ray intersection point coordinate) and the "ray direction", the "corresponding sample point" indicating the sample point corresponding to the ray and the "weight" information are included. Avoid having to reference the parent data when printing.

【0038】さらに、上記処理を行う場合には、図6に
示すように、深さSi-2 の深さ2のレイを元にして深さ
Si-2 の深さ3のレイ、深さSi-1 の深さ1のレイを元
にして深さSi-1 の深さ2のレイ、…を順次求め、その
結果を同図の〜に示すように格納する。すなわち、
深さd−1のレイから深い順に、Sj+1 の深さeのレイ
を基にして、深さe+1のレイを計算して、今までSj
の深さe+1のレイのデータを格納していた領域に新し
いレイを格納する。この処理を繰り返し、最後にSi+d+
1 上のサンプル点をとり、それらのサンプル点による初
期レイのデータを、今までSi+d 上のサンプル点の初期
レイのデータを格納していた領域(図6の)に格納す
る。 上記のように一番深いレイの一つ前の深さのレイ
から深い順に処理していくことにより、未だ計算してい
ないデータを壊すことなく、処理を進めていくことがで
きる。すなわち、前記したように、レイに反射と透過が
起こった場合には、レイ本数は2倍、4倍、8倍と言う
ように増加し、その領域も増加していくから、上記のよ
うに深い順に処理を行うことにより、計算の元となるデ
ータを壊すことなく処理を行うことが可能となる。
Further, in the case of performing the above processing, as shown in FIG. 6, a ray of depth Si-2, a ray of depth 3 and a depth of Si of depth 3 are based on the ray of depth 2 of depth Si-2. Based on the ray with the depth of 1 of -1, the ray with the depth of Si-1 and the depth of 2, are sequentially obtained, and the results are stored as shown in (1) of FIG. That is,
The ray of depth e + 1 is calculated based on the ray of depth e of Sj + 1 in the descending order from the ray of depth d−1.
The new ray is stored in the area where the data of the ray having the depth e + 1 is stored. Repeat this process, and finally Si + d +
The sample points above 1 are taken, and the data of the initial rays by these sample points are stored in the area (in FIG. 6) where the data of the initial ray of the sample points on Si + d has been stored so far. As described above, the processing can be performed without destroying the data that has not been calculated yet by processing the deepest ray from the ray one depth before the deepest ray. That is, as described above, when the ray is reflected and transmitted, the number of rays is increased by 2 times, 4 times, 8 times, and the area thereof is also increased. By performing the processing in deep order, it is possible to perform the processing without destroying the data that is the basis of the calculation.

【0039】本実施例においては、上記のように、図形
データの一回のロードに対して、異なるサンプル点の異
なった深さのレイを処理するようにしているので、一回
のロードによって処理できるピクセル数をふやすことが
でき、図形データのロード回数を減少させることができ
る。図7はレイ・トレーシング演算部をマルチ・プロセ
ッサ構成とした実施例を示す図である。
In the present embodiment, as described above, since the rays of different depths at different sample points are processed for one load of the graphic data, the processing is performed by one load. The number of pixels that can be created can be increased, and the number of times of loading graphic data can be reduced. FIG. 7 is a diagram showing an embodiment in which the ray tracing arithmetic unit has a multi-processor configuration.

【0040】同図において、72はレイ・トレーシング
処理の制御を行うレイ・トレーシング制御プロセッサ、
73は共通バス/インタフェース機構、74,75はレ
イ・トレーシング処理を行うレイ・トレーシング演算
部、74a,75aはローカル・メモリ、74b,75
bはレイ・トレーシング演算プロセッサ、76はピクセ
ル値バス、77は加算機能を備えた画像メモリ、78は
CRT制御部であり、本実施例においては、ローカル・
メモリ74a,75aを備えたレイ・トレーシング演算
プロセッサ74b,75bを複数、レイ・トレーシング
制御プロセッサ72の下に、共通バス/インタフェース
機構73を介して並列に設けたものである。
In the figure, reference numeral 72 is a ray tracing control processor for controlling the ray tracing processing,
Reference numeral 73 is a common bus / interface mechanism, 74 and 75 are ray tracing arithmetic units for performing ray tracing processing, 74a and 75a are local memories, and 74b and 75.
b is a ray tracing arithmetic processor, 76 is a pixel value bus, 77 is an image memory having an addition function, and 78 is a CRT controller.
A plurality of ray tracing arithmetic processors 74b and 75b having memories 74a and 75a are provided in parallel under a ray tracing control processor 72 via a common bus / interface mechanism 73.

【0041】本実施例においては、外部データ・ベー
ス、他プロセッサまたは外部バスより外部インタフェー
スを介してレイ・トレーシング制御プロセッサ72に与
えられる図形データを、前記した実施例と同様な手法に
より、複数のレイ・トレーシング演算部74,75がレ
イ・トレーシング制御プロセッサ72の制御下に処理
し、ピクセル値バス76に出力する。ピクセル値バス7
6に出力は、前記と同様、加算機能を持った画像メモリ
77上の、指定されたアドレスのピクセル値に加算さ
れ、CRT制御部78により、CRT等の表示装置に表
示される。
In this embodiment, a plurality of pieces of graphic data are supplied to the ray tracing control processor 72 from an external database, another processor or an external bus via an external interface by the same method as in the above-mentioned embodiments. Ray tracing operation units 74 and 75 of the ray tracing control units 74 and 75 process the signals under the control of the ray tracing control processor 72, and output them to the pixel value bus 76. Pixel value bus 7
Similarly to the above, the output to 6 is added to the pixel value of the designated address in the image memory 77 having the addition function, and is displayed on the display device such as CRT by the CRT control unit 78.

【0042】[0042]

【発明の効果】以上説明したことから明らかなように、
本発明においては、図形データの一回のロードに対し
て、異なるサンプル点の異なる深さのレイを処理してい
るので、従来のシーケンシャル方式に比べて、図形デー
タのロード回数が減り、処理効率を向上させることがで
きる。
As is apparent from the above description,
In the present invention, since the rays of different depths at different sample points are processed for one load of the graphic data, the number of times of loading the graphic data is reduced and the processing efficiency is improved as compared with the conventional sequential method. Can be improved.

【0043】例えば、レイの深さの上限をdとし、サン
プル点をσ個ずつP回に分けて繰り返し処理する場合、
レイ・トレーシング処理部の図形データ格納領域の大き
さが全ての図形データの量の1/cしかないとすると、
従来の方式と本発明の方式における図形データのロード
回数を比べると、従来の方式においては、次の式(1)
のようになり、また本発明の方式においては、次の
(2)式のようになる。 (d+1)×P×c回 (1) (P+d)×c回 (2) したがって、両者の比は次の(3)式のようになる。 (本発明の方式)/(従来方式)=(P+d)/{(d+1)×P} (3) 式(3)の比は1より小さく、本発明の方式の優位を明
示している。例えば、P=10,d=3とすると、
(3)式の値は13/40となり、約3倍効率が良いこ
ととなる。
For example, when the upper limit of the ray depth is d and the sample points are divided into P times by σ times and repeatedly processed,
If the size of the graphic data storage area of the ray tracing processing unit is only 1 / c of the amount of all graphic data,
Comparing the number of times of loading graphic data between the conventional method and the method of the present invention, the following equation (1) is obtained in the conventional method.
Further, in the system of the present invention, the following formula (2) is obtained. (D + 1) × P × c times (1) (P + d) × c times (2) Therefore, the ratio of the two is expressed by the following equation (3). (Method of the present invention) / (Conventional method) = (P + d) / {(d + 1) × P} (3) The ratio of the expression (3) is smaller than 1, which clearly indicates the superiority of the method of the present invention. For example, if P = 10 and d = 3,
The value of the equation (3) is 13/40, which means that the efficiency is about three times as good.

【0044】上記Pの値はサンプル点が多くなるほど大
きくなるので、レイ・トレーシング画像をより高品位に
しようとすればする程(3)式の値は小さくなって、本
発明の方式の効果が大きくなる。本発明の方式は、レイ
・トレーシング処理部のメモリをあまり大きくとれない
ハード構成、例えば、マルチ・プロセッサ構成などに適
している。特に、マルチ・プロセッサ構成では、並列度
が増すほどレイ・トレーシング処理の処理時間にデータ
・ロードが占める割合が高くなるので、本発明の方式に
より大きな効果を得ることができる。
Since the value of P increases as the number of sampling points increases, the higher the quality of the ray tracing image, the smaller the value of expression (3), and the effect of the method of the present invention. Grows larger. The system of the present invention is suitable for a hardware configuration in which the memory of the ray tracing processing unit cannot be made very large, for example, a multi-processor configuration. In particular, in the multi-processor configuration, as the parallelism increases, the ratio of the data load to the processing time of the ray tracing processing increases, so that the method of the present invention can achieve a great effect.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の原理ブロック図である。FIG. 1 is a principle block diagram of the present invention.

【図2】本発明の実施例を示すブロック図である。FIG. 2 is a block diagram showing an embodiment of the present invention.

【図3】レイ・トレーシング・プロセッサの構成を示す
ブロック図である。
FIG. 3 is a block diagram showing a configuration of a ray tracing processor.

【図4】レイ・トレーシング演算部における処理を示す
図である。
FIG. 4 is a diagram showing processing in a ray tracing calculation unit.

【図5】レイ・データの構造を示す図である。FIG. 5 is a diagram showing a structure of ray data.

【図6】計算されたレイを格納する領域を説明する図で
ある。
FIG. 6 is a diagram illustrating an area for storing a calculated ray.

【図7】マルチ・プロセッサ構成とした実施例を示す図
である。
FIG. 7 is a diagram showing an embodiment having a multi-processor configuration.

【図8】レイ・トレーシング処理の概念を示す図であ
る。
FIG. 8 is a diagram showing a concept of ray tracing processing.

【図9】初期レイ、反射レイ、屈折レイを示す図であ
る。
FIG. 9 is a diagram showing an initial ray, a reflected ray, and a refracted ray.

【図10】レイ・トレーシングにおける処理の流れを示
す図である。
FIG. 10 is a diagram showing a flow of processing in ray tracing.

【図11】一個のサンプル点における輝度値の算出手法
を示す図である。
FIG. 11 is a diagram showing a method of calculating a luminance value at one sample point.

【図12】従来の処理を示す図である。FIG. 12 is a diagram showing a conventional process.

【符号の説明】[Explanation of symbols]

1 インタフェース機構 2 レイ・トレーシング制御・演
算プロセッサ 3,231 ローカル・メモリ 4,25 加算機能付きメモリ 5,26 CRT制御部 21 外部通信処理・物体データ編
集処理部 22 図形データを格納するメモリ 23 レイ・トレーシング処理装置 23a 制御部 23b 共通バス 23c−1〜23c−n レイ・トレーシング・プロセ
ッサ 24 ピクセル値バス 232 レイ・トレーシング演算部 232a レイ発生処理部 232b 交点探査処理部 232c 影付け処理部 232d 反射輝度計算部 232e オプション処理部
DESCRIPTION OF SYMBOLS 1 Interface mechanism 2 Ray tracing control / arithmetic processor 3,231 Local memory 4,25 Memory with addition function 5,26 CRT control section 21 External communication processing / object data edit processing section 22 Memory for storing graphic data 23 Ray -Tracing processing device 23a Control unit 23b Common bus 23c-1 to 23c-n Ray tracing processor 24 Pixel value bus 232 Ray tracing calculation unit 232a Ray generation processing unit 232b Intersection search processing unit 232c Shadowing processing unit 232d Reflection brightness calculation unit 232e Option processing unit

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 外部データ・ベース、他プロセッサ、も
しくは外部バスとの間のインタフェースを取るインタフ
ェース機構(1) と、 図形データをレイ・トレーシング処理するレイ・トレー
シング制御・演算プロセッサ(2) と、 レイ・トレーシング制御・演算プロセッサ(2) に設けら
れ、図形データ、レイ・データ等を格納するローカル・
メモリ(3) と、 出力インタフェースを介してレイ・トレーシング制御・
演算プロセッサ(2) と接続され、レイ・トレーシング制
御・演算プロセッサ(2) の処理結果を格納する加算機能
を具備した加算機能付きメモリ(4) とを備え、インタフ
ェース機構(1)を介して与えられる図形データをレイ・
レイトーシング処理するレイ・トレーシング処理方式に
おいて、 個々のレイ・データに、そのレイのウエイトと、発生元
のサンプル点に対応する画面上のピクセル位置かアドレ
ス、または、サンプル点が含まれるピクセルの位置かア
ドレスのデータを持たせるとともに、ローカル・メモリ
(3) に、一個のサンプル点から発生し得る全てのレイの
データを格納できる領域を設け、 レイ・トレーシング制御・演算プロセッサ(2) は、レイ
の発生処理において、〔「レイの深さの上限値」−1〕
に対応した値εからε=0までの各εについて、深さε
のレイをもとにして、深さε+1のレイを計算して上記
ローカル・メモリ(3) の今まで別のサンプル点の深さε
のレイ・データが格納されていた領域に格納し、最後に
新しいサンプル点の初期レイのデータを今まで別のサン
プル点を格納していた領域に格納する処理を行い、 ローカル・メモリ(3) の図形データ領域への図形データ
の一回のロードにおいて、異なるサンプル点の異なる深
さのレイに対して、同時にレイ・トレーシング処理を行
って各サンプル点における反射輝度を求め、求めた反射
輝度をレイ・データに含まれる上記ピクセルの位置かア
ドレスに基づき加算機能付きメモリ(4)の対応するアド
レスに格納することにより、図形データのロード回数を
減少させたことを特徴とするレイ・トレーシング処理方
式。
1. An interface mechanism (1) for interfacing with an external data base, another processor, or an external bus, and a ray tracing control / arithmetic processor (2) for ray tracing processing of graphic data. And a ray tracing control / arithmetic processor (2) that stores local data such as graphic data and ray data.
Ray tracing control via memory (3) and output interface
It is connected to the arithmetic processor (2) and has a memory (4) with an addition function equipped with an addition function for storing the processing results of the ray tracing control / arithmetic processor (2), and via the interface mechanism (1). The graphic data given
In the ray-tracing method that performs ray-tosing processing, each ray data contains the weight of that ray and the pixel position or address on the screen that corresponds to the sample point of the origin, or the position of the pixel containing the sample point. Or address data and local memory
In (3), an area that can store the data of all rays that can be generated from one sample point is provided.The ray tracing control / arithmetic processor (2) Upper limit value "-1]
For each ε from ε to ε = 0 corresponding to
Based on the ray of, the ray of depth ε + 1 is calculated and the depth ε of another sampling point of the local memory (3) is
Data is stored in the area where the sample ray data was stored, and finally the data of the initial ray of the new sample point is stored in the area that previously stored another sample point, and the local memory (3) In the one-time loading of the figure data to the figure data area, the ray tracing processing is performed simultaneously for the rays with different depths at different sample points to obtain the reflected luminance at each sample point, and the obtained reflected luminance The ray tracing is characterized in that the number of times of loading the figure data is reduced by storing in the corresponding address of the memory (4) with the addition function based on the position or address of the pixel included in the ray data. Processing method.
【請求項2】 図形データをレイ・トレーシング処理す
るレイ・トレーシング制御・演算(2) プロセッサを、 レイ・トレーシング処理を制御するレイ・トレーシング
制御プロセッサと、ローカル・メモリを備えた複数のレ
イ・トレーシング演算プロセッサと、レイ・トレーシン
グ制御プロセッサと複数のレイ・トレーシング演算プロ
セッサとの間に設けられた共通バス/インタフェース機
構とから構成したことを特徴とする請求項1のレイ・ト
レーシング処理方式。
2. A plurality of ray tracing control / calculation (2) processors for ray tracing processing of graphic data, a ray tracing control processor for controlling ray tracing processing, and a plurality of local memories. 2. A ray tracing arithmetic processor according to claim 1, and a common bus / interface mechanism provided between the ray tracing control processor and a plurality of ray tracing arithmetic processors. -Tracing method.
JP4325495A 1992-12-04 1992-12-04 Ray tracing processing system Withdrawn JPH06176167A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4325495A JPH06176167A (en) 1992-12-04 1992-12-04 Ray tracing processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4325495A JPH06176167A (en) 1992-12-04 1992-12-04 Ray tracing processing system

Publications (1)

Publication Number Publication Date
JPH06176167A true JPH06176167A (en) 1994-06-24

Family

ID=18177519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4325495A Withdrawn JPH06176167A (en) 1992-12-04 1992-12-04 Ray tracing processing system

Country Status (1)

Country Link
JP (1) JPH06176167A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100372901B1 (en) * 2000-06-20 2003-02-19 김세현 Ray-tracing acceleration method using ZF-buffer
KR100843292B1 (en) * 2006-12-15 2008-07-03 연세대학교 산학협력단 Apparatus and Method for Ray Tracing Using Lookup Table
JP2013065100A (en) * 2011-09-15 2013-04-11 Canon Inc Image processing apparatus and image processing method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100372901B1 (en) * 2000-06-20 2003-02-19 김세현 Ray-tracing acceleration method using ZF-buffer
KR100843292B1 (en) * 2006-12-15 2008-07-03 연세대학교 산학협력단 Apparatus and Method for Ray Tracing Using Lookup Table
JP2013065100A (en) * 2011-09-15 2013-04-11 Canon Inc Image processing apparatus and image processing method

Similar Documents

Publication Publication Date Title
CN102663799B (en) Method and device for creation of a playable scene with an authoring system
JP3478568B2 (en) Image data processing method and apparatus
KR910009101B1 (en) Image synthesizing apparatus
US5357599A (en) Method and apparatus for rendering polygons
JP3095751B2 (en) Method to obtain radiation image
US7924287B2 (en) Method and system for minimizing an amount of data needed to test data against subarea boundaries in spatially composited digital video
US7362332B2 (en) System and method of simulating motion blur efficiently
US20080106549A1 (en) Omnidirectional shadow texture mapping
EP0391572A2 (en) Method for employing a hierarchical display list in global rendering
JPH10510074A (en) Image composition
JPH06215151A (en) Method and device for processing image data
JPH05114032A (en) Shadow testing method in three-dimensional graphics
JPH0727579B2 (en) Graphics processing device and method and pixel memory device
JPH06203179A (en) Image data processing method and device therefor
CN111788608A (en) Hybrid ray tracing method for modeling light reflection
US6972758B2 (en) Methods and apparatus for rendering an image including portions seen through one or more objects of the image
US5745667A (en) 3d graphics apparatus using texture images with displacement information
US6366283B1 (en) Generating image data
CN115701305A (en) Shadow screening
US20210183129A1 (en) Graphics processing
Haines An introductory tour of interactive rendering
JPH06176167A (en) Ray tracing processing system
US5926183A (en) Efficient rendering utilizing user defined rooms and windows
Reinhard et al. Environment mapping for efficient sampling of the diffuse interreflection
KR20000023605A (en) Spotlight characteristic forming method and image processor using the same

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000307