JPH0821087B2 - Three-dimensional shadow image generation processing method - Google Patents

Three-dimensional shadow image generation processing method

Info

Publication number
JPH0821087B2
JPH0821087B2 JP61232436A JP23243686A JPH0821087B2 JP H0821087 B2 JPH0821087 B2 JP H0821087B2 JP 61232436 A JP61232436 A JP 61232436A JP 23243686 A JP23243686 A JP 23243686A JP H0821087 B2 JPH0821087 B2 JP H0821087B2
Authority
JP
Japan
Prior art keywords
calculation step
arithmetic units
arithmetic
outputs
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP61232436A
Other languages
Japanese (ja)
Other versions
JPS6386079A (en
Inventor
嘉章 玉村
英司 三ツ矢
高明 秋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP61232436A priority Critical patent/JPH0821087B2/en
Publication of JPS6386079A publication Critical patent/JPS6386079A/en
Publication of JPH0821087B2 publication Critical patent/JPH0821087B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

(発明の属する技術分野) 本発明は、数値で表わされた3次元物体の形状データ
に基づき、3次元的な陰影画像を生成する処理方法に関
するものである。 (従来の技術) 近年、数値で表わされた3次元物体の形状データをも
とに、計算機を用いた数値計算により、任意の位置から
これを観測した3次元的な陰影画像を作成する技術が注
目されている。これは、各種産業や工業における商品の
設計やシミュレーションなどの有効な手段として、ある
いはTV放送や映画のための効果的な映像作成手段とし
て、利用されるようになっている。 しかし、物体の形状データから陰影画像を作成するた
めには、膨大な数値演算処理が必要であり、処理時間が
かかり過ぎたり、高速の大型計算機を使用する必要があ
るなどの問題があった。この種の問題は、上記の商品の
設計や映像作成を行う際の作業の能率の低下や、設備コ
ストを高くする大きな要因ともなっている。 最近の計算機を中心としたハードウェア技術の発達に
伴い、この種の処理を高速に実行する3次元陰影画像生
成装置が開発されている。特に簡便な処理方法に基づい
て陰影画像を高速に生成する装置は、急速に実用化が進
んでおり、低価格で利用できるようになってきた。 例えば、CAD,CAMの分野で使用されるワークステーシ
ョンでも、データの入力と共に陰影画像の生成・表示が
可能となっている。 従来の多くの装置は、デップス・バッファ法やキャン
ライン法と呼ばれている画像生成処理法を採用してい
る。これらの手法は、必要な処理量が比較的少なく、高
速に画像を生成することが可能であるが、物体形状が限
定されたり、反射や屈折等の光学現像できない等の欠点
を持っている。 よりリアルで精密な陰影画像生成法として、光線追跡
法と呼ばれる処理方法がある。この手法によれば、上記
手法の欠点のない画像を生成することができるが、作成
すべき画像の各画素から出る仮想的な光線が物体と交わ
る点を探索して、当該画素の明るさを計算するため、上
記手法に比べ桁違いの演算量が必要となる。 従来より、上記の光線追跡法を高速に実行することを
目的とした専用装置が、研究・開発されている。この種
の装置の構成を大別すると、多数のマイクロプロセッサ
を並列に接続した構成や、浮動小数点演算専用LSIを用
いて高速演算を可能にした構成がある。しかし、前者の
装置では個々のプロセッサの能力が小さいため、処理を
高速にするには多くのプロセッサを用いる必要があり、
装置の規模が大きくなるという問題がある。また、後者
の装置では、浮動小数点演算LSIにより、演算を高速に
実行することが可能である。しかし、このためには、演
算に使用する物体形状データの設定や演算結果の判定等
の処理もまた高速に行う必要があるが、浮動小数点演算
器とこの種の処理を行うプロセッサとの結合が不充分
で、必ずしも全体として高速演算が可能にならないとい
う問題があった。 (発明の目的) 本発明は、リアルで精密な陰影画像を高速で生成する
ことができる光線追跡処理等の高速処理を可能にするた
め、処理ユニットを並列に接続したマルチプロセッサ構
成をとる構成とし,4個の浮動小数点演算器の間で各演算
器に高速にデータを転送するようにしたものであり、そ
の目的は、上記陰影画像生成処理で煩雑に現れる3次元
ベクトルの演算や行列演算を前記4個の浮動小数点演算
器により並列に実行すると共に、前記算術論理演算器に
より演算結果の判定等の処理を実行することにより、高
速に3次元陰影画像生成処理を行うことにある。 (発明の構成及び作用) 第1図は、複数の処理ユニットを並列に接続したマル
チプロセッサ構成をとる3次元陰影画像生成装置の構成
例である。当該マルチプロセッサ装置の構成は、特別に
高速なデバイスを用いずに膨大な処理を並列に行うこと
のできる構成法として既知であって、例えば、前述の従
来の装置も同様な構成がとられている。 第1図において、PUはプロセッサユニットであって、
システムバス10に接続されそれぞれ独立に処理を行う処
理ユニットである。 また、DCは各プロセッサユニットPUで作成した画像デ
ータを収集するためのデータコレクタであり、DMは集め
られた画像データを記憶しこれをディスプレイに表示す
るためのディスプレイメモリ、CRTは画像を表示するデ
ィスプレイ装置、MPは装置全体を制御する主制御部であ
る。 一般にこのように構成された装置を動作させるには、
最初に主制御部MPから各プロセッサユニットPUに対し
て、画像生成に使用する物体形状データと必要な処理プ
ログラムをロードする。 次いで各々のプロセッサユニットPUは、上記ロードさ
れたプログラムとデータに従って画像を作成し、データ
コレクタDCを介してディスプレイメモリDMに画像データ
を転送することにより、ディスプレイに画像を表示す
る。各々のプロセッサユニットPUは、それぞれ画面の一
部分の作成を分担し、同時に画像生成を実行する。 このように構成された装置において、画像生成を高速
に行うには、プロセッサユニットの数を多くする方法
と、個々のプロセッサユニットの処理能力を向上させる
方法がある。しかし、前者では装置の規模が膨大とな
り、その制御も難しくなるという問題があるため、プロ
セッサユニットの数をむやみに増加させることは現実的
ではない。後者の方法は、装置全体の規模も小さくてす
み、各種LSIの高機能化が進んでいる昨今においては、
より現実的な方法である。 第2図は、本発明の一実施例であって、第1図のマル
チプロセッサ構成をとった3次元陰影画像生成装置に適
用するプロセッサユニットPUの構成例である。 図において、IFはシステムバス10とのインタフェース
部、DBM#1〜#4は画像生成処理に使用する物体形状
データや処理パラメータを格納するデータメモリ、FPU
#1〜#3は浮動小数点演算ユニット、FAPU浮動小数点
演算器と算術論理演算器を並列に結合した演算ユニッ
ト、20はDBM#1〜#4とFPU#1〜#3およびFAPUを結
合する高速データバス、DCは演算器で作成した画像デー
タを収集して第1図のディスプレイメモリDMに書き込む
ためのデータコレクタ、WCSは各演算ユニットやメモ
リ、論理回路を制御するための命令を格納するプログラ
ムメモリ、SEQはプログラムメモリWCSに格納された命令
を取り出すシーケンサ、ADGはSEQによって取り出された
命令のうち、メモリアドレス指定命令からDBMの物理ア
ドレスを生成するアドレス生成器である。 第2図のプロセッサユニットに対して、前記の如く第
1図の主制御部MPより、システムバス10とバスインタフ
ェース部IFを介して、プログラムメモリWCSに処理プロ
グラムが、またデータメモリDBMに画像生成に必要な3
次元物体形状データと観測位置等の処理パラメータがそ
れぞれロードされる。 この後、プログラムメモリWCSの予め定められた場所
からシーケンサSEQにより順次命令を取り出し、当該命
令に従って各部を制御し、処理を実行することとなる。 第3図は第2図における演算部、即ち、浮動小数点演
算ユニットFPU#1〜#3および浮動小数点演算器と算
術論理演算器を並列に結合した演算ユニットFAPUの具体
的構成例を示したものである。 第3図においてFPP#1〜#4は浮動小数点演算器、A
LUは算術論理演算器、MPXは多数のデータの一つを選択
するデータマルチプレクサ、REG#1〜#4は演算デー
タを記憶するデータレジスタ、LUTは平方根や三角関数
等の関数を高速に計算するためのパラメータを格納した
参照テーブルである。 第3図に示すように、3個の浮動小数点演算部FPP#
1〜#3のそれぞれの入力端子には、データレジスタの
出力と、隣接する浮動小数点演算器の出力がデータマル
チプレクサMPXを介してたすきがけ状に接続されてい
る。 即ち、FPP#1の出力をFPP#2および#3に、FPP#
2の出力をFPP#1および#3に、FPP#3の出力をFPP
#2および#1に、それぞれ入力することができるよう
にたすきがけ状に接続されている。 また、FPP#4と算術論理演算器ALUは並列に接続され
ており、上記3個の浮動小数点演算器FPP#1〜#3の
出力がデータマルチプレクサMPXを介して入力端子に接
続されると共に、当該演算器の組の出力はFPP#1〜#
3の入力端子にデータマルチプレクサMPXを介して接続
されている。 演算部がこのように構成されており、かつそれぞれの
演算部が独立に動作するから、例えば、浮動小数点演算
器FPP#1〜#4を用いれば、4種類の浮動小数点演算
を並列に行ったり、たすきがけ接続を利用したパイプラ
イン演算を効率的に行うことができる。このような動作
は3次元画像生成処理に多く現れる座標変換処理等を効
率的に行うのに適している。例えば、
TECHNICAL FIELD The present invention relates to a processing method for generating a three-dimensional shadow image based on shape data of a three-dimensional object represented by numerical values. (Prior Art) In recent years, a technique for creating a three-dimensional shadow image by observing it from an arbitrary position by numerical calculation using a computer based on the shape data of a three-dimensional object represented by numerical values. Is attracting attention. This has come to be used as an effective means for designing and simulating products in various industries and industries, or as an effective image creating means for TV broadcasting and movies. However, in order to create a shadow image from the shape data of an object, enormous numerical calculation processing is required, and there are problems that the processing time is too long and a high-speed large computer is required. This kind of problem is also a major factor in lowering the efficiency of the work when designing the above-mentioned products and creating images and increasing the equipment cost. Along with the recent development of hardware technology centering on computers, a three-dimensional shadow image generation apparatus that executes this kind of processing at high speed has been developed. An apparatus for generating a shadow image at a high speed based on a particularly simple processing method has been rapidly put into practical use and can be used at a low price. For example, a workstation used in the fields of CAD and CAM can also generate and display a shadow image while inputting data. Many conventional devices employ image generation processing methods called depth buffer method and canline method. These methods require a relatively small amount of processing and can generate images at high speed, but have drawbacks such as limited object shape and optical development such as reflection and refraction. As a more realistic and accurate shadow image generation method, there is a processing method called a ray tracing method. According to this method, it is possible to generate an image that does not have the drawbacks of the above method, but search for the point where the virtual ray emitted from each pixel of the image to be created intersects with the object and determine the brightness of the pixel. Since the calculation is performed, an order of magnitude more calculation is required as compared with the above method. 2. Description of the Related Art Conventionally, research and development has been conducted on a dedicated device intended to execute the above ray tracing method at high speed. The configuration of this type of device is roughly classified into a configuration in which a large number of microprocessors are connected in parallel, and a configuration in which high-speed computation is possible by using a floating-point arithmetic dedicated LSI. However, in the former device, since the capacity of each processor is small, it is necessary to use many processors to speed up processing.
There is a problem that the scale of the device becomes large. In the latter device, the floating-point arithmetic LSI can execute the arithmetic operation at high speed. However, for this purpose, it is necessary to perform high-speed processing such as setting of the object shape data used for the calculation and judgment of the calculation result. However, the combination of the floating point arithmetic unit and the processor for performing this type of processing is required. There was a problem that it was not sufficient and high-speed calculation was not always possible as a whole. (Object of the Invention) The present invention has a multiprocessor configuration in which processing units are connected in parallel in order to enable high-speed processing such as ray tracing processing capable of generating a real and precise shadow image at high speed. The data is transferred at high speed among the four floating point arithmetic units to each arithmetic unit, and its purpose is to perform the three-dimensional vector arithmetic operation and matrix arithmetic operation that appear intricately in the above-mentioned shadow image generation processing. The four floating-point arithmetic units are executed in parallel, and the arithmetic logic unit is used to perform processing such as determination of arithmetic results, thereby performing high-speed three-dimensional shadow image generation processing. (Structure and Operation of the Invention) FIG. 1 is a structural example of a three-dimensional shadow image generation device having a multiprocessor structure in which a plurality of processing units are connected in parallel. The configuration of the multiprocessor device is known as a configuration method capable of performing enormous amounts of processing in parallel without using a specially high-speed device. For example, the conventional device described above has a similar configuration. There is. In FIG. 1, PU is a processor unit,
A processing unit that is connected to the system bus 10 and performs processing independently. DC is a data collector for collecting the image data created by each processor unit PU, DM is a display memory for storing the collected image data and displaying it on the display, and CRT is for displaying the image. The display device and MP are main control units that control the entire device. Generally, to operate a device configured in this way,
First, the main control unit MP loads object shape data used for image generation and a necessary processing program to each processor unit PU. Next, each processor unit PU creates an image according to the loaded program and data, and transfers the image data to the display memory DM via the data collector DC to display the image on the display. Each processor unit PU shares the creation of a part of the screen, and simultaneously executes image generation. In the apparatus configured as described above, in order to perform image generation at high speed, there are a method of increasing the number of processor units and a method of improving the processing capability of each processor unit. However, in the former case, there is a problem that the scale of the device becomes enormous and its control becomes difficult, so it is not realistic to unnecessarily increase the number of processor units. With the latter method, the scale of the entire device can be small, and with the recent advancement in the functionality of various LSIs,
This is a more realistic method. FIG. 2 is an embodiment of the present invention, and is an example of the configuration of a processor unit PU applied to the three-dimensional shadow image generating apparatus having the multiprocessor configuration of FIG. In the figure, IF is an interface with the system bus 10, DBMs # 1 to # 4 are data memories for storing object shape data and processing parameters used for image generation processing, and FPU.
# 1 to # 3 are floating-point arithmetic units, FAPU floating-point arithmetic units and arithmetic units that are connected in parallel, and 20 is a high-speed unit that connects DBM # 1 to # 4 and FPUs # 1 to # 3 and FAPU. Data bus, DC is a data collector for collecting the image data created by the arithmetic unit and writing it in the display memory DM shown in FIG. 1, WCS is a program for storing instructions for controlling each arithmetic unit, memory and logic circuit. A memory, SEQ is a sequencer for fetching instructions stored in the program memory WCS, and ADG is an address generator for generating a physical address of DBM from a memory addressing instruction among the instructions fetched by SEQ. For the processor unit of FIG. 2, as described above, the main control unit MP of FIG. 1 generates a processing program in the program memory WCS and an image in the data memory DBM via the system bus 10 and the bus interface unit IF. 3 required for
The three-dimensional object shape data and processing parameters such as observation positions are loaded. After that, the sequencer SEQ sequentially fetches instructions from a predetermined location of the program memory WCS, controls each unit according to the instructions, and executes the processing. FIG. 3 shows a specific configuration example of the arithmetic unit in FIG. 2, that is, the arithmetic unit FAPU in which the floating point arithmetic units FPU # 1 to # 3 and the floating point arithmetic unit and the arithmetic logic arithmetic unit are connected in parallel. Is. In FIG. 3, FPPs # 1 to # 4 are floating point arithmetic units, A
LU is an arithmetic logic unit, MPX is a data multiplexer that selects one of many data, REG # 1 to # 4 are data registers that store the operation data, and LUT is a function that calculates functions such as square root and trigonometric functions at high speed. Is a reference table that stores parameters for As shown in FIG. 3, three floating point arithmetic units FPP #
The output of the data register and the output of the adjacent floating-point arithmetic unit are connected to each of the input terminals 1 to # 3 via the data multiplexer MPX. That is, the output of FPP # 1 is output to FPP # 2 and # 3, and the output of FPP #
2 output to FPP # 1 and # 3, FPP # 3 output to FPP
# 2 and # 1 are connected in a cross-shaped fashion so that they can be input. Further, the FPP # 4 and the arithmetic logic operation unit ALU are connected in parallel, and the outputs of the three floating point arithmetic units FPP # 1 to # 3 are connected to the input terminals via the data multiplexer MPX, and The output of the set of arithmetic units is FPP # 1 to #
It is connected to the input terminal 3 of 3 via the data multiplexer MPX. Since the arithmetic units are configured in this way and each of the arithmetic units operates independently, for example, if the floating point arithmetic units FPP # 1 to # 4 are used, four types of floating point arithmetics can be performed in parallel. , It is possible to efficiently perform pipeline operation using the Tasukuge connection. Such an operation is suitable for efficiently performing coordinate conversion processing, which often appears in three-dimensional image generation processing. For example,

【X′Y′Z′W′】=[X'Y'Z'W '] =

【X Y Z W】[X Y Z W]

【T】
(1) は、同次座標上の点(X,Y,Z,W)を、4行4列の変換行
[T]
(1) is a 4-by-4 transformation matrix for points (X, Y, Z, W) on homogeneous coordinates

【T】により、点(X′,Y′,Z′,W′)に変換する同
次座標変換である。 これを第3図の演算部で実行する場合の処理ステップ
を第4図に示す。ただし、計算に使用する座標値(X,Y,
Z,W)及び変換行列
It is a homogeneous coordinate transformation that transforms into points (X ', Y', Z ', W') by [T]. FIG. 4 shows the processing steps when this is executed by the arithmetic unit of FIG. However, the coordinate values (X, Y,
Z, W) and transformation matrix

【T】の要素Tij(i,j=1〜4)は
予め各演算器のデータレジスタREG#1〜#4に格納さ
れているものとした。 式(1)を計算するには、16回の乗算と12回の加算が
必要であるが、第3図の演算部によれば第4図に示す如
く、これを12ステップで行うことができる。従って、逐
次処理を行う汎用計算機に比べで、半分以下のステップ
(1)式が計算できることになる。即ち、もし1ステッ
プ当りに必要な演算時間が同じでも、汎用計算機に比べ
て倍以上の高速演算が可能になる。 ここで、第4図は第3図の演算部により同次座標変換
処理の演算過程を示す図であり、第4図のaは演算器の
データレジスタの内容、bは実行演算ステップを示す。 次に、代表的な3次元陰影画像生成処理手法である光
線追跡法について簡単に説明する。光線追跡法は既知で
あり、その処理の概要は第5図および第6図に示すとお
りである。 まず、第5図において、観測する視点Vpと仮想的な画
面Sを定める。 次に、視点Vpと仮想画面S上の1点Pを通りベクトル
(これを光線ベクトルと呼ぶ)を定める。次に、第5
図および第6図のように、このベクトルが3次元物体O
と交わるかどうかを調べ、交わればその交点Qを求め
る。複数の物体について交点Qが存在すれば、そのうち
最も視点に近い交点Qから光源Lへのベクトル′と物
体が交差しないかどうかを調べ、交差しなければ物体の
反射率等を用いて交点Qの輝度を計算する。 以上の処理を仮想画面S上のすべての点について繰り
返す。 以上の光線追跡法の処理では、3次元ベクトル演算等
が多く含まれている。特に、光線ベクトルと物体Oの
交差判定を行い、交点Qを算出する処理は、物体の数お
よび作成する画面の画素数に比例した回数だけ繰り返す
必要があるため、最も多くの演算を必要とする。この種
の処理を第3図の演算部で行う場合の動作について説明
する。 光線ベクトルはtを媒介変数として、視点Vpから画
面上の点への単位方向ベクトルと、視点Vpの位置ベ
クトルを用いて次式で表わされる。 =*t+ (2) まず、物体Oが次式で表わされる平面であるとする。 a*X+b*Y+c*Z+d=O (3) 式(2),(3)より光線と物体との交点Qは、次式を
満足するtqで与えられる。 tq=−(a*Vx+b*Vy+c*Vz+d)/ (a*Ux+b*Uy+c*Uz) (4) ただし、(Ux,Uy,Uz),(Vx,Vy,Vz)はそれぞれ単位ベ
クトルおよび視点Vpの位置ベクトルの要素を表わ
す。 第4図と同様に、第3図の演算部によれば、(4)式
の分母および分子の計算をそれぞれ3ステップで行うこ
とができる。しかし、(4)式の割り算は浮動小数点演
算器で直接計算できないので、第3図の浮動小数点演算
器FPP#4がもつ参照テーブルLUTを利用して分母の逆数
を計算し、この結果と分子の積を求めることにより計算
することになる。逆数計算には数ステップ必要である
が、それでも式(4)は約12ステップで計算できる。 式(4)で表わされる平面のみでは曲面物体を表わす
ことが困難であるため、多様な物体形状を表現するため
に、物体を以下の式で表わされる2次曲面の組み合わせ
で表現することが多く行われている。 ここで、(X,Y,Z)は曲面上の3次元座標、mij(i,j=
1,2,3)は曲面方程式の係数行列要素である。式(5)
で表わされる2次曲面と光線ベクトルとの交点Qの座標
(*tq+)は、式(1)の光線ベクトルの方程式を
式(5)に代入して得られる次式を満足する変数tqを求
めることにより計算できる。 Atq2=2Btq+C=O (6) ただし、方程式(6)の係数A,B,Cは次式で与えられ
る。 A=m11*Ux2+m22*Uy2+m33*Uz2+ 2*(m12*Ux*Uy+m33*Uy*Uz+m31*Uz*Ux)
(7) B=(m11*Ux*Vx+m22*Uy*Vy+m33*Uz*Vz)+ (m12*Ux*Vy+m23*Uy*Vz+m13*Uz*Vx)+ (m12*Uy*Vx+m23*Uz*Vy+m13*Ux*Vz)
(8) C=m11*Vx2+m22*Vy2+m33*Vz2+ 2*(m12*Vx*Vy+m23*Vy*Vz+m31*Vz*Vx)
−2 (9) 以上より、光線ベクトルが2次曲面物体と交差する条
件は、tqに関する2次方程式(6)が実根をもつことで
ある。即ち、次式が成り立てば、交点が存在することに
なる。 D=B2−A*C≧O (10) 詳細な演算過程は省略するが、第3図の演算部のレジス
タREGに演算パラメータがセットされていれば、FPP#1
〜#3を用いて、式(7)からAの算出に8ステップ、
式(8),(9)からB,Cの算出にそれぞれ9ステッ
プ、計26ステップで2次方程式(6)の係数A,B,Cが計
算できる。その結果から式(10)を2ステップ計算でき
るから、結局28ステップで2次曲面で表わされた物体と
計線ベクトルとの交差判定を行うことができることにな
る。従ってこの場合も、逐次処理型の汎用計算機に比べ
て半分以下のステップで計算できることとなる。 また、以上の処理は第3図の浮動小数点演算器FPP#
1〜#3のみを用いて行うことができるので、この動作
を行っている間に、算術論理演算器ALUを上記演算に必
要なデータをデータメモリから取り出し、各演算器のデ
ータレジスタに格納するよう動作させれば、メモリから
レジスタへのデータロード等の命令実行時間を無視する
ことができるように動作させることができる。 従って、実際の処理時間は、汎用計算機等と比べて数
分の1以下にすることができる。 以上は第2図および第3図のプロセッサユニットによ
り、光線追跡法による3次元陰影画像生成処理を行った
場合の主要な動作であるが、他の3次元陰影画像生成処
理手法を適用する際にも、式(1)で示される座標変換
等の処理を行うために、この種の処理を高速に実行する
ことができることになる。 以上、第3図の演算部の代表的な動作を説明したが、
これらの動作は演算に使用するデータをデータレジスタ
内に格納した後のものであった。 一般には多数の物体を含む情景を対象とすることが多
いため、第2図に示したように、演算に必要な3次元形
状データ等を格納する大容量のデータメモリを設ける必
要がある。 従って、この種のデータメモリから演算に必要なデー
タを取り出し、これを第3図の演算部のデータレジスタ
に移す処理をも高速に行うことが必要になる。 これを解決するために、第2図におけるデータメモリ
DBMと各演算ユニットを結ぶ高速データバス20は、デー
タメモリDBM#1〜#4と演算ユニットの間でデータを
並列に一括転送できるように構成されている。 一方データメモリにはメモリアドレスが付与されてお
り、このアドレスにより該当するデータ格納領域を指定
することにより、該当領域にデータを書き込み又は読み
出しが可能になる。この種の装置を動作させるための処
理プログラムでは、プログラム作成の容易さ等の点か
ら、データメモリ内の領域を相対変位アドレス値により
指定するのが望ましい。従って、これをデータメモリの
物理アドレスに変換することが必要になる。 第7図は、第2図におけるアドレス生成器ADGの実施
例であって、プロセッサユニットのプログラムメモリWC
S内に格納された処理プログラムに含まれているデータ
メモリDBMのアドレス命令を解読し、これをデータメモ
リDBMの物理アドレスに変換する機能を有するものであ
る。 図において、WCSおよびSEQはそれぞれ第2図に示した
プログラムメモリおよびプログラムシーケンサ、命令レ
ジスタは実行すべき命令を格納するレジスタであり、ベ
ースアドレスレジスタは基底アドレス値を格納するレジ
スタ、インデックスレジスタは基底アドレスからの相対
アドレス値を格納するレジスタ、アトリビュートレジス
タはアドレス生成の条件(一次元アクセスか2次元アク
セスかの指定、およびアクセス単位の指定等)を指定す
るパラメータ値を格納するレジスタ、SUMは加算回路、M
UXはデータマルチプレクサである。 また、2次元アドレス生成回路はアトリビュートレジ
スタで2次元アクセスが指定された時に、(x,y)の2
次元で指定される相対アドレスを1次元アドレスに変換
する回路であり、バイトアドレス生成回路はアトリビュ
ートレジスタで指定されたアドレス単位をもトにバイト
アドレスを生成する回路である。 このように構成されているので、プログラムメモリWC
Sから抽出した命令中の相対変位アドレス値DAは、以下
のようにデータメモリの物理バイトアドレス値AAに変換
される。 即ち、アトリビュートレジスタにより1次元アクセス
指定が行われているとき、 AA=(IR+DA)*n+BR (11) となる。 ただし、IRはインデックスレジスタ内の相対アドレス
値、BRベースレジスタ内の基底アドレス値、nはアドレ
ス単位を示す2の巾乗の整数で、例えばn=4であれば
4バイト単位のアクセスを示す。 また、2次元アクセス指定の場合には、 AA=[{IR(x)+DA(x)}+{IR(y)+DA
(y)}*N]*n+BR (12) によりデータメモリの物理バイトアドレスが生成され
る。 ここで、IR(x),IR(y)はインデックスレジスタ
で示されるx方向の相対アドレス値とy方向の相対アド
レス値であって、例えばインデックスレジスタが32ビッ
トのとき、上位16ビットをyアドレス、下位16ビットを
xアドレスの如く定める。 同様に、DA(x),DA(y)は命令レジスタ内の相対
変位アドレスのx方向相対変位アドレス値および方向相
対変位アドレス値である。 また、Nはx方向の大きさを定める正の整数で、一般
には2の巾乗の整数が選択される。 以上のように、ベースアドレスレジスタ、アトリビュ
ートレジスタおよびインデックスレジスタに、それぞれ
基底アドレスBR、アクセス種別とアドレス単位n、N、
および相対アドレスIRを予め格納しておくことにより、
その後処理プログラム内で命令を相対変位アドレスDAで
表わすのみで、条件に応じたデータメモリの物理アドレ
スを生成することができる。 しかも、本アドレス生成器は簡単な論理回路のみで構
成できるため、上記アドレス計算を高速に実行すること
ができる。例えば、これを汎用的な算術論理演算器で行
う場合に比べて、1/3〜1/6程度の時間でアドレス計算を
行うことも可能になる。 なお、上記2次元アドレス計算により、表形式で表さ
れたデータや、2次元画像データをx,y方向の位置の指
定のみでアクセスすることができるので、これらのデー
タの高速アクセスに極めて有効である。 (発明の効果) 以上説明したように、本発明によれば3次元陰影画像
生成処理に大量に含まれる3次元ベクトル演算や行列演
算などを、3個または4個の浮動小数点演算器により並
列またはパイプライン的に実行することができ、さらに
データメモリに格納された物体形状等のデータのうち、
演算に使用するデータのメモリアドレス生成器により高
速に生成し、高速データバスを介して該当するデータを
上記演算器に供給することができるため、上記浮動小数
点演算器の使用効率を落とすことなく、画像生成処理を
実行することができるという特徴がある。 従って、反射や屈折等の光学的性質を疑似することの
できる光線追跡法による現実感のある3次元陰影画像の
生成処理の大幅な高速化を行うことできるほか、他の簡
易な手法を用いた画像生成処理をもより高速に行うこと
ができる。 これにより、マルチプロセッサ構成をとる装置におい
て、望ましい処理能力を得るために必要となる処理ユニ
ットの数を大幅に減少させることができるため、装置の
小型化や制御の容易さが図れるという利点もある。 また、本発明におけるプロセッサユニットは、特殊な
素子を使用しておらず、浮動小数点演算器や算術論理演
算器等の素子には、一般の汎用的なLSIを用いることが
できるため、将来においてこの種のLSIがより高性能に
なっても、本発明の構成を大きく変更することなくこれ
らの素子を適用して、より高性能化を図ることができ
る。あるいはまた、最近のより高度なLSI技術を用い
て、上記プロセッサユニットの演算部やアドレス生成器
等の一部又は全部をLSIとし、より小型で高機能な装置
とすることもできよう。
It is assumed that the elements T ij (i, j = 1 to 4) of [T] are stored in advance in the data registers REG # 1 to # 4 of each arithmetic unit. To calculate the equation (1), 16 multiplications and 12 additions are required, which can be performed in 12 steps as shown in FIG. 4 according to the arithmetic unit of FIG. . Therefore, as compared with a general-purpose computer that performs sequential processing, half or less of step (1) can be calculated. That is, even if the calculation time required for one step is the same, high-speed calculation more than double that of a general-purpose computer becomes possible. Here, FIG. 4 is a diagram showing a calculation process of the homogeneous coordinate conversion processing by the calculation unit of FIG. 3, a in FIG. 4 shows the contents of the data register of the calculator, and b shows the execution calculation step. Next, a ray tracing method, which is a typical three-dimensional shadow image generation processing method, will be briefly described. The ray tracing method is known, and the outline of the processing is as shown in FIGS. 5 and 6. First, in FIG. 5, a viewpoint V p to be observed and a virtual screen S are defined. Next, a vector (this is called a ray vector) is defined through the viewpoint V p and one point P on the virtual screen S. Next, the fifth
As shown in FIGS. 6 and 6, this vector is a three-dimensional object O
If it intersects, the intersection point Q is obtained. If intersections Q exist for a plurality of objects, it is checked whether the object does not intersect the vector 'from the intersection Q closest to the viewpoint to the light source L, and if they do not intersect, the reflectance of the objects is used to determine the intersection Q. Calculate the brightness. The above process is repeated for all points on the virtual screen S. The above ray tracing method processing includes many three-dimensional vector operations and the like. In particular, the process of determining the intersection between the ray vector and the object O and calculating the intersection Q needs to be repeated the number of times proportional to the number of objects and the number of pixels of the screen to be created, and thus requires the most calculation. . The operation when this type of processing is performed by the arithmetic unit of FIG. 3 will be described. The ray vector is expressed by the following equation using a unit direction vector from the viewpoint V p to a point on the screen and a position vector of the viewpoint V p with t as a parameter. = * T + (2) First, it is assumed that the object O is a plane represented by the following equation. a * X + b * Y + c * Z + d = O (3) From equations (2) and (3), the intersection Q between the ray and the object is given by tq that satisfies the following equation. tq =-(a * Vx + b * Vy + c * Vz + d) / (a * Ux + b * Uy + c * Uz) (4) where (Ux, Uy, Uz) and (Vx, Vy, Vz) are the unit vector and the viewpoint V p, respectively. Represents the elements of the position vector of. Similar to FIG. 4, the arithmetic unit of FIG. 3 can perform the denominator and the numerator of equation (4) in three steps. However, since the division of equation (4) cannot be calculated directly by the floating point arithmetic unit, the reciprocal of the denominator is calculated using the reference table LUT of the floating point arithmetic unit FPP # 4 in FIG. It will be calculated by finding the product of Although the reciprocal calculation requires several steps, the equation (4) can be calculated in about 12 steps. Since it is difficult to represent a curved surface object only by the plane represented by Expression (4), in order to represent various object shapes, the object is often represented by a combination of quadric surfaces represented by the following expression. Has been done. Where (X, Y, Z) are three-dimensional coordinates on the curved surface, and m ij (i, j =
1,2,3) are coefficient matrix elements of the surface equation. Equation (5)
The coordinate (* tq +) of the intersection Q between the quadric surface and the ray vector represented by is obtained by substituting the equation of the ray vector of the equation (1) into the equation (5), and obtains a variable tq satisfying the following equation. It can be calculated by Atq 2 = 2Btq + C = O (6) However, the coefficients A, B, and C of the equation (6) are given by the following equations. A = m11 * Ux 2 + m22 * Uy 2 + m33 * Uz 2 + 2 * (m12 * Ux * Uy + m33 * Uy * Uz + m31 * Uz * Ux)
(7) B = (m11 * Ux * Vx + m22 * Uy * Vy + m33 * Uz * Vz) + (m12 * Ux * Vy + m23 * Uy * Vz + m13 * Uz * Vx) + (m12 * Uy * Vx + m23 * Uz * Vy + m13 * Ux * Vz)
(8) C = m11 * Vx 2 + m22 * Vy 2 + m33 * Vz 2 + 2 * (m12 * Vx * Vy + m23 * Vy * Vz + m31 * Vz * Vx)
-2 (9) From the above, the condition that the ray vector intersects the quadric surface object is that the quadratic equation (6) regarding tq has a real root. That is, if the following equation holds, there will be an intersection. D = B 2 −A * C ≧ O (10) Although detailed calculation process is omitted, if the calculation parameter is set in the register REG of the calculation unit in FIG. 3, FPP # 1
8 steps for calculating A from Expression (7) using
The coefficients A, B, and C of the quadratic equation (6) can be calculated in a total of 26 steps for calculating B and C from the expressions (8) and (9), respectively, in 26 steps. Since the equation (10) can be calculated in two steps from the result, it is possible to determine the intersection between the object represented by the quadric surface and the measurement line vector in 28 steps. Therefore, also in this case, it is possible to perform the calculation in less than half the steps as compared with the general-purpose computer of the serial processing type. Further, the above processing is performed by the floating point arithmetic unit FPP # of FIG.
Since it can be performed using only 1 to # 3, while performing this operation, the arithmetic logic operation unit ALU takes out the data necessary for the above operation from the data memory and stores it in the data register of each operation unit. With this operation, it is possible to ignore the instruction execution time such as data loading from the memory to the register. Therefore, the actual processing time can be reduced to a fraction or less as compared with a general-purpose computer or the like. The above is the main operation when the processor unit in FIGS. 2 and 3 performs the three-dimensional shadow image generation processing by the ray tracing method, but when applying another three-dimensional shadow image generation processing method Also, this type of processing can be executed at high speed in order to perform the processing such as coordinate conversion represented by the equation (1). The typical operation of the arithmetic unit of FIG. 3 has been described above.
These operations were performed after the data used for the calculation was stored in the data register. In general, since a scene including many objects is often targeted, it is necessary to provide a large-capacity data memory for storing three-dimensional shape data and the like necessary for calculation, as shown in FIG. Therefore, it is necessary to take out the data required for the operation from this type of data memory and transfer it to the data register of the operation unit in FIG. 3 at high speed. In order to solve this, the data memory in FIG.
The high-speed data bus 20 connecting the DBM and each arithmetic unit is configured so that data can be collectively transferred in parallel between the data memories DBM # 1 to # 4 and the arithmetic units. On the other hand, a memory address is given to the data memory, and by designating the corresponding data storage area by this address, data can be written or read in the corresponding area. In the processing program for operating this type of device, it is desirable to specify the area in the data memory by the relative displacement address value from the viewpoint of ease of program creation. Therefore, it is necessary to convert this into a physical address of the data memory. FIG. 7 shows an embodiment of the address generator ADG in FIG. 2, which is the program memory WC of the processor unit.
It has a function of decoding an address command of the data memory DBM included in the processing program stored in S and converting it into a physical address of the data memory DBM. In the figure, WCS and SEQ are the program memory and program sequencer shown in FIG. 2, respectively, the instruction register is a register for storing an instruction to be executed, the base address register is a register for storing a base address value, and the index register is a base. The register that stores the relative address value from the address, the attribute register is the register that stores the parameter value that specifies the conditions for address generation (one-dimensional access or two-dimensional access specification, access unit specification, etc.), and SUM is added Circuit, M
UX is a data multiplexer. In addition, the two-dimensional address generation circuit uses (x, y) 2 when the two-dimensional access is specified by the attribute register.
The byte address generation circuit is a circuit that converts a relative address specified by a dimension into a one-dimensional address, and the byte address generation circuit is a circuit that generates a byte address in the address unit specified by the attribute register. With this configuration, the program memory WC
The relative displacement address value DA in the instruction extracted from S is converted into the physical byte address value AA of the data memory as follows. That is, when one-dimensional access is designated by the attribute register, AA = (IR + DA) * n + BR (11). Here, IR is a relative address value in the index register, a base address value in the BR base register, and n is an integer power of 2 indicating an address unit. For example, if n = 4, it indicates a 4-byte unit access. In the case of two-dimensional access designation, AA = [{IR (x) + DA (x)} + {IR (y) + DA
(Y)} * N] * n + BR (12) The physical byte address of the data memory is generated. Here, IR (x) and IR (y) are the relative address value in the x direction and the relative address value in the y direction indicated by the index register. For example, when the index register is 32 bits, the upper 16 bits are the y address. , Lower 16 bits are defined like x address. Similarly, DA (x) and DA (y) are the x-direction relative displacement address value and the direction relative displacement address value of the relative displacement address in the instruction register. N is a positive integer that determines the size in the x direction, and an integer power of 2 is generally selected. As described above, the base address register, the attribute register, and the index register respectively have the base address BR, the access type and the address unit n, N,
By storing the relative address IR in advance,
After that, the physical address of the data memory according to the condition can be generated only by expressing the instruction in the processing program by the relative displacement address DA. Moreover, since the present address generator can be configured with only a simple logic circuit, the above address calculation can be executed at high speed. For example, it becomes possible to perform address calculation in about 1/3 to 1/6 time as compared with the case where this is performed by a general-purpose arithmetic logic operation unit. By the above two-dimensional address calculation, data expressed in tabular form and two-dimensional image data can be accessed only by specifying the position in the x and y directions, which is extremely effective for high-speed access of these data. is there. (Effects of the Invention) As described above, according to the present invention, three-dimensional vector operations and matrix operations that are included in a large amount in three-dimensional shadow image generation processing are performed in parallel or by three or four floating-point arithmetic units. Of the data such as the object shape that can be executed in a pipeline and stored in the data memory,
It can be generated at high speed by the memory address generator of the data used for the operation, and the corresponding data can be supplied to the arithmetic unit via the high-speed data bus, so that the use efficiency of the floating point arithmetic unit is not reduced, There is a feature that image generation processing can be executed. Therefore, it is possible to significantly speed up the process of generating a realistic three-dimensional shadow image by the ray tracing method capable of simulating optical properties such as reflection and refraction, and to use another simple method. Image generation processing can also be performed at higher speed. As a result, in a device having a multiprocessor configuration, the number of processing units required to obtain a desired processing capacity can be significantly reduced, and there is an advantage that the device can be downsized and control can be facilitated. . Further, the processor unit of the present invention does not use a special element, and a general-purpose general-purpose LSI can be used for an element such as a floating-point arithmetic unit or an arithmetic logic arithmetic unit. Even if a kind of LSI has higher performance, these elements can be applied to achieve higher performance without significantly changing the configuration of the present invention. Alternatively, by using recent more advanced LSI technology, a part or all of the arithmetic unit, the address generator and the like of the processor unit may be made into an LSI to make a smaller and more sophisticated device.

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

