JP2915330B2 - Graphic display generation apparatus and method, rendering LSI - Google Patents

Graphic display generation apparatus and method, rendering LSI

Info

Publication number
JP2915330B2
JP2915330B2 JP7247185A JP24718595A JP2915330B2 JP 2915330 B2 JP2915330 B2 JP 2915330B2 JP 7247185 A JP7247185 A JP 7247185A JP 24718595 A JP24718595 A JP 24718595A JP 2915330 B2 JP2915330 B2 JP 2915330B2
Authority
JP
Japan
Prior art keywords
plane
product
pixel
triangle
coefficient
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
JP7247185A
Other languages
Japanese (ja)
Other versions
JPH0997351A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP7247185A priority Critical patent/JP2915330B2/en
Publication of JPH0997351A publication Critical patent/JPH0997351A/en
Application granted granted Critical
Publication of JP2915330B2 publication Critical patent/JP2915330B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、ディスプレイ上でコン
ピュータ・グラフィックス(Computer Gra
phics)の生成及び表示を行うためのグラフィック
表示生成装置及び方法、レンダリングLSIに係り、特
に、3次元オブジェクトの表面を小さなポリゴン(多角
形)に分割して近似表現することによって3次元グラフ
ィックスを生成及び表示するタイプのグラフィック表示
生成装置及び方法、レンダリングLSIに関する。更に
詳しくは、本発明は、線形補間(いわゆるグーロー・シ
ェーディング(Gouraud Shading)法)
によってポリゴン内部の色や奥行きなどの各画素データ
を補間(interpolate)してレンダリング
(rendering:描画)するタイプのグラフィッ
ク表示生成装置及び方法、レンダリングLSIに関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to computer graphics on a display.
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a graphic display generating apparatus and method for generating and displaying phis) and a rendering LSI. The present invention relates to an apparatus and method for generating and displaying a graphic display, and a rendering LSI. More specifically, the present invention relates to a linear interpolation (so-called Gouraud Shading method).
The present invention relates to a graphic display generation apparatus and method of a type that renders by interpolating each pixel data such as a color and a depth inside a polygon by using a rendering LSI.

【0002】[0002]

【従来の技術】昨今の技術革新に伴い、コンピュータの
利用分野も拡大してきた。コンピュータによる図形や画
像(いわゆる「コンピュータ・グラフィックス」)の作
成や処理はその一例である。最近では、コンピュータの
表示能力の強化やグラフィックス処理の高機能化に伴っ
て、3次元オブジェクトの2次元的イメージを生成し表
示するという「3次元グラフィックス」が脚光を浴びる
ようになってきた。ここでいう3次元グラフィックスと
は、3次元オブジェクトが光源によって照らされたとき
などの光学現象を数式モデルで表現し、該モデルに基づ
いてオブジェクト表面に陰影(シェーディング:sha
ding)若しくは濃淡をつけた画像を生成して、3次
元的なイメージとして表示する、というものである。陰
影は人間の視覚系統が奥行き形状を認識するための手が
かりになる。したがって、3次元グラフィックスの究極
目的は、人間が眼で見たときと同じ画像を生成すること
にある、と言うこともできよう。このような3次元グラ
フィックス技術は、科学、工学、製造その他の応用分野
でのCAD/CAMや、各種ソフトウェア開発などの分
野において、ますます重要になってきている。
2. Description of the Related Art With the recent technological innovation, the field of use of computers has expanded. The creation and processing of figures and images (so-called "computer graphics") by a computer is one example. Recently, with the enhancement of computer display capabilities and advanced graphics processing, “three-dimensional graphics” for generating and displaying two-dimensional images of three-dimensional objects have come into the spotlight. . Here, the three-dimensional graphics represent an optical phenomenon such as when a three-dimensional object is illuminated by a light source using a mathematical model, and based on the model, a shadow (shading: sha) is formed on the object surface.
ding) or a shaded image is generated and displayed as a three-dimensional image. Shading is a key for the human visual system to recognize the depth shape. Thus, it can be said that the ultimate goal of three-dimensional graphics is to generate the same image as seen by human eyes. Such three-dimensional graphics technology is becoming more and more important in fields such as CAD / CAM in science, engineering, manufacturing and other application fields, and in various software development.

【0003】3次元グラフィックス処理は、当該分野で
は周知なように、3次元オブジェクトの表面を多数の小
さなポリゴン(polygon:通常は3角形又は4角
形)に分割して(ポリゴンを構成する画素数は50ピク
セル乃至1000ピクセル程度の大きさである)、ポリ
ゴンを定義する各頂点ごとに算出された色や奥行き等の
データに基づいてポリゴン内部の画像を近似表現して行
うのが一般的である。3次元オブジェクトをポリゴン化
して扱う理由は、3角形などの一定の形式に面をそろえ
ると、一律の処理によってさまざまな曲面を表現でき、
取扱いデータや計算量を減ずることができるので、処理
手順をハードウェア化し易くなるからである。
In the three-dimensional graphics processing, as is well known in the art, the surface of a three-dimensional object is divided into a number of small polygons (polygon: usually a triangle or a quadrangle) (the number of pixels constituting a polygon). Is approximately 50 pixels to 1000 pixels). Generally, an image inside the polygon is approximated based on data such as color and depth calculated for each vertex defining the polygon. . The reason for handling a 3D object as a polygon is that if you arrange the surfaces in a fixed format such as a triangle, you can express various curved surfaces by uniform processing,
This is because the handling data and the amount of calculation can be reduced, so that the processing procedure can be easily implemented in hardware.

【0004】図9には、コンピュータ・システムによっ
て3次元グラフィックスを生成し表示する際に必要とな
る処理手順を示している。該処理手順は、ジオメトリ段
階と、レンダリング(rendering:描画)段階
の2段階に大別される。
FIG. 9 shows a processing procedure required for generating and displaying three-dimensional graphics by a computer system. The processing procedure is roughly divided into a geometry stage and a rendering (rendering) stage.

【0005】ジオメトリ段階では、まず、ポリゴンを定
義する各頂点ごと奥行き、色(RGB)などの描画に必
要なパラメータを求める。ジオメトリ段階は、さらに、
座標変換と、クリッピングと、光源計算の各段階に細分
化される。座標変換ルーチンでは、画像ソースから与え
られた3次元オブジェクトを複数の微小なポリゴンに分
割し、ポリゴンを定義する頂点ごとに各パラメータ
(x,y,zなどの座標値やR,G,Bなどの色データ
など)を取り出して、さらに各頂点の座標を視点の位置
に合わせて変換する。クリッピング・ルーチンでは、3
次元オブジェクトのうちディスプレイ画面に表示されな
い部分を検出して切り除く。光源計算ルーチンでは、光
源との位置関係をもとに各頂点の輝度を求める。この光
源計算によって、各頂点の色データなどは、奥行きや光
源からの距離・角度に応じた陰影処理(すなわち濃淡度
の調整)がなされる。但し、画像ソースによっては、3
次元オブジェクトの生データとしてではなく、既にポリ
ゴンの各頂点ごとに各パラメータを計算して与えるだけ
のもの、あるいはDASD(直接アクセス記憶装置:フ
ロッピ・ディスク,ハード・ディスク,CD−ROM,
MOなど)に各頂点の画素データを予め格納しておくも
のもある。このような場合の3次元グラフィックス処理
では、ジオメトリ段階は当然省略可能である。
In the geometry stage, first, parameters necessary for drawing, such as depth and color (RGB), are obtained for each vertex defining a polygon. The geometry stage
It is subdivided into each stage of coordinate transformation, clipping, and light source calculation. In the coordinate conversion routine, a three-dimensional object given from an image source is divided into a plurality of minute polygons, and each parameter (coordinate values such as x, y, z, R, G, B, etc.) is defined for each vertex defining the polygon. , Etc.), and then convert the coordinates of each vertex according to the position of the viewpoint. In the clipping routine, 3
A portion of the dimensional object that is not displayed on the display screen is detected and cut off. In the light source calculation routine, the brightness of each vertex is obtained based on the positional relationship with the light source. By this light source calculation, the color data and the like of each vertex are subjected to shading processing (that is, the adjustment of shading) according to the depth and the distance and angle from the light source. However, depending on the image source, 3
Instead of using as raw data of a dimensional object, one that simply calculates and gives each parameter for each vertex of a polygon, or DASD (direct access storage device: floppy disk, hard disk, CD-ROM,
In some cases, pixel data of each vertex is stored in advance in an MO or the like. In the three-dimensional graphics processing in such a case, the geometry stage can be naturally omitted.

【0006】次いで、レンダリング段階では、3次元オ
ブジェクトの2次元イメージを生成する。より詳しく
は、ジオメトリ段階にて求められたポリゴンの各頂点の
パラメータをもとにして、ポリゴン内部の各画素(ピク
セルともいう)のパラメータを補間して求める訳であ
る。レンダリング段階は、さらに、ポリゴンを構成する
各画素のデータを補間(interpolate)する
ラスタライジング・ルーチンと、手前にある画素をフレ
ーム・バッファに書き込む隠面処理ルーチンの各段階に
細分化している。ラスタライジング・ルーチンにおける
補間は、ポリゴンの各頂点の色データとZ値(奥行き:
depthともいう)などをもとにして行う。また、隠
面処理は、各画素のZ値を大小比較して、手前にある画
素のデータをフレーム・バッファに書き込むことによっ
て行う。
Next, in the rendering stage, a two-dimensional image of the three-dimensional object is generated. More specifically, the parameters of each pixel (also referred to as a pixel) inside the polygon are interpolated based on the parameters of each vertex of the polygon obtained at the geometry stage. The rendering stage is further subdivided into a rasterizing routine for interpolating the data of each pixel constituting the polygon and a hidden surface processing routine for writing the preceding pixel to the frame buffer. The interpolation in the rasterizing routine is based on the color data and the Z value (depth:
depth). The hidden surface processing is performed by comparing the Z value of each pixel, and writing the data of the preceding pixel to the frame buffer.

【0007】そして、レンダリングによって生成された
各画素のデータは、一旦フレーム・バッファに格納され
た後、D−A変換器によってアナログ信号に変換され、
CRTディスプレイ上に表示される。
[0007] The data of each pixel generated by the rendering is temporarily stored in a frame buffer and then converted into an analog signal by a DA converter.
It is displayed on the CRT display.

【0008】3次元グラフィックス処理は、勿論ソフト
ウェア的な手法によっても実現可能である。但し、最近
では、演算量が膨大なことやリアルタイム性が求められ
ていることなどから、3次元グラフィックス・ボードの
ような専用のハードウェアを用いることによって高速化
が図られている。図10には、3次元グラフィックス処
理を行うシステムのアーキテクチャを模式的に示してい
る。図10(a)では、3次元グラフィックス・ボード
は、座標変換等を行うジオメトリLSI(LargeScale I
ntegrated Circuit:以下同様)と、レンダリング処理
を行うレンダリングLSIとを含んでいる。ジオメトリ
LSIは、例えば浮動小数点演算性能を持つ演算用プロ
セッサである。また、レンダリングLSIは、与えられ
たポリゴンの各頂点の画素データをもとに画素データを
補間しながらポリゴンを塗りつぶす機能を備えたLSI
である。例えば日本アイ・ビー・エム(株)が市販する
ワークステーションRS/6000は、図10(a)のよ
うな方式を採用している。ジオメトリLSIやレンダリ
ングは、例えばASIC(Application Specific Integ
rated Circuit)の形態で製造される。一方、図10(b)
では、ジオメトリ演算をメイン・ボード上のMPU(Mi
cro Processing Unit)で実行するようになっている。
この場合、メイン・ボードとレンダリングLSIとは、
例えばPCI(Peripheral Component Interconnect)
バスのような高速バスによって接続されている。
[0008] Of course, three-dimensional graphics processing can also be realized by a software technique. However, recently, due to the enormous amount of calculation and the demand for real-time performance, the speed has been increased by using dedicated hardware such as a three-dimensional graphics board. FIG. 10 schematically illustrates the architecture of a system that performs three-dimensional graphics processing. In FIG. 10A, the three-dimensional graphics board includes a geometry LSI (LargeScale I) for performing coordinate conversion and the like.
integrated circuit: the same applies hereinafter) and a rendering LSI for performing a rendering process. The geometry LSI is, for example, an arithmetic processor having floating-point arithmetic performance. The rendering LSI has a function of filling a polygon while interpolating pixel data based on pixel data of each vertex of a given polygon.
It is. For example, a workstation RS / 6000 marketed by IBM Japan, Ltd. employs a system as shown in FIG. For example, an ASIC (Application Specific Integ
rated circuit). On the other hand, FIG.
Then, the geometry operation is performed by the MPU (Mi
cro Processing Unit).
In this case, the main board and the rendering LSI
For example, PCI (Peripheral Component Interconnect)
They are connected by a high-speed bus such as a bus.