第1図はマルチプロセッサ構成をとる3次元陰影画像生
成装置の一般的な構成図、第2図は本発明におけるプロ
セッサユニットの構成例、第3図は第2図の演算部の詳
細な構成例、第4図は第3図の演算部により同次座標変
換処理の演算過程を示す図、第5図および第6図は代表
的な3次元陰影画像生成処理手法である光線追跡法の説
明図と処理の概要を示す図、第7図は処理プログラム内
のデータメモリアドレス命令を物理アドレスに変換する
ためのアドレス生成器の構成例である。 10……イステムバス、20……高速データバス、PU……プ
ロセッサユニット、DC……データコレクタ、MP……主制
御部、DM……ディスプレイメモリ、CRT……ディスプレ
イ装置、IF……インタフェース部、DBM……データメモ
リ、FPU……浮動小数点演算ユニット、FAPU……演算ユ
ニット、WCS……プログラムメモリ、SEQ……シーケン
サ、ADG……アドレス生成器、FPP……浮動小数点演算
器、ALU……算術論理演算器、MPX……データマルチプレ
クサ、REG……データレジスタ、LUT……参照テーブル、
Vp……視点、S……仮想画面、Q……交点、L……光
源。
FIG. 1 is a general configuration diagram of a three-dimensional shadow image generation apparatus having a multiprocessor configuration, FIG. 2 is a configuration example of a processor unit according to the present invention, and FIG. 3 is a detailed configuration example of a calculation unit in FIG. FIG. 4 is a diagram showing a calculation process of a homogeneous coordinate conversion process by the calculation unit of FIG. 3, and FIGS. 5 and 6 are explanatory diagrams of a ray tracing method which is a typical three-dimensional shadow image generation processing method. FIG. 7 shows an example of the configuration of an address generator for converting a data memory address instruction in a processing program into a physical address. 10 …… system bus, 20 …… high-speed data bus, PU …… processor unit, DC …… data collector, MP …… main control unit, DM …… display memory, CRT …… display device, IF …… interface unit, DBM ... Data memory, FPU ... Floating point arithmetic unit, FAPU ... Arithmetic unit, WCS ... Program memory, SEQ ... Sequencer, ADG ... Address generator, FPP ... Floating point arithmetic unit, ALU ... Arithmetic logic Operation unit, MPX ... Data multiplexer, REG ... Data register, LUT ... Reference table,
Vp ... viewpoint, S ... virtual screen, Q ... intersection, L ... light source.

フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06F 15/347 M (56)参考文献 特開 昭59−194242(JP,A) 電子通信学会論文誌’86/3Vol.J 69−D No.3PP.474〜476 情報処理学会、計算機3−キテクチャ研 究会報告,58−6Continuation of front page (51) Int.Cl. 6 Identification number Internal reference number FI Technical display location G06F 15/347 M (56) Reference JP-A-59-194242 (JP, A) IEICE Transactions '86 / 3 Vol. J 69-D No. 3PP. 474-476 Information Processing Society of Japan, Computer 3-Technical Research Group Report, 58-6

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】マルチプロセッサ構成をとる3次元陰影画
像生成処理装置のプロセッサユニットにおいて 4個の演算器の組を並列接続し,前記各演算器の出力が
自分以外の他の演算器の入力となるようたすきがけ状に
接続されてなり, f=a*x+b*y+c*z+d*wで表されるベクト
ル演算を行うに当たり 第1の計算ステップにおいては,第1,第2,第3,第4の演
算器を使い,それぞれa*x,b*y,c*z,d*wを算出
し, 第2の計算ステップにおいて,前記第1の計算ステップ
の第1と第2の演算器の出力および第3と第4の演算器
の出力をそれぞれ第1,第2のいずれか一方の演算器と第
3,第4のいずか一方の演算器の入力とし,それぞれ加算
を実施し, 第3の計算ステップにおいては,前記第2の計算ステッ
プの2つの演算器の出力をいずれか一方の演算器の入力
として加算を実施し, 合わせて3回の計算ステップで上記ベクトル演算fを行
うことを特徴とする3次元陰影画像生成処理方法。
1. A processor unit of a three-dimensional shadow image generation processing apparatus having a multiprocessor structure, wherein a group of four arithmetic units is connected in parallel, and the output of each arithmetic unit is the input of an arithmetic unit other than itself. When the vector operation represented by f = a * x + b * y + c * z + d * w is performed, the first, second, third, and fourth calculation steps are performed. , A * x, b * y, c * z, d * w are calculated respectively, and in the second calculation step, outputs of the first and second calculation elements of the first calculation step are calculated. And outputs of the third and fourth arithmetic units to the first and second arithmetic units respectively.
The inputs of either one of the third and fourth arithmetic units are used to perform addition, and in the third calculation step, the outputs of the two arithmetic units of the second calculation step are used in either one of the arithmetic units. Is performed as an input, and the vector operation f is performed in a total of three calculation steps.
【請求項2】マルチプロセッサ構成をとる3次元陰影画
像生成処理装置のプロセッサユニットにおいて 4個の演算器の組を並列接続し,前記各演算器の出力が
自分以外の他の演算器の入力となるようたすきがけ状に
接続されてなり, 〔X′,Y′,Z′,W′〕=〔X,Y,Z,W〕〔T〕で表される
行列演算を行うに当たり (ただし変換行列〔T〕はTij(ij=1〜4)で表され
る4行4列の行列) 第1の計算ステップにおいては,第1,第2,第3,第4の演
算器を使い,それぞれT11*X,T21*Y,T31*Z,T41*Wを
算出し, 第2の計算ステップにおいて,前記第1の計算ステップ
の第1と第2の演算器の出力および第3と第4の演算器
の出力をそれぞれ第1,第2のいずれか一方の演算器と第
3,第4のいずれか一方の演算器の入力とし,それぞれ加
算を実施し, 第3の計算ステップにおいては,前記第2の計算ステッ
プの2つの演算器の出力をいずれか一方の演算器の入力
として加算を実施し, 第4の計算ステップにおいては,第1,第2,第3,第4の演
算器を使い,それぞれT12*X,T22*Y,T32*Z,T42*Wを
算出し, 第5の計算ステップにおいて,前記第4の計算ステップ
の第1と第2の演算器の出力および第3と第4の演算器
の出力をそれぞれで第1,第2のいずれか一方の演算器と
第3,第4のいずれか一方の演算器の入力とし,それぞれ
加算を実施し, 第6の計算ステップにおいては,第5の計算ステップの
2つの演算器の出力をいずれか一方の演算器の入力とし
て加算を実施し, 第7の計算ステップにおいては,第1,第2,第3,第4の演
算器を使い,それぞれT13*X,T23*Y,T33*Z,T43*Wを
算出し, 第8の計算ステップにおいて,前記第7の計算ステップ
の第1と第2の演算器の出力および第3と第4の演算器
の出力をそれぞれ第1,第2のいずれか一方の演算器と第
3,第4のいずれか一方の演算器の入力とし,それぞれ加
算を実施し, 第9の計算ステップにおいては,前記第8の計算ステッ
プの2つの演算器の出力をいずれか一方の演算器の入力
として加算を実施し, 第10の計算ステップにおいては,第1,第2,第3,第4の演
算器を使い,それぞれT14*X,T24*Y,T34*Z,T44*Wを
算出し, 第11の計算ステップにおいて,前記第10の計算ステップ
の第1と第2の演算器の出力および第3と第4の演算器
の出力をそれぞれ第1,第2のいずれか一方の演算器と第
3,第4のいずれか一方の演算器の入力とし,それぞれ加
算を実施し, 第12の計算ステップにおいては,前記第11の計算ステッ
プの2つの演算器の出力をいずれか一方の演算器の入力
として加算を実施し, 合わせて12回のステップでX′,Y′,Z′,W′の演算を行
うことを特徴とする3次元陰影画像生成処理方法。
2. In a processor unit of a three-dimensional shadow image generation processing device having a multiprocessor configuration, a set of four arithmetic units is connected in parallel, and the output of each arithmetic unit is the input of an arithmetic unit other than itself. In order to perform the matrix operation represented by [X ', Y', Z ', W'] = [X, Y, Z, W] [T] [T] is a matrix of 4 rows and 4 columns represented by Tij (ij = 1 to 4)) In the first calculation step, the first, second, third, and fourth arithmetic units are used, and T11 * X, T21 * Y, T31 * Z, T41 * W are calculated, and in the second calculation step, the outputs of the first and second calculators in the first calculation step and the third and fourth calculations The output of the calculator to the first or second arithmetic unit
The input of any one of the third and fourth arithmetic units is performed, and the addition is performed respectively. In the third calculation step, the outputs of the two arithmetic units of the second calculation step are compared with those of one of the arithmetic units. Addition is performed as an input, and in the fourth calculation step, T12 * X, T22 * Y, T32 * Z, T42 * W are calculated using the first, second, third, and fourth arithmetic units, respectively. Then, in the fifth calculation step, the outputs of the first and second arithmetic units and the outputs of the third and fourth arithmetic units of the fourth calculation step are respectively output to one of the first and second arithmetic units. The inputs of the arithmetic unit and any one of the third and fourth arithmetic units are used to perform addition, and in the sixth calculation step, the outputs of the two arithmetic units of the fifth calculation step are used. The addition is performed as an input of the arithmetic unit, and in the seventh calculation step, the first, second, third, and fourth arithmetic units are To calculate T13 * X, T23 * Y, T33 * Z, T43 * W, respectively, and in the eighth calculation step, the outputs of the first and second calculators and the third calculation step in the seventh calculation step. The output of the fourth arithmetic unit is output to the one of the first and second arithmetic units, respectively.
The input of any one of the third and fourth arithmetic units is performed, and the addition is performed respectively. In the ninth calculation step, the outputs of the two arithmetic units of the eighth calculation step are output from one of the arithmetic units. Addition is performed as an input, and in the tenth calculation step, T14 * X, T24 * Y, T34 * Z, T44 * W are calculated using the first, second, third, and fourth arithmetic units, respectively. Then, in the eleventh calculation step, the outputs of the first and second calculators and the outputs of the third and fourth calculators of the tenth calculation step are respectively calculated by one of the first and second calculations. Vessel and first
The inputs of any one of the third and fourth arithmetic units are added, and the respective additions are performed. In the twelfth calculation step, the outputs of the two arithmetic units of the eleventh calculation step are output from one of the arithmetic units. A three-dimensional shadow image generation processing method characterized by performing addition as an input and performing X ', Y', Z ', W'in a total of 12 steps.
JP61232436A 1986-09-30 1986-09-30 Three-dimensional shadow image generation processing method Expired - Fee Related JPH0821087B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61232436A JPH0821087B2 (en) 1986-09-30 1986-09-30 Three-dimensional shadow image generation processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61232436A JPH0821087B2 (en) 1986-09-30 1986-09-30 Three-dimensional shadow image generation processing method