【0009】ところで、レンダリング段階で行われるポ
リゴン内部の各画素の補間方法としては、3角形内の全
ての画素を特定あるいは任意の頂点の色で代表して一色
で塗りつぶしてしまうという『フラット・シェーディン
グ』や、3角形内部の色を各頂点の色で線形的に補間す
るという『グーロー・シェーディング(Gouraud
Shading)』などがある。フラット・シェーデ
ィングは計算速度の点で優れているが、表示される2次
元イメージは、当然、モザイク状の、粗くて平面的なも
のになってしまう。これに対して、グーロー・シェーデ
ィングは、計算量はある程度多くなってしまうものの、
陰影効果を充分備え、かなり滑らかでリアルな色づけを
することができる。したがって、高品位な3次元グラフ
ィックスを必要とする場合は、グーロー・シェーディン
グ法が採用されることが多い。
By the way, as a method of interpolating each pixel in a polygon performed in the rendering stage, a method of “flat shading” is to paint all pixels in a triangle with one color by representing a specific or arbitrary vertex color. And “Gouraud shading” in which the colors inside a triangle are linearly interpolated with the colors at each vertex.
Shading)]. Although flat shading is superior in terms of computational speed, the displayed two-dimensional image naturally becomes mosaic, coarse, and planar. In contrast, Gouraud shading requires a certain amount of computation,
It has a lot of shading effects and can give a fairly smooth and realistic coloring. Therefore, when high-quality three-dimensional graphics are required, the Gouraud shading method is often employed.

【0010】ここで、線形補間によるパラメータの算出
方法を、図11を参照しながら簡単に説明しておく。同
図において、世界空間(World−Space)は、
XYZの3軸からなる世界座標系(World−Coo
rdinate)で表現される。そのXY平面は、所定
の座標変換によってディスプレイ上の画素と一対一の関
係にあり、いわゆる「視面(Viewplane)」と
等価な平面である。また、Z軸は視面からの距離(若し
くは奥行き)と等価である。いま、ディスプレイ(若し
くは視面XY)上の3つの頂点P(x1,y1),Q(x
2,y2),及びR(x3,y3)で定義される3角形の内
部における点S(xs,ys)の奥行きzSを求めたいと
する。3つの頂点P,Q,RのXYZ世界座標系におけ
る各座標値PW(x1,y1,z1),QW(x2,y2
2),RW(x3,y3,z3)は、ジオメトリ段階で既
に算出されている(前述)。また、3角形PQRは、X
YZ世界座標系における3角形PWWWをXY平面に
投影させたものであり、同様に点Sは、3角形PWW
W内の点SW(xs,ys,zs)をXY平面上に投影させ
た点である、ということは自明であろう。したがって、
点Sの奥行きzSは、Z軸に平行な直線αZ: X=xS,Y=yS …(1) と、3角形PWWWを含む平面βZ: AZ・(X−x1)+BZ・(Y−y1)+CZ・(Z−z1)=0 …(2) との交点のZ座標値でもある。但し、点(x1,y1,z
1)は平面βZ上の任意の点であり、例えば3角形の1つ
の頂点PWの座標値でもよい。ベクトル(AZ,BZ
Z)は、3角形PWWWを含む該平面βZの法線ベク
トルであり、幾何学上の既知の公式に基づき、以下の3
式(1),(2),及び(3)のように表すことができ
る。
Here, a method of calculating parameters by linear interpolation will be briefly described with reference to FIG. In the figure, the world space (World-Space) is
World coordinate system consisting of three axes of XYZ (World-Coo
rdinate). The XY plane has a one-to-one relationship with pixels on the display by a predetermined coordinate transformation, and is a plane equivalent to a so-called “view plane”. The Z axis is equivalent to the distance (or depth) from the viewing plane. Now, three vertices P (x 1 , y 1 ) and Q (x
2 , y 2 ) and R (x 3 , y 3 ), the depth z S of a point S (x s , y s ) inside a triangle is determined. Each coordinate value P W (x 1 , y 1 , z 1 ), Q W (x 2 , y 2 , 3) of the three vertices P, Q, and R in the XYZ world coordinate system
z 2 ) and R W (x 3 , y 3 , z 3 ) have already been calculated at the geometry stage (described above). Also, the triangular PQR is X
The triangle P W Q W R W in the YZ world coordinate system is projected onto the XY plane. Similarly, the point S is a triangle P W Q W R
Points in W S W lies in that (x s, y s, z s) is projected into the XY plane, that will be obvious. Therefore,
The depth z S of the point S, parallel to the Z-axis linear α Z: X = x S, Y = y S ... (1), triangle P W Q W plane including R W β Z: A Z · ( X−x 1 ) + B Z · (Y−y 1 ) + C Z · (Z−z 1 ) = 0 (2) However, the point (x 1 , y 1 , z
1) is an arbitrary point on the plane beta Z, for example, it may be a coordinate value of one vertex P W of the triangle. Vectors (A Z , B Z ,
C Z ) is a normal vector of the plane β Z including the triangle P W Q W R W , based on a known geometric formula,
Expressions (1), (2), and (3) can be used.

【0011】 AZ =(z2−z3)×(y2−y1)−(z2−z1)×(y2−y3) …(3) BZ =(z2−z1)×(x2−x3)−(z2−z3)×(x2−x1) …(4) CZ =(x2−x3)×(y2−y1)−(x2−x1)×(y2−y3) …(5) AZ = (z 2 −z 3 ) × (y 2 −y 1 ) − (z 2 −z 1 ) × (y 2 −y 3 ) (3) B Z = (z 2 −z 1) ) × (x 2 −x 3 ) − (z 2 −z 3 ) × (x 2 −x 1 ) (4) C Z = (x 2 −x 3 ) × (y 2 −y 1 ) − (x 2 −x 1 ) × (y 2 −y 3 ) (5)

【0012】また、上式(2)の定数成分CZ×z1が容
易に求まることは当業者には自明であろう。したがっ
て、zSは、直線αZと平面βZとの交点を直接的に解く
ことによって求められ、下式(6)のように表される。
It will be obvious to those skilled in the art that the constant component C Z × z 1 of the above equation (2) can be easily obtained. Therefore, z S is obtained by directly solving the intersection between the straight line α Z and the plane β Z and is represented by the following equation (6).

【0013】[0013]

【数1】 (Equation 1)

【0014】要するに、補間すべき画素データZ,R,
G,B…は、このような線形方程式に点Sの座標値(x
S,yS)を代入して解くことによって容易に求まる。ま
た、3角形PQR内の全ての画素の画素データは、該線
形方程式(6)に当該画素の座標値(xS,yS)を逐次
代入していくことで求まる訳である。なお、補間データ
が奥行きZではなく、R,G,Bなど別のパラメータを
求める場合は、先述のZ軸をそれぞれR軸、G軸、また
はB軸といった具合に適宜置き換えれて、XYR,XY
G,XYB各座標系における直線αRと平面βR,直線α
Gと平面βG,又は直線αBと平面βB,の交点を求めてい
けばよいだけである(図11(b)参照)。
In short, the pixel data Z, R,
G, B... Are represented by the coordinate values (x
S , y S ) can be easily obtained by substituting and solving. Further, the pixel data of all the pixels in the triangle PQR can be obtained by sequentially substituting the coordinate values (x S , y S ) of the pixels into the linear equation (6). When the interpolation data is not the depth Z but another parameter such as R, G, B, etc., the aforementioned Z axis is appropriately replaced with an R axis, a G axis, or a B axis, respectively, and XYR, XY
Straight line α R and plane β R , straight line α in each of the G and XYB coordinate systems
It is only necessary to find the intersection between G and the plane β G or between the straight line α B and the plane β B (see FIG. 11B).

【0015】一方、このような3次元グラフィックス処
理に必要とされるパラメータの数は、表示の高品位化と
ともに増大してきた。例えば、旧態依然とした2次元グ
ラフィックスでは、2次元座標位置を示すx,yの他
に、対応する画素の色を示すR,G,Bという合計5個
のデータで充分であった。ところが、最近の3次元グラ
フィックスでは、座標パラメータとしてx,yの他に奥
行きzが必要となる。また、単なるR,G,Bという色
データの他に、ポリゴンが半透明のガラス板越しに存在
しているか否かをしめすa(alpha),霧か否かを
示すf(fog),テクスチャ(すなわち山あいや波の
リアリティ)を表現するためのt(texture)な
ど、多数のパラメータを持つようになっている。
On the other hand, the number of parameters required for such three-dimensional graphics processing has increased as display quality has increased. For example, in the two-dimensional graphics in the old state, in addition to x and y indicating the two-dimensional coordinate position, a total of five data of R, G, and B indicating the color of the corresponding pixel were sufficient. However, recent three-dimensional graphics require a depth z in addition to x and y as coordinate parameters. Further, in addition to the color data of only R, G, and B, a (alpha) indicating whether or not the polygon exists through the translucent glass plate, f (fog) indicating whether it is fog, and texture ( That is, it has a large number of parameters such as t (texture) for expressing mountain peaks and wave reality).

【0016】このようにパラメータ数が増大するに伴っ
て、当然、演算時間が長くなるとともに、レンダリング
処理を行うためのLSI(レンダリングLSI)の使用
セル数も増大することになる。なぜならば、例えば上述
したレンダリング処理では、各画素毎にこれら各パラメ
ータZ,R,G,B,a,f…の全ての値を線形補間し
ていかなければならないからである。特に、直線αと平
面βとの交点を直接的に解くような場合、上式(6)を
見ても分かるように2つの乗算と2つの加算を含んでい
る。したがって、3次元グラフィックス用LSIは、そ
のレンダリング部分だけでも2つの乗算器と2つの加算
器を備えなければならない。ASICチップ上で乗算器
を実装するためには、非常に多くのセル数を要する(例
えば20Kセル程度)。もし、線形方程式を上式(6)
に従って直接解くようにレンダリングLSIを設計した
のであれば、乗算器部分だけでチップの実装面積はあふ
れてしまうであろう。
As the number of parameters increases, the calculation time naturally increases, and the number of cells used by the LSI (rendering LSI) for performing the rendering process also increases. This is because, for example, in the above-described rendering processing, all values of these parameters Z, R, G, B, a, f... Must be linearly interpolated for each pixel. In particular, when the intersection of the straight line α and the plane β is directly solved, two multiplications and two additions are included as can be seen from the above equation (6). Therefore, the three-dimensional graphics LSI must be provided with two multipliers and two adders only in its rendering part. Mounting a multiplier on an ASIC chip requires a very large number of cells (eg, about 20K cells). If the linear equation is
If the rendering LSI is designed so as to directly solve according to the above, the mounting area of the chip will overflow with only the multiplier part.

【0017】[0017]

【発明が解決しようとする課題】グラフィックスの高品
位化のために各画素のパラメータの数は増大してたが
(前述)、これに伴ってレンダリングLSIの処理速度
の高速化も急務となってきている。
Although the number of parameters of each pixel has been increased to improve the quality of graphics (as described above), it has become urgent to increase the processing speed of the rendering LSI. Is coming.

【0018】計算速度を向上させる一般的手法の1つ
は、パイプライン化である。ポリゴンの各頂点データか
ら内部の画素を補間するというタイプのレンダリング自
体は、パイプライン処理に適用し易い側面を持ってい
る。なぜならば、平面方程式を解くことは、一定の処理
手順の繰り返しに過ぎないからである。したがって、パ
イプライン形式のグラフィック表示生成装置及び方法、
レンダリングLSIが好ましいと言えよう。
One common approach to increasing computation speed is pipelining. Rendering itself of a type in which internal pixels are interpolated from each vertex data of a polygon has an aspect easily applicable to pipeline processing. This is because solving a plane equation is only a repetition of a certain processing procedure. Therefore, a pipeline type graphic display generating apparatus and method,
It can be said that a rendering LSI is preferable.

【0019】本発明の目的は、3次元オブジェクトの表
面を小さなポリゴンに分割して近似表現することによっ
て3次元グラフィックスを生成及び表示するタイプの、
優れたグラフィック表示生成装置及び方法、レンダリン
グLSIを提供することにある。
An object of the present invention is to generate and display three-dimensional graphics by dividing the surface of a three-dimensional object into small polygons and approximating them.
An object of the present invention is to provide an excellent graphic display generating apparatus and method, and a rendering LSI.

【0020】本発明の更なる目的は、線形補間(いわゆ
るグーロー・シェーディング(Gouraud Sha
ding))によってポリゴン内部の各画素の色等を補
間してレンダリング(rendering:描画)する
タイプの、優れたグラフィック表示生成装置及び方法、
レンダリングLSIを提供することにある。
It is a further object of the present invention to provide linear interpolation (so-called Gouraud Shading).
ding), an excellent graphic display generating apparatus and method of a type that renders by interpolating the color and the like of each pixel inside the polygon (rendering).
It is to provide a rendering LSI.

【0021】本発明の更なる目的は、ポリゴン内部の各
画素のデータを高能率且つ高速に補間してレンダリング
することができるグラフィック表示生成装置及び方法、
レンダリングLSIを提供することにある。
A further object of the present invention is to provide an apparatus and method for generating a graphic display capable of interpolating and rendering data of each pixel inside a polygon with high efficiency and high speed.
It is to provide a rendering LSI.

【0022】本発明の更なる目的は、3次元グラフィッ
クスの生成及び表示を、使用セル数を極力少なくした構
成の3次元グラフィックス用LSIによって実現できる
グラフィック表示生成装置及び方法、レンダリングLS
Iを提供することにある。
A further object of the present invention is to provide a graphic display generating apparatus and method capable of realizing three-dimensional graphics generation and display by using a three-dimensional graphics LSI having a configuration in which the number of cells used is minimized, and a rendering LS.
I.

【0023】本発明の更なる目的は、線形補間によって
ポリゴン内部の各画素のデータをレンダリングするタイ
プの3次元グラフィックスの生成及び表示において、レ
ンダリング段階をパイプライン処理化することができる
グラフィック表示生成装置及び方法、レンダリングLS
Iを提供することにある。
It is a further object of the present invention to generate and display three-dimensional graphics of the type that renders the data of each pixel inside a polygon by linear interpolation, wherein the rendering stage can be pipelined. Apparatus and method, rendering LS
I.

【0024】[0024]

【課題を解決するための手段及び作用】本発明は、上記
課題を参酌してなされたものであり、その第1の側面
は、世界座標系XYZ(但し、XY座標平面は視面(表
示画面)と等価であり、Z軸は補間すべき画素データと
等価)上の3角形PWWWを定義する各頂点PW
W,RWに与えられた画素データに基づいて該3角形P
WWWのXY平面への投影3角形PQR内部の各画素
位置の画素データzを補間するタイプのグラフィック表
示生成装置において、Y軸方向に順次走査して該3角形
PQR内部の各画素の座標位置を発生するxy座標発生
手段と、世界座標系上における3角形PWWWの平面
方程式βの係数成分及び定数成分を求めて一時格納する
係数/定数計算・記憶手段と(ここで、平面方程式βを
A・(x−x1)+B・(y−y1)+C・(z−z1
=0とおく。但し、点(x1,y1,z1)は平面β上の
点である。この場合、係数成分はA,B,Cであり、定
数成分はz1)、差x−x1又はy−y1のいずれか一方
を選択的に求める引算手段と、Aとx1−xとの積又は
Bとy1−yとの積のいずれか一方を求める乗算手段
と、積A・(x1−x)を一時格納するための第1のラ
ッチ手段と、積B・(y1−y)を一時格納するための
第2のラッチ手段と、前記第1及び第2のラッチ手段の
保持データの和を求める第1の加算手段と、前記第1の
加算手段の出力データを係数Cで割るための割算手段
と、前記割算手段と定数成分z1との和を求める第2の
加算手段と、を含む特徴とするグラフィック表示生成装
置である。
SUMMARY OF THE INVENTION The present invention has been made in consideration of the above problems, and has a first aspect in which a world coordinate system XYZ (where the XY coordinate plane is a visual plane (display screen)). ) and is equivalent, triangle P W of the Z-axis pixel data equivalent to be interpolated) on Q W R W vertexes P W that defines,
Based on the pixel data given to Q W and R W , the triangle P
W Q W R in the type of graphic display generation unit for interpolating the pixel data z of the projection triangle PQR each pixel position within the XY plane of W, sequential scanning to the pixels inside the triangle PQR in the Y-axis direction and xy coordinate generating means for generating a coordinate position, and triangular P W Q W R W coefficients / constants calculation and storage means for temporarily storing seeking coefficient component and a constant component of the plane equation β of on the world coordinate system ( Here, the plane equation β is expressed by A · (xx 1 ) + B · (y−y 1 ) + C · (z−z 1 )
= 0. However, the point (x 1 , y 1 , z 1 ) is a point on the plane β. In this case, the coefficient components are A, B, and C, the constant components are z 1 ), subtraction means for selectively obtaining any one of the difference xx 1 or yy 1 , and A and x 1 − multiplication means for obtaining either the product of x or the product of B and y 1 -y, first latch means for temporarily storing the product A · (x 1 -x), and the product B · ( second latch means for temporarily storing y 1 -y), first adder means for obtaining a sum of data held by the first and second latch means, and output data of the first adder means Is divided by a coefficient C, and second adding means for obtaining a sum of the dividing means and a constant component z 1 is provided.

【0025】また、本発明の第2の側面は、世界座標系
XYZ(但し、XY座標平面は視面(表示画面)と等価
であり、Z軸は補間すべき画素データと等価)上の3角
形PWWWを定義する各頂点PW,QW,RWに与えられ
た画素データに基づいて該3角形PWWWのXY平面
への投影3角形PQR内部の各画素位置の画素データz
を補間するタイプのグラフィック表示生成方法におい
て、Y軸方向に順次走査して該3角形PQR内部の各画
素の座標位置を発生するxy座標発生段階と、世界座標
系上における3角形PWWWの平面方程式βの係数成
分及び定数成分を求めて一時格納する係数/定数計算・
記憶段階と(ここで、平面方程式βをA・(x−x1
+B・(y−y1)+C・(z−z1)=0とおく。但
し、点(x1,y1,z1)は平面β上の点である。この
場合、係数成分はA,B,Cであり、定数成分は
1)、差x−x1又はy−y1のいずれか一方を選択的
に求める引算段階と、Aとx1−xとの積又はBとy1
yとの積のいずれか一方を求める乗算段階と、積A・
(x1−x)を一時格納するための第1のラッチ段階
と、積B・(y1−y)を一時格納するための第2のラ
ッチ段階と、前記第1及び第2のラッチ段階で得た両デ
ータの和を求める第1の加算段階と、前記第1の加算手
段の出力データを係数Cで割るための割算段階と、前記
割算段階で得たデータと定数成分z1との和を求める第
2の加算段階と、を含む特徴とするグラフィック表示生
成方法である。
A second aspect of the present invention relates to a three-dimensional coordinate system on the world coordinate system XYZ (where the XY coordinate plane is equivalent to the viewing plane (display screen) and the Z axis is equivalent to pixel data to be interpolated). square P W Q W R W vertexes P W that defines, Q W, each based on the pixel data given to R W of the internal projection triangle PQR to the XY plane of the triangle P W Q W R W Pixel data z at the pixel position
A xy coordinate generation step of sequentially scanning in the Y-axis direction to generate the coordinate position of each pixel inside the triangle PQR, and a triangle P W Q W on the world coordinate system. Coefficient / constant calculation for obtaining and temporarily storing the coefficient component and the constant component of the plane equation β of R W
The memory stage and (where the plane equation β is A · (xx 1 )
+ B · (y−y 1 ) + C · (z−z 1 ) = 0. However, the point (x 1 , y 1 , z 1 ) is a point on the plane β. In this case, the coefficient components are A, B, and C, and the constant components are z 1 ), a subtraction step of selectively obtaining any one of the difference xx 1 or yy 1 , and A and x 1 − The product of x or B and y 1
a multiplication stage for finding one of the products of the product y
A first latch stage for temporarily storing (x 1 -x), a second latch stage for temporarily storing the product B · (y 1 -y), and the first and second latch stages A first addition step for obtaining the sum of the two data obtained in the above, a division step for dividing the output data of the first addition means by a coefficient C, and the data obtained in the division step and a constant component z 1 And a second adding step of calculating the sum of the two.

【0026】また、本発明の第3の側面は、世界座標系
XYZ(但し、XY座標平面は視面(表示画面)と等価
であり、Z軸は補間すべき画素データと等価)上の3角
形PWWWを定義する各頂点PW,QW,RWに与えられ
た画素データに基づいて該3角形PWWWのXY平面
への投影3角形PQR内部の各画素位置の画素データz
を補間するタイプのレンダリングLSIにおいて、Y軸
方向に順次走査して該3角形PQR内部の各画素の座標
位置を発生するxy座標発生回路と、世界座標系上にお
ける3角形PWWWの平面方程式βの係数成分及び定
数成分を求めて一時格納する係数/定数計算・記憶回路
と(ここで、平面方程式βをA・(x−x1)+B・
(y−y1)+C・(z−z1)=0とおく。但し、点
(x1,y1,z1)は平面β上の点である。この場合、
係数成分はA,B,Cであり、定数成分はz1)、差x
−x1又はy−y1のいずれか一方を選択的に求める引算
回路と、Aとx1−xとの積又はBとy1−yとの積のい
ずれか一方を求める乗算回路と、積A・(x1−x)を
一時格納するための第1のラッチ回路と、積B・(y1
−y)を一時格納するための第2のラッチ回路と、前記
第1及び第2のラッチ回路の保持データの和を求める第
1の加算回路と、前記第1の加算回路の出力データを係
数Cで割るための割算回路と、前記割算回路と定数成分
1との和を求める第2の加算回路と、を含む特徴とす
るレンダリングLSIである。
Further, a third aspect of the present invention relates to a 3D coordinate system on the world coordinate system XYZ (where the XY coordinate plane is equivalent to the viewing plane (display screen) and the Z axis is equivalent to pixel data to be interpolated). square P W Q W R W vertexes P W that defines, Q W, each based on the pixel data given to R W of the internal projection triangle PQR to the XY plane of the triangle P W Q W R W Pixel data z at the pixel position
In the type of rendering LSI for interpolating, triangle P on the xy coordinate generating circuit and, on the world coordinate system are sequentially scanned in the Y-axis direction to generate the coordinate position of each pixel inside the triangle PQR W Q W R W And a coefficient / constant calculation / storage circuit for calculating and temporarily storing the coefficient component and the constant component of the plane equation β of (where the plane equation β is expressed as A · (x−x 1 ) + B ·
(Y−y 1 ) + C · (z−z 1 ) = 0. However, the point (x 1 , y 1 , z 1 ) is a point on the plane β. in this case,
The coefficient components are A, B, and C, the constant component is z 1 ), and the difference x
And one subtraction circuit one selectively determine the -x 1 or y-y 1, a multiplying circuit for obtaining either the product of the product or B and y 1 -y A and x 1 -x , And a first latch circuit for temporarily storing the product A · (x 1 −x), and the product B · (y 1
-Y), a first adder circuit for calculating the sum of the data held in the first and second latch circuits, and a coefficient for converting the output data of the first adder circuit into a coefficient. a dividing circuit for dividing by C, a second adding circuit for obtaining the sum of the division circuit and the constant component z 1, a rendering LSI characterized including.

【0027】また、本発明の第4の側面は、線形補間
(いわゆるグーロー・シエーディング)により3角形内
部の画素(x,y)の画素データzを求めるタイプ(す
なわち線形方程式z=A'・(x1−x)+B'・(y1
y)+z1により画素データzを求めるタイプ。但し、
点(x1,y1,z1)は該3角形を含め平面上の点)の
レンダリングLSIにおいて、差x1−x又は差y1−y
のいずれか一方を選択的に求める引算回路と、積A'・
(x1−x)又は積B'・(y1−y)のいずれか一方を
選択的に求める乗算回路と、積A'・(x1−x)を一時
的に格納する第1のラッチ回路と、積B'・(y1−y)
を一時的に格納する第2のラッチ回路と、前記第1及び
第2のラッチ回路の保持データの和を求める第1の加算
回路と、前記第1の加算回路の出力データA'・(x1
x)+B'・(y1−y)と前記方程式の係数成分z1
の和を求める第2の加算回路と、を含むことを特徴とす
るレンダリングLSIである。
A fourth aspect of the present invention is a type for obtaining pixel data z of a pixel (x, y) inside a triangle by linear interpolation (so-called Gouraud shading) (that is, a linear equation z = A ′ · ( x 1 −x) + B ′ · (y 1
type to determine the pixel data z by y) + z 1. However,
In a rendering LSI of a point (x 1 , y 1 , z 1 is a point on a plane including the triangle), the difference x 1 −x or the difference y 1 −y
And a subtraction circuit for selectively obtaining one of
A multiplying circuit for selectively obtaining either (x 1 −x) or the product B ′ · (y 1 −y), and a first latch for temporarily storing the product A ′ · (x 1 −x) Circuit and product B '· (y 1 -y)
, A first adder for calculating the sum of the data held by the first and second latches, and output data A ′ · (x 1
x) + B ′ · (y 1 −y) and a second adding circuit for obtaining a sum of the coefficient component z 1 of the equation.

【0028】しかして、本発明に係るグラフィック表示
生成装置及び方法、レンダリングLSIによれば、ポリ
ゴン内部の画素を補間する際に、ただ1つの乗算手段、
乗算段階、若しくは乗算回路しか持たない。したがっ
て、LSIの使用セル数を極力少なくすることができ
る。
Thus, according to the graphic display generation apparatus and method and the rendering LSI according to the present invention, when interpolating pixels inside a polygon, only one multiplication means is used.
It has only a multiplication stage or multiplication circuit. Therefore, the number of cells used in the LSI can be minimized.

【0029】また、レンダリングのためのこのような各
手段、各段階、若しくは各回路は、分岐や条件分岐な
ど、処理を滞らせるルーチンを含まないで構成される。
また、3次元グラフィックス処理の高品位化のために、
扱うべきパラメータ数が増加しても、並列処理により比
較的容易に高速化を図ることができよう。
Further, each means, each stage, or each circuit for rendering is configured without including a routine that delays processing such as branching or conditional branching.
In addition, to improve the quality of three-dimensional graphics processing,
Even if the number of parameters to be handled increases, the speed can be relatively easily increased by parallel processing.

【0030】本発明のさらに他の目的、特徴や利点は、
後述する本発明の実施例や添付する図面に基づくより詳
細な説明によって明らかになるであろう。
Still other objects, features and advantages of the present invention are:
It will become apparent from the following more detailed description based on the embodiments of the present invention and the accompanying drawings.

【0031】[0031]

【実施例】以下、図面を参照しながら本発明の実施例を
詳解する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0032】A.コンピュータ・システム100のハー
ドウェア構成 図1には、3次元グラフィックス処理を行うコンピュー
タ・システム100のハードウェア構成を示している。
A. Computer system 100
1. Hardware Configuration FIG. 1 shows a hardware configuration of a computer system 100 that performs three-dimensional graphics processing.

【0033】システム100は、「グライックス・ワー
クステーション(WS)」と呼ばれるものである。WS
は、一般には、ネットワークにおける端末としての機能
と、1台でもさまざまな処理が行える機能とを兼ね備え
た、パーソナル・コンピュータ(PC)よりも性能的に
上位のコンピュータを指す。WSとして機能するシステ
ム100は、高速なRISC型MPU(例えば米IBM
社、米Motorola社及び米Apple社が共同開
発したPowerPC 604/620("Power
PC"は米IBM社の商標))11と、大容量メモリ
(メイン・メモリ12及びビデオRAM15。メイン・
メモリ12は10MB以上)と、高解像度ビットマップ
・ディスプレイ(1000×1000以上)13と、高
速ビデオ・アダプタ14と、大容量DASD(Direct A
ccess Storage Device:例えばハード・ディスク,CD
−ROM,MOなど)16と、通信用アダプタ(例えば
Ethernetインターフェース)17とを備えてい
る。MPU11とこれらデバイス類14…とは、アドレ
ス・バス、データ・バス、コントロール・バスなどから
なる共通信号伝送路(「バス」ともいう)18を介して
相互に連絡している。なお、バス18は、例えばPCI
(Peripheral Component Interconnect)バスでもよ
い。
The system 100 is called a "Grix's workstation (WS)". WS
In general, a computer that has both a function as a terminal in a network and a function that can perform various processes by itself is higher in performance than a personal computer (PC). The system 100 functioning as a WS is a high-speed RISC type MPU (for example, IBM
PowerPC 604/620 jointly developed by Motorola, Inc. and Apple, Inc. ("Power
PC "is a trademark of IBM Corporation in the United States) 11 and a large-capacity memory (main memory 12 and video RAM 15; main memory).
The memory 12 has a capacity of 10 MB or more, a high-resolution bitmap display (1000 × 1000 or more) 13, a high-speed video adapter 14, and a large-capacity DASD (Direct A
ccess Storage Device: eg hard disk, CD
-ROM, MO, etc.) 16 and a communication adapter (for example, Ethernet interface) 17. The MPU 11 communicates with these devices 14 via a common signal transmission path (also referred to as a “bus”) 18 including an address bus, a data bus, a control bus, and the like. The bus 18 is, for example, a PCI
(Peripheral Component Interconnect) bus may be used.

【0034】システム100が特にグラフィックスWS
として機能するためには、さらにグラフィックス機能を
拡充するためのグラフィックス・ボード50を備え、且
つ、グラフィック処理用のアプリケーションを揃えてい
る(アプリケーションは、通常はDASD16にされ、
使用時にメモリ12にロードされる)。なお、グラフィ
ックス・ボード50は、一般にはオプション部品であ
り、システム100に装着した際には、高性能グラフィ
ックス処理を提供するとともに、ビデオ・アダプタ14
の機能を吸収して通常のコンピュータ画面処理も行う
(詳細はB項、及びC項参照)。
[0034] The system 100 may include, among others, a graphics WS.
In order to function as a PC, a graphics board 50 for further expanding the graphics function is provided, and an application for graphic processing is provided (the application is usually DASD 16;
It is loaded into the memory 12 when used). The graphics board 50 is generally an optional component, and when installed in the system 100, provides high-performance graphics processing and a video adapter 14
The functions described above are also absorbed to perform ordinary computer screen processing (for details, see sections B and C).

【0035】システム100は、その他、3次元オブジ
ェクトの画像データを生成する画像ソース(例えばCT
スキャナなどの3次元物体計測装置やビデオ・カメラの
ような撮像装置)20を、インターフェース回路21経
由で接続していてもよい。
The system 100 also includes an image source (for example, CT) for generating image data of a three-dimensional object.
A three-dimensional object measurement device such as a scanner or an imaging device such as a video camera) 20 may be connected via the interface circuit 21.

【0036】このようなコンピュータ・システム100
の具体例は、日本アイ・ビー・エム(株)が市販するワ
ークステーション"RS/6000"である。なお、現在
市販されている殆どのWSは、参照番号11乃至18に
示すハードウェア・ブロックと等価なものを備えてい
る。また、WSを構成するためには、図1に記載した以
外に多くのハードウェア構成要素が必要であるが、これ
らは当業者には周知なので、本明細書では説明の簡略化
のため省略してある。
Such a computer system 100
Is a workstation "RS / 6000" marketed by IBM Japan, Ltd. It should be noted that most WSs currently on the market are equipped with hardware blocks indicated by reference numerals 11 to 18. Further, in order to configure the WS, many hardware components other than those described in FIG. 1 are necessary. However, since these components are well known to those skilled in the art, they are omitted in this specification for simplification of description. It is.

【0037】B.グラフィックス・ボード50のハード
ウェア構成 WSがグラフィック機能を拡充する目的でグラフィック
ス・ボード20をオプション的に装着する、ということ
は既にA項で述べた。この項では、WSに対して3次元
グラフィックス機能を提供するグラフィックス・ボード
50を詳細に説明する。図2には、グラフィックス・ボ
ード50の構成を模式的に示してある。
B. Graphics board 50 hardware
It has already been mentioned in section A that the hardware configuration WS optionally mounts a graphics board 20 for the purpose of enhancing the graphics function. In this section, a graphics board 50 that provides a three-dimensional graphics function to WS is described in detail. FIG. 2 schematically shows the configuration of the graphics board 50.

【0038】グラフィックス・ボード50は、[従来の
技術]の項で既に述べたように、ジオメトリ部と、レン
ダリング部と、DA変換部とを含んでいる。ビデオ・ア
ダプタ14の機能を提供する部分も含むが、本発明の要
旨とは関係ないので図2では省略してある。
The graphics board 50 includes a geometry section, a rendering section, and a DA conversion section, as already described in the section of [Prior Art]. Although a part that provides the function of the video adapter 14 is also included, it is not shown in FIG. 2 because it has nothing to do with the gist of the present invention.

【0039】ジオメトリ部60は、3次元オブジェクト
を多数のポリゴンに分割し、ポリゴンを定義する各頂点
ごとに必要なパラメータを求めるようになっている。ジ
オメトリ部60は、例えばASIC技術を用いてLSI
化されている。ジオメトリ処理自体は本発明の要旨とは
関係ないので、これ以上の詳しい説明はしない。算出さ
れた各頂点のパラメータは、ローカル・バッファ61に
一時的に格納される。ローカル・バッファ61内では、
後続のレンダリング部70が3角形単位でパラメータを
取り出して処理する便宜のため、各3角形の3頂点ごと
に1つのレコードを割り当てられた形式のテーブル(図
3参照)によって、必要なパラメータを格納するように
してもよい。以下、本明細書では、このローカル・バッ
ファ61のことを、頂点単位でデータを保管しているこ
とから、「頂点メモリ(Vertex Memor
y)」と呼ぶことにする。
The geometry section 60 divides a three-dimensional object into a number of polygons, and obtains necessary parameters for each vertex defining the polygon. The geometry unit 60 is, for example, an LSI using ASIC technology.
Has been Since the geometry processing itself has nothing to do with the gist of the present invention, it will not be described in further detail. The calculated parameters of each vertex are temporarily stored in the local buffer 61. In the local buffer 61,
For convenience of the subsequent rendering unit 70 extracting and processing parameters in units of triangles, necessary parameters are stored in a table (see FIG. 3) in which one record is assigned to each of three vertices of each triangle. You may make it. Hereinafter, in this specification, since the local buffer 61 stores data in units of vertices, it is referred to as a “vertex memory (Vertex Memory)”.
y) ".

【0040】レンダリング部70は、3次元オブジェク
トの2次元イメージを生成する部分であるが、より具体
的には、頂点メモリ61に格納されたポリゴンの各頂点
のパラメータをもとに、3角形内部の画素データの補間
を行うようになっている。補間して求められた各画素の
データは、フレーム・バッファ80に書き込まれる。補
間された画素データと同じ位置(XY座標位置)に既に
データが書き込まれている場合には、奥行き(Z座標
値)を比較して、手前側の画素データに逐次更新してい
く(隠面処理)。なお、レンダリング部70は、例えば
ASIC(Application Specific Integrated Circui
t)技術を用いて1チップ化することもできる。本明細
書では、1チップ化されたレンダリング部のことを「レ
ンダリングLSI」と呼ぶことにする。レンダリングL
SIの詳細な構成はC項を参照されたい。
The rendering unit 70 is for generating a two-dimensional image of a three-dimensional object. More specifically, the rendering unit 70 generates a two-dimensional image of a three-dimensional object based on the parameters of each vertex of the polygon stored in the vertex memory 61. Is interpolated. The data of each pixel obtained by the interpolation is written to the frame buffer 80. If data has already been written at the same position (XY coordinate position) as the interpolated pixel data, the depth (Z coordinate value) is compared and the data is sequentially updated to the pixel data on the near side (hidden surface). processing). The rendering unit 70 is, for example, an ASIC (Application Specific Integrated Circuit).
t) It can be made into one chip using technology. In this specification, a rendering unit that is made into one chip will be referred to as a “rendering LSI”. Rendering L
See section C for the detailed configuration of the SI.

【0041】DA変換器90は、フレーム・バッファ8
0に書き込まれたデジタル・データをディスプレイ用の
アナログ信号に変換して、CRTディスプレイ13に出
力するようになっている。DA変換器には、例えばRA
MDACのような、高速変換可能なものが用いられる。
The DA converter 90 includes the frame buffer 8
The digital data written in 0 is converted into an analog signal for display and output to the CRT display 13. In the DA converter, for example, RA
One that can perform high-speed conversion, such as MDAC, is used.

【0042】C.レンダリングLSIの構成 本実施例のレンダリングLSI70は、ポリゴン単位で
レンダリング処理を行うためのLSIである。すなわ
ち、レンダリングLSI70は、頂点メモリ61から
は、3角形単位で各頂点の画素データ(x,y,z,
R,G,B,a,f,t,…)を読み出して、3角形内
に含まれる全ての画素の画素データを逐次補間していく
ようになっている。図4には、グラフィックス・ボード
50上のレンダリングLSI70の構成をより詳細に示
している。同図において、レンダリングLSI10は、
xy発生器71と、係数計算部72と、定数抽出部73
と、補間部74と、FIFO75と、Z値比較部76と
を含んでいる。
C. Configuration of Rendering LSI The rendering LSI 70 of this embodiment is an LSI for performing rendering processing in units of polygons. That is, the rendering LSI 70 outputs the pixel data (x, y, z, z,
R, G, B, a, f, t,...) Are read out and the pixel data of all the pixels included in the triangle are sequentially interpolated. FIG. 4 shows the configuration of the rendering LSI 70 on the graphics board 50 in more detail. In the figure, the rendering LSI 10
xy generator 71, coefficient calculator 72, constant extractor 73
, An interpolation unit 74, a FIFO 75, and a Z value comparison unit 76.

【0043】xy発生器71は、頂点メモリ61から、
ある1つの3角形の各頂点のxy座標値(すなわち1レ
コード分のデータ)を受け取ると、この3角形に含まれ
る画素のxy座標値を順次発生して、補間部74に出力
するようになっている。図5は、xy発生器71の動作
特性を図解したものである。同図においてxy平面は視
面(若しくはディスプレイの表示画面)と等価な平面で
ある。xy発生器71は、ある1つの3角形の各頂点の
xy座標値P(x1,y1),Q(x2,y2),及びR
(x3,y3)を、頂点メモリ61より読み出すと、該3
角形PQR内部に含まれる各画素のxy座標値を順次出
力するようになっている。座標値を発生する順序は、例
えば図5中の矢印で示すように、ノン・インターレース
形式でY軸方向に逐次走査していく形式でもよい。ま
た、xy発生器71は、1つの3角形内における処理の
開始(start)及び終了(end),走査線上での
次の画素の座標値の出力(operation),次の
走査線上の移行(x−countup),出力なし(n
o−operation)などの各状態を示すためのコ
マンドCMDも後続の各部に出力するようになっている
(後述)。なお、本明細書では、i番目の走査線上のj
番目の画素の座標値を(xi,yj)、同走査線上のj+
1番目の画素の座標値を(xi,yj+1)というように、
添字を用いて表現することにする。
The xy generator 71 outputs from the vertex memory 61
When the xy coordinate values of the vertices of a certain triangle are received (that is, data for one record), the xy coordinate values of the pixels included in the triangle are sequentially generated and output to the interpolation unit 74. ing. FIG. 5 illustrates the operating characteristics of the xy generator 71. In the figure, an xy plane is a plane equivalent to a viewing plane (or a display screen of a display). The xy generator 71 calculates the xy coordinate values P (x 1 , y 1 ), Q (x 2 , y 2 ), and R of each vertex of a certain triangle.
When (x 3 , y 3 ) is read from the vertex memory 61,
The xy coordinate values of each pixel included in the rectangular PQR are sequentially output. The order in which the coordinate values are generated may be a form in which scanning is sequentially performed in the Y-axis direction in a non-interlaced manner, as shown by an arrow in FIG. 5, for example. Further, the xy generator 71 starts (starts) and ends (end) the processing within one triangle, outputs the coordinate value of the next pixel on the scanning line (operation), and shifts (x) on the next scanning line. -Countup), no output (n
A command CMD for indicating each state such as o-operation) is also output to each subsequent unit (described later). In this specification, j on the i-th scanning line
The coordinate value of the pixel at the position (x i , y j ) is calculated as j +
The coordinate value of the first pixel is (x i , y j + 1 ),
It will be expressed using subscripts.