Publications (2)

Publication Number Publication Date
JPS6386079A JPS6386079A (en) 1988-04-16
JPH0821087B2 true JPH0821087B2 (en) 1996-03-04

Family

ID=16939234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61232436A Expired - Fee Related JPH0821087B2 (en) 1986-09-30 1986-09-30 Three-dimensional shadow image generation processing method

Country Status (1)

Country Link
JP (1) JPH0821087B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5315701A (en) * 1992-08-07 1994-05-24 International Business Machines Corporation Method and system for processing graphics data streams utilizing scalable processing nodes
JP3203180B2 (en) * 1996-03-27 2001-08-27 三菱電機株式会社 Geometric operation device
US7565461B2 (en) 1997-12-17 2009-07-21 Src Computers, Inc. Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers
US7373440B2 (en) 1997-12-17 2008-05-13 Src Computers, Inc. Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format
US7424552B2 (en) 1997-12-17 2008-09-09 Src Computers, Inc. Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices
US6076152A (en) * 1997-12-17 2000-06-13 Src Computers, Inc. Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem
US20040236877A1 (en) 1997-12-17 2004-11-25 Lee A. Burton Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM)
US7406573B2 (en) 2002-05-09 2008-07-29 Src Computers, Inc. Reconfigurable processor element utilizing both coarse and fine grained reconfigurable elements
US7225324B2 (en) 2002-10-31 2007-05-29 Src Computers, Inc. Multi-adaptive processing systems and techniques for enhancing parallelism and performance of computational functions
WO2008015780A1 (en) * 2006-08-01 2008-02-07 Digital Media Professionals Inc. System for calculating storage density image for gaseous object to be coupled to surface body

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
情報処理学会、計算機3−キテクチャ研究会報告,58−6
電子通信学会論文誌’86/3Vol.J69−DNo.3PP.474〜476