【0044】係数計算部72は、頂点メモリ61から順
次必要なデータを読み出して、XY軸とZ,R,G,B
…各パラメータを第3軸とする各3次元空間XYZ,X
YR,XYG,…における、各平面βZ,βR,βG,βB
…の平面方程式(式(2)参照)の係数成分(AZ
Z,CZ),(AR,BR,CR),(AG,BG,CG),
(AB,BB,CB)…を算出するようになっている。係
数計算部72の詳細な構成は、D項で後述する。
The coefficient calculation section 72 sequentially reads out necessary data from the vertex memory 61, and stores XY axes and Z, R, G, B
... Each three-dimensional space XYZ, X with each parameter as the third axis
Each plane β Z , β R , β G , β B in YR, XYG,.
The coefficient components ( AZ ,) of the plane equation (see equation (2))
B Z , C Z ), (A R , B R , C R ), (A G , B G , C G ),
(A B, B B, C B) and calculates the .... The detailed configuration of the coefficient calculator 72 will be described later in section D.

【0045】定数抽出部73は、各平面βZ,βR
βG,βB…の各平面方程式(式(2)参照)の定数成分
を、補間部74に渡すためのものである。ここでいう定
数成分とは、例えば先述の式(6)ではz1であり(前
述)、パラメータRのときはr1、Gのときはg1、Bの
ときはb1…である。要するに、定数抽出部73は、頂
点メモリ61からレコード中の特定の1つの頂点のパラ
メータ値z,r,g,b…を順次読み出して、補間部7
4に渡すだけでよい。
The constant extracting unit 73 calculates the planes β Z , β R ,
The constant components of the plane equations β G , β B ... (see equation (2)) are passed to the interpolation unit 74. The constant component here, for example, the foregoing equation (6) and the z 1 (above), when the parameter R when the r 1, G when the g 1, B is a b 1 .... In short, the constant extracting unit 73 sequentially reads the parameter values z, r, g, b... Of one specific vertex in the record from the vertex memory 61, and
You just need to pass it to 4.

【0046】係数計算部72及び定数計算部73によっ
て、各平面βZ,βR,βG,βB…の平面方程式が求ま
る。補間部74は、これら平面方程式をもとに、3角形
PQR内の各画素位置におけるZ,R,G,B…各々の
画素データ値を逐次補間していくためのものである。こ
の補間処理は、[従来の技術]の項で述べたように、各
パラメータの線形方程式を解くことによって行われる
(式(6)及び図11参照)。補間部74は、実際に
は、各パラメータZ,R,G,B…ごとに、独立したZ
値補間部74−1,R値補間部74−2,G値補間部7
4−3,B値補間部74−4…が設けられている(図4
参照)。したがって、各画素データZ,R,G,B…の
計算は、パイプライン化が図られている訳である。各補
間部74−1,74−2,74−3,74−4…は、と
もに略同一の構成をしているが、その詳細はE項で後述
する。
The plane equations of the planes β Z , β R , β G , β B ... Are obtained by the coefficient calculation unit 72 and the constant calculation unit 73. The interpolation unit 74 is for sequentially interpolating pixel data values of Z, R, G, B... At each pixel position in the triangle PQR based on these plane equations. This interpolation processing is performed by solving a linear equation of each parameter as described in the section of [Prior Art] (see Equation (6) and FIG. 11). In practice, the interpolating unit 74 sets an independent Z for each of the parameters Z, R, G, B.
Value interpolator 74-1, R value interpolator 74-2, G value interpolator 7
4-3, B-value interpolation units 74-4.
reference). Therefore, the calculation of each pixel data Z, R, G, B... Is pipelined. Each of the interpolation units 74-1, 74-2, 74-3, 74-4,... Has substantially the same configuration, but details thereof will be described later in section E.

【0047】FIFO75は、いわゆる先入れ先出し
(First-In First-Out)メモリである。上述した各補間
部74−1,74−2,74−3…は分岐や条件分岐な
ど処理を滞らせるような要因を排除した設計を採用して
おり(後述)、各々の演算速度はほぼ均一化されてい
る。但し、補間部内部の乗算器による僅かな演算時間の
ばらつきをがあるので、時間差を吸収して1画素単位で
まとめて画素データを送り出す目的で、FIFO75は
設けられているのである。
The FIFO 75 is a so-called first-in first-out memory. Each of the above-mentioned interpolators 74-1, 74-2, 74-3,... Adopts a design that eliminates factors such as branching and conditional branching that hinder the processing (described later), and the respective arithmetic speeds are substantially uniform. Has been However, since there is a slight variation in the operation time due to the multiplier inside the interpolation unit, the FIFO 75 is provided for the purpose of absorbing the time difference and sending out pixel data collectively in units of one pixel.

【0048】隠面処理部76は、3角形内の画素のうち
他の3角形が手前にあるために隠れてしまう部分の画素
データを取り除く処理を行うブロックである。隠面か否
かの判断は、一般には求めた画素データが手前側かどう
か、すなわちZ値を大小比較することによって行われ
る。図6には、隠面処理部76が行う処理ルーチンを概
略的に示している。隠面処理部76は、FIFO75か
ら画素データを受け取ると(ステップS10)、フレー
ム・バッファ80上の対応画素位置に既に画素データが
書き込まれているか否かを判断する(ステップS1
2)。もし、該画素位置がブランクであれば新しい画素
データをそのまま書き込む(ステップS14)。逆に、
画素データが既に書き込み済みであれば、画素データの
うちZ値を比較して、手前側のものに更新する(ステッ
プS16)。
The hidden surface processing unit 76 is a block for performing a process of removing pixel data of a part of the pixels within the triangle that is hidden because another triangle is in front. The determination as to whether or not the surface is a hidden surface is generally made by comparing the obtained pixel data to the near side, that is, by comparing the Z values. FIG. 6 schematically shows a processing routine performed by the hidden surface processing unit 76. Upon receiving the pixel data from the FIFO 75 (step S10), the hidden surface processing unit 76 determines whether the pixel data has already been written at the corresponding pixel position on the frame buffer 80 (step S1).
2). If the pixel position is blank, new pixel data is written as it is (step S14). vice versa,
If the pixel data has already been written, the Z value of the pixel data is compared and updated to the one on the near side (step S16).

【0049】フレーム・バッファ80は、CRTディス
プレイ13に表示すべき画像情報を一旦格納するための
メモリである。フレーム・バッファ80は、物理的には
平面的にアドレスが割り振られているが、図4では、理
解の便宜上、各パラメータごとに1プレーンを設けられ
た立体的な構造にして示してある。(各パラメータのた
めのバッファをそれぞれZバッファ、Rバッファ…と呼
ぶことにする。)
The frame buffer 80 is a memory for temporarily storing image information to be displayed on the CRT display 13. Although the frame buffer 80 is physically assigned addresses in a planar manner, FIG. 4 shows a three-dimensional structure in which one plane is provided for each parameter for the sake of easy understanding. (The buffers for each parameter will be referred to as a Z buffer, an R buffer, respectively.)

【0050】D.係数計算部の構造 係数計算部72は、各平面βZ,βR,βG,βB…の平面
方程式(式(2)参照)の係数部分(AZ,BZ
Z),(AR,BR,CR),(AG,BG,CG),
(AB,BB,CB)…を算出するためのブロックである
(上述)。既に[従来の技術]の項で述べたように、平
面方程式の係数成分は平面の法線ベクトルであり、式
(3)〜(5)に示すように、平面上の任意の2つのベ
クトルの外積で表される。
D. The structural coefficient calculation unit 72 of the coefficient calculation unit calculates the coefficient portions (A Z , B Z , B Z , B Z ) of the plane equation of each plane β Z , β R , β G , β B.
C Z ), (A R , B R , C R ), (A G , B G , C G ),
(A B , B B , C B )... (Described above). As already described in the section of [Prior Art], the coefficient component of the plane equation is a normal vector of the plane, and as shown in Expressions (3) to (5), any two vectors on the plane Expressed by cross product.

【0051】本実施例の係数計算部72は、各平面方程
式βZ,βRz…ごとに個別に演算回路を設けることはせ
ず、外積を求めるための演算回路をただ1つだけ持ち、
各係数値AZ,BZ,CZ,AR,BR,CR,AG…を順次
算出して、各補間部74−1,74−2,74−3…内
の係数記憶部(後述)に分配するようになっている。平
面方程式の係数部分の計算は、補間部74における画素
の補間に比べて計算回数が少ないので、このように複数
の補間部74−1…で1つの係数計算部72を共有して
も、スループットへの影響はないと考えられる。
The coefficient calculating section 72 of this embodiment does not provide an arithmetic circuit for each of the plane equations β Z , β R z... But has only one arithmetic circuit for calculating an outer product.
Each coefficient value A Z, B Z, C Z , A R, B R, C R, A G ... are sequentially calculated, the coefficient storage unit of the interpolation section 74-1,74-2,74-3 ... in (Discussed below). Since the calculation of the coefficient portion of the plane equation is smaller in number of calculations than the interpolation of the pixels in the interpolation unit 74, even if one coefficient calculation unit 72 is shared by a plurality of interpolation units 74-1. It is thought that there is no effect on

【0052】図7には、係数計算部72の詳細な構造を
示している。同図において、係数計算部72は、2つの
選択器72−a,72−bと、5つの引算器72−c,
72−d,72−e,72−f及び72−iと、2つの
乗算器72−g,72−hとを含んでいる。
FIG. 7 shows a detailed structure of the coefficient calculator 72. In the figure, a coefficient calculator 72 includes two selectors 72-a and 72-b and five subtractors 72-c and
72-d, 72-e, 72-f and 72-i, and two multipliers 72-g and 72-h.

【0053】2つの選択器72−a,72−bは、ある
1つの係数成分を計算するに必要なパラメータ値を頂点
メモリ61から随時読み出して、後続の引算器72−
c,72−d,72−e,72−fに渡すようになって
いる。例えば3角形PQRを含む平面の方程式について
の係数成分AZを求めるとき、第1の選択器72−a
は、成分z2及びz3を読み出して第1の引算器72−c
に渡すとともに、成分y2及びy1を読み出して第2の引
算器72−dに渡す。また、第2の選択器72−bは、
成分z2及びz1を読み出して第3の引算器72−eに渡
すとともに、成分y2及びy3を読み出して第4の引算器
72−fに渡す。第1の乗算器72−gは第1及び第2
の引算器72−c,72−dの各出力の積を求め、ま
た、第2の乗算器72−hは第3及び第4の引算器72
−e,72−fの各出力の積を求める。引算器72−i
は、各乗算器72−g,72−hで求めた積の差分をと
って、所望の係数成分(この場合AZ=(z2−z3)×
(y2−y1)−(z2−z1)×(y2−y3))を出力す
るようになっている。
The two selectors 72-a and 72-b read parameter values necessary for calculating one certain coefficient component from the vertex memory 61 as needed, and read the subsequent subtractor 72-a.
c, 72-d, 72-e, 72-f. For example, when determining a coefficient component AZ for a plane equation including a triangle PQR, the first selector 72-a
A first subtractor 72-c read the component z 2 and z 3
Together pass, pass to a second subtractor 72-d reads component y 2 and y 1. Also, the second selector 72-b
Together passed to a third subtractor 72-e reads component z 2 and z 1, and passes the fourth subtractor 72-f reads the component y 2 and y 3. The first multiplier 72-g includes first and second multipliers 72-g.
The product of each output of the subtracters 72-c and 72-d is obtained, and the second multiplier 72-h outputs the third and fourth subtractors 72-c.
The product of each output of −e and 72−f is obtained. Subtractor 72-i
Is calculated by taking the difference between the products obtained by the multipliers 72-g and 72-h to obtain a desired coefficient component (A Z = (z 2 −z 3 ) ×
(Y 2 −y 1 ) − (z 2 −z 1 ) × (y 2 −y 3 )).

【0054】他の係数値BZ,CZ,AR,BR,CR,AG
…を求めるときは、選択器72−a及び72−bが頂点
メモリ61中のレコードから随時所望の座標値を読み出
してくればよい。しかして、引算器72−iの出力値
は、各補間部74−1,74−2に順次渡され、その係
数記憶部202(後述)に一時格納され、後続の画素補
間処理に利用されることになる。
Other coefficient values B Z , C Z , A R , B R , C R , A G
.. Are obtained, the selectors 72-a and 72-b may read desired coordinate values from the records in the vertex memory 61 as needed. The output value of the subtractor 72-i is sequentially passed to each of the interpolation units 74-1 and 74-2, temporarily stored in the coefficient storage unit 202 (described later), and used for the subsequent pixel interpolation processing. Will be.

【0055】E.補間部 補間部74は、係数計算部72及び定数抽出部73によ
り求められた平面方程式βZ,βR,βG,βB…をもと
に、3角形PQR内の各画素位置におけるZ,R,G,
B…各々の画素データ値を逐次補間していくためのもの
であるが、実際には、各パラメータZ,R,G,B…ご
とに、独立したZ値補間部74−1,R値補間部74−
2,G値補間部74−3,B値補間部74−4…が設け
られている(前述)。各補間部74−1,74−2,7
4−3,74−4…は、ともに略同一の構成をしてい
る。図8には、これらを代表して、Z値補間部74−2
の詳細な構成を示している。
E. The interpolating unit 74 calculates Z , Z at each pixel position in the triangle PQR based on the plane equations β Z , β R , β G , β B ... Obtained by the coefficient calculating unit 72 and the constant extracting unit 73. R, G,
B ... is for sequentially interpolating each pixel data value. In practice, however, an independent Z value interpolation unit 74-1 and R value interpolation are performed for each of the parameters Z, R, G, B ... Part 74-
2, a G value interpolation unit 74-3, a B value interpolation unit 74-4, etc. are provided (described above). Interpolators 74-1, 74-2, 7
4-3, 74-4... Have substantially the same configuration. FIG. 8 shows the Z value interpolator 74-2 as a representative of these.
3 shows a detailed configuration.

【0056】図8に示すように、補間部74−1は、入
力調節回路201と、係数記憶部202と、引算器20
3と、乗算器204と、第1のラッチ205と、第2の
ラッチ206と、第1の加算器207と、割算器208
と、第2の加算器209とを含んでいる。
As shown in FIG. 8, the interpolation section 74-1 includes an input adjustment circuit 201, a coefficient storage section 202, and a subtractor 20.
3, a multiplier 204, a first latch 205, a second latch 206, a first adder 207, and a divider 208.
And a second adder 209.

【0057】xy発生器71は、3角形PQRの各頂点
のxy座標値を入力すると、図5中の矢印で示すよう
に、ノン・インターレース形式でY軸方向に1画素ずつ
逐次走査して、3角形PQR内部に含まれる各画素の
x,y各座標値を同時出力するようになっている(前
述)。また、xy発生器71は、それ以外にもコマンド
(CMD)信号を出力するようになっている。このCM
Dの内容は、1つの3角形内における処理の開始(st
art)及び終了(end),同一走査線上での次の画
素の座標値の出力(すなわちY軸方向への1画素のイン
クリメント:y_operation),次の走査線上
の移行(すなわちX軸方向への1画素のインクリメン
ト:x_countup),出力なし(no−oper
ation)などである(前述)。
When the xy generator 71 receives the xy coordinate values of the vertexes of the triangle PQR, as shown by arrows in FIG. 5, the xy generator 71 sequentially scans one pixel at a time in the Y-axis direction in a non-interlaced format. The x and y coordinate values of each pixel included in the triangle PQR are simultaneously output (described above). The xy generator 71 also outputs a command (CMD) signal. This CM
The content of D is the start (st) of processing within one triangle.
art), end (end), output of the coordinate value of the next pixel on the same scan line (ie, increment of one pixel in the Y-axis direction: y_operation), transition on the next scan line (ie, 1 in the X-axis direction) Pixel increment: x_countup, no output (no-oper)
ation) (described above).

【0058】入力調節回路201は、xy発生器71か
ら3角形内部の各画素のxy座標値とコマンドCMDと
を入力して、CMDの内容に応じて、x又はyいずれか
一方を出力するようになっている。入力調節回路201
の主なオペレーションは、1:xy発生回路71が3角
形中の最初の画素のxy座標値を出力したとき(sta
rtコマンドのとき)や、次の走査線に進んだとき(x
_countup)などのように、新しいx座標値を入
力したときは、同時入力したx,y各座標値のうちまず
x座標値を次いでy座標値を、順次出力する。2:同じ
走査線上で1画素ずつY軸方向にインクリメントしてい
るだけの間(y_operationコマンドのとき)
は、同時入力したx,y各座標値のうちy座標値だけを
出力する。というものである。要するに、入力調節回路
201は、xy発生器71から逐次入力するxy座標値
を、後続の処理の便宜を図って調節する役目を果たして
いる訳である。
The input adjusting circuit 201 receives the xy coordinate values of each pixel inside the triangle and the command CMD from the xy generator 71, and outputs either x or y according to the contents of the CMD. It has become. Input adjustment circuit 201
The main operation of (1) is when the xy generation circuit 71 outputs the xy coordinate value of the first pixel in the triangle (sta
rt command) or when moving to the next scanning line (x
When a new x-coordinate value is input, such as _countup), the x- and y-coordinate values of the x and y coordinate values that have been input simultaneously are output sequentially. 2: While only incrementing one pixel at a time in the Y-axis direction on the same scanning line (in the case of y_operation command)
Outputs only the y coordinate value of the x and y coordinate values input simultaneously. That is. In short, the input adjustment circuit 201 serves to adjust the xy coordinate values sequentially input from the xy generator 71 for the convenience of the subsequent processing.

【0059】係数記憶部202は、各補間部74−1,
74−2,74−3…間で共有する係数計算部より、処
理中の3角形の平面方程式βZの係数部分AZ,BZ,CZ
の分配を受けるとともに、定数抽出部73から定数値z
1を受けると、該3角形内の補間処理が終了するまでは
(すなわちxy発生器71からCMD='end'を受け
取るまでは)これらの係数値及び定数値を保持し続け
る。そして、乗算器204、割算器208及び加算器2
09に対して、所定のタイミングで適宜これらの値を出
力するようになっている。
The coefficient storage unit 202 stores each of the interpolation units 74-1,
74-2,74-3 ... from the coefficient calculator for sharing between, triangle plane equation beta Z coefficient part A Z being processed, B Z, C Z
And the constant value z
When receiving 1 , the coefficient value and the constant value are kept until the interpolation processing in the triangle ends (that is, until CMD = 'end' is received from the xy generator 71). Then, the multiplier 204, the divider 208 and the adder 2
These values are appropriately output at a predetermined timing with respect to 09.

【0060】引算器203は、入力調節回路203より
x座標値を受け取ると、差分(x1−x)を計算し、他
方、y座標値を受け取ると、差分(y1−y)を計算す
るようになっている。x又はyのいずれを入力したか
は、x_valid又はy_validいずれの信号線
が活性化されているかによって判断される。
The subtracter 203 calculates the difference (x 1 -x) when receiving the x coordinate value from the input adjustment circuit 203, and calculates the difference (y 1 -y) when receiving the y coordinate value. It is supposed to. Whether x or y is input is determined based on which signal line x_valid or y_valid is activated.

【0061】乗算器204は、引算器203よりx座標
値を受け取ると乗算AZ×(x1−x)を行い、y座標値
を受け取ると乗算BZ×(y1−y)を行うようになって
いる。各係数値AZ及びBZは、係数記憶部202より入
力される。また、x又はyのいずれを入力したかは、x
_valid又はy_validいずれの信号線が活性
化されているかによって判断される。
When the multiplier 204 receives the x coordinate value from the subtractor 203, it performs a multiplication AZ × (x 1 −x), and when it receives the y coordinate value, it performs a multiplication B Z × (y 1 −y). It has become. The coefficient values AZ and BZ are input from the coefficient storage unit 202. Whether x or y is input is determined by x
Judgment is made based on which of the signal lines _valid and y_valid is activated.

【0062】第1のラッチ205は、信号線x_val
idが活性化されたときに入力された乗算値AZ×(x1
−x)を、次の入力までの間保持し続ける。xy発生器
71が同一走査線上を1画素ずつインクリメントしてい
る間はx_validは活性化されないので、第1のラ
ッチ205は同一走査線の間は乗算値AZ×(x1−x)
を保持し続けることになる。
The first latch 205 is connected to the signal line x_val
Multiplied value AZ × (x 1) input when id is activated
-X) is kept until the next input. While x_valid is not activated while the xy generator 71 is incrementing one pixel at a time on the same scan line, the first latch 205 sets the multiplication value AZ × (x 1 -x) during the same scan line.
Will continue to be held.

【0063】第2のラッチ206は、信号線y_val
idが活性化されたときに入力された乗算値BZ×(y1
−y)を、次の入力までの間保持し続ける。xy発生器
71がy軸方向に1画素インクリメントする度に新しい
y座標値が入力され、その都度第2のラッチ206の値
は更新されることになる。
The second latch 206 is connected to the signal line y_val
Multiplied value B Z × (y 1) input when id is activated
-Y) is kept until the next input. Each time the xy generator 71 increments one pixel in the y-axis direction, a new y-coordinate value is input, and the value of the second latch 206 is updated each time.

【0064】第1の加算器207は、第1及び第2のラ
ッチ205,206の各出力値AZ×(x1−x)及びB
Z×(y1−y)を加算するようになっている。
The first adder 207 outputs the output values AZ × (x 1 −x) and B of the first and second latches 205 and 206 respectively.
Z × (y 1 −y) is added.

【0065】割算器208は、加算器207の出力値A
Z×(x1−x)+BZ×(y1−y)を、係数記憶部20
2から受け取った係数値CZで割算するようになってい
る。
The divider 208 outputs the output value A of the adder 207.
Z × (x 1 −x) + B Z × (y 1 −y) is stored in the coefficient storage unit 20.
2 is divided by the coefficient value C Z received from 2.

【0066】第2の加算器209は、割算器208の出
力値{AZ×(x1−x)+BZ×(y1−y)}/C
Zと、係数記憶部202から受け取った定数値z1とを加
算するようになっている。
The second adder 209 outputs an output value {A Z × (x 1 −x) + B Z × (y 1 −y)} / C of the divider 208.
Z and a constant value z 1 received from the coefficient storage unit 202 are added.

【0067】しかして、このようにして求められた加算
器209の出力値{AZ×(x1−x)+BZ×(y1
y)}/CZ+z1は、視面(xy平面)上の3角形内の
点(x,y)におけるzパラメータに他ならない(上式
(6)参照)。したがって、xy発生器71より3角形
内部の各画素の座標値を受け取ることによって、その画
素の画素データを逐次出力できる訳なのである。
[0067] Thus, the output value of the adder 209 obtained in this manner {A Z × (x 1 -x ) + B Z × (y 1 -
y)} / C Z + z 1 is nothing but the z parameter at the point (x, y) in the triangle on the viewing plane (xy plane) (see equation (6) above). Therefore, by receiving the coordinate value of each pixel inside the triangle from the xy generator 71, the pixel data of that pixel can be sequentially output.

【0068】本実施例におけるレンダリングLSIで
は、各補間部74−1,74−2,74−3…は図8と
同一の構成を採っており、その中には分岐や条件分岐な
どの処理時間を不均一化する要素を含んでいない。した
がって、各パラメータの計算処理を容易にパイプライン
化することができる訳である。また、2つのラッチ(図
8中ではラッチ205及び206)を備えることによっ
て、乗算器や割算器の個数を最低の各1個に抑えること
ができる。これによって、レンダリングLSIをASI
Cによって容易に実装することが可能になる。
In the rendering LSI according to the present embodiment, each of the interpolators 74-1, 74-2, 74-3,... Has the same configuration as that shown in FIG. Does not contain any elements that make it uneven. Therefore, the calculation processing of each parameter can be easily pipelined. In addition, by providing two latches (the latches 205 and 206 in FIG. 8), the number of multipliers and dividers can be suppressed to at least one each. As a result, the rendering LSI
C allows easy implementation.

【0069】D.追補 以上、特定の実施例を参照しながら、本発明について詳
解してきた。しかしながら、本発明の要旨を逸脱しない
範囲で当業者が該実施例の修正や代用を成し得ることは
自明である。すなわち、例示という形態で本発明を開示
してきたのであり、限定的に解釈されるべきではない。
本発明の要旨を判断するためには、冒頭に記載した特許
請求の範囲の欄を参酌すべきである。
D. The present invention has been described in detail with reference to specific embodiments. However, it is obvious that those skilled in the art can modify or substitute the embodiment without departing from the spirit of the present invention. That is, the present invention has been disclosed by way of example, and should not be construed as limiting.
In order to determine the gist of the present invention, the claims described at the beginning should be considered.

【0070】[0070]

【発明の効果】以上詳記したように、本発明に係るグラ
フィック表示生成装置及び方法、レンダリングLSIに
よれば、ポリゴン内部の画素を補間する際に、ただ1つ
の乗算手段、乗算段階、若しくは乗算回路しか持たない
なくて済む。したがって、LSIの使用セル数を極力少
なくすることができる。
As described above in detail, according to the graphic display generating apparatus and method and the rendering LSI according to the present invention, when interpolating pixels inside a polygon, only one multiplication means, multiplication step or multiplication is required. You only need to have a circuit. Therefore, the number of cells used in the LSI can be minimized.

【0071】また、本発明に係るグラフィック表示生成
装置及び方法、レンダリングLSIによれば、レンダリ
ングのための各手段、各段階、若しくは各回路は、分岐
や条件分岐など、処理を滞らせるルーチンを含まないで
構成される。したがって、3次元グラフィックス処理の
高品位化のために、扱うべきパラメータ数が増加して
も、パイプライン処理により比較的容易に高速化を図る
ことができる。
Further, according to the graphic display generating apparatus and method and the rendering LSI according to the present invention, each means for rendering, each stage or each circuit includes a routine for delaying processing such as branching or conditional branching. Not composed. Therefore, even if the number of parameters to be handled is increased due to the high quality of the three-dimensional graphics processing, the speed can be relatively easily increased by the pipeline processing.

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

【図1】図1は、3次元グラフィックス処理を行うコン
ピュータ・システム100のハードウェア構成を示した
図である。
FIG. 1 is a diagram illustrating a hardware configuration of a computer system 100 that performs three-dimensional graphics processing.

【図2】図2は、3次元グラフィックス処理を好適に実
現するためのグラフィックス・ボード20の構成を模式
的に示した図である。
FIG. 2 is a diagram schematically showing a configuration of a graphics board 20 for suitably implementing three-dimensional graphics processing.

【図3】図3は、頂点メモリの構成を示した図である。FIG. 3 is a diagram illustrating a configuration of a vertex memory;

【図4】図4は、グラフィックス・ボード50上のレン
ダリングLSI70の構成をより詳細に示した図であ
る。
FIG. 4 is a diagram showing a configuration of a rendering LSI 70 on a graphics board 50 in more detail.

【図5】図5は、xy発生器71の動作特性を図解した
ものである。
FIG. 5 illustrates the operating characteristics of the xy generator 71.

【図6】図6は、隠面処理部76が行う処理ルーチンを
概略的に示した図である。
FIG. 6 is a diagram schematically illustrating a processing routine performed by a hidden surface processing unit 76;

【図7】図7は、レンダリングLSI70内の係数計算
部の構成をより詳細に示した図である。
FIG. 7 is a diagram illustrating the configuration of a coefficient calculation unit in the rendering LSI 70 in more detail;

【図8】図8は、レンダリングLSI70内の画素補間
部の構成をより詳細に示した図である。
FIG. 8 is a diagram illustrating the configuration of a pixel interpolation unit in the rendering LSI 70 in more detail;

【図9】図9は、コンピュータ・システムがディスプレ
イ上で3次元グラフィックスを表示する際に必要となる
処理手順を示した図である。
FIG. 9 is a diagram illustrating a processing procedure required when the computer system displays three-dimensional graphics on a display;

【図10】図10は、3次元グラフィックス処理を行う
システムのアーキテクチャを模式的に示した図である。
FIG. 10 is a diagram schematically illustrating the architecture of a system that performs three-dimensional graphics processing.

【図11】図11は、線形補間によって画素データを求
める手法を説明するための図である。
FIG. 11 is a diagram for explaining a method of obtaining pixel data by linear interpolation.

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

11…MPU、12…メイン・メモリ、13…CRTデ
ィスプレイ、14…ビデオ・アダプタ、15…VRA
M、16…DASD、17…通信用アダプタ、18…バ
ス、20画像ソース、21…インターフェース回路、5
0…グラフィックス・ボード、60…ジオメトリ部、6
1…ローカル・バッファ(頂点メモリ)、70…レンダ
リング部、71…xy発生器、72…係数計算部、73
…定数抽出部、74…補間部、75…FIFO、76…
隠面処理(Z値比較)部、80…フレーム・バッファ、
90…DA変換器、100…ワークステーション、20
1…入力調節回路、202…係数記憶部、203…引算
器、204…乗算器、205…第1のラッチ、206…
第2のラッチ、207…第1の加算器、208…割算
器、209…第2の加算器。
11: MPU, 12: Main memory, 13: CRT display, 14: Video adapter, 15: VRA
M, 16: DASD, 17: Communication adapter, 18: Bus, 20 image sources, 21: Interface circuit, 5
0: Graphics board, 60: Geometry section, 6
DESCRIPTION OF SYMBOLS 1 ... Local buffer (vertex memory), 70 ... Rendering part, 71 ... xy generator, 72 ... Coefficient calculating part, 73
... constant extraction unit, 74 ... interpolation unit, 75 ... FIFO, 76 ...
Hidden surface processing (Z value comparison) unit, 80 ... frame buffer,
90 ... DA converter, 100 ... Work station, 20
DESCRIPTION OF SYMBOLS 1 ... Input adjustment circuit, 202 ... Coefficient storage part, 203 ... Subtractor, 204 ... Multiplier, 205 ... First latch, 206 ...
Second latch, 207: first adder, 208: divider, 209: second adder.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 神崎 英介 神奈川県大和市下鶴間1623番地14 日本 アイ・ビー・エム株式会社 大和事業所 内 (72)発明者 安田 浩明 神奈川県大和市下鶴間1623番地14 日本 アイ・ビー・エム株式会社 大和事業所 内 (56)参考文献 特開 昭62−256186(JP,A) 特開 平4−220783(JP,A) 特開 平5−250490(JP,A) 特開 平5−89251(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06T 1/00 - 1/20 G06T 15/00 - 15/70 特許ファイル(PATOLIS) JICSTファイル(JOIS)──────────────────────────────────────────────────の Continued on the front page (72) Inventor Eisuke Kanzaki 1623-14 Shimotsuruma, Yamato-shi, Kanagawa Prefecture IBM Japan Yamato Office (72) Inventor Hiroaki Yasuda 1623 Shimotsuruma, Yamato-shi, Kanagawa 14 IBM Japan, Ltd. Yamato Works (56) References JP-A-62-256186 (JP, A) JP-A-4-220783 (JP, A) JP-A 5-250490 (JP, A) JP-A-5-89251 (JP, A) (58) Fields investigated (Int. Cl. 6 , DB name) G06T 1/00-1/20 G06T 15/00-15/70 Patent file (PATOLIS) JICST File (JOIS)

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】世界座標系XYZ(但し、XY座標平面は
視面(表示画面)と等価であり、Z軸は補間すべき画素
データと等価)上の3角形PWWWを定義する各頂点
W,QW,RWに与えられた画素データに基づいて該3
角形PWWWのXY平面への投影3角形PQR内部の
各画素位置の画素データzを補間するタイプのグラフィ
ック表示生成装置において、Y軸方向に順次走査して該
3角形PQR内部の各画素の座標位置を発生するxy座
標発生手段と、世界座標系上における3角形PWWW
の平面方程式βの係数成分及び定数成分を求めて一時格
納する係数/定数計算・記憶手段と(ここで、平面方程
式βをA・(x−x1)+B・(y−y1)+C・(z−
1)=0とおく。但し、点(x1,y1,z1)は平面β
上の点である。この場合、係数成分はA,B,Cであ
り、定数成分はz1)、差x−x1又はy−y1のいずれ
か一方を選択的に求める引算手段と、Aとx1−xとの
積又はBとy1−yとの積のいずれか一方を求める乗算
手段と、積A・(x1−x)を一時格納するための第1
のラッチ手段と、積B・(y1−y)を一時格納するた
めの第2のラッチ手段と、前記第1及び第2のラッチ手
段の保持データの和を求める第1の加算手段と、前記第
1の加算手段の出力データを係数Cで割るための割算手
段と、前記割算手段と定数成分z1との和を求める第2
の加算手段と、を含む特徴とするグラフィック表示生成
装置
1. A world coordinate system XYZ (however, XY coordinate plane is equivalent to the viewing plane (display screen), the Z-axis pixel data equivalent to be interpolated) define triangular P W Q W R W on Based on the pixel data given to each vertex P W , Q W , R W
In square P W Q W R W type graphic display generator for interpolating pixel data z of the projection triangle PQR each pixel position within the XY plane, are sequentially scanned in the Y-axis direction of the inside of the triangle PQR Xy coordinate generating means for generating a coordinate position of each pixel, and a triangle P W Q W R W on a world coordinate system
Coefficient / constant calculation / storage means for obtaining and temporarily storing the coefficient component and the constant component of the plane equation β of (where the plane equation β is expressed by A · (x−x 1 ) + B · (y−y 1 ) + C · (Z-
z 1 ) = 0. Where the point (x 1 , y 1 , z 1 ) is on the plane β
This is the point above. In this case, the coefficient components are A, B, and C, the constant components are z 1 ), subtraction means for selectively obtaining any one of the difference xx 1 or yy 1 , and A and x 1 − a multiplying means for obtaining one of a product of x and a product of B and y 1 -y, and a first means for temporarily storing the product A · (x 1 -x)
A second latch means for temporarily storing a product B · (y 1 -y); a first adding means for obtaining a sum of data held by the first and second latch means; second obtaining and dividing means for dividing the output data by the coefficient C of the first addition means, the sum of the division means and the constant component z 1
Graphic display generating apparatus comprising:
【請求項2】世界座標系XYZ(但し、XY座標平面は
視面(表示画面)と等価であり、Z軸は補間すべき画素
データと等価)上の3角形PWWWを定義する各頂点
W,QW,RWに与えられた画素データに基づいて該3
角形PWWWのXY平面への投影3角形PQR内部の
各画素位置の画素データzを補間するタイプのグラフィ
ック表示生成方法において、Y軸方向に順次走査して該
3角形PQR内部の各画素の座標位置を発生するxy座
標発生段階と、世界座標系上における3角形PWWW
の平面方程式βの係数成分及び定数成分を求めて一時格
納する係数/定数計算・記憶段階と(ここで、平面方程
式βをA・(x−x1)+B・(y−y1)+C・(z−
1)=0とおく。但し、点(x1,y1,z1)は平面β
上の点である。この場合、係数成分はA,B,Cであ
り、定数成分はz1)、差x−x1又はy−y1のいずれ
か一方を選択的に求める引算段階と、Aとx1−xとの
積又はBとy1−yとの積のいずれか一方を求める乗算
段階と、積A・(x1−x)を一時格納するための第1
のラッチ段階と、積B・(y1−y)を一時格納するた
めの第2のラッチ段階と、前記第1及び第2のラッチ段
階で得た両データの和を求める第1の加算段階と、前記
第1の加算手段の出力データを係数Cで割るための割算
段階と、前記割算段階で得たデータと定数成分z1との
和を求める第2の加算段階と、を含む特徴とするグラフ
ィック表示生成方法
2. Define a triangle P W Q W R W on a world coordinate system XYZ (where the XY coordinate plane is equivalent to a viewing plane (display screen) and the Z axis is equivalent to pixel data to be interpolated). Based on the pixel data given to each vertex P W , Q W , R W
In square P W Q W R W projected triangle PQR types of graphic display generation method for interpolating pixel data z for each pixel position within the XY plane, it is sequentially scanned in the Y-axis direction of the inside of the triangle PQR An xy coordinate generation step for generating the coordinate position of each pixel, and a triangle P W Q W R W on the world coordinate system
A coefficient / constant calculation / storage step of obtaining and temporarily storing the coefficient component and the constant component of the plane equation β of (where the plane equation β is expressed as A · (x−x 1 ) + B · (y−y 1 ) + C · (Z-
z 1 ) = 0. Where the point (x 1 , y 1 , z 1 ) is on the plane β
This is the point above. In this case, the coefficient components are A, B, and C, and the constant components are z 1 ), a subtraction step of selectively obtaining any one of the difference xx 1 or yy 1 , and A and x 1 − a multiplication step for obtaining either a product of x or a product of B and y 1 -y, and a first step for temporarily storing the product A · (x 1 -x)
, A second latching step for temporarily storing the product B · (y 1 −y), and a first adding step for obtaining a sum of both data obtained in the first and second latching steps. including the a division step for dividing the output data by the coefficient C of said first adding means, and a second adding step of determining the sum of the data and the constant component z 1 obtained in the dividing step Characteristic graphic display generation method
【請求項3】世界座標系XYZ(但し、XY座標平面は
視面(表示画面)と等価であり、Z軸は補間すべき画素
データと等価)上の3角形PWWWを定義する各頂点
W,QW,RWに与えられた画素データに基づいて該3
角形PWWWのXY平面への投影3角形PQR内部の
各画素位置の画素データzを補間するタイプのレンダリ
ングLSIにおいて、Y軸方向に順次走査して該3角形
PQR内部の各画素の座標位置を発生するxy座標発生
回路と、世界座標系上における3角形PWWWの平面
方程式βの係数成分及び定数成分を求めて一時格納する
係数/定数計算・記憶回路と(ここで、平面方程式βを
A・(x−x1)+B・(y−y1)+C・(z−z1
=0とおく。但し、点(x1,y1,z1)は平面β上の
点である。この場合、係数成分はA,B,Cであり、定
数成分はz1)、差x−x1又はy−y1のいずれか一方
を選択的に求める引算回路と、Aとx1−xとの積又は
Bとy1−yとの積のいずれか一方を求める乗算回路
と、積A・(x1−x)を一時格納するための第1のラ
ッチ回路と、積B・(y1−y)を一時格納するための
第2のラッチ回路と、前記第1及び第2のラッチ回路の
保持データの和を求める第1の加算回路と、前記第1の
加算回路の出力データを係数Cで割るための割算回路
と、前記割算回路と定数成分z1との和を求める第2の
加算回路と、を含む特徴とするレンダリングLSI
3. Define a triangle P W Q W R W on a world coordinate system XYZ (where the XY coordinate plane is equivalent to a viewing plane (display screen) and the Z axis is equivalent to pixel data to be interpolated). Based on the pixel data given to each vertex P W , Q W , R W
Square P W Q W R in W projected triangle PQR types of rendering LSI for interpolating the pixel data z for each pixel position within the XY plane, sequential scanning to the pixels inside the triangle PQR in the Y-axis direction and xy coordinate generating circuit for generating a coordinate position, and triangular P W Q W R W coefficients / constants calculation and storage circuit for temporarily storing seeking coefficient component and a constant component of the plane equation β of on the world coordinate system ( Here, the plane equation β is expressed by A · (xx 1 ) + B · (y−y 1 ) + C · (z−z 1 )
= 0. However, the point (x 1 , y 1 , z 1 ) is a point on the plane β. In this case, the coefficient components are A, B, and C, and the constant components are z 1 ), a subtraction circuit for selectively obtaining one of the difference xx 1 or yy 1 , and A and x 1 − a multiplication circuit for obtaining either the product of x or the product of B and y 1 -y, a first latch circuit for temporarily storing the product A · (x 1 -x), and the product B · ( y 1 -y), a first adder for calculating the sum of the data held in the first and second latches, and output data of the first adder. a dividing circuit for dividing by a factor C and rendering LSI to a second adding circuit for obtaining the sum of the division circuit and the constant component z 1, characterized comprising
【請求項4】線形補間(いわゆるグーロー・シエーディ
ング)により3角形内部の画素(x,y)の画素データ
zを求めるタイプ(すなわち線形方程式z=A'・(x1
−x)+B'・(y1−y)+z1により画素データzを
求めるタイプ。但し、点(x1,y 1,z1)は該3角形
を含め平面上の点)のレンダリングLSIにおいて、差
1−x又は差y1−yのいずれか一方を選択的に求める
引算回路と、積A'・(x1−x)又は積B'・(y1
y)のいずれか一方を選択的に求める乗算回路と、積
A'・(x1−x)を一時的に格納する第1のラッチ回路
と、積B'・(y1−y)を一時的に格納する第2のラッ
チ回路と、前記第1及び第2のラッチ回路の保持データ
の和を求める第1の加算回路と、前記第1の加算回路の
出力データA'・(x1−x)+B'・(y1−y)と前記
方程式の係数成分z1との和を求める第2の加算回路
と、を含むことを特徴とするレンダリングLSI
4. A type for obtaining pixel data z of a pixel (x, y) inside a triangle by linear interpolation (so-called Gouraud shading) (that is, a linear equation z = A ′ · (x 1
−x) + B ′ · (y 1 −y) + z 1 A type in which pixel data z is obtained. However, the point (x 1, y 1, z 1) argument is the triangle in the rendering LSI of points on a plane) including, for either of the difference x 1 -x or difference y 1 -y selectively obtaining Arithmetic circuit and the product A ′ · (x 1 −x) or the product B ′ · (y 1
y), a first latch circuit for temporarily storing the product A ′ · (x 1 −x), and a product for temporarily storing the product B ′ · (y 1 −y). A second latch circuit for temporarily storing data, a first adder circuit for calculating the sum of the data held in the first and second latch circuits, and output data A ′ · (x 1 − x) + B ′ · (y 1 −y) and a second adding circuit for obtaining a sum of the coefficient component z 1 of the equation.
JP7247185A 1995-09-26 1995-09-26 Graphic display generation apparatus and method, rendering LSI Expired - Fee Related JP2915330B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7247185A JP2915330B2 (en) 1995-09-26 1995-09-26 Graphic display generation apparatus and method, rendering LSI

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7247185A JP2915330B2 (en) 1995-09-26 1995-09-26 Graphic display generation apparatus and method, rendering LSI

Publications (2)

Publication Number Publication Date
JPH0997351A JPH0997351A (en) 1997-04-08
JP2915330B2 true JP2915330B2 (en) 1999-07-05

Family

ID=17159713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7247185A Expired - Fee Related JP2915330B2 (en) 1995-09-26 1995-09-26 Graphic display generation apparatus and method, rendering LSI

Country Status (1)

Country Link
JP (1) JP2915330B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4847910B2 (en) * 2007-03-29 2011-12-28 株式会社ディジタルメディアプロフェッショナル Curvature-based rendering method and apparatus for translucent material such as human skin

Also Published As

Publication number Publication date
JPH0997351A (en) 1997-04-08

Similar Documents

Publication Publication Date Title
US6115047A (en) Method and apparatus for implementing efficient floating point Z-buffering
US6782130B2 (en) Rendering of photorealistic computer graphics images
US4975976A (en) Image transformation method and device
JP3466661B2 (en) Image processing apparatus and method
US7659893B1 (en) Method and apparatus to ensure consistency of depth values computed in different sections of a graphics processor
JP4987070B2 (en) Image generating apparatus and image generating method
JPH0935075A (en) Computer graphics system with high-performance primitive clipping preprocessing
JPH04222074A (en) Inclination computing method for texture map
JPH0950537A (en) Volume rendering device and its method
JPH0776991B2 (en) NURBS data conversion method and apparatus
US5109481A (en) Quadratic interpolation for shaded image generation
JP3959862B2 (en) Texture mapping method and apparatus
US5892516A (en) Perspective texture mapping circuit having pixel color interpolation mode and method thereof
JP2926637B2 (en) Volume rendering apparatus and method suitable therefor
US5771046A (en) Image processing system and method including perspective transformation of three-dimensional objects utilizing clipping plane positions
JP2915330B2 (en) Graphic display generation apparatus and method, rendering LSI
KR0179354B1 (en) Texture mapping method and image processing apparatus
EP1288863B1 (en) Method and device for drawing
JP2000182069A (en) Image processing unit and its method
JP3332511B2 (en) Image data processing method and apparatus and graphic system
KR100283071B1 (en) Fast Texture Mapping Method
JP2000207576A (en) Method and device for processing image and recording medium recording image processing program
JPH05298456A (en) Texture mapping system
JP2000348196A (en) Three-dimensional picture generation device and environment map generation method
JP3311905B2 (en) Image processing device

Legal Events

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