Also Published As

Publication number Publication date
JPS6386079A (en) 1988-04-16

Similar Documents

Publication Publication Date Title
Clark The geometry engine: A VLSI geometry system for graphics
US5973705A (en) Geometry pipeline implemented on a SIMD machine
JP4608510B2 (en) Conversion, lighting, and rasterization systems supported by a single semiconductor platform
US6014144A (en) Rapid computation of local eye vectors in a fixed point lighting unit
EP0314335A2 (en) A parallel surface processing system for graphics display
KR20090071366A (en) Image converter and image converting method
Liu et al. Synthesis and rendering of bidirectional texture functions on arbitrary surfaces
JPH03139777A (en) Graphic display system and method
CN110675480A (en) Method and device for acquiring sampling position of texture operation
JPH0821087B2 (en) Three-dimensional shadow image generation processing method
US6219062B1 (en) Three-dimensional graphic display device
Read Developing the next generation cockpit display system
JPH0776987B2 (en) Graphic conversion method in graphic display system
CN113850917A (en) Three-dimensional model voxelization method and device, electronic equipment and storage medium
Fussell et al. A vlsi-oriented architecture for real-time raster display of shaded polygons
US6681237B1 (en) Exponentiation circuit for graphics adapter
Stolte et al. Parallel spatial enumeration of implicit surfaces using interval arithmetic for octree generation and its direct visualization
Ortega et al. Fast data parallel polygon rendering
DE102020106728A1 (en) Background estimation for object segmentation using coarse level tracking
JP4526121B2 (en) Method for calculating intersection of triangle and line segment and its program
Bensaali et al. An FPGA implementation of 3D affine transformations
JP3505338B2 (en) Numerical analysis device, numerical analysis method, and integrated circuit
Myers Staking out the graphics display pipeline
Kelleher Pixelvision architecture
JPH0623991B2 (en) Coordinate grid generation support method and apparatus

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees