JP3068007B2 - Rendering device and mapping device, and rendering method and mapping method - Google Patents
Rendering device and mapping device, and rendering method and mapping methodInfo
- Publication number
- JP3068007B2 JP3068007B2 JP17022696A JP17022696A JP3068007B2 JP 3068007 B2 JP3068007 B2 JP 3068007B2 JP 17022696 A JP17022696 A JP 17022696A JP 17022696 A JP17022696 A JP 17022696A JP 3068007 B2 JP3068007 B2 JP 3068007B2
- Authority
- JP
- Japan
- Prior art keywords
- point
- polygon
- edge
- pixel
- 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
Links
Landscapes
- Image Generation (AREA)
Description
【0001】[0001]
【発明の属する技術分野】本発明は、コンピュータグラ
フィックス(CG)処理におけるレンダリング装置およ
びその方法に関するものであり、特に高画質な画像を生
成するためのテクスチャマッピングを行うマッピング装
置およびマッピング方法に関するものである。さらに本
発明は、CGを生成する上で行う、照度計算、不透明度
計算、バンプ計算など、様々なCGの計算に応用するこ
とができるものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a rendering apparatus and method for computer graphics (CG) processing, and more particularly to a mapping apparatus and a mapping method for performing texture mapping for generating a high-quality image. It is. Further, the present invention can be applied to various CG calculations, such as illuminance calculation, opacity calculation, and bump calculation, which are performed in generating a CG.
【0002】[0002]
【従来の技術】近年、コンピュータグラフィックスや、
ゲーム機などの分野において、テクスチャマッピングを
用いたポリゴンレンダリング処理がよく行われる。通
常、インバースマップと呼ばれるテクスチャマッピング
手法では、スクリーン座標(Xs,Ys)から対応するテクス
チャパターン(u,v)の座標を計算し、算出した座標のテ
クスチャの点(対応点)の色をスクリーン座標(Xs,Ys)
に反映させる。2. Description of the Related Art In recent years, computer graphics,
In the field of game machines and the like, polygon rendering processing using texture mapping is often performed. Normally, in a texture mapping method called an inverse map, the coordinates of the corresponding texture pattern (u, v) are calculated from the screen coordinates (Xs, Ys), and the color of the texture point (corresponding point) at the calculated coordinates is converted to the screen coordinates. (Xs, Ys)
To reflect.
【0003】この対応点計算は、処理の高速性、構成回
路の簡単化などの点から、増分アルゴリズム(Increment
al Algorithm:各ステップにおいて、前ステップの計算
結果に基づいて増分計算を行なう)により実現している
ものが多い(George Wolberg,“Digital Image Warpin
g,” pp189-pp204)。[0003] The corresponding point calculation is performed by an incremental algorithm (Increment algorithm) in terms of high-speed processing and simplification of a constituent circuit.
al Algorithm: In each step, incremental calculation is performed based on the calculation result of the previous step) (George Wolberg, “Digital Image Warpin
g, "pp189-pp204).
【0004】図37および図38は増分アルゴリズムに
よるテクスチャマッピングの処理を示す図である。ここ
で、スクリーン座標のポリゴン上の点(x,y)と、テク
スチャ座標のテクスチャ上の点(u,v)とには(数
1)、(数2)の関係が成り立つとする。以降(数
1)、(数2)によって(u,v)を求める計算を対応
点計算とする。FIGS. 37 and 38 are diagrams showing a texture mapping process by an incremental algorithm. Here, it is assumed that the relationship (Equation 1) and (Equation 2) hold between a point (x, y) on the polygon of the screen coordinates and a point (u, v) on the texture of the texture coordinates. Hereinafter, the calculation for obtaining (u, v) by (Equation 1) and (Equation 2) is referred to as corresponding point calculation.
【0005】[0005]
【数1】u = F(x,y) = a×x + b×y + cU = F (x, y) = a × x + b × y + c
【0006】[0006]
【数2】v = G(x,y) = d×x + e×y + f 図37において、格子に囲まれた部分はスクリーンの1
画素を表すものとする。また、図中の三角形は、スクリ
ーンに投影されたポリゴンを示している。点1401、
1402、1403は、このポリゴンを構成する頂点で
ある。点1401を第0の頂点、点1402を第1の頂
点、点1403を第2の頂点とし、それぞれのスクリー
ン座標および対応するテクスチャ座標を(8,0,0,0)、(0,
6,0,16)、(11,9,16,16)とする。また辺1404は第0
の頂点1401と第1の頂点1402で結ばれる辺0
1、辺1405は第1の頂点1402と第2の頂点14
03で結ばれる辺12、辺1406は第2の頂点140
3と第0の頂点1401で結ばれる辺20とする。さら
に、点1002、1004、1006は、増分アルゴリ
ズムで算出するスクリーン上の描画点を表す。描画点と
は、ポリゴンを描画する場合に、スクリーンに投影され
たポリゴン上に設定されるものである。各画素に与える
べき画素値は、描画点の座標値に基づいて決定される。
描画点を決定する方法として、増分アルゴリズムがよく
用いられる。増分アルゴリズムは、ポリゴンエッジ(ポ
リゴンの境界)上の点を基準にして描画点を決定する。
特に、マッピング装置では、マッピング画像(例えばテ
クスチャ画像)上において各描画点に対応する対応点を
決定し、その対応点の画素値をスクリーン上の画素に反
映させることでマッピングを行う。対応点の決定は対応
点計算により実行される。[Mathematical formula-see original document] v = G (x, y) = d * x + e * y + f In FIG.
It represents a pixel. The triangles in the figure indicate polygons projected on the screen. Point 1401,
1402 and 1403 are vertices constituting the polygon. A point 1401 is a zero vertex, a point 1402 is a first vertex, a point 1403 is a second vertex, and respective screen coordinates and corresponding texture coordinates are (8,0,0,0), (0,
6,0,16) and (11,9,16,16). The side 1404 is the 0th
0 which is connected by the vertex 1401 of the
1, the side 1405 is composed of the first vertex 1402 and the second vertex 14
The side 12 and the side 1406 connected by 03 are the second vertex 140
The side 20 is connected to the third vertex 1401 by the third vertex 1401. Further, points 1002, 1004, and 1006 represent drawing points on the screen calculated by the incremental algorithm. A drawing point is set on a polygon projected on a screen when a polygon is drawn. The pixel value to be given to each pixel is determined based on the coordinate value of the drawing point.
As a method of determining a drawing point, an incremental algorithm is often used. The increment algorithm determines a drawing point based on a point on a polygon edge (boundary of a polygon).
In particular, the mapping apparatus performs mapping by determining a corresponding point corresponding to each drawing point on a mapping image (for example, a texture image) and reflecting the pixel value of the corresponding point on a pixel on the screen. The determination of the corresponding point is performed by the corresponding point calculation.
【0007】以下、ポリゴンエッジにおける対応点計算
の詳細を説明する。図38において、格子に囲まれた部
分はスクリーンの1画素である。図38は図37におけ
る辺1404の一部を示している。図37および図38
における点1002、1004、1006は同じ描画点
を表す。テクスチャマッピングにより描画するポリゴン
のエッジ1001は辺1404の一部であり、エッジ1
001の右側に描画対象とするポリゴンが存在する。増
分アルゴリズムの前ステップで求めたポリゴンエッジ上
の描画点を1002とし、エッジ描画点1002の画素
値が反映される画素を1003とする。ポリゴンエッジ
に関して現在ステップで求めるエッジ描画点を1004
とし、エッジ描画点1004の画素値が反映される画素
を1005とする。Hereinafter, the details of the calculation of the corresponding points on the polygon edge will be described. In FIG. 38, the portion surrounded by the grid is one pixel of the screen. FIG. 38 shows a part of the side 1404 in FIG. 37 and 38
Points 1002, 1004, and 1006 in represent the same drawing point. The edge 1001 of the polygon to be drawn by the texture mapping is a part of the side 1404, and the edge 1
There is a polygon to be drawn on the right side of 001. The drawing point on the polygon edge determined in the previous step of the increment algorithm is denoted by 1002, and the pixel on which the pixel value of the edge drawn point 1002 is reflected is denoted by 1003. The edge drawing point obtained in the current step for the polygon edge is 1004
The pixel on which the pixel value of the edge drawing point 1004 is reflected is denoted by 1005.
【0008】ポリゴンエッジ上の描画点および描画点に
対応する対応点の算出はスキャンラインを逐次変化させ
て行ない、スキャンラインがポリゴン全体をスキャンし
た時点で、ポリゴンエッジに関する処理を終了する。こ
こでは、スキャンラインをスクリーンの水平方向のライ
ンとして設定し、このスキャンラインをスクリーンの上
から下に変化させることによって、ポリゴン全体のスキ
ャンを行う。言い換えると、ポリゴンのスキャンはスキ
ャンラインのy値を1づつ加算していくことと同義とす
る。The drawing points on the polygon edges and the corresponding points corresponding to the drawing points are calculated by sequentially changing the scan lines, and when the scan lines scan the entire polygon, the processing on the polygon edges is completed. Here, the entire polygon is scanned by setting the scan line as a horizontal line on the screen and changing the scan line from the top to the bottom of the screen. In other words, scanning a polygon is synonymous with adding y values of a scan line one by one.
【0009】このとき、エッジ描画点1002のスクリ
ーン座標および対応点のテクスチャ座標を(x0,y0,u
0,v0)とし、エッジ描画点1004のスクリーン座標お
よび対応点のテクスチャ座標を(x1,y1,u1,v1)とす
ると、これらを次式(数3)で表すことができる。At this time, the screen coordinates of the edge drawing point 1002 and the texture coordinates of the corresponding point are represented by (x0, y0, u
(0, v0), and the screen coordinates of the edge drawing point 1004 and the texture coordinates of the corresponding point are (x1, y1, u1, v1), these can be expressed by the following equation (Equation 3).
【0010】[0010]
【数3】 (x1,y1,u1,v1) = ( x0+dx/dy , y0+1 , u0+du/dy , v0+dv/dy ) 同様に(数4)はエッジに関するテクスチャマッピング
の対応点計算の一般式で、添字はスキャンラインの番号
を表す。## EQU3 ## (x1, y1, u1, v1) = (x0 + dx / dy, y0 + 1, u0 + du / dy, v0 + dv / dy) Similarly, (Expression 4) is the correspondence of texture mapping for edges. In the general formula of the point calculation, the subscript indicates the number of the scan line.
【0011】[0011]
【数4】 (xn+1,yn+1,un+1,vn+1) = ( xn+dx/dy , yn +1 , un+du/dy , vn+dv/dy ) ((数1)、(数2)よりu、vはyで微分可能) (数4)の処理をポリゴンエッジの始点から終点まで行
なうことにより、ポリゴンエッジに関する描画点の位置
(スクリーン座標値)と対応点の位置(テクスチャ座標
値)を算出することができる。(Xn + 1, yn + 1, un + 1, vn + 1) = (xn + dx / dy, yn + 1, un + du / dy, vn + dv / dy) (Equation 1) By performing the processing of (Equation 4) from the starting point to the ending point of the polygon edge, the position of the drawing point (screen coordinate value) and the position of the corresponding point with respect to the polygon edge are obtained. (Texture coordinate value) can be calculated.
【0012】ここで、増分アルゴリズムによる処理を実
現するために必要とするパラメータ(DDAパラメータ)
はdx/dy、du/dy、dv/dyで、それぞれHere, parameters (DDA parameters) required to realize processing by the incremental algorithm
Are dx / dy, du / dy, and dv / dy, respectively.
【0013】[0013]
【数5】dx/dy = (0-8)/(6-0) = -8/6 du/dy = (0-0)/(6-0) = 0/6 dv/dy = (16-0)/(6-0) = 16/6 となる。Dx / dy = (0-8) / (6-0) =-8/6 du / dy = (0-0) / (6-0) = 0/6 dv / dy = (16- 0) / (6-0) = 16/6.
【0014】図37におけるポリゴンエッジにおけるス
クリーン座標とテクスチャ座標の算出は次のように実現
することができる。ここでは辺1404について算出を
行なう。The calculation of screen coordinates and texture coordinates at polygon edges in FIG. 37 can be realized as follows. Here, calculation is performed for the side 1404.
【0015】 (8.00 , 0.00 , 0.00 , 0.00) ………(初期値) ↓+(-8/6 , 1 , 0 , 16/6) (6.67 , 1.00 , 0.00 , 2.67) ↓+(-8/6 , 1 , 0 , 16/6) (5.33 , 2.00 , 0.00 , 5.33) ↓+(-8/6 , 1 , 0 , 16/6) (4.00 , 3.00 , 0.00 , 8.00) ↓+(-8/6 , 1 , 0 , 16/6) (2.67 , 4.00 , 0.00 , 10.67) ↓+(-8/6 , 1 , 0 , 16/6) (1.33 , 5.00 , 0.00 , 13.33) ↓+(-8/6 , 1 , 0 , 16/6) (0.00 , 6.00 , 0.00 , 16.00) ………(終了) 次にポリゴンスパン(ポリゴン内部点)における対応点
計算に関して説明する。前ステップで求められたポリゴ
ンスパンの点(以下、スパン点とする)をスパン点10
04とし、スパン点1004の画素値が反映される画素
を画素1005とする。現在ステップで求めるべきポリ
ゴンスパンの点をスパン点1006とし、スパン点10
06の画素値が反映される画素を画素1007とする。
このポリゴンスパン点1004は、ポリゴンエッジ点と
同一のものを指す。なお、スパン点は、エッジ点も含む
ものとし、点1004はスパン点ともいう。(8.00, 0.00, 0.00, 0.00) ……… (initial value) ↓ + (-8/6, 1, 0, 16/6) (6.67, 1.00, 0.00, 2.67) ↓ + (-8 / 6, 1, 0, 16/6) (5.33, 2.00, 0.00, 5.33) ↓ + (-8/6, 1, 0, 16/6) (4.00, 3.00, 0.00, 8.00) ↓ + (-8 / 6, 1, 0, 16/6) (2.67, 4.00, 0.00, 10.67) ↓ + (-8/6, 1, 0, 16/6) (1.33, 5.00, 0.00, 13.33) ↓ + (-8 / 6, 1, 0, 16/6) (0.00, 6.00, 0.00, 16.00) (End) Next, the calculation of the corresponding points in the polygon span (the interior points of the polygon) will be described. The point of the polygon span determined in the previous step (hereinafter referred to as the span point) is the span point 10
04, and a pixel on which the pixel value of the span point 1004 is reflected is a pixel 1005. The point of the polygon span to be obtained in the current step is set as the span point 1006, and the
A pixel to which the pixel value of 06 is reflected is referred to as a pixel 1007.
The polygon span point 1004 indicates the same as the polygon edge point. Note that the span point includes an edge point, and the point 1004 is also called a span point.
【0016】ポリゴンスパンでの描画点、および対応点
の算出は描画対象の画素(以下、描画画素とする)を逐
次変化させて行ない、ポリゴンスパン全体を描画した時
点でポリゴンスパンに関する処理を終了する。ここで
は、描画画素を左から右に変化させるとし、スクリーン
座標値のxを1づつ加算することと同義とする。The drawing points and corresponding points in the polygon span are calculated by sequentially changing the pixels to be drawn (hereinafter, referred to as drawing pixels), and when the entire polygon span has been drawn, the processing relating to the polygon span is completed. . Here, it is assumed that the drawing pixel is changed from left to right, and this is equivalent to adding x of the screen coordinate value one by one.
【0017】このとき、スパン点1004のスクリーン
座標およびスパン点1004に対応する対応点のテクス
チャ座標を(x1,y1,u1,v1)とし、スパン点1006
のスクリーン座標およびスパン点1006に対応する対
応点のテクスチャ座標を(x2,y2,u2,v2)とすると、
これらを次式(数6)で表すことができる。At this time, the screen coordinates of the span point 1004 and the texture coordinates of the corresponding point corresponding to the span point 1004 are (x1, y1, u1, v1), and the span point 1006
If the texture coordinates of the corresponding point corresponding to the screen coordinates and the span point 1006 are (x2, y2, u2, v2),
These can be represented by the following equation (Equation 6).
【0018】[0018]
【数6】 (x2,y2,u2,v2) = ( x1 +1 , y1 , u1+∂u/∂x , v1+∂v/∂x ) 同様に(数7)はポリゴンスパンに関するテクスチャマ
ッピングの対応点計算の一般式で、添字は描画画素の番
号を表す。(X2, y2, u2, v2) = (x1 + 1, y1, u1 + ∂u / ∂x, v1 + ∂v / ∂x) Similarly, (Formula 7) is the corresponding point of texture mapping for the polygon span. In the general formula of calculation, the subscript represents the number of the drawing pixel.
【0019】[0019]
【数7】 (xn+1,yn+1,un+1,vn+1) = ( xn +1 , yn , un+∂u/∂x , vn+∂v/∂x ) ((数1)、(数2)よりu、vはxで偏微分可能) (数7)の処理をポリゴンスパンの始点から終点まで行
なうことにより、ポリゴンスパンに関する描画点の座標
値(スクリーン座標値)と対応点の座標値(テクスチャ
座標値)を算出することができる。(Xn + 1, yn + 1, un + 1, vn + 1) = (xn + 1, yn, un + ∂u / ∂x, vn + ∂v / ∂x) ((formula 1), ( From equation (2), u and v can be partially differentiated by x.) By performing the processing of equation (7) from the start point to the end point of the polygon span, the coordinate values (screen coordinate values) of the drawing points related to the polygon span and the coordinates of the corresponding points The value (texture coordinate value) can be calculated.
【0020】ここで、増分アルゴリズムによる処理を実
現するために必要とするパラメータ(DDAパラメータ)
は∂u/∂x、∂v/∂xで、それぞれHere, parameters (DDA parameters) required to realize processing by the incremental algorithm
Are ∂u / ∂x and ∂v / ∂x, respectively
【0021】[0021]
【数8】 ∂u/∂x = -{(6-0)(16-0)-(9-6)(0-0)}/{(0-8)(9-6)-(11-0)(6-0)} = 96/90 ∂v/∂x = -{(6-0)(16-16)-(9-6)(16-0)}/{(0-8)(9-6)-(11-0)(6-0) } = -48/90 となる。8u / ∂x =-{(6-0) (16-0)-(9-6) (0-0)} / {(0-8) (9-6)-(11- 0) (6-0)} = 96/90 ∂v / ∂x =-{(6-0) (16-16)-(9-6) (16-0)} / {(0-8) ( 9-6)-(11-0) (6-0)} = -48/90.
【0022】図37におけるポリゴンスパンにおけるス
クリーン座標とテクスチャ座標の算出は次のように実現
することができる。ここではスパン点1004が含まれ
るスパンの算出を行なう。The calculation of the screen coordinates and the texture coordinates in the polygon span in FIG. 37 can be realized as follows. Here, a span including the span point 1004 is calculated.
【0023】 (5.33 , 2.00 , 0.00 , 5.33) ………(初期値) ↓+(1 , 0 , 96/90 , -48/90) (6.33 , 2.00 , 1.07 , 4.80) ↓+(1 , 0 , 96/90 , -48/90) (7.33 , 2.00 , 2.13 , 4.27) ↓+(1 , 0 , 96/90 , -48/90) (8.33 , 2.00 , 3.20 , 3.73) ………(終了) なお、スパン点の計算は、図右側のエッジを越えない限
り続ける。(5.33, 2.00, 0.00, 5.33) ……… (initial value) ↓ + (1, 0, 96/90, -48/90) (6.33, 2.00, 1.07, 4.80) ↓ + (1, 0 , 96/90, -48/90) (7.33, 2.00, 2.13, 4.27) ↓ + (1, 0, 96/90, -48/90) (8.33, 2.00, 3.20, 3.73) ……… (End) Note that the calculation of the span point is continued as long as it does not exceed the right edge of the drawing.
【0024】以上説明した増分アリゴリズムにより、テ
クスチャマッピング処理における正確な対応点計算を高
速に行なうことができる。これにより算出した(u,v)
値でテクスチャ画像を参照し、描画画素に反映すること
により、テクスチャマッピングを実現することができ
る。通常算出した描画点(x,y)に対して、小数点以下
を切捨てる点を描画画素とし、ここでは画素1003に
はテクスチャ座標値(u0,v0)でテクスチャ画像を参照
した画素値を、画素1005にはテクスチャ座標値(u
1,v1)でテクスチャ画像を参照した画素値を、画素10
07にはテクスチャ座標値(u2,v2)でテクスチャ画像
を参照した画素値をそれぞれ反映させる。With the above-described incremental algorithm, accurate corresponding point calculation in texture mapping can be performed at high speed. (U, v) calculated by this
The texture mapping can be realized by referring to the texture image by the value and reflecting the value on the drawing pixel. With respect to the normally calculated drawing point (x, y), a point at which the fractional part is discarded is set as a drawing pixel. Here, a pixel value obtained by referring to the texture image with the texture coordinate value (u0, v0) is set as the pixel 1003. 1005 includes texture coordinate values (u
The pixel value obtained by referring to the texture image in (1, v1)
07 reflects the pixel value referring to the texture image with the texture coordinate value (u2, v2).
【0025】[0025]
【発明が解決しようとする課題】増分アルゴリズムによ
る対応点計算は、前ステップの計算結果をもとに演算を
行なうことにより、簡単な構成で、高速な演算を実現す
ることができる。しかし、対応点計算の誤差が発生する
問題がある。In the calculation of corresponding points by the incremental algorithm, a high-speed operation can be realized with a simple configuration by performing an operation based on the calculation result of the previous step. However, there is a problem that an error occurs in the calculation of the corresponding points.
【0026】ここで、描画画素に対する対応点計算が正
確に行なわれない場合について説明する。図39は図3
8同様に増分アルゴリズムによる対応点計算を説明する
もので、同一のものを示す場合には同一の参照符号を付
ける。Here, a case where the calculation of the corresponding point for the drawing pixel is not accurately performed will be described. FIG. 39 shows FIG.
8 explains the calculation of the corresponding points by the incremental algorithm in the same manner as in FIG.
【0027】増分アルゴリズムにより、図39において
ポリゴンエッジ点1002(x0,y0,u0,v0)から算
出されるポリゴンスパン点1006(x2,y2,u2,v
2)のテクスチャ座標(u2,v2)は(数9)となり((数
1)、(数2)、(数6)から)、描画画素1007
は、(数9)のテクスチャ座標をもとに得られた値で描
画する。The polygon span point 1006 (x2, y2, u2, v0) calculated from the polygon edge point 1002 (x0, y0, u0, v0) in FIG.
The texture coordinates (u2, v2) of (2) become (Equation 9) (from (Equation 1), (Equation 2), and (Equation 6)), and the drawing pixel 1007
Is drawn with the values obtained based on the texture coordinates of (Equation 9).
【0028】[0028]
【数9】 (u2,v2) = ( u1+∂u/∂x , v1+∂v/∂x ) = ( u0+du/dy +∂u/∂x , v0+dv/dy +∂v/∂x ) = ( u0+(a×dx/dy+b) +a , v0+(d×dx/dy+e) +d ) = ( u0+a×(1+dx/dy)+b , v0+d×(1+dx/dy)+e ) しかし、テクスチャ座標に関して、描画画素1003に
対する描画画素1007のテクスチャ座標は(数10)
となる。描画画素1003における座標を、ポリゴンエ
ッジ点1002(x0,y0,u0,v0)とする。また、エ
ッジ点1002をy軸に並行に1画素ずらした位置を点
1111(x',y',u',v')とし、この点を描画画素
1007における座標とする。(U2, v2) = (u1 + ∂u / ∂x, v1 + ∂v / ∂x) = (u0 + du / dy + ∂u / ∂x, v0 + dv / dy + ∂v / ∂x ) = (u0 + (a × dx / dy + b) + a, v0 + (d × dx / dy + e) + d) = (u0 + a × (1 + dx / dy) + b, v0 + d × ( 1 + dx / dy) + e) However, regarding the texture coordinates, the texture coordinates of the drawing pixel 1007 with respect to the drawing pixel 1003 are (Equation 10).
Becomes The coordinates of the drawing pixel 1003 are set as a polygon edge point 1002 (x0, y0, u0, v0). A position where the edge point 1002 is shifted by one pixel in parallel with the y-axis is set as a point 1111 (x ′, y ′, u ′, v ′), and this point is set as a coordinate in the drawing pixel 1007.
【0029】[0029]
【数10】 (u2',v2') = ( u0+∂u/∂y , v0+∂v/∂y ) = ( u0+b , v0+e ) ここで、対応点uに関して真値と増分アルゴリズムによ
り得た値との差をEとすると(数11)となる。(U2 ', v2') = (u0 + ∂u / ∂y, v0 + ∂v / ∂y) = (u0 + b, v0 + e) Here, the true value and the incremental algorithm are used for the corresponding point u. Assuming that the difference from the obtained value is E, Equation 11 is obtained.
【0030】[0030]
【数11】 E = u2' - u2 = - a×(1+dx/dy) したがってEの範囲は(数12)となる。E = u2′−u2 = −a × (1 + dx / dy) Therefore, the range of E is (Equation 12).
【0031】[0031]
【数12】 -a < E < a (∵ 図38より-2<dx/dy< 0) 次に(数12)の誤差について、サンプル点と描画点の
違いの点から説明する。ここで、サンプル点とは各画素
の領域において同一の位置関係に存在する点である。例
えば、画素の領域の中心点をサンプル点として定義する
ことができる。すなわち、画素が規則正しく格子状に配
置されていれば、サンプル点も格子状に配置されること
になる。一方、描画点は描画対象のポリゴン(特にポリ
ゴンエッジ)と画素との位置関係によって決定されるた
め、描画点は必ずしも規則正しく格子状に配置されると
は限らない。−a <E <a (∵−2 <dx / dy <0 from FIG. 38) Next, the error of (Expression 12) will be described in terms of a difference between a sample point and a drawing point. Here, the sample points are points that have the same positional relationship in each pixel area. For example, the center point of the pixel area can be defined as a sample point. That is, if the pixels are regularly arranged in a lattice, the sample points are also arranged in a lattice. On the other hand, the drawing points are determined by the positional relationship between the pixels to be drawn (particularly, polygon edges) and the pixels, so that the drawing points are not always regularly arranged in a grid.
【0032】図39において、それぞれの画素における
サンプル点を画素において最も原点に近い点とし(図に
示した画素の左上)、○印を付ける。また、描画点(増
分アルゴリズムにより算出したエッジ点1002、10
04とスパン点1006を示す)と、これらの描画点が
反映される画素1003、1005、1007における
画素のサンプル点との距離1108、1109、111
0をそれぞれL1、L2、L3とする。ここで(数7)
よりL2とL3は同じ値である。In FIG. 39, the sample point in each pixel is set as the point closest to the origin in the pixel (upper left of the pixel shown in the figure), and a circle is marked. Further, drawing points (edge points 1002, 10
04 and span points 1006), and distances 1108, 1109, 111 between the sample points of the pixels 1003, 1005, and 1007 on which these drawing points are reflected.
0 is L1, L2, and L3, respectively. Where (Equation 7)
Therefore, L2 and L3 have the same value.
【0033】このとき、対応点uに関して、サンプル点
における値と増分アルゴリズムで算出した描画点におけ
る値との誤差E1、E2、E3は(数13)で表すこと
ができる。At this time, with respect to the corresponding point u, errors E1, E2, E3 between the value at the sample point and the value at the drawing point calculated by the increment algorithm can be expressed by (Equation 13).
【0034】[0034]
【数13】E1 = L1×∂u/∂x E2 = L2×∂u/∂x E3 = L3×∂u/∂x また、この誤差の一般式は、誤差をE’とすると(数1
4)となる。E1 = L1 × ∂u / ∂x E2 = L2 × ∂u / ∂x E3 = L3 × ∂u / ∂x Further, if the error is represented by E ′,
4).
【0035】[0035]
【数14】 E’< ∂u/∂x (∵サンプル点と描画点の距離は1未満) < a このように、(数12)および(数14)に示した増分
アルゴリズムにおける対応点計算の誤差は、画素のサン
プル点と増分アルゴリズムで算出した描画点との差から
生じるものといえる。この計算誤差による、画質の劣化
の例を図40に例として示す。図40は、計算誤差によ
りポリゴンにマップされたテクスチャが、不連続である
ことを表すための図で、ポリゴンにマップするテクスチ
ャ画像と、従来の方法でマッピングした場合の画像と、
理想的なマッピングによる画像とを示したものである。
図40から、従来の方法でマッピングした場合に、画質
劣化が発生することが分かる。E ′ <∂u / ∂x (∵Distance between sample point and drawing point is less than 1) <a Thus, the corresponding point calculation in the incremental algorithm shown in (Equation 12) and (Equation 14) is performed. The error can be said to be caused by the difference between the pixel sample point and the drawing point calculated by the increment algorithm. FIG. 40 shows an example of image quality degradation due to this calculation error. FIG. 40 is a diagram for indicating that the texture mapped to the polygon due to the calculation error is discontinuous, and includes a texture image mapped to the polygon, an image mapped by the conventional method,
5 shows an image obtained by an ideal mapping.
From FIG. 40, it can be seen that image quality degradation occurs when mapping is performed by a conventional method.
【0036】(数12)と(数14)とで表した誤差が
異なるのは、(数12)をサンプル点が画素内の任意の
点としたためである。以降対応点計算の誤差に関しては
サンプル点を固定して考える。すなわち対応点誤差を
(数14)とする。The difference between the equations (12) and (14) is different because the (12) sample point is an arbitrary point in the pixel. Hereinafter, regarding the error of the corresponding point calculation, the sample point is fixed. That is, the corresponding point error is represented by (Equation 14).
【0037】また、ここでは対応点uに関して説明を行
なったが、対応点vは(数2)と表現でき、照度(R,
G,B)と、不透明度Aついてはそれぞれ(数15)、
(数16)と表現することができる。これらの式から、
ここで説明した計算誤差と同様の誤差が対応点v、照
度、不透明度などの計算においても発生することがわか
る。Although the description has been given with respect to the corresponding point u, the corresponding point v can be expressed as (Equation 2), and the illuminance (R,
G, B) and opacity A (Equation 15),
It can be expressed as (Equation 16). From these equations,
It can be seen that an error similar to the calculation error described here also occurs in the calculation of the corresponding point v, the illuminance, the opacity, and the like.
【0038】[0038]
【数15】 R = Fr(x,y) = (ar×x + br×y + cr) G = Fg(x,y) = (ag×x + bg×y + cg) B = Fb(x,y) = (ab×x + bb×y + cb)R = Fr (x, y) = (ar × x + br × y + cr) G = Fg (x, y) = (ag × x + bg × y + cg) B = Fb (x, y) = (ab × x + bb × y + cb)
【0039】[0039]
【数16】 A = Fa(x,y) = (aa×x + ba×y + ca) すなわち、ポリゴンを表示する為の、対応点、照度、不
透明度などの計算に関して、増分アルゴリズムを用いた
場合に誤差が発生する。A = Fa (x, y) = (aa × x + ba × y + ca) That is, an incremental algorithm was used for calculation of corresponding points, illuminance, opacity, etc. for displaying a polygon. In this case, an error occurs.
【0040】さらに、ポリゴンとテクスチャの関係は
(数1)、(数2)に限らず、増分アルゴリズムによる
対応点計算では発生する。ポリゴン(x,y)とテクスチ
ャ(u,v)、照度(R,G,B)、不透明度Aの関係式に関し
てはyで微分可能、xで偏微分可能、であれば増分アル
ゴリズムによりテクスチャマッピングを行なうことがで
きる。例えば、この対応点関係を(数17)、(数1
8)とすることもできる。Furthermore, the relationship between polygons and textures is not limited to (Equation 1) and (Equation 2), but occurs in the calculation of corresponding points by the incremental algorithm. The relational expression between polygon (x, y), texture (u, v), illuminance (R, G, B), and opacity A is differentiable by y and partial differentiable by x. Can be performed. For example, this corresponding point relationship is expressed by (Equation 17), (Equation 1)
8).
【0041】[0041]
【数17】 u = F(x,y) = (a×x + b×y + c)/(g×x + h×y + i)[Mathematical formula-see original document] u = F (x, y) = (a * x + b * y + c) / (g * x + h * y + i)
【0042】[0042]
【数18】 v = G(x,y) = (d×x + e×y + f)/(g×x + h×y + i) [(数17)、(数18)の係数a、b、c、d、e、
fは、(数1)、(数2)の係数と異なる] しかし、ポリゴン、テクスチャの関係式を(数17)、
(数18)としても、これまでの説明と同様に計算誤差
は発生する。V = G (x, y) = (d × x + e + y + f) / (g × x + h × y + i) [coefficient (a) of (Expression 17) and (Expression 18) b, c, d, e,
f is different from the coefficients of (Equation 1) and (Equation 2)] However, the relational expression of polygon and texture is expressed by (Equation 17)
Even in (Equation 18), a calculation error occurs as in the case described above.
【0043】言い替えれば、どのような関係式を用いて
も、増分アルゴリズムによる対応点、照度、不透明度な
どの計算誤差の発生は、回避できない。In other words, no matter which relational expression is used, the occurrence of calculation errors such as corresponding points, illuminance and opacity by the incremental algorithm cannot be avoided.
【0044】以上のように描画画素に対する対応点をは
じめ、照度、不透明度、バンプ、ディスプレースメント
などの計算は、従来の増分アルゴリズムでは正確に行う
ことは不可能である。As described above, the calculation of the illuminance, opacity, bump, displacement, etc., including the corresponding points for the drawing pixels, cannot be accurately performed by the conventional incremental algorithm.
【0045】増分アルゴリズムによる対応点計算の誤差
は、スクリーン上で最大1画素のずれから発生するもの
で、テクスチャのサイズがポリゴンと同程度、もくしは
それ以下の大きさであれば、結果として(数12)、
(数14)で表した誤差が小さくなる。しかしながら、
テクスチャを充分に拡大した場合、拡大率に比例して誤
差が大きくなり、テクスチャマッピング画像を生成した
場合、画質の劣化が著しくなる。ただし、実時間で取り
込んだ画像を、実時間で任意のポリゴンにマッピングす
る装置において、テクスチャの拡大率を予め定めること
は不可能である。このため、任意のテクスチャを、任意
のポリゴンにマッピングする場合、ここで問題とする画
質の劣化は避けることができない。The error of the corresponding point calculation by the incremental algorithm is caused by a maximum displacement of one pixel on the screen. If the texture size is the same as or smaller than the polygon, the result is as follows. (Equation 12),
The error represented by (Equation 14) becomes smaller. However,
When the texture is sufficiently enlarged, the error increases in proportion to the enlargement ratio, and when a texture mapping image is generated, the image quality significantly deteriorates. However, in an apparatus that maps an image captured in real time to an arbitrary polygon in real time, it is impossible to determine the enlargement ratio of the texture in advance. For this reason, when an arbitrary texture is mapped to an arbitrary polygon, the deterioration of the image quality, which is a problem here, cannot be avoided.
【0046】そこで、増分アルゴリズムで発生する誤差
に着目して、この誤差の排除を効果的に行ない、理論的
にも正確な対応点計算を実現する。また、実現にあたっ
ても、その構成は極めて単純なもので、高速性や構成の
安易さを損なうものではない。さらに、マッピングにお
ける対応点計算を正確にしかも高速に実現することは、
コンピュータグラフィック分野だけにとどまらず、家庭
用ゲーム機、カラオケをはじめとする、マルチメディア
機器などにおいて、非常に重要であり、その用途は広範
囲となる。また、実時間でのマッピング処理への要求
も、今後高まることが予想される。Therefore, attention is paid to the error generated by the incremental algorithm, and this error is effectively eliminated to realize the theoretically accurate calculation of the corresponding point. Also, in realization, the configuration is extremely simple, and does not impair the high speed and the simplicity of the configuration. Furthermore, accurate and high-speed calculation of corresponding points in mapping is required.
It is very important not only in the field of computer graphics but also in home-use game machines, multimedia devices such as karaoke, and the like, and its applications are widespread. It is expected that the demand for real-time mapping processing will increase in the future.
【0047】以下、図6を参照して、従来のDDAによ
って算出される座標(u,v)に含まれる誤差について
説明する。Hereinafter, an error included in the coordinates (u, v) calculated by the conventional DDA will be described with reference to FIG.
【0048】図6において、実線はスクリーン空間の座
標を表し、破線はテクスチャ空間の座標を表すとする。
○で囲んだ数字は、テクスチャ空間の座標値を示す。In FIG. 6, it is assumed that a solid line represents coordinates in a screen space, and a broken line represents coordinates in a texture space.
Numbers surrounded by o indicate coordinate values in the texture space.
【0049】また、スクリーン画素603はスクリーン
座標(0,2)に位置し、テクスチャ画素604はテク
スチャ座標(2,3)に位置するものとする。The screen pixel 603 is located at the screen coordinates (0, 2), and the texture pixel 604 is located at the texture coordinates (2, 3).
【0050】参照番号605は、処理対象となるポリゴ
ンを示す。ポリゴン605は、座標(x,y,u,v)
=(7,0,0,0)、(0,5,0,4)、(3,
9,4,4)、(10,4,4,0)によって囲まれる
ものとする。Reference numeral 605 indicates a polygon to be processed. The polygon 605 has coordinates (x, y, u, v)
= (7, 0, 0, 0), (0, 5, 0, 4), (3,
9, 4, 4) and (10, 4, 4, 0).
【0051】また、参照番号601−a、601−b、
601−c、601−dおよび601−eは、エッジ方
向のDDAを表し、参照番号602−a、602−b、
602−c、602−d、602−eおよび602−f
は、y=3のスキャンラインにおけるスパン方向のDD
Aを表す。Reference numerals 601-a, 601-b,
601-c, 601-d and 601-e represent DDA in the edge direction, and reference numerals 602-a, 602-b,
602-c, 602-d, 602-e and 602-f
Is the DD in the span direction at the scan line of y = 3
Represents A.
【0052】これらそれぞれのDDAを表した矢印の終
点がスパン方向のDDAにより発生する点となる(これ
をDDAの矢印と呼ぶ)。The end point of each of the arrows representing the DDA is a point generated by the DDA in the span direction (this is called the DDA arrow).
【0053】テクスチャマッピング処理では、601、
602のDDAの矢印で示されたテクスチャ空間の画素
を、601、602のDDAの矢印で示されたスクリー
ン空間の画素に反映することになる。In the texture mapping process, 601,
The pixels in the texture space indicated by the DDA arrow 602 are reflected on the pixels in the screen space indicated by the DDA arrows 601 and 602.
【0054】具体的に、y=3におけるスキャンライン
では、次のような対応となる。More specifically, the scan line at y = 3 has the following correspondence.
【0055】 DDAの矢印 スクリーン画素 テクスチャ画素 601−c (2,3) (0,2) 602−a (3,3) (0,2) 602−b (4,3) (0,1) 602−c (5,3) (1,1) 602−d (6,3) (1,0) 602−e (7,3) (2,0) 602−f (8,3) (2,0) しかし、スクリーン画素(6,3)においては、画素内
のどの点でテクスチャを参照するかにより、反映するテ
クスチャ画素が(1,0)、(1,1)、(2,1)、
(2,0)となる。Arrow of DDA Screen pixel Texture pixel 601-c (2,3) (0,2) 602-a (3,3) (0,2) 602-b (4,3) (0,1) 602 −c (5,3) (1,1) 602 -d (6,3) (1,0) 602 -e (7,3) (2,0) 602 -f (8,3) (2,0) However, in the screen pixel (6, 3), the texture pixels to be reflected are (1, 0), (1, 1), (2, 1), and
(2, 0).
【0056】これら4つのテクスチャ画素のどれがDD
Aで発生するかは、スクリーン画素のどの点でテクスチ
ャを参照するかに依存していた。Which of these four texture pixels is DD
What happened at A depended on at what point in the screen pixel the texture was referenced.
【0057】すなわち、スクリーン画素のどの点で、テ
クスチャを参照するかにより、テクスチャマッピングに
より生成される画像が異なる。That is, the image generated by the texture mapping differs depending on at which point of the screen pixel the texture is referred.
【0058】スクリーン画素におけるテクスチャへの参
照点が、ポリゴン内でばらつけば、生成される画像の画
質が劣化する。特にスパン間でこのばらつきがある場合
には画質の劣化が大きい。If the reference points to the textures in the screen pixels vary within the polygon, the quality of the generated image deteriorates. In particular, when there is this variation between spans, the image quality is greatly deteriorated.
【0059】以上の現象を数式を用いて説明する。The above phenomenon will be described using mathematical expressions.
【0060】テクスチャマッピングにおいて、テクスチ
ャ座標(u,v)と、ポリゴン座標(x,y)は、(数
19)、(数20)のように表される。In texture mapping, texture coordinates (u, v) and polygon coordinates (x, y) are expressed as (Equation 19) and (Equation 20).
【0061】[0061]
【数19】u = f(x,y)[Mathematical formula-see original document] u = f (x, y)
【0062】[0062]
【数20】v = g(x,y) ここでは、(数19)に関して説明するが(数20)に
ついても同様である。Here, v = g (x, y) Here, (Equation 19) will be described, but the same applies to (Equation 20).
【0063】このとき、テクスチャを参照するポリゴン
座標を(x0,y0)とする。また、ポリゴン座標(x
0,y0)を量子化することによって得られるスクリー
ン座標を(X,Y)とすると、At this time, the polygon coordinates referring to the texture are (x0, y0). The polygon coordinates (x
Assuming that the screen coordinates obtained by quantizing (0, y0) are (X, Y),
【0064】[0064]
【数21】x0 = X + exX0 = X + ex
【0065】[0065]
【数22】y0 = Y + ey と表すことができる。[Mathematical formula-see original document] y0 = Y + ey.
【0066】すなわち、テクスチャの座標値uは(数2
3)となる。量子化誤差により、テクスチャ座標値がば
らつくことがわかる。That is, the coordinate value u of the texture is expressed by (Equation 2)
3). It can be seen that the texture error varies due to the quantization error.
【0067】[0067]
【数23】u = f(X+ex,Y+ey) 以上のように、従来の手法では、テクスチャを参照する
スクリーン画素における位置が定まっていなかったた
め、画像の劣化が著しかった。U = f (X + ex, Y + ey) As described above, in the conventional method, since the position in the screen pixel that refers to the texture is not determined, the image is significantly deteriorated.
【0068】本発明は上記課題を鑑みてなされたもので
あり、その目的とするところは、コンピュータグラフィ
ックスのレンダリング処理において高品質の画像を高速
に生成可能なレンダリング装置およびマッピング装置を
提供することにある。特にマッピング処理において、マ
ッピング処理における対応点計算を、簡単な構成で高速
に、しかも正確に実現することにある。また、マッピン
グ処理にはテクスチャマッピングをはじめとし、照度、
不透明度、バンプ、ディスプレースメント、などのマッ
ピング処理を含むものである。The present invention has been made in view of the above problems, and an object of the present invention is to provide a rendering device and a mapping device capable of generating a high-quality image at high speed in a computer graphics rendering process. It is in. In particular, in the mapping processing, it is an object of the present invention to realize the calculation of the corresponding points in the mapping processing at high speed and accurately with a simple configuration. The mapping process includes texture mapping, illuminance,
This includes mapping processing such as opacity, bump, displacement, and the like.
【0069】[0069]
【0070】[0070]
【0071】本発明のマッピング装置は、複数の画素を
有する平面上に投影されたポリゴンの頂点の位置と該ポ
リゴン頂点にあたえられた対応点とに基づいて、該ポリ
ゴンに対応するパラメータを生成する演算部と、該パラ
メータに基づいて、該ポリゴンのエッジ上にある第1の
描画点の位置と該第1の描画点に対応する第1の対応点
の位置とを決定するエッジ生成部と、該第1の描画点に
対応する描画画素を決定し、さらに該描画画素に対応す
るサンプル点を決定し、該サンプル点に基づいて該第1
の対応点の位置を補正する補正部と、該パラメータと該
サンプル点とに基づいて、該ポリゴン内部の第2の描画
点の位置を決定し、該第2の描画点に対応する第2の対
応点の位置を決定するスパン生成部とを備えており、こ
れにより上記目的が達成される。The mapping apparatus of the present invention generates parameters corresponding to a polygon based on the positions of the vertices of the polygon projected on a plane having a plurality of pixels and the corresponding points given to the vertices of the polygon. A calculation unit, and an edge generation unit that determines a position of a first drawing point on an edge of the polygon and a position of a first corresponding point corresponding to the first drawing point based on the parameter, A rendering pixel corresponding to the first rendering point is determined, a sample point corresponding to the rendering pixel is determined, and the first pixel is determined based on the sample point.
A correction unit that corrects the position of the corresponding point, and the position of a second drawing point inside the polygon is determined based on the parameter and the sample point, and a second drawing point corresponding to the second drawing point is determined. A span generator for determining the position of the corresponding point, whereby the above object is achieved.
【0072】前記補正部は、前記第1描画点に関して1
次元の補正を行ってもよい。The correction unit is configured to set 1 for the first drawing point.
The dimension may be corrected.
【0073】前記エッジ生成部は、前記ポリゴンのエッ
ジと前記描画画素の上部のエッジとが交わる点を第1の
描画点とし、前記補正部は、該描画画素内の原点に最も
近い点を前記サンプル点としてもよい。The edge generating section sets a point where the edge of the polygon intersects the upper edge of the drawing pixel as a first drawing point, and the correction section sets a point closest to the origin in the drawing pixel to the first drawing point. It may be a sample point.
【0074】前記パラメータを表現するビット精度を所
定の値に設定し、前記補正部は、シフタと加算器とを含
んでいてもよい。The bit precision for expressing the parameter may be set to a predetermined value, and the correction unit may include a shifter and an adder.
【0075】本発明の他のマッピング装置は、複数の画
素を有する平面上に投影されたポリゴンの頂点の位置と
該ポリゴン頂点に与えられた対応点とに基づいて、該ポ
リゴンに対応するパラメータを生成する演算部と、該パ
ラメータに基づいて、ポリゴンのエッジ上にある第1の
描画点の位置と該第1の描画点に対応する第1の対応点
とを決定するエッジ生成部と、該パラメータと該第1の
描画点とに基づいて、該ポリゴン内部の点である第2の
描画点の位置を決定し、該第2の描画点に対応する第2
の対応点の位置を決定するスパン生成部と、該平面の該
複数の画素のそれぞれに対応する値を格納する生成画像
格納部と、該第1の描画点の位置または、該第2の描画
点の位置に基づいて生成された画素値を、該生成画像格
納部の1つの画素または、隣接する複数の画素に対応す
る値として格納する画素格納処理部とを備えており、こ
れにより上記目的が達成される。According to another mapping apparatus of the present invention, a parameter corresponding to a polygon is projected based on a position of a vertex of the polygon projected on a plane having a plurality of pixels and a corresponding point given to the polygon vertex. An arithmetic unit for generating, an edge generating unit for determining a position of a first drawing point on an edge of the polygon and a first corresponding point corresponding to the first drawing point based on the parameter; A position of a second drawing point, which is a point inside the polygon, is determined based on the parameter and the first drawing point, and a second drawing point corresponding to the second drawing point is determined.
, A generated image storage unit that stores a value corresponding to each of the plurality of pixels on the plane, and a position of the first drawing point or the second drawing A pixel storage processing unit for storing a pixel value generated based on the position of the point as a value corresponding to one pixel of the generated image storage unit or a plurality of adjacent pixels; Is achieved.
【0076】前記画素格納処理部は、前記第1の描画点
もしくは前記第2の描画点の位置によって定義される前
記平面上の領域の面積の、前記平面上の1つの画素また
は隣接する複数の画素の占める領域の面積に対する比を
算出する面積比算出部と、この比に基づいて、前記生成
された画素値を該平面上の1つの画素または隣接する複
数の画素に配分する画素値配分部とを備えていてもよ
い。[0076] The pixel storage processing section is configured to determine one pixel or a plurality of adjacent pixels on the plane of the area of the area on the plane defined by the position of the first drawing point or the second drawing point. The ratio of the area occupied by pixels to the area
The image processing apparatus may further include an area ratio calculation unit for calculating, and a pixel value distribution unit that distributes the generated pixel value to one pixel or a plurality of adjacent pixels on the plane based on the ratio .
【0077】前記面積比算出部は、前記第1の描画点ま
たは前記第2の描画点の位置を(x,y)とするとき、
(1−x)と(1−y)とを乗算する第1の乗算器と、
xと(1−y)とを乗算する第2の乗算器と、(1−
x)とyとを乗算する第3の乗算器と、xとyとを乗算
する第4の乗算器とを有しており、前記画素値配分部
は、第1の乗算器からの出力と前記生成された画素値と
を乗算する第5の乗算器と、第2の乗算器からの出力と
前記生成された画素値とを乗算する第6の乗算器と、第
3の乗算器からの出力と前記生成された画素値とを乗算
する第7の乗算器と、第4の乗算器からの出力と前記生
成された画素値とを乗算する第8の乗算器とを有してい
てもよい。The area ratio calculating section sets the position of the first drawing point or the second drawing point to (x, y),
A first multiplier for multiplying (1-x) and (1-y);
a second multiplier for multiplying x by (1-y); (1-
x) and a third multiplier for multiplying y, and a fourth multiplier for multiplying x and y, wherein the pixel value distribution unit includes an output from the first multiplier and A fifth multiplier for multiplying the generated pixel value, a sixth multiplier for multiplying the output from the second multiplier by the generated pixel value, and a fifth multiplier for multiplying the generated pixel value by the third multiplier. A seventh multiplier for multiplying an output by the generated pixel value; and an eighth multiplier for multiplying an output from a fourth multiplier by the generated pixel value. Good.
【0078】前記第1の描画点または前記第2の描画点
の位置(x,y)または前記生成された画素値を表現す
るビット精度を所定の値に設定し、前記第1から第8の
乗算器のそれぞれはシフタと加算器とを含んでいてもよ
い。The position (x, y) of the first drawing point or the second drawing point or the bit precision representing the generated pixel value is set to a predetermined value, and the first to eighth points are set. Each of the multipliers may include a shifter and an adder.
【0079】前記エッジ生成部は、前記ポリゴンのエッ
ジと前記対応する画素の上部のエッジとが交わる点を前
記第1の描画点とし、これによって前記第2の乗算器、
前記第4の乗算器、前記第6の乗算器、前記第8の乗算
器を省いてもよい。The edge generating section sets a point at which an edge of the polygon intersects with an upper edge of the corresponding pixel as the first drawing point, whereby the second multiplier,
The fourth multiplier, the sixth multiplier, and the eighth multiplier may be omitted.
【0080】本発明の他のマッピング装置は、複数の画
素を有する平面上に投影されたポリゴンの頂点の位置と
該ポリゴン頂点にあたえられた対応点とに基づいて、該
ポリゴンに対応する複数のパラメータであって互いに異
なる第1のパラメータと第2のパラメータと第3のパラ
メータとを含む複数のパラメータを生成する演算部と、
該第1のパラメータに基づいて、該ポリゴンのエッジ上
の第1の描画点に対応する第1の候補点の位置と該第1
の候補点に対応する第1の対応点の位置とを決定する第
1のエッジ生成部と、該第2のパラメータに基づいて、
該ポリゴンのエッジ上の第1の描画点に対応する第2の
候補点の位置と該第2の候補点に対応する第2の対応点
の位置とを決定する第2のエッジ生成部と、該第1のエ
ッジ生成部の出力と該第2のエッジ生成部の出力のうち
の一方を選択する選択部と、該第3のパラメータと該選
択部によって選択された出力とに基づいて、該ポリゴン
内部の第2の描画点の位置を決定し、該第2の描画点に
対応する第3の対応点の位置を決定するスパン生成部と
を備えており、これにより上記目的が達成される。Another mapping apparatus according to the present invention provides a plurality of polygons corresponding to a polygon based on the positions of the vertices of the polygon projected on a plane having a plurality of pixels and the corresponding points given to the polygon vertices . Parameters that differ from each other
The first parameter, the second parameter and the third parameter
An operation unit that generates a plurality of parameters including a meter ,
Based on the first parameter, the position and the first first candidate point corresponding to the first drawing point on the polygon edges
A first edge generation section for determining a first corresponding point position corresponding to the candidate points, based on the second parameter,
A second edge generation unit that determines a position of a second candidate point corresponding to a first drawing point on an edge of the polygon and a position of a second corresponding point corresponding to the second candidate point; a selector for selecting one of the outputs of the second edge generation section of the first edge generation section, based on the selected output by the third parameter and the selection unit, the A span generator for determining the position of a second drawing point inside the polygon and determining the position of a third corresponding point corresponding to the second drawing point, thereby achieving the above object. .
【0081】前記第1のエッジ生成部および前記第2の
エッジ生成部のいずれか一方が動作している間はもう一
方のエッジ生成部が動作していなくてもよい。While one of the first edge generator and the second edge generator is operating, the other edge generator may not be operating.
【0082】前記演算部は前記平面上における前記ポリ
ゴンのエッジの傾きを算出し、前記選択部は該傾きの小
数部を累積加算し、該累積加算の結果が所定の値を越え
るか否かに応じて、前記第1のエッジ生成部の出力と前
記第2のエッジ生成部の出力のうちの一方を選択しても
よい。The calculating section calculates the inclination of the edge of the polygon on the plane, the selecting section accumulatively adds the decimal part of the inclination, and determines whether or not the result of the accumulative addition exceeds a predetermined value. Accordingly, one of the output of the first edge generator and the output of the second edge generator may be selected.
【0083】本発明の他のマッピング装置は、複数の画
素を有する平面上に投影されたポリゴンの頂点の位置と
該ポリゴン頂点にあたえられた対応点とに基づいて、該
ポリゴンに対応する少なくとも2組のパラメータを生成
する演算部と、該少なくとも2組のパラメータのうち1
組のパラメータを選択する増分切換部と、該選択された
1組のパラメータに基づいて、該ポリゴンのエッジ上に
ある第1の描画点に対応するサンプル点の位置と、該第
1の描画点に対応する第1の対応点の位置を決定するエ
ッジ生成部と、該選択された1組のパラメータと該サン
プル点の位置とに基づいて、該ポリゴン内部の第2の描
画点の位置を決定し、該第2の描画点に対応する第2の
対応点の位置を決定するスパン生成部とを備えており、
これにより上記目的が達成される。According to another mapping apparatus of the present invention, at least two polygons corresponding to a polygon are projected based on the positions of the vertices of the polygon projected on a plane having a plurality of pixels and the corresponding points given to the polygon vertices. An operation unit for generating a set of parameters; and one of the at least two sets of parameters.
An increment switching unit for selecting a set of parameters; a position of a sample point corresponding to a first drawing point on an edge of the polygon based on the selected set of parameters; An edge generation unit that determines the position of a first corresponding point corresponding to the position, and determines the position of a second drawing point inside the polygon based on the selected set of parameters and the position of the sample point. And a span generation unit that determines a position of a second corresponding point corresponding to the second drawing point,
This achieves the above object.
【0084】前記演算部は前記平面上における前記ポリ
ゴンのエッジの傾きを算出し、前記増分切替部は、該傾
きの小数部を累積加算し、累積加算した結果が所定の値
を越えるか否かに応じて前記少なくとも2組のパラメー
タのうち1組のパラメータを選択してもよい。The arithmetic unit calculates the inclination of the edge of the polygon on the plane, and the increment switching unit accumulatively adds the decimal part of the inclination, and determines whether the result of the accumulative addition exceeds a predetermined value. May be selected from among the at least two sets of parameters.
【0085】本発明の他のマッピング装置は、複数の画
素を有する平面上に投影されたポリゴンの頂点の位置と
該ポリゴン頂点にあたえられた対応点とに基づいて、該
ポリゴンに対応するパラメータを生成する演算部と、該
パラメータに基づいて、該ポリゴンのエッジ上にある第
1の描画点に対応する第1の対応点の位置と該第1の描
画点に対応するサンプル点の位置とを決定するエッジ生
成部と、該第1の描画点と該サンプル点との距離が所定
の値を超えるときに、該サンプル点の位置を補正する補
正部と、該パラメータと該サンプル点とに基づいて、該
ポリゴン内部の第2の描画点の位置を決定し、該第2の
描画点に対応する第2の対応点の位置を決定するスパン
生成部とを備えており、これにより上記目的が達成され
る。According to another mapping apparatus of the present invention, a parameter corresponding to a polygon is projected based on a position of a vertex of the polygon projected on a plane having a plurality of pixels and a corresponding point given to the vertex of the polygon. A calculating unit that generates, based on the parameters, a position of a first corresponding point corresponding to a first drawing point on an edge of the polygon and a position of a sample point corresponding to the first drawing point An edge generation unit for determining, a correction unit for correcting the position of the sample point when the distance between the first drawing point and the sample point exceeds a predetermined value, and a correction unit based on the parameter and the sample point. And a span generation unit for determining the position of a second drawing point inside the polygon and determining the position of a second corresponding point corresponding to the second drawing point. Achieved.
【0086】前記補正部は、前記スパン生成部に含まれ
ており、前記スパン生成部は、前記サンプル点の位置を
補正する処理と、前記第2の描画点の位置と前記第2の
対応点の位置を決定する処理との両方を実行してもよ
い。The correction section is included in the span generation section. The span generation section corrects the position of the sample point, and adjusts the position of the second drawing point and the second corresponding point. May be performed.
【0087】前記演算部は前記平面上における前記ポリ
ゴンのエッジの傾きを算出し、前記スパン生成部は該傾
きの小数部を累積加算し、該累積加算の結果が所定の値
を越えるか否かに応じて、前記サンプル点の位置を補正
するか否かを決定してもよい。The arithmetic unit calculates the inclination of the edge of the polygon on the plane, the span generation unit accumulatively adds the decimal part of the inclination, and determines whether the result of the accumulative addition exceeds a predetermined value. May be determined depending on the position of the sample point.
【0088】前記ポリゴン頂点は、ポリゴンの素材を表
現するための属性値を有しており、該属性値に基づいて
前記第1の対応点および前記第2の対応点に対応する値
を生成する手段をさらに有していてもよい。The polygon vertices have attribute values for expressing the material of the polygon, and generate values corresponding to the first corresponding point and the second corresponding point based on the attribute values. You may further have a means.
【0089】前記ポリゴン頂点は、バンプ、もしくはデ
ィスプレースメントの座標値を有しており、ポリゴン内
部のバンプもしくはディスプレースメント計算を行う手
段をさらに有していてもよい。The polygon vertices have coordinate values of bumps or displacements, and may further have means for calculating bumps or displacements inside the polygons.
【0090】前記マッピング装置は、アンチエイリアシ
ング処理を行う手段をさらに有していてもよい。The mapping device may further include means for performing an anti-aliasing process.
【0091】前記平面上の複数の画素のそれぞれは、対
応する複数のサブピクセルを有しており、前記第1の描
画点がサブピクセルポジショニングに対応して決定され
てもよい。[0091] Each of the plurality of pixels on the plane may have a corresponding plurality of sub-pixels, and the first drawing point may be determined corresponding to sub-pixel positioning.
【0092】[0092]
【0093】[0093]
【0094】本発明のマッピング方法は、複数の画素を
有する平面上に投影されたポリゴンの頂点の位置と該ポ
リゴン頂点にあたえられた対応点とに基づいて、該ポリ
ゴンに対応するパラメータを生成するステップと、該パ
ラメータに基づいて、該ポリゴンのエッジ上にある第1
の描画点の位置と該第1の描画点に対応する第1の対応
点の位置とを決定するステップと、該第1の描画点に対
応する描画画素を決定し、さらに該描画画素に対応する
サンプル点を決定し、該サンプル点に基づいて該第1の
対応点の位置を補正するステップと、該パラメータと該
サンプル点とに基づいて、該ポリゴン内部の第2の描画
点の位置を決定し、該第2の描画点に対応する第2の対
応点の位置を決定するステップとを包含しており、これ
により上記目的が達成される。The mapping method of the present invention generates a parameter corresponding to a polygon based on the position of the vertex of the polygon projected on a plane having a plurality of pixels and the corresponding point given to the polygon vertex. And, based on the parameters, a first one on the edge of the polygon.
Determining the position of the drawing point and the position of the first corresponding point corresponding to the first drawing point; determining the drawing pixel corresponding to the first drawing point; Determining the sample point to be corrected, and correcting the position of the first corresponding point based on the sample point; and determining the position of a second drawing point inside the polygon based on the parameter and the sample point. Determining the position of a second corresponding point corresponding to the second drawing point, thereby achieving the above object.
【0095】本発明の他のマッピング方法は、複数の画
素を有する平面上に投影されたポリゴンの頂点の位置と
該ポリゴン頂点に与えられた対応点とに基づいて、該ポ
リゴンに対応するパラメータを生成するステップと、該
パラメータに基づいて、ポリゴンのエッジ上にある第1
の描画点の位置と該第1の描画点に対応する第1の対応
点とを決定するステップと、該パラメータと該第1の描
画点とに基づいて、該ポリゴン内部の点である第2の描
画点の位置を決定し、該第2の描画点に対応する第2の
対応点の位置を決定するステップと、該第1の描画点の
位置または、該第2の描画点の位置に基づいて生成され
た値を、該平面上の該複数の画素の1つの画素または、
隣接する複数の画素に対応する値とするステップとを包
含しており、これにより上記目的が達成される。In another mapping method according to the present invention, a parameter corresponding to a polygon is projected based on the position of the vertex of the polygon projected on a plane having a plurality of pixels and the corresponding point given to the polygon vertex. Generating, based on the parameters, a first
Determining the position of the drawing point and the first corresponding point corresponding to the first drawing point; and determining a second point within the polygon based on the parameter and the first drawing point. Determining the position of the second drawing point, and determining the position of the second corresponding point corresponding to the second drawing point; and determining the position of the first drawing point or the position of the second drawing point. A value generated based on one of the plurality of pixels on the plane or
Setting a value corresponding to a plurality of adjacent pixels, thereby achieving the above object.
【0096】以下、作用を説明する。The operation will be described below.
【0097】本発明のレンダリング装置およびマッピン
グ装置によると、スクリーン上に投影されたポリゴンの
ポリゴンエッジ上の描画点の座標値に基づいて生成され
た画素値に含まれる誤差を補正するために、各描画点を
含む画素に対応するサンプル点の座標値に基づいてレン
ダリング処理、もしくは、マッピング画像への対応点計
算を行い、各画素の画素値を生成することによって、高
品質な画像を生成することができる。より、具体的には
以下のとおりである。According to the rendering device and the mapping device of the present invention, in order to correct an error included in a pixel value generated based on a coordinate value of a drawing point on a polygon edge of a polygon projected on a screen, Generate a high-quality image by generating a pixel value of each pixel by performing a rendering process or calculating a corresponding point on a mapping image based on the coordinate values of a sample point corresponding to a pixel including a drawing point. Can be. More specifically, it is as follows.
【0098】まず第1の構成では、あらかじめ定義した
画素のサンプル点のy座標に合わせたエッジ描画点をエ
ッジ生成部で算出する。このとき、定義したサンプル点
と算出したエッジ描画点とには(数14)に示した演算
誤差が含まれている。(数14)の演算誤差に対して、
サンプル点とエッジ描画点のx軸の距離をLとすると、
対応点に関して(テクスチャ座標(u,v)の算出)(数
24)の処理を補正部で行なう。これにより、正確なテ
クスチャの対応点を算出することができる。First, in the first configuration, the edge generating unit calculates an edge drawing point corresponding to the y-coordinate of the sample point of the pixel defined in advance. At this time, the defined sample point and the calculated edge drawing point include the calculation error shown in (Equation 14). For the calculation error of (Equation 14),
When the distance between the sample point and the edge drawing point on the x-axis is L,
The processing of (calculation of texture coordinates (u, v)) (Equation 24) for the corresponding point is performed by the correction unit. As a result, it is possible to accurately calculate the corresponding points of the texture.
【0099】[0099]
【数24】u = u - L×∂u/∂x v = v - L×∂v/∂x また、照度や、不透明度などの、テクスチャ座標以外の
パラメータ(数24)についても同様に行なうことがで
きる。U = u−L × ∂u / ∂x v = v−L × ∂v / ∂x The same applies to parameters (expression 24) other than texture coordinates, such as illuminance and opacity. be able to.
【0100】また、スパン描画点の初期値であるエッジ
描画点が画素のサンプル点と一致するならば、そのスパ
ンに含まれるすべてのスパン描画点は画素のサンプル点
と一致する。すなわち、パラメータの補正処理を行なう
必要はなくなり、スパン描画点の対応点計算を正しく行
なうことができる。If the edge drawing point, which is the initial value of the span drawing point, matches the pixel sample point, all span drawing points included in the span match the pixel sample point. That is, it is not necessary to perform the parameter correction processing, and the corresponding point calculation of the span drawing point can be correctly performed.
【0101】このように、エッジ描画点における対応点
計算のパラメータを補正することにより、ポリゴンを含
むすべての画素に対して、対応点計算を正確に行なうこ
とができる。As described above, by correcting the parameters for calculating the corresponding points at the edge drawing points, the corresponding points can be accurately calculated for all the pixels including the polygon.
【0102】補正処理(数24)で示したLは、エッジ
生成部で算出したエッジ描画点のx座標値の小数点以下
の値で、描画点のx座標値をxとすると(数25)で与
えることができる。L shown in the correction processing (Equation 24) is a value after the decimal point of the x-coordinate value of the edge drawing point calculated by the edge generation unit. When the x-coordinate value of the drawing point is x, (Equation 25) Can be given.
【0103】[0103]
【数25】L = x - [x] また、∂u/∂x、∂v/∂xは、スパン生成部で用い
るので新たに算出する必要はない。さらに、(数24)
で示した乗算の精度に関しては、エッジ生成部で算出す
るエッジ点のx座標値の小数点以下が持つ精度以上は不
要であり、その精度は、生成する画素の解像度に対して
数ビット余分に持つだけでも充分である。このように、
補正部の構成は比較的簡単で、装置全体としても増分ア
ルゴリズムによる構成の簡素化の利点を残している。L = x− [x] Further, ∂u / ∂x and ∂v / ∂x do not need to be newly calculated because they are used in the span generator. Furthermore, (Equation 24)
With respect to the precision of the multiplication indicated by, it is not necessary to exceed the precision of the decimal point of the x-coordinate value of the edge point calculated by the edge generation unit, and the precision has a few extra bits with respect to the resolution of the pixel to be generated. Alone is enough. in this way,
The configuration of the correction unit is relatively simple, and the advantage of simplification of the configuration by the incremental algorithm remains as a whole device.
【0104】処理速度に関しては、増分アルゴリズムの
処理の高速性も損なわれることはない。ここで示した補
間部での処理は乗算1回、加算1回であり(数24)、
補正処理を行なうことによる遅延は、極めて小さい。さ
らに、装置全体として、エッジ生成部、補間部、スパン
生成部などをパイプライン的に動作させることが可能で
あり、処理全体としての高速性はまったく損なわれな
い。Regarding the processing speed, the high-speed processing of the incremental algorithm is not impaired. The processing in the interpolation unit shown here is one multiplication and one addition (Equation 24).
The delay caused by performing the correction processing is extremely small. Further, the entire apparatus can operate the edge generation section, the interpolation section, the span generation section, and the like in a pipeline manner, and the high-speed processing as a whole is not impaired at all.
【0105】さらに、エッジに対するアンチエイリアシ
ング処理では、ポリゴンが存在しない領域にあるスクリ
ーン座標上の点をサンプルする必要がある。この場合、
ポリゴンが存在する領域のサンプル点でx軸方向に最も
近いサンプル点との距離をLとし、ポリゴンが存在する
サンプル点のパラメータから(数24)を用いて対応点
を算出することが可能となる。Further, in the anti-aliasing processing for edges, it is necessary to sample points on screen coordinates in an area where no polygon exists. in this case,
The distance between the sample point in the area where the polygon exists and the closest sample point in the x-axis direction is L, and the corresponding point can be calculated from the parameter of the sample point where the polygon exists by using (Equation 24). .
【0106】以上のように、本発明のテクスチャマッピ
ング装置は、テクスチャマッピングの対応点計算の正確
さや構成の簡素化、さらに処理の高速性を実現すること
となる。As described above, the texture mapping apparatus of the present invention realizes the accuracy of the calculation of the corresponding points of the texture mapping, simplification of the configuration, and high-speed processing.
【0107】また第2の構成では、第1の構成における
サンプル点を、例えば画素の内部で原点に最も近い点に
することにより、補正処理に必要な演算量を削減し、よ
り簡易な回路構成でマッピング装置を実現できる。Further, in the second configuration, the sample point in the first configuration is set to, for example, a point closest to the origin inside the pixel, so that the amount of calculation required for the correction processing is reduced, and a simpler circuit configuration Thus, a mapping device can be realized.
【0108】第1および第2の構成では、結果として算
出する対応点の算出パラメータを補正することにより対
応点計算の誤差をなくす方法であったが、第3の構成は
生成画像を格納するメモリ(フレームメモリ)に対し
て、テクスチャ画像により得た画素値を、テクスチャ画
素がかかる面積に応じて配分し、格納するものである。
増分アルゴリズムでは、算出した描画点と画素のサンプ
ル点とのズレが画質劣化の要因となっている。算出した
描画点により参照したテクスチャの画素を、フレームメ
モリに書き込む時、理想的にはテクスチャの画素はフレ
ームメモリにおいて最大4画素に影響を及ぼすことにな
る。この、影響を及ぼすフレームメモリの4画素に対し
て、テクスチャの画素とフレームの画素との共有する面
積比に応じた画素値を、それぞれのフレーム画素に反映
させる。これにより、先述のものと同様な効果を得るこ
とができる。すなわち、さまざまなマッピングによる高
画質な画像を得ることができる。In the first and second configurations, the error of the corresponding point calculation is eliminated by correcting the calculation parameter of the corresponding point to be calculated as a result. However, the third configuration is a memory for storing the generated image. The pixel values obtained from the texture image are distributed and stored in (frame memory) according to the area of the texture pixels.
In the incremental algorithm, the deviation between the calculated drawing point and the sample point of the pixel causes image quality deterioration. When writing the pixels of the texture referred to by the calculated drawing points into the frame memory, ideally the texture pixels affect up to four pixels in the frame memory. With respect to the four pixels of the frame memory that exert an influence, a pixel value corresponding to the area ratio shared between the texture pixel and the frame pixel is reflected on each frame pixel. Thereby, the same effect as that described above can be obtained. That is, high-quality images can be obtained by various mappings.
【0109】第3の構成では、パラメータの補正処理を
行なう必要がない。反面、フレームメモリに対するアク
セス量が増加してしまう。しかし、フレームメモリへの
配分格納は局所的なもので、フレームメモリとの間に小
量の中間バッファを用いることにより、アクセス量の増
加を隠蔽することができる。In the third configuration, there is no need to perform parameter correction processing. On the other hand, the amount of access to the frame memory increases. However, the distribution storage in the frame memory is local, and an increase in the amount of access can be concealed by using a small amount of intermediate buffer with the frame memory.
【0110】第4の構成では、二つのエッジ生成部にお
いて、ポリゴンエッジに関するデータを算出し、これら
のデータを選択部において適切に選択することにより、
ポリゴンエッジに関するスクリーン座標値、テクスチャ
座標値を理想的に算出することができる。In the fourth configuration, two edge generation units calculate data on polygon edges, and these data are appropriately selected by the selection unit, thereby obtaining
It is possible to ideally calculate screen coordinate values and texture coordinate values for polygon edges.
【0111】この構成ではエッジ生成部を二つ設ける必
要があるが、補正処理をデータの選択において実現する
ことができる。この選択部は、セレクタにより実現する
ことができるため、補正処理と比較して高速に実行する
ことができる。また、この選択部の回路も非常に簡単に
実現することができる。In this configuration, it is necessary to provide two edge generating units, but the correction processing can be realized by selecting data. Since this selector can be realized by a selector, it can be executed at a higher speed than the correction process. In addition, the circuit of the selector can be realized very easily.
【0112】さらに、この選択部からの制御により、二
つのエッジ生成部のいずれかの動作を停止させることも
可能である。これにより、装置全体としての消費電力も
押えることができる。Further, it is also possible to stop the operation of one of the two edge generating sections under the control of the selecting section. Thereby, the power consumption of the entire apparatus can be suppressed.
【0113】また、第5の構成では、第4の構成におい
て設けた二つのエッジ生成部を一つにするものである。
これは、エッジ生成部における増分処理の増分値を、適
切に選択することによって実現する。回路としても非常
に簡単な構成により実現することができる。In the fifth configuration, the two edge generators provided in the fourth configuration are combined into one.
This is realized by appropriately selecting the increment value of the increment processing in the edge generation unit. The circuit can be realized by a very simple configuration.
【0114】さらに、第6の構成では、演算部で算出し
エッジ生成部で用いる増分値を、補正部における補正処
理を簡単にするような値とする。すなわち、エッジ生成
部で通常の増分処理を行なう。ここで生成されるデータ
は補正部において、その補正処理を非常に簡単に行なう
ことができる。Further, in the sixth configuration, the increment value calculated by the calculation unit and used by the edge generation unit is set to a value that simplifies the correction processing in the correction unit. That is, the normal increment processing is performed in the edge generation unit. The data generated here can be corrected very easily in the correction unit.
【0115】これにより、補正部を非常に簡単な構成で
実現することが可能となる。また、演算部で算出する増
分値に関しても、その演算量は、従来のものと大差はな
い。したがって、簡単な構成により、高速で理想的なポ
リゴンのスクリーン座標値とこれに対応する理想的なテ
クスチャ座標を算出することが可能となる。As a result, the correction section can be realized with a very simple configuration. In addition, the amount of calculation for the increment value calculated by the calculation unit is not much different from that of the conventional one. Therefore, with a simple configuration, it is possible to calculate an ideal polygon screen coordinate value and an ideal texture coordinate corresponding thereto at high speed.
【0116】第7の構成では、第6の構成における補正
部とスパン生成部での処理を同一の回路により実現する
というものである。これは、同一の回路を用いることに
より実現するというもので、処理速度を落すものではな
い。すなわち、第6の構成よりもさらに簡単な構成で同
じ機能を実現することが可能となる。In the seventh configuration, the processing in the correction unit and the span generation unit in the sixth configuration is realized by the same circuit. This is realized by using the same circuit, and does not reduce the processing speed. That is, the same function can be realized with a simpler configuration than the sixth configuration.
【0117】本発明のマッピング装置は、増分アルゴリ
ズムによって算出される描画点と対応する各画素との相
対的位置関係が必ずしも一定ではないことに着目し、各
画素を代表するサンプル点の位置情報を用いて各画素値
を決定することにより、画質の向上を図るものである。The mapping apparatus of the present invention focuses on the fact that the relative positional relationship between the drawing point calculated by the incremental algorithm and each corresponding pixel is not always constant, and calculates the position information of the sample point representing each pixel. The image quality is improved by determining each pixel value by using this.
【0118】また、本発明による別のマッピング装置で
は、増分アルゴリズムによって算出される各描画点の位
置情報により決定された各画素値を、各描画点と、各画
素値との相対的位置関係に基づいて、隣接する複数の画
素に配分することにより、上記マッピング装置と同様の
効果を得るものである。Further, in another mapping apparatus according to the present invention, each pixel value determined by the position information of each drawing point calculated by the incremental algorithm is used to determine the relative positional relationship between each drawing point and each pixel value. By allocating the pixels to a plurality of adjacent pixels on the basis of the above, the same effect as the above-described mapping device is obtained.
【0119】さらに、増分アルゴリズムによる誤差の問
題は、マッピング処理に影響を及ぼすだけでなく、シェ
ーディングなどの一般的なレンダリングアルゴリズムに
も共通の問題である。従って、本発明は、広くレンダリ
ング処理一般に適応できるものである。Further, the problem of the error caused by the incremental algorithm not only affects the mapping process but also is a problem common to general rendering algorithms such as shading. Therefore, the present invention can be widely applied to rendering processing in general.
【0120】画像の劣化は、テクスチャを参照するスク
リーン画素における位置が定まっていなかったために発
生したものである。すなわち、テクスチャを参照するス
クリーン画素における位置を、スクリーン座標空間で一
定にすることにより画質の劣化を防ぐことができる。The image deterioration occurs because the position in the screen pixel referring to the texture has not been determined. That is, it is possible to prevent the image quality from deteriorating by making the position in the screen pixel that refers to the texture constant in the screen coordinate space.
【0121】テクスチャマッピングにおける関係式は、
(数19)、(数20)のように表されるが、ここで
は、(数26)を用いて説明する。The relational expression in texture mapping is:
Although expressed as (Equation 19) and (Equation 20), description will be made here using (Equation 26).
【0122】[0122]
【数26】u = f(x) = A×x + B これは、説明を簡単にするためのものではあるが、原理
的には(数19)、(数20)についても同様にいえ
る。U = f (x) = A × x + B This is for the sake of simplicity, but the same can be said in principle for (Equation 19) and (Equation 20).
【0123】xの量子化後の値をX、量子化誤差をex
とすると、値xは(数27)によって表される。The quantized value of x is X, and the quantization error is ex.
Then, the value x is represented by (Equation 27).
【0124】[0124]
【数27】x = X + ex また、量子化する前の値で算出するuと、量子化した後
の値で算出するuとの誤差をEとすると、誤差Eは(数
28)によって表される。X = X + ex Further, if an error between u calculated based on the value before quantization and u calculated based on the value after quantization is E, the error E is expressed by Expression 28. Is done.
【0125】[0125]
【数28】 E = f(x)−f(X) = f(X + ex)−f(X) = f(ex) すなわち、x空間において、量子化誤差を排除すれば、
量子化前後のuの値に誤差が含まれることがなくなる。E = f (x) −f (X) = f (X + ex) −f (X) = f (ex) That is, if a quantization error is eliminated in the x space,
An error is not included in the value of u before and after quantization.
【0126】また、量子化誤差を一定にすることによ
り、結果としてEが一定となる。これは、算出するuが
一様に誤差を持つことになり、u空間における相対的な
誤差がなくなるからである。Also, by making the quantization error constant, E becomes constant as a result. This is because the calculated u has an error uniformly, and there is no relative error in the u space.
【0127】これらにより、すべてのスクリーン空間画
素において、テクスチャを算出する座標値(x,y)を
画素内において一定にすることにより、算出するテクス
チャ座標をテクスチャ空間において誤差のないものとす
ることができる。Thus, by making the coordinate values (x, y) for calculating the texture constant in all the pixels in the screen space, the texture coordinates to be calculated can be made error-free in the texture space. it can.
【0128】従って、ポリゴンとテクスチャとの座標計
算を誤差なく行うことができ、これによりテクスチャマ
ッピングにより生成する画像の画質劣化を防ぐことがで
きる。Therefore, the coordinates of the polygon and the texture can be calculated without errors, thereby preventing the image quality generated by the texture mapping from deteriorating.
【0129】[0129]
【発明の実施の形態】本発明のマッピング装置の原理
は、広くレンダリング処理一般に適応できるものである
が、説明の簡略化のために、以下の各実施の形態ではマ
ッピング装置について説明を行う。マッピング以外のレ
ンダリング処理に本発明を適応する場合には、各描画点
の座標値を用いてレンダリング演算を行うかわりに、各
描画点に対応するサンプル点の座標値および各ポリゴン
に与えられる属性値を用いて所望のレンダリング演算を
行えばよい。属性値とは、ポリゴンの素材を表現するた
めの値であり、ポリゴンの反射率や透過率、屈折率等を
示す値である。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The principle of the mapping apparatus of the present invention can be widely applied to rendering processing in general, but for simplification of description, the following embodiments will describe the mapping apparatus. When the present invention is applied to rendering processing other than mapping, instead of performing the rendering operation using the coordinate values of each drawing point, the coordinate values of the sample points corresponding to each drawing point and the attribute values given to each polygon May be used to perform a desired rendering operation. The attribute value is a value for expressing a polygon material, and is a value indicating a reflectance, a transmittance, a refractive index, or the like of the polygon.
【0130】(実施の形態1)以下本発明のマッピング
装置の第1の実施の形態について、図面を参照しながら
説明する。(Embodiment 1) Hereinafter, a first embodiment of the mapping apparatus of the present invention will be described with reference to the drawings.
【0131】図1は、本発明のマッピング装置の構成例
を示す。マッピング装置は、メインプロセッサ1と、メ
インメモリ2と、レンダリングプロセッサ3と、ピクセ
ルメモリ4と、DAC(デジタルアナログコンバータ)
5と、モニタ6と、システムバス7とを含んでいる。FIG. 1 shows an example of the configuration of a mapping apparatus according to the present invention. The mapping device includes a main processor 1, a main memory 2, a rendering processor 3, a pixel memory 4, a DAC (digital-to-analog converter).
5, a monitor 6, and a system bus 7.
【0132】メインプロセッサ1は、テクスチャマッピ
ングを行うための三次元図形処理の幾何演算や、レンダ
リングプロセッサ3、DAC5などの制御およびシステ
ム全体の制御を行う。The main processor 1 performs a geometric operation of three-dimensional graphic processing for performing texture mapping, controls the rendering processor 3 and the DAC 5, and controls the entire system.
【0133】メインメモリ2は、メインプロセッサ1が
実行するプログラムや、ポリゴンデータなど各処理に必
要とするデータを格納する。The main memory 2 stores a program executed by the main processor 1 and data required for each processing such as polygon data.
【0134】レンダリングプロセッサ3は、メインプロ
セッサ1からの制御によりピクセルメモリ4に対してポ
リゴン描画を行う。The rendering processor 3 performs polygon drawing on the pixel memory 4 under the control of the main processor 1.
【0135】ピクセルメモリ4は、レンダリングプロセ
ッサ3により描画される画像を格納するとともに、マッ
ピング対象のテクスチャを格納する。The pixel memory 4 stores an image drawn by the rendering processor 3 and also stores a texture to be mapped.
【0136】システムバス7は、図示されていない入出
力装置と、メインプロセッサ1、メインメモリ2、レン
ダリングプロセッサ3、ピクセルメモリ4とを相互に接
続する。The system bus 7 interconnects an input / output device (not shown) with the main processor 1, the main memory 2, the rendering processor 3, and the pixel memory 4.
【0137】生成された画像は、DAC5を介してモニ
タ6に出力される。The generated image is output to the monitor 6 via the DAC 5.
【0138】図2は、レンダリングプロセッサ3の構成
例を示す。レンダリングプロセッサ3は、DDA係数演
算部201と、マッピングアドレス発生部208と、原
画像画素加工処理部207とを含んでいる。FIG. 2 shows a configuration example of the rendering processor 3. The rendering processor 3 includes a DDA coefficient operation unit 201, a mapping address generation unit 208, and an original image pixel processing unit 207.
【0139】DDA係数演算部201は、システムバス
7を介して入力されるポリゴン、テクスチャ頂点の関係
から、マッピングアドレス発生部208で用いるDDA
係数を生成する。DDA係数は、yの微分値(縦方向の
DDA)とxの偏微分値(横方向のDDA)を含む。The DDA coefficient calculation unit 201 determines the DDA used by the mapping address generation unit 208 based on the relationship between polygons and texture vertices input via the system bus 7.
Generate coefficients. The DDA coefficient includes a differential value of y (vertical DDA) and a partial differential value of x (horizontal DDA).
【0140】マッピングアドレス発生部208は、DD
Aを用いてレンダリング処理を行うものであり、エッジ
生成部202と、補正部203と、スパン生成部204
とを含んでいる。The mapping address generating section 208
A, a rendering process is performed by using an edge generation unit 202, a correction unit 203, and a span generation unit 204.
And
【0141】エッジ生成部202は、図3に示されるよ
うに、xのDDA処理部301と、yのDDA処理部3
02と、uのDDA処理部303と、vのDDA処理部
304とを含んでいる。As shown in FIG. 3, the edge generation unit 202 includes a DDA processing unit 301 for x and a DDA processing unit 3 for y.
02, a DDA processing unit 303 for u, and a DDA processing unit 304 for v.
【0142】DDA処理部301〜304は、DDA係
数演算部201で算出したyの微分値を用いてポリゴン
エッジの座標点(x,y,u,v)の算出を行う。具体
的には、(数29)に示す処理を行う。The DDA processing units 301 to 304 calculate the coordinate points (x, y, u, v) of the polygon edge using the differential value of y calculated by the DDA coefficient calculation unit 201. Specifically, the processing shown in (Equation 29) is performed.
【0143】(数29)において、(x(n+1),y
(n+1),u(n+1),v(n+1))は、(x
(n),y(n),u(n),v(n))に対して1つ
下のスキャンライン上のポリゴンエッジにおける座標を
示す。また、(数29)に示したdx/dy、du/d
v、dv/dyの値がDDA係数演算部201によって
算出され、エッジ生成部202に与えられる。In (Equation 29), (x (n + 1), y
(N + 1), u (n + 1), v (n + 1)) are (x
(N), y (n), u (n), v (n)) indicate the coordinates at the polygon edge on the scan line immediately below. Also, dx / dy and du / d shown in (Equation 29)
The values of v and dv / dy are calculated by the DDA coefficient calculation unit 201 and provided to the edge generation unit 202.
【0144】[0144]
【数29】 (x(n+1),y(n+1),u(n+1),v(n+1)) = (x(n),y(n),u(n),v(n)) +(dx/dy,1,du/dy,dv/dy) また、補正部203は、図4に示すように、xの補正部
411と、yの補正部412と、uの補正部413と、
vの補正部414とを含んでいる。補正部411〜41
4のそれぞれは、(数32)に示す処理(補正処理)を
行う。また、補正に必要な、du/dy、∂u/∂xな
どが、DDA係数演算部201によって算出される。(X (n + 1), y (n + 1), u (n + 1), v (n + 1)) = (x (n), y (n), u (n), v (n)) + (dx / Dy, 1, du / dy, dv / dy) Further, as shown in FIG. 4, the correction unit 203 includes an x correction unit 411, a y correction unit 412, a u correction unit 413,
v correction unit 414. Correction units 411 to 41
4 performs the processing (correction processing) shown in (Equation 32). Further, du / dy, ∂u / ∂x, and the like required for correction are calculated by the DDA coefficient calculation unit 201.
【0145】さらに、スパン生成部204は、図5に示
すように、xのDDA処理部511と、uのDDA処理
部512と、vのDDA処理部513とを含んでいる。
スパン処理においては、y値は変化しないためyのDD
A処理部は必要ない。Further, as shown in FIG. 5, the span generation section 204 includes a DDA processing section 511 for x, a DDA processing section 512 for u, and a DDA processing section 513 for v.
In the span processing, since the y value does not change, the DD of y
No A processing unit is required.
【0146】DDA処理部511〜513は、DDA係
数演算部201によって算出されたyの微分値を用いて
ポリゴンエッジの座標点(x,y,u,v)の算出を行
う。具体的には、(数30)に示す処理を行う。The DDA processing sections 511 to 513 calculate the coordinate points (x, y, u, v) of the polygon edge using the differential value of y calculated by the DDA coefficient calculation section 201. Specifically, the processing shown in (Equation 30) is performed.
【0147】(数30)において、(x(n+1),y
(n+1),u(n+1),v(n+1))は、(x
(n),y(n),u(n),v(n))に対してスパ
ン方向に1画素となりの点における座標を示す。In (Equation 30), (x (n + 1), y
(N + 1), u (n + 1), v (n + 1)) are (x
(N), y (n), u (n), v (n)) indicate the coordinates at a point that is one pixel in the span direction.
【0148】[0148]
【数30】 (x(n+1),y(n+1),u(n+1),v(n+1)) = (x(n),y(n),u(n),v(n)) +(1,0,∂u/∂x,∂v/∂x) また、ピクセルメモリ4は、生成画像格納部205と、
原画像格納部206とを含んでいる。生成画像格納部2
05は、レンダリングプロセッサ3によって描画される
画像を格納する。原画像格納部206は、レンダリング
プロセッサ3による描画の対象となる原画像(テクスチ
ャ)を格納する。(X (n + 1), y (n + 1), u (n + 1), v (n + 1)) = (x (n), y (n), u (n), v (n)) + (1 , 0, ∂u / ∂x, ∂v / ∂x) Further, the pixel memory 4 includes a generated image storage unit 205,
And an original image storage unit 206. Generated image storage 2
Reference numeral 05 stores an image drawn by the rendering processor 3. The original image storage unit 206 stores an original image (texture) to be drawn by the rendering processor 3.
【0149】図7は本発明の第1の実施の形態における
マッピング装置におけるアドレス発生部に関する構成図
である。演算部101はポリゴン頂点の位置とポリゴン
頂点に与えられた対応点とを用いて、増分アルゴリズム
によってポリゴン内部の描画点計算と対応点計算とに用
いるパラメータを算出する。エッジ生成部102aは演
算部101において算出されたパラメータを用いてポリ
ゴンエッジ上の描画点と対応点の位置を決定する演算を
行なう。補正部103aは演算部101において算出さ
れたパラメータとエッジ生成部102aにおいて決定さ
れた描画点とを用いて、エッジ生成部102aが生成し
た対応点(テクスチャ画像)に対して補正処理を行な
う。スパン生成部104は演算部101において算出さ
れたパラメータと補正部103aにおいて生成されたデ
ータとを用いてポリゴンスパンの描画点と対応点計算を
行ないその演算結果を出力する。FIG. 7 is a block diagram showing an address generator in the mapping apparatus according to the first embodiment of the present invention. Using the position of the polygon vertex and the corresponding point given to the polygon vertex, the arithmetic unit 101 calculates a parameter used for calculation of a drawing point inside the polygon and calculation of the corresponding point by an incremental algorithm. The edge generation unit 102a performs an operation of determining the positions of the drawing points and the corresponding points on the polygon edge using the parameters calculated by the calculation unit 101. The correction unit 103a performs a correction process on the corresponding point (texture image) generated by the edge generation unit 102a using the parameters calculated by the calculation unit 101 and the drawing points determined by the edge generation unit 102a. The span generation unit 104 calculates the drawing points of the polygon span and the corresponding points using the parameters calculated by the calculation unit 101 and the data generated by the correction unit 103a, and outputs the calculation results.
【0150】以上のように構成されたマッピング装置の
アドレス発生部について、以下図面を用いてその動作を
説明する。The operation of the address generator of the mapping apparatus having the above-described configuration will be described below with reference to the drawings.
【0151】図8は、図37における辺1404が横切
る画素を拡大したもので、この図8の画素は、図37に
おける(x,y)=(2,4)(2,5)(3,5)(3,4)で囲まれた部分にあ
たる。201はスクリーン上の画素を、202はポリゴ
ンのエッジを示し、そのエッジの右側にポリゴンが存在
する。203はエッジ生成部102aにより生成される
補正処理前のエッジ描画点(x0,y0)である。205は
画素201のサンプル点(X,Y)である。204は補正
部103aでの補正処理を説明するための点(x’,
y’)で、ポリゴンエッジ202上に位置し、y’= Y
とする。また、ポリゴン上の点(x,y)と対応するテク
スチャ画像上の点(u,v)とには、(数1)、(数2)
に示す関係が成り立つとし、エッジ描画点203におけ
るテクスチャ画像の対応点を(u0,v0)、サンプル点2
05におけるテクスチャ画像の対応点を(U,V)、点2
04におけるテクスチャ画像の対応点を(u’,v’)と
する。FIG. 8 is an enlarged view of the pixel crossed by the side 1404 in FIG. 37. The pixel in FIG. 8 is (x, y) = (2,4) (2,5) (3,3) in FIG. 5) It corresponds to the part enclosed by (3,4). 201 indicates a pixel on the screen, 202 indicates an edge of the polygon, and the polygon exists on the right side of the edge. Reference numeral 203 denotes an edge drawing point (x0, y0) before correction processing generated by the edge generation unit 102a. Reference numeral 205 denotes a sample point (X, Y) of the pixel 201. Reference numeral 204 denotes a point (x ′,
y '), located on the polygon edge 202, y' = Y
And The point (x, y) on the polygon and the corresponding point (u, v) on the texture image are represented by (Equation 1) and (Equation 2).
And the corresponding point of the texture image at the edge drawing point 203 is (u0, v0), and the sample point 2
The corresponding point of the texture image at 05 is (U, V), point 2
The corresponding point of the texture image in 04 is (u ′, v ′).
【0152】このとき、これらの対応点には、(数3
1)、(数32)に示す関係が成り立つ((数4)、
(数7)参照)。At this time, these corresponding points include (Equation 3)
1), the relationship shown in (Equation 32) holds ((Equation 4),
(Equation 7)).
【0153】[0153]
【数31】(u’,v’) = (u0+du/dy×(Y-y0),
v0+dv/dy×(Y-y0))(U ′, v ′) = (u0 + du / dy × (Y−y0),
v0 + dv / dy × (Y-y0))
【0154】[0154]
【数32】(U,V) = (u’+∂u/∂x×(X-x’),
v’+∂v/∂x×(X-x’)) また、(U, V) = (u ′ + ∂u / ∂x × (X−x ′),
v '+ ∂v / ∂xx (X-x'))
【0155】[0155]
【数33】x’ = x0+dx/dy であることから、(u0,v0)と(U,V)とには、(数3
4)の関係が成り立つ。Since x '= x0 + dx / dy, (u0, v0) and (U, V) are (Equation 3)
The relationship of 4) holds.
【0156】[0156]
【数34】(U,V)= (u0+du/dy×(Y-y0)+∂u
/∂x×(X-x0-dx/dy),v0+dv/dy×(Y-y
0)+∂v/∂x×(X-x0-dx/dy)) 具体的には、サンプル点を画素の中心点とし(X,Y)=
(2.5,4.5)、算出する描画点のy座標=4.20とすると、 (x0,y0,u0,v0) = (2.40 , 4.20 , 0,00 , 11.20) となり、(数34)、(数5)、(数8)より、 (U,V) = (1.53 , 11.24) となる。ここで、対象とするポリゴンは、従来の技術で
説明したものと同じであり、dx/dy、du/dy、
dv/dy、∂u/∂x、∂v/∂xも同一の値を用い
ることができる。この(U,V)値で、テクスチャの画
素値を算出することにより、スクリーン画素に対して正
確な画素値を反映させることが可能となる。 すなわ
ち、エッジ生成部102aで生成したエッジ描画点20
3(x0,y0)の対応点(u0,v0)を、補正部103aでサ
ンプル点204(X,Y)の対応点(U,V)に補正すること
により((数34)参照)、画素201の理想的な対応
点を算出することができる。さらに、スパンの先頭画素
の対応点を理想的に算出することにより、このスパンに
含まれる画素の対応点も理想的に算出することができる
((数7)参照)。(U, V) = (u0 + du / dy × (Y-y0) + ∂u
/ ∂xx (X-x0-dx / dy), v0 + dv / dyx (Y-y
0) + ∂v / ∂x × (X−x0−dx / dy)) Specifically, the sample point is set as the center point of the pixel, and (X, Y) =
(2.5, 4.5), assuming that the y coordinate of the drawing point to be calculated is 4.20, (x0, y0, u0, v0) = (2.40, 4.20, 0,00, 11.20), and (Equation 34), (Equation 5) , (Equation 8), (U, V) = (1.53, 11.24). Here, the target polygons are the same as those described in the related art, and dx / dy, du / dy,
The same value can be used for dv / dy, ∂u / ∂x, and ∂v / ∂x. By calculating the pixel value of the texture based on the (U, V) value, it becomes possible to reflect an accurate pixel value on the screen pixel. That is, the edge drawing point 20 generated by the edge generation unit 102a
By correcting the corresponding point (u0, v0) of 3 (x0, y0) to the corresponding point (U, V) of the sample point 204 (X, Y) by the correction unit 103a (see (Equation 34)), It is possible to calculate an ideal corresponding point of 201. Further, by ideally calculating the corresponding point of the top pixel of the span, the corresponding point of the pixel included in this span can also be ideally calculated (see (Equation 7)).
【0157】ここで、補正部103aの構成例について
説明する。テクスチャ座標vに関する補正処理はuに関
する補正処理と同様であるので、図9では補正部103
aにおけるテクスチャ座標uに関しての構成のみを示
す。(数34)において、(Y-y0)、(X-x0)は1を越
えることはなく、また画素のサンプル点により定義され
る。すなわち、ここでは、 Y-y0 = Yの小数部 - y0の小数部 = 0.5 - y0の小
数部 X-x0 = Xの小数部 - x0の小数部 = 0.5 - x0の小
数部 とすることができる。図9において、乗算器1601
は、Uを表す(数34)の第2項を算出する第1の乗算
器である。加算器1602は、Uを表す(数34)の第
3項の(X-x0+dx/dy)を算出する第1の加算器で
ある。乗算器1603は、Uを表す(数34)の第3項
を算出する第2の乗算器である。加算器1604は、U
を表す(数34)の第1項、第2項、第3項を加算しU
算出する第2の加算器である。また、対応点vについて
も同様の構成で実現することができる。この構成によ
り、(数34)による補正処理を実現することが可能と
なり、すなわち、本実施の形態における補正部103a
を実現することが可能となる。Here, a configuration example of the correction unit 103a will be described. Since the correction processing for the texture coordinates v is the same as the correction processing for u, in FIG.
Only the configuration related to the texture coordinate u in FIG. In (Equation 34), (Y-y0) and (X-x0) do not exceed 1, and are defined by sample points of pixels. That is, here, Y−y0 = decimal part of Y−decimal part of y0 = 0.5−decimal part of y0 X−x0 = decimal part of X−decimal part of x0 = 0.5−decimal part of x0 . In FIG. 9, a multiplier 1601
Is a first multiplier for calculating the second term of (Expression 34) representing U. The adder 1602 is a first adder that calculates (X-x0 + dx / dy) in the third term of U (Equation 34). The multiplier 1603 is a second multiplier that calculates the third term of (Expression 34) representing U. The adder 1604 calculates U
The first, second, and third terms of (Expression 34) representing
This is a second adder to be calculated. Further, the corresponding point v can be realized with the same configuration. With this configuration, it is possible to realize the correction processing according to (Equation 34), that is, the correction unit 103a in the present embodiment.
Can be realized.
【0158】以上のように本実施の形態によれば、補正
部103aを設けることにより、エッジ生成部102a
で生成されたエッジ描画点に対応する対応点を補正処理
する。これにより、エッジ描画点が含まれる画素につい
て理想的な対応点を算出することができる。また、スパ
ン描画点の先頭、すなわちエッジ描画点が理想的な対応
点であれば、そのスパンに含まれる画素についても理想
的な対応点を算出することができる。すなわち、ポリゴ
ンに含まれるすべての画素について理想的な対応点を算
出することができ、マッピング画像の画質を向上させる
ことができる。As described above, according to the present embodiment, by providing the correction unit 103a, the edge generation unit 102a
Correction processing is performed on the corresponding point corresponding to the edge drawing point generated in step (1). This makes it possible to calculate an ideal corresponding point for the pixel including the edge drawing point. If the head of the span drawing point, that is, the edge drawing point is an ideal corresponding point, an ideal corresponding point can be calculated for the pixels included in the span. That is, ideal corresponding points can be calculated for all the pixels included in the polygon, and the image quality of the mapping image can be improved.
【0159】さらに、補正部103aで行なう補正処理
に用いる変数(数34)は、従来の増分アルゴリズムに
おいて用いる変数と同じであり、新たに生成する必要は
ない。また、補正処理による処理全体の遅延が発生する
ものの、図7に示したすべての構成要素をパイプライン
的に動作させることが可能であり、処理全体としての高
速性はまったく損なわれない。Further, the variable (Equation 34) used in the correction processing performed by the correction unit 103a is the same as the variable used in the conventional incremental algorithm, and does not need to be newly generated. Further, although the entire processing is delayed by the correction processing, all the components shown in FIG. 7 can be operated in a pipeline manner, and the high-speed performance of the entire processing is not impaired at all.
【0160】なお、本実施の形態では、ポリゴンとテク
スチャ画像との関係は(数1)、(数2)としたが、そ
の関係は(数1)、(数2)に限るものではない。例え
ば、この関係を(数17)、(数18)としても正確な
対応点計算を行なうことができる。In the present embodiment, the relationship between the polygon and the texture image is (Equation 1) and (Equation 2), but the relationship is not limited to (Equation 1) and (Equation 2). For example, even if this relation is expressed by (Equation 17) and (Equation 18), accurate corresponding point calculation can be performed.
【0161】換言すれば、あらゆる対応点式に本実施の
形態は対応することができる。In other words, the present embodiment can correspond to any corresponding point formula.
【0162】なお、本実施の形態では、ポリゴンにマッ
ピングする画像上の対応点計算について説明したが、照
度計算、不透明度計算についても同様の処理を適応する
ことができる。また、これらに関しても対応点と同様
に、あらゆる関係式に対応することができる。In this embodiment, the calculation of the corresponding points on the image to be mapped to the polygon has been described. However, the same processing can be applied to the illuminance calculation and the opacity calculation. In addition, as with the corresponding points, these can also correspond to any relational expressions.
【0163】なお、本実施の形態では、アンチエイリア
シング処理を行なわない方法で説明を行なったが、アン
チエイリアシング処理を含めても同様の処理を行なうこ
とができる。Although the present embodiment has been described with respect to a method in which anti-aliasing processing is not performed, similar processing can be performed including anti-aliasing processing.
【0164】なお、サブピクセルポジショニングを行う
場合にも、本実施の形態と同様の補正処理を行なうこと
ができる。Note that the same correction processing as that of the present embodiment can be performed when sub-pixel positioning is performed.
【0165】図7を用いて、テクスチャ画像上の対応点
の位置(アドレス)を決定するアドレス発生部について
説明したが、これをテクスチャマッピングに用いるとす
れば、図10の構成となる。アドレス発生部1701は
本装置により、ポリゴンとテクスチャとの対応を入力と
しスクリーンにおけるポリゴンのアドレス(x,y)と、こ
れに対応するテクスチャのアドレス(u,v)とを発生す
る。テクスチャメモリ1702は、テクスチャ画像が格
納されている。フレームメモリ1703は、生成する画
像を格納する。アドレス発生部1701により、ポリゴ
ンの描画座標と、これに対応するテクスチャ座標(u,v)
が出力される。出力されたテクスチャ座標(u,v)によ
り、テクスチャメモリ1702から読み出された画素値
(R,G,B)が、フレームメモリ1703に格納される。こ
の格納アドレスは、アドレス発生部1701から出力さ
れた(x,y)から決定される。The address generator for determining the position (address) of the corresponding point on the texture image has been described with reference to FIG. 7, but if this is used for texture mapping, the configuration shown in FIG. 10 is obtained. The address generator 1701 receives the correspondence between polygons and textures, and generates an address (x, y) of a polygon on the screen and an address (u, v) of the corresponding texture on the screen. The texture memory 1702 stores a texture image. The frame memory 1703 stores an image to be generated. The address generating unit 1701 draws the polygon drawing coordinates and the corresponding texture coordinates (u, v)
Is output. The pixel value read from the texture memory 1702 according to the output texture coordinates (u, v)
(R, G, B) is stored in the frame memory 1703. This storage address is determined from (x, y) output from the address generator 1701.
【0166】また、照度マッピング(シェーディング)
に用いるとすれば、図11の構成となる。照度演算部1
801は、ポリゴンとポリゴンにおける照度との対応を
入力としスクリーンにおけるポリゴンのアドレス(x,y)
と、これに対応するポリゴンにおける色を表す画素値
(R,G,B)とを発生する。フレームメモリ1803は、生
成する画像を格納するフレームメモリである。照度演算
部1801により、ポリゴンの描画座標と、これに対応
する画素値(R,G,B)が出力される。出力された画素値(R,
G,B)はフレームメモリ1803に格納される。この格納
アドレスは、照度演算部1801から出力された(x,y)
から決定される。Also, illuminance mapping (shading)
, The configuration shown in FIG. Illuminance calculation unit 1
Reference numeral 801 denotes an address (x, y) of a polygon on a screen, using the correspondence between the polygon and the illuminance of the polygon as an input.
And the pixel value representing the color in the corresponding polygon
(R, G, B). The frame memory 1803 is a frame memory for storing an image to be generated. The illuminance calculation unit 1801 outputs the drawing coordinates of the polygon and the corresponding pixel values (R, G, B). The output pixel value (R,
G, B) are stored in the frame memory 1803. This storage address is (x, y) output from the illuminance calculation unit 1801.
Is determined from
【0167】さらに、不透明度、バンプ、ディスプレー
スメントマッピングなどここで説明した以外のマッピン
グに関しても同様の構成により実現することができる。Further, mapping other than those described here, such as opacity, bump, and displacement mapping, can be realized by a similar configuration.
【0168】これらは、以降の実施の形態についても同
様で、テクスチャ、照度、不透明度、バンプ、ディスプ
レースメントなどのマッピングに関して本発明を用いる
ことができる。The same applies to the following embodiments, and the present invention can be used for mapping of texture, illuminance, opacity, bump, displacement, and the like.
【0169】(実施の形態2)以下本発明のマッピング
装置の第2の実施の形態について図面を参照しながら説
明する。構成に関しては、第1の実施の形態と同じであ
る。本実施の形態では画素内の最も原点に近い点をサン
プル点と定め、このサンプル点のy軸に合わせてエッジ
描画点、およびその対応点を算出することにより、補正
部における補正処理を1次元の補正とし第1の実施の形
態と比較して簡略化させることができる。(Embodiment 2) Hereinafter, a second embodiment of the mapping apparatus of the present invention will be described with reference to the drawings. The configuration is the same as in the first embodiment. In the present embodiment, a point closest to the origin in a pixel is determined as a sample point, and an edge drawing point and its corresponding point are calculated in accordance with the y-axis of the sample point, so that the correction processing in the correction unit is performed one-dimensionally. Can be simplified as compared with the first embodiment.
【0170】図12は、図37における辺1404が横
切る画素を拡大したもので、この図12の画素は、図3
7における(x,y)=(2,4)(2,5)(3,5)(3,4)で囲まれた部分
にあたる。401はスクリーン上の1つの画素を示し、
402はポリゴンのエッジを示す。描画対象となるポリ
ゴンはポリゴンエッジの右側に存在する。403はエッ
ジ生成部102aにより生成される補正処理前のエッジ
描画点(x0,y0)である。FIG. 12 is an enlarged view of the pixel crossed by the side 1404 in FIG. 37. The pixel in FIG.
7 corresponds to a portion surrounded by (x, y) = (2, 4) (2, 5) (3, 5) (3, 4). 401 indicates one pixel on the screen,
Reference numeral 402 denotes an edge of the polygon. The polygon to be drawn exists on the right side of the polygon edge. Reference numeral 403 denotes an edge drawing point (x0, y0) before correction processing generated by the edge generation unit 102a.
【0171】404は画素401のサンプル点(X,Y)
である。また、ポリゴン上の点(x,y)とテクスチャ画
像上の点(u,v)とには、(数1)、(数2)に示す関
係が成り立つとし、エッジ描画点403におけるテクス
チャ画像の対応点を(u0,v0)、サンプル点404にお
けるテクスチャ画像の対応点を(U,V)とする。Reference numeral 404 denotes a sample point (X, Y) of the pixel 401.
It is. Further, it is assumed that the relationship shown in (Equation 1) and (Equation 2) holds between the point (x, y) on the polygon and the point (u, v) on the texture image. The corresponding point is (u0, v0), and the corresponding point of the texture image at the sample point 404 is (U, V).
【0172】このとき、これらの対応点には、(数3
1)、(数32)に示す関係が成り立つ((数4)、
(数7)参照)。At this time, these corresponding points include (Equation 3)
1), the relationship shown in (Equation 32) holds ((Equation 4),
(Equation 7)).
【0173】ここでは、スクリーン画素のサンプル点
を、その画素においてもっとも原点に近い点とし(図1
2において画素の左上の点)、エッジ生成部102aに
より、あらかじめ定義されたスクリーン画素のサンプル
点のy軸に合わせて、エッジ描画点、およびその対応点
を算出する。これにより、図12に示すようなエッジ点
を生成することができる。Here, the sample point of the screen pixel is set as the point closest to the origin in the pixel (FIG. 1).
2, an edge drawing point and its corresponding point are calculated by the edge generation unit 102a in accordance with the y-axis of the sample point of the screen pixel defined in advance. Thereby, an edge point as shown in FIG. 12 can be generated.
【0174】このとき、これらの対応点には、(数3
5)に示す関係が成り立つ((数4)、(数7)参
照)。At this time, (3)
The relationship shown in 5) holds (see (Equation 4) and (Equation 7)).
【0175】[0175]
【数35】(U,V) = (u0-∂u/∂x×(x0-X),v0-
∂v/∂x×(x0-X)) また、サンプル点404は、画素401においてもっと
も原点に近い点であることから、(U, V) = (u0−∂u / ∂x × (x0−X), v0−
∂v / ∂x × (x0−X)) Also, since the sample point 404 is the point closest to the origin in the pixel 401,
【0176】[0176]
【数36】(X,Y) = ([x0],y0) とすることができ、(数35)は(数37)とすること
ができる。(X, Y) = ([x0], y0), and (Expression 35) can be replaced by (Expression 37).
【0177】[0177]
【数37】(U,V)= (u0-∂u/∂x×(x0-[x0]),v
0-∂v/∂x×(x0-[x0])) 具体的には、サンプル点を画素の左上(X,Y)=(2.0,
4.0)、算出する描画点のy座標をサンプル点に合わせ
ると、 (x0,y0,u0,v0) = (2.67 , 4.00 , 0.00 , 10.67) となり、(数34)、(数5)、(数8)より、 (U,V) = ( -0.71 , 11.03 ) となる。ここで、計算されたUは負の値となる。これ
は、サンプル点がポリゴンの外にあり、負となることが
むしろ理想的な対応点計算と言える。(U, V) = (u0−∂u / ∂x × (x0− [x0]), v
0-∂v / ∂xx (x0- [x0])) Specifically, the sample point is defined as the upper left (X, Y) = (2.0,
4.0), when the y coordinate of the calculated drawing point is adjusted to the sample point, (x0, y0, u0, v0) = (2.67, 4.00, 0.00, 10.67), and (Equation 34), (Equation 5), (Equation 5) 8), (U, V) = (-0.71, 11.03). Here, the calculated U becomes a negative value. This is an ideal corresponding point calculation where the sample points are outside the polygon and become negative.
【0178】ここで、対象とするポリゴンは、従来の技
術で説明したものと同じであり、dx/dy、du/d
y、dv/dy、∂u/∂x、∂v/∂xも同一の値を
用いることができる。この(U,V)値を用いて、テク
スチャ画像上の画素値を算出することにより、画素に対
する正確な画素値を反映させることが可能となる。Here, the target polygons are the same as those described in the prior art, that is, dx / dy, du / d
The same value can be used for y, dv / dy, ∂u / ∂x, and ∂v / ∂x. By calculating the pixel value on the texture image using the (U, V) value, it becomes possible to reflect an accurate pixel value for the pixel.
【0179】すなわち、エッジ生成部102aで生成し
たエッジ描画点403(x0,y0)の対応点(u0,v0)を、
補正部103aでサンプル点404(X,Y)の対応点
(U,V)に補正することにより((数37)参照)、画
素401の理想的な対応点を算出することができる。さ
らに、スパンの先頭画素の対応点を理想的に算出するこ
とにより、このスパンに含まれる画素の対応点も理想的
に算出することができる((数7)参照)。That is, the corresponding point (u0, v0) of the edge drawing point 403 (x0, y0) generated by the edge generating unit 102a is
The corresponding point of the sample point 404 (X, Y) in the correction unit 103a
By correcting to (U, V) (see (Equation 37)), an ideal corresponding point of the pixel 401 can be calculated. Further, by ideally calculating the corresponding point of the top pixel of the span, the corresponding point of the pixel included in this span can also be ideally calculated (see (Equation 7)).
【0180】次に、本実施の形態における補正部103
aの構成例について説明する。テクスチャ座標u,vに
関する補正処理は同様に考えることができるので、図1
3では補正部103aにおけるテクスチャ座標uに関し
ての構成を示す。(数37)において、(x0-[x0])は
x0の小数点部を表すものとする。図13において、乗
算器1901は、Uを表す(数37)の第2項を算出す
る。加算器1902は(数37)の第1項と第2項とを
加算して、Uを算出する加算器である。また、対応点V
についても同様の構成で実現することができる。この構
成により、(数37)による補正処理を実現することが
可能となり、すなわち、本実施の形態における補正部1
03aを実現することが可能となる。Next, the correction unit 103 in the present embodiment
A configuration example of a will be described. Since the correction processing for the texture coordinates u and v can be considered in the same manner, FIG.
3 shows a configuration regarding the texture coordinates u in the correction unit 103a. In (Equation 37), (x0- [x0]) represents the decimal part of x0. In FIG. 13, a multiplier 1901 calculates the second term of (Expression 37) representing U. The adder 1902 is an adder that adds the first term and the second term of (Equation 37) to calculate U. The corresponding point V
Can also be realized with a similar configuration. With this configuration, it is possible to realize the correction processing according to (Equation 37), that is, the correction unit 1 according to the present embodiment.
03a can be realized.
【0181】エッジ生成部102aにより生成したエッ
ジ描画点403(x0,y0)の対応点(u0,v0)を、補正部
103aでサンプル点404(X,Y)の対応点(U,V)に
補正することにより(数37)、画素401の理想的な
対応点を算出することができる。さらに、スパンの先頭
画素の対応点を理想的に算出することにより、このスパ
ンに含まれる画素の対応点も理想的に算出することがで
きる((数7)参照)。The corresponding point (u0, v0) of the edge drawing point 403 (x0, y0) generated by the edge generating unit 102a is changed to the corresponding point (U, V) of the sample point 404 (X, Y) by the correction unit 103a. By performing the correction (Equation 37), an ideal corresponding point of the pixel 401 can be calculated. Further, by ideally calculating the corresponding point of the top pixel of the span, the corresponding point of the pixel included in this span can also be ideally calculated (see (Equation 7)).
【0182】以上のように本実施の形態によれば、エッ
ジ生成部102aにおいて画素のサンプル点のy座標に
合わせたエッジ描画点と対応点とを生成し、補正部10
3aにおいてエッジ生成部102aで生成されたポリゴ
ンエッジに関するパラメータを補正処理する。これによ
り、実施の形態1と同様にポリゴンに含まれるすべての
画素について理想的な対応点を算出することができ、テ
クスチャマッピング画像の画質を向上させることができ
る。As described above, according to the present embodiment, the edge generating unit 102a generates an edge drawing point corresponding to the y-coordinate of a pixel sample point and a corresponding point, and
In step 3a, parameters relating to the polygon edges generated by the edge generation unit 102a are corrected. Thus, ideal corresponding points can be calculated for all the pixels included in the polygon, as in the first embodiment, and the image quality of the texture mapping image can be improved.
【0183】また補正処理に関しては、図13に示した
補正部103aの構成図から、1パラメータにつき、乗
算1回、加算1回で実現することができ、又、(x0-[x
0])は上位ビットマスクで実現することができるため、
実施の形態1の場合と比較して、回路を簡単化すること
ができる。すなわち、補正処理による処理全体の遅延を
極めて小さくすることができる。また、装置全体として
も、すべての構成要素をパイプライン的に動作させるこ
とが可能であり、処理全体としての高速性はまったく損
なわれない。The correction processing can be realized by one multiplication and one addition for one parameter from the configuration diagram of the correction unit 103a shown in FIG. 13, and (x0− [x
0]) can be realized by the upper bit mask,
The circuit can be simplified as compared with the case of the first embodiment. That is, the delay of the entire processing due to the correction processing can be extremely reduced. Also, as for the entire apparatus, all the components can be operated in a pipeline manner, and the high-speed processing as a whole is not impaired.
【0184】なお、本実施の形態では、画素におけるサ
ンプル点を画素において原点にもっとも近い点とした
が、このサンプル点の位置は他の位置を取り得る。例え
ば、原点から最も遠い点をサンプル点としてもかまわな
い。In this embodiment, the sample point in the pixel is set to the point closest to the origin in the pixel. However, the position of this sample point can take another position. For example, the point farthest from the origin may be used as the sample point.
【0185】なお、本実施の形態では、ポリゴン上の点
とテクスチャ画像上の点との関係は(数1)、(数2)
としたが、その関係は(数1)、(数2)に限るもので
はない。例えば、この関係を(数17)、(数18)と
しても正確な対応点計算を行なうことができる。換言す
れば、あらゆる対応点式に対応することができる。In the present embodiment, the relationship between a point on a polygon and a point on a texture image is represented by (Equation 1) and (Equation 2).
However, the relationship is not limited to (Equation 1) and (Equation 2). For example, even if this relation is expressed by (Equation 17) and (Equation 18), accurate corresponding point calculation can be performed. In other words, it can correspond to any corresponding point expression.
【0186】なお、本実施の形態では、ポリゴンの対応
点計算について説明したが、照度計算、不透明度計算に
ついても同様の処理を実現することができる。また、こ
れらに関しても対応点と同様に、あらゆる関係式に対応
することができる。In this embodiment, the calculation of the corresponding points of the polygon has been described. However, the same processing can be realized for the illuminance calculation and the opacity calculation. In addition, as with the corresponding points, these can also correspond to any relational expressions.
【0187】なお、本実施の形態では、アンチエイリア
シング処理を行なわない方法で説明を行なったが、アン
チエイリアシング処理を含めても同様の処理を行なうこ
とができる。Although the present embodiment has been described with respect to a method in which anti-aliasing processing is not performed, similar processing can be performed including anti-aliasing processing.
【0188】なお、サブピクセルポジショニングを行な
っても、本実施の形態と同様の補正処理を行なうことが
できる。It should be noted that the same correction processing as in the present embodiment can be performed even when sub-pixel positioning is performed.
【0189】(実施の形態3)以下本発明の第3の実施
の形態について図面を参照しながら説明する。Embodiment 3 Hereinafter, a third embodiment of the present invention will be described with reference to the drawings.
【0190】図14は本発明の第3の実施の形態におけ
るマッピング装置の構成図である。演算部501はポリ
ゴン頂点の位置と、ポリゴン頂点に与えられた対応点と
を用いて、増分アルゴリズムによるポリゴン内部の描画
点と対応点計算に用いるパラメータを算出する。エッジ
生成部502は演算部501において生成されたデータ
を用いてポリゴンエッジの描画点と対応点計算を行な
う。スパン生成部503は演算部501において生成さ
れたデータとエッジ生成部502において生成された対
応点とを用いてポリゴンスパンの描画点と対応点計算を
行なう。原画像格納部504は原画像(マッピング画
像)を格納する。生成画像格納部505は生成された画
像を格納する。画素格納処理部506はスパン生成部5
03からのデータを用いて原画像格納部504に格納さ
れた一つの画素データを生成画像格納部505の一つま
たはそれ以上の隣接画素データに格納する。FIG. 14 is a configuration diagram of a mapping device according to the third embodiment of the present invention. Using the position of the polygon vertex and the corresponding point given to the polygon vertex, the calculation unit 501 calculates a drawing point inside the polygon and a parameter used for calculating the corresponding point by the incremental algorithm. The edge generation unit 502 uses the data generated by the calculation unit 501 to calculate drawing points and corresponding points of polygon edges. The span generation unit 503 calculates the drawing points of the polygon span and the corresponding points using the data generated by the calculation unit 501 and the corresponding points generated by the edge generation unit 502. The original image storage unit 504 stores an original image (mapping image). The generated image storage unit 505 stores the generated image. The pixel storage processing unit 506 includes the span generation unit 5
The one pixel data stored in the original image storage unit 504 is stored as one or more adjacent pixel data in the generated image storage unit 505 using the data from step S03.
【0191】以上のように構成されたマッピング装置に
ついて、以下図面を用いてその動作を説明する。The operation of the mapping apparatus configured as described above will be described below with reference to the drawings.
【0192】図15は、図37における辺1404が横
切る画素を拡大したもので、この図15の画素は、図3
7における(x,y)=(2,4)(2,6)(4,6)(4,4)で囲まれた部分
にあたる。画素601a、601b、601c、601
dはそれぞれスクリーン上の画素であり、それぞれの画
素において原点に最も近い点(左上)の座標は、(x,y)=
(2,4)、(3,4)、(2,5)、(3,5)である。エッジ602はポ
リゴンのエッジ(辺1404)を示し、エッジ602の
右側にポリゴンが存在するとする。描画点603はエッ
ジ生成部502により生成される描画点(x0,y0)=(2.4
0,4.20)とする。FIG. 15 is an enlarged view of a pixel crossed by a side 1404 in FIG. 37. The pixel in FIG.
7 corresponds to a portion surrounded by (x, y) = (2, 4) (2, 6) (4, 6) (4, 4). Pixels 601a, 601b, 601c, 601
d is a pixel on the screen, and the coordinates of the point (upper left) closest to the origin in each pixel are (x, y) =
(2,4), (3,4), (2,5) and (3,5). An edge 602 indicates an edge (side 1404) of the polygon, and it is assumed that the polygon exists on the right side of the edge 602. Drawing point 603 edge
Drawing points generated by the di-generating unit 502 (x0, y0) = ( 2.4
0,4.20).
【0193】ここでは、スクリーン画素のサンプル点
を、その画素においてもっとも原点に近い点とし(図1
5において左上)、点604aは画素601aのサンプ
ル点(X,Y)=(2,4)、点604bは画素601bのサン
プル点(X+1,Y)=(3,4)、点604cは画素601cの
サンプル点(X,Y+1)=(2,5)、点604dは画素601
dのサンプル点(X+1,Y+1)=(3,5)とする。画素60
5は描画点603に対応するテクスチャ画素で、スクリ
ーンに投影される様子を表したものとする。このテクス
チャ画素は、原画像格納部504から読み出されるもの
で、スクリーン画素と同じ大きさとする。Here, the sample point of the screen pixel is set as the point closest to the origin in the pixel (FIG. 1).
5, a point 604a is a sample point (X, Y) = (2,4) of the pixel 601a, a point 604b is a sample point (X + 1, Y) = (3,4) of the pixel 601b, and a point 604c is The sample point (X, Y + 1) = (2, 5) of the pixel 601c, and the point 604d is the pixel 601
It is assumed that the sampling point of d is (X + 1, Y + 1) = (3, 5). Pixel 60
Reference numeral 5 denotes a texture pixel corresponding to the drawing point 603, which represents a state of being projected on a screen. The texture pixels are read from the original image storage unit 504 and have the same size as the screen pixels.
【0194】テクスチャマッピングが行なわれるとき、
エッジ生成部502により生成した描画点603の対応
点(u0,v0)は、画素601aの対応点と一致しないこ
とは先に説明した。When texture mapping is performed,
As described above, the corresponding point (u0, v0) of the drawing point 603 generated by the edge generating unit 502 does not match the corresponding point of the pixel 601a.
【0195】ここでは、描画点における対応点と画素の
サンプル点における対応点が一致しないことを前提とし
て、スクリーンに描画すべき画素のデータをスクリーン
上の複数の画素に格納することにより、対応点不一致の
問題を解決する。Here, on the assumption that the corresponding point at the drawing point does not match the corresponding point at the sample point of the pixel, the data of the pixel to be drawn on the screen is stored in a plurality of pixels on the screen. Resolve the discrepancy problem.
【0196】すなわち、描画点603(x0,y0)の対応
点(u0,v0)が表すテクスチャ画素605を原画像格納
部504から読み出す。この画素605を、スクリーン
上の画素601a、601b、601c、601dに配
分した上格納し、従来の問題を解決する。配分は、決定
されたテクスチャ画素605と各スクリーン画素とが共
有する面積に応じて行われる。つまり、各スクリーン画
素に対してその共有面積に応じて重み付け係数を計算
し、テクスチャ画素605の画素値と各重み付け係数を
乗じた値を各スクリーン画素値に配分する。例えば、共
有する面積比を重み付け係数とすることができる。That is, the texture pixel 605 represented by the corresponding point (u0, v0) of the drawing point 603 (x0, y0) is read from the original image storage unit 504. The pixels 605 are stored after being distributed to the pixels 601a, 601b, 601c, and 601d on the screen to solve the conventional problem. The distribution is performed according to the determined area shared by the texture pixel 605 and each screen pixel. That is, a weighting coefficient is calculated for each screen pixel according to the shared area, and a value obtained by multiplying the pixel value of the texture pixel 605 by each weighting coefficient is distributed to each screen pixel value. For example, a shared area ratio can be used as a weighting coefficient.
【0197】図15において606aは、テクスチャ画
素605とスクリーン画素601aとが共有する部分
(共有領域)を表し、その面積(共有面積)をSaとす
る。同様に、606bは、スクリーン画素601bとの
共有領域を表し、その共有面積をSbとする。606c
は、スクリーン画素601cとの共有領域を表し、その
共有面積をScとする。606dは、スクリーン画素6
01dとの共有領域を表し、その共有面積をSdとす
る。これらの共有面積は(数38)から(数41)のよ
うに、表すことができる。In FIG. 15, reference numeral 606a denotes a portion (shared area) shared by the texture pixel 605 and the screen pixel 601a, and the area (shared area) is Sa. Similarly, reference numeral 606b denotes a shared area with the screen pixel 601b, and the shared area is Sb. 606c
Represents a shared region with the screen pixel 601c, and the shared area is Sc. 606d is the screen pixel 6
01d, and the shared area is Sd. These shared areas can be expressed as in (Equation 38) to (Equation 41).
【0198】[0198]
【数38】 Sa = ( 1-(x0-X) ) × ( 1-(y0-Y) )[Equation 38] Sa = (1− (x0−X)) × (1− (y0−Y))
【0199】[0199]
【数39】Sb = ( x0-X ) × ( 1-(y0-Y) )Sb = (x0-X) × (1- (y0-Y))
【0200】[0200]
【数40】Sc = ( 1-(x0-X) ) × ( y0-Y )Sc = (1− (x0−X)) × (y0−Y)
【0201】[0201]
【数41】Sd = ( x0-X ) × ( y0-Y ) 具体的に、それぞれの共有面積を次に示す(図16参
照)。図16は、図15における四つの共有領域を拡大
したものである。Sd = (x0−X) × (y0−Y) Specifically, the respective shared areas are shown below (see FIG. 16). FIG. 16 is an enlarged view of the four shared areas in FIG.
【0202】 Sa = (1-2.4-2)*(1-4.2-4) = 0.6*0.8 = 0.48 Sb = (2.4-2)*(1-4.2-4) = 0.4*0.8 = 0.32 Sc = (1-2.4-2)*(4.2-4) = 0.6*0.2 = 0.12 Sd = (2.4-2)*(4.2-4) = 0.4*0.2 = 0.08 このとき、テクスチャ画素605の画素値が(R,G,B)=(1
92,64,32)である場合、画素601a、画素601b、
画素601c、画素601dにはそれぞれ、(R,G,B)=(9
2.16 , 30.72 ,15.36)、(61.44 , 20.48 ,10.24)、(23.
04 , 7.68 , 3.84)、(15.36 , 5.12 , 2.56)が格納さ
れる。Sa = (1-2.4-2) * (1-4.2-4) = 0.6 * 0.8 = 0.48 Sb = (2.4-2) * (1-4.2-4) = 0.4 * 0.8 = 0.32 Sc = ( 1-2.4-2) * (4.2-4) = 0.6 * 0.2 = 0.12 Sd = (2.4-2) * (4.2-4) = 0.4 * 0.2 = 0.08 At this time, the pixel value of the texture pixel 605 is (R, G, B) = (1
92, 64, 32), the pixel 601a, the pixel 601b,
The pixels 601c and 601d have (R, G, B) = (9
2.16, 30.72, 15.36), (61.44, 20.48, 10.24), (23.
04, 7.68, 3.84) and (15.36, 5.12, 2.56) are stored.
【0203】これらの処理は画像格納処理部506によ
り行ない、原画像格納部504のテクスチャデータ(画
素値)を読み出し生成画像格納部505に対して上述し
た処理を行なう。原画像格納部504、生成画像格納部
505は、例えばメモリにより実現され、画像格納処理
部506は、図17に示すような構成により実現され
る。These processes are performed by the image storage processing unit 506, and the texture data (pixel value) of the original image storage unit 504 is read out and the above-described process is performed on the generated image storage unit 505. The original image storage unit 504 and the generated image storage unit 505 are realized by, for example, a memory, and the image storage processing unit 506 is realized by a configuration as shown in FIG.
【0204】図17において、乗算器2101は共有面
積Saを算出し、乗算器2102は共有面積Scを算出
し、乗算器2103は共有面積Sbを算出し、乗算器2
104は共有面積Sdを算出する。乗算器2105は画
素601aに格納する画素値を算出し、乗算器2106
は画素601cに格納する画素値を算出し、乗算器21
07は画素601bに格納する画素値を算出し、乗算器
2108は画素601dに格納する画素値を算出する。
このような構成により、画像格納処理部506を実現す
ることができる。In FIG. 17, a multiplier 2101 calculates a common area Sa, a multiplier 2102 calculates a common area Sc, a multiplier 2103 calculates a common area Sb, and
104 calculates the shared area Sd. The multiplier 2105 calculates a pixel value to be stored in the pixel 601a, and
Calculates the pixel value to be stored in the pixel 601c,
07 calculates the pixel value to be stored in the pixel 601b, and the multiplier 2108 calculates the pixel value to be stored in the pixel 601d.
With such a configuration, the image storage processing unit 506 can be realized.
【0205】以上のように本実施の形態によれば、画像
格納処理部506を設けることにより、スクリーン画素
に反映させるテクスチャ画素の値を、増分アルゴリズム
において発生する描画点とサンプル点のずれにしたがっ
て、分配し格納する。すなわち、すべてのスクリーン上
の画素において、テクスチャマッピングにおける正確な
画素値を反映することが可能となり、スクリーンに正確
なテクスチャマッピングを実現することができる。これ
は、実施の形態1、実施の形態2が描画点の位置を補正
するものとすれは、本実施の形態は描画画素を補正する
ものということができる。As described above, according to the present embodiment, by providing the image storage processing unit 506, the value of the texture pixel reflected on the screen pixel can be changed according to the shift between the drawing point and the sample point generated in the incremental algorithm. , Distribute and store. That is, it is possible to reflect accurate pixel values in texture mapping for all pixels on the screen, and to implement accurate texture mapping on the screen. This is different from the first and second embodiments in which the position of the drawing point is corrected, and the present embodiment can be said to correct the drawing pixel.
【0206】本実施の形態の構成で付加した画像格納処
理部506において行なう処理は、テクスチャ画素とス
クリーン画素の共有面積の算出処理((数38)〜(数
41))と、その面積に応じてテクスチャ画素値を分配
する処理と、分配されたテクスチャ画素値を格納する処
理の三つ分けることができる。The processing performed by the image storage processing unit 506 added in the configuration of the present embodiment is a processing for calculating the shared area of the texture pixel and the screen pixel ((Equation 38) to (Equation 41)) and the processing according to the area. Processing for distributing the texture pixel values, and processing for storing the distributed texture pixel values.
【0207】図17の乗算器で行なう、共有面積の算出
処理と、画素値の配分とは、シフト器と加算器とにより
実現することができる。換言すれば、図17の乗算器は
いわゆる乗算器ではなく、シフトと加算から構成される
乗算器である。また、これらの処理において必要とする
精度を抑える事によって、加算器の数を抑え、さらに加
算処理による遅延を抑えることが可能である。すなわ
ち、これらの処理は高負荷とはいえず、処理速度の低下
にはつながらない。さらに、分配されたテクスチャ画素
値を格納する処理に関しては、格納する画素は必ず隣接
することから、生成画像格納部505へのアクセスその
ものを並列動作させることや、画像格納処理部506で
行なう処理を他の構成部と並列的に動作させることも可
能である。すなわち、画像格納処理部506の構成は複
雑なものではなく、その処理速度も劣化するものではな
い。The calculation of the shared area and the distribution of the pixel values performed by the multiplier in FIG. 17 can be realized by a shifter and an adder. In other words, the multiplier in FIG. 17 is not a so-called multiplier, but a multiplier composed of shift and addition. In addition, by suppressing the accuracy required in these processes, the number of adders can be reduced, and furthermore, the delay due to the addition process can be reduced. That is, these processes are not high loads and do not lead to a reduction in processing speed. Further, regarding the processing of storing the distributed texture pixel values, since the stored pixels are always adjacent, the access to the generated image storage unit 505 itself is performed in parallel, and the processing performed by the image storage processing unit 506 is performed. It is also possible to operate in parallel with other components. That is, the configuration of the image storage processing unit 506 is not complicated, and its processing speed does not deteriorate.
【0208】なお、本実施の形態では、画素におけるサ
ンプル点を画素において原点にもっとも近い点とした
が、このサンプル点の位置は任意である。In the present embodiment, the sample point in the pixel is the point closest to the origin in the pixel, but the position of this sample point is arbitrary.
【0209】なお、本実施の形態では、エッジ生成部5
02において生成する描画点のy軸方向の値と画素のサ
ンプル点のy軸方向の値とは一致していなかったが、エ
ッジ生成部502においてこれらを一致するような描画
点を生成することにより、生成画像格納部505へのア
クセス量を減らすことができる。In this embodiment, the edge generation unit 5
02, the value of the drawing point in the y-axis direction does not match the value of the sample point of the pixel in the y-axis direction, but the edge generation unit 502 generates a drawing point that matches these values. The amount of access to the generated image storage unit 505 can be reduced.
【0210】なお、本実施の形態では、ポリゴンの対応
点計算について説明したが、照度計算、不透明度計算に
ついても同様の処理を実現することができる。また、こ
れらに関しても対応点と同様に、あらゆる関係式に対応
することができる。In the present embodiment, the calculation of the corresponding points of the polygon has been described, but the same processing can be realized for the illuminance calculation and the opacity calculation. In addition, as with the corresponding points, these can also correspond to any relational expressions.
【0211】なお、本実施の形態では、アンチエイリア
シング処理を行なわない方法で説明を行なったが、アン
チエイリアシング処理を含めても同様の処理を行なうこ
とができる。[0211] In the present embodiment, the description has been given of the method in which the anti-aliasing processing is not performed. However, the same processing can be performed including the anti-aliasing processing.
【0212】なお、サブピクセルポジショニングを行な
っても、本実施の形態と同様の補正処理を行なうことが
できる。[0212] Even when sub-pixel positioning is performed, the same correction processing as that of the present embodiment can be performed.
【0213】なお、本実施の形態では、テクスチャ画素
がスクリーンの四つの画素と共有領域をもつとしたが、
サンプル点のy座標値にあわせて描画点を発生させるこ
とにより、共有領域は最大二つとなる。これにより、メ
モリへで実現する生成画像格納部へのアクセスを飛躍的
に軽減することができる。In this embodiment, the texture pixels have a common area with the four pixels on the screen.
By generating drawing points in accordance with the y coordinate values of the sample points, the maximum number of shared areas is two. Thereby, access to the generated image storage unit realized in the memory can be dramatically reduced.
【0214】(実施の形態4)以下本発明の第4の実施
の形態について図面を参照しながら説明する。(Embodiment 4) Hereinafter, a fourth embodiment of the present invention will be described with reference to the drawings.
【0215】図18は本発明の第4の実施の形態におけ
るマッピング装置のアドレス発生部の構成図である。演
算部701はポリゴン頂点の位置とポリゴン頂点に与え
られた対応点を用いて、ポリゴン内部の描画点と対応点
計算に用いるパラメータを算出する。第1のエッジ生成
部702aは演算部701において生成されたパラメー
タを用いてポリゴンエッジの描画点に対応する候補点と
対応点の計算を行なう。第2のエッジ生成部702bは
演算部701において生成されたパラメータを用いてポ
リゴンエッジの描画点に対応する候補点と対応点の計算
を行なう。選択部703は第1のエッジ生成部702a
において生成された結果または第2のエッジ生成部70
2bにおいて生成された結果を選択し、第1のエッジ生
成部702aおよび第2のエッジ生成部702bに選択
した結果を出力する。スパン生成部704は演算部70
1において生成されたパラメータと選択部703におい
て選択された結果とを用いてポリゴンスパンの描画点と
対応点計算を行ないその演算結果を出力する。FIG. 18 is a configuration diagram of an address generation unit of the mapping device according to the fourth embodiment of the present invention. The calculation unit 701 calculates a drawing point inside the polygon and a parameter used for calculating the corresponding point using the position of the polygon vertex and the corresponding point given to the polygon vertex. The first edge generation unit 702a calculates candidate points and corresponding points corresponding to the drawing points of the polygon edges using the parameters generated by the calculation unit 701. The second edge generation unit 702b calculates candidate points and corresponding points corresponding to the drawing points of the polygon edges using the parameters generated by the calculation unit 701. The selection unit 703 includes a first edge generation unit 702a
Or the second edge generation unit 70
2b, and outputs the selected result to the first edge generation unit 702a and the second edge generation unit 702b. The span generation unit 704 is
Using the parameters generated in step 1 and the result selected by the selection unit 703, the drawing point of the polygon span and the corresponding point are calculated, and the calculation result is output.
【0216】以上のように構成されたマッピング装置の
アドレス発生部について、以下図面を用いてその動作を
説明する。The operation of the address generator of the mapping apparatus having the above configuration will be described below with reference to the drawings.
【0217】図19は、描画するポリゴンのエッジが横
切るスクリーン上の画素を示したものである。801は
ポリゴンのエッジを示し、その右側にポリゴンが存在す
るとし、ポリゴンとテクスチャとには(数1)、(数
2)に示す関係が成り立つとする。また、このポリゴン
エッジはスクリーン上のP0(6,0)、P4(0,4)を通るものと
し、第1のエッジ生成部702aおよび、第2のエッジ
生成部702aはあらかじめ定義されたスクリーン画素
のサンプル点のy軸に合わせて、エッジ描画点に対応す
る候補点および対応点を算出する。ここでは、画素のサ
ンプル点をその画素においてもっとも原点に近い点とす
る。点802a、802b、802c、802d、80
2eは、増分アルゴリズムによりスキャンライン方向に
算出したそれぞれの描画点P0、P1、P2、P3、P4とする。
画素803a、803b、803c、803d、803
eは、それぞれ描画点802a、802b、802c、
802d、802eが反映される画素とする。点804
a、804b、804c、804d、804eは、画素
803a、803b、803c、803d、803eの
サンプル点とする。さらに、805aから805dで示
す矢印はポリゴンエッジに沿って描画する、画素のサン
プル点の遷移を示すものとする。ここで、テクスチャマ
ッピングの対象となるポリゴンは、各頂点のスクリーン
座標とテクスチャ座標が、(x,y,u,v)=(6,0,0,0)(0,4,0,
16)(8,5,16,16)である三角形である。FIG. 19 shows the pixels on the screen crossed by the edges of the polygon to be drawn. Reference numeral 801 denotes an edge of a polygon, and it is assumed that a polygon exists on the right side of the edge, and the relationship shown in (Equation 1) and (Equation 2) holds between the polygon and the texture. This polygon edge passes through P0 (6,0) and P4 (0,4) on the screen, and the first edge generation unit 702a and the second edge generation unit 702a are defined by a predetermined screen pixel. A candidate point and a corresponding point corresponding to the edge drawing point are calculated in accordance with the y-axis of the sample point. Here, a sample point of a pixel is a point closest to the origin in the pixel. Points 802a, 802b, 802c, 802d, 80
2e is each drawing point P0, P1, P2, P3, P4 calculated in the scan line direction by the incremental algorithm.
Pixels 803a, 803b, 803c, 803d, 803
e are the drawing points 802a, 802b, 802c,
It is assumed that pixels 802d and 802e are reflected. Point 804
a, 804b, 804c, 804d, and 804e are sample points of the pixels 803a, 803b, 803c, 803d, and 803e. Further, arrows indicated by 805a to 805d indicate transitions of pixel sample points to be drawn along polygon edges. Here, for the polygon to be texture-mapped, the screen coordinates and texture coordinates of each vertex are (x, y, u, v) = (6,0,0,0) (0,4,0,
16) (8, 5, 16, 16).
【0218】また、図20は描画点P0(802a)近傍
の拡大図である。図20において図19と同じ参照符号
のものは、図19と同じものを示す。点901は描画点
802bに対して図中の左方向に存在するもっとも近い
サンプル点とし(804bと同じ)、点902は描画点
802bに対して図中の右方向に存在するもっとも近い
サンプル点とする。ここで、特にサンプル点901およ
びサンプル点902はそれぞれ描画点802bの候補点
であるとする。また、903で示す矢印はサンプル点8
04aからサンプル点901への変化を、904で示す
矢印はサンプル点804aからサンプル点902への変
化を表すものとする。FIG. 20 is an enlarged view near the drawing point P0 (802a). 20, the components having the same reference numerals as those in FIG. 19 indicate the same components as those in FIG. Point 901 is the closest sample point existing leftward in the figure with respect to drawing point 802b (same as 804b), and point 902 is the closest sample point present rightward in the figure with respect to drawing point 802b. I do. Here, it is assumed that the sample point 901 and the sample point 902 are candidate points of the drawing point 802b. The arrow 903 indicates the sample point 8
It is assumed that a change from 04 a to the sample point 901 and an arrow 904 indicates a change from the sample point 804 a to the sample point 902.
【0219】このとき、サンプル点901および902
と描画点802bの距離から、903における対応点u
の変化(du/dy(L))は(数42)と、904にお
ける対応点uの変化(du/dy(R))は(数43)と
なる(サンプル点804aから描画点802bへの対応
点uの変化はdu/dy)。At this time, sample points 901 and 902
From the distance between the drawing point 802b and the corresponding point u at 903
(Du / dy (L)) is (Equation 42), and the change (du / dy (R)) of the corresponding point u in 904 is (Equation 43) (correspondence from sample point 804a to drawing point 802b) The change of the point u is du / dy).
【0220】[0220]
【数42】du/dy(L)= du/dy - ∂u/∂x×
(dx/dy-[dx/dy])[Mathematical formula-see original document] du / dy (L) = du / dy-∂u / ∂x ×
(Dx / dy- [dx / dy])
【0221】[0221]
【数43】du/dy(R)= du/dy + ∂u/∂x×
(1 - dx/dy+[dx/dy]) この二つの対応点uの変化をサンプル点が、804a、
804b、804c、804d、804eと変化する度
に適当に選択することによって、画素803a、803
b、803c、803d、803eの理想的な対応点を
算出することができる。図19において805a、80
5cはdu/dy(L)を、805b、805dはdu
/dy(R)を対応点算出に用いることになる。(43) du / dy (R) = du / dy + ∂u / ∂x ×
(1−dx / dy + [dx / dy]) The change of the two corresponding points u is represented by 804a,
The pixels 803a, 803c, 804c, 804d, and 804e are appropriately selected each time they change.
The ideal corresponding points of b, 803c, 803d, and 803e can be calculated. In FIG. 19, 805a, 80
5c is du / dy (L), and 805b and 805d are du.
/ Dy (R) will be used for the corresponding point calculation.
【0222】その二つの対応点uの変化(du/dy
(L)、du/dy(R))の選択は次のように行な
う。描画点とサンプル点とのx軸に関するxの誤差E
(距離)は、増分アルゴリズムを繰り返すことによりE
(数46)づつ累積する。ただし、その累積誤差は1を
越えることはない。対応点uと同様にx、vの増分もそ
れぞれ二つ存在し、これらを同様の手順で選択する。描
画点x、対応点vの二つの増分を、dx/dy(L)、
dx/dy(R)、dv/dy(L)、dv/dy
(R)と表す。これらは、(数44)および(数45)
に示す式に従って演算部701により算出する。The change (du / dy) of the two corresponding points u
(L) and du / dy (R)) are selected as follows. Error E of x on the x-axis between the drawing point and the sample point
(Distance) is E by repeating the incremental algorithm
(Equation 46) is accumulated. However, the accumulated error does not exceed 1. Similarly to the corresponding point u, there are two increments of x and v, respectively, and these are selected in the same procedure. Two increments of the drawing point x and the corresponding point v are represented by dx / dy (L),
dx / dy (R), dv / dy (L), dv / dy
(R). These are (Equation 44) and (Equation 45)
The calculation is performed by the calculation unit 701 according to the following equation.
【0223】[0223]
【数44】dx/dy(L)= [dx/dy] dx/dy(R)= [dx/dy] +1Dx / dy (L) = [dx / dy] dx / dy (R) = [dx / dy] +1
【0224】[0224]
【数45】dv/dy(L)= dv/dy - ∂v/∂x×
(dx/dy-[dx/dy]) dv/dy(R)= dv/dy + ∂v/∂x×(1 - dx
/dy+[dx/dy]) 二つの増分の選択は(数46)に示した描画点とサンプ
ル点との差(誤差と表す)を累積加算し、この累積誤差
が1以上の場合、dx/dy(R),du/dy
(R)、dv/dy(R)を((R)の増分とする)を
用いる。また、累積誤差が1未満の場合、dx/dy
(L)、du/dy(L)、dv/dy(L)を
((L)の増分とする)用いる。Dv / dy (L) = dv / dy-∂v / ∂x ×
(Dx / dy- [dx / dy]) dv / dy (R) = dv / dy + ∂v / ∂xx × (1-dx
/ Dy + [dx / dy]) In selecting two increments, the difference (expressed as an error) between the drawing point and the sample point shown in (Equation 46) is cumulatively added. If this cumulative error is 1 or more, dx / Dy (R), du / dy
(R), dv / dy (R) is used as an increment of (R). When the accumulated error is less than 1, dx / dy
(L), du / dy (L), and dv / dy (L) are used (increments of (L)).
【0225】[0225]
【数46】E = dx/dy - [dx/dy] 図19において、サンプル点804aをサンプル点80
4bに変化させる場合、xの累積誤差E0は(数47)
となり、描画点x、対応点u、vに関する増分は(L)
の増分を用いる。E = dx / dy- [dx / dy] In FIG. 19, the sample point 804a is changed to the sample point 80.
4b, the cumulative error E0 of x is (Equation 47)
And the increment for the drawing point x and the corresponding points u and v is (L)
Use the increment of.
【0226】[0226]
【数47】 E0 = dx/dy - [dx/dy] = 1.5 - [1.5] = 0.5 < 1.0 サンプル点804bをサンプル点804cに変化させる
場合、xの累積誤差E1は(数48)となり、描画点
x、対応点u、vに関する増分は(R)を用いる。E0 = dx / dy− [dx / dy] = 1.5− [1.5] = 0.5 <1.0 When changing the sampling point 804b to the sampling point 804c, the cumulative error E1 of x becomes (Equation 48), and drawing is performed. (R) is used as the increment for the point x and the corresponding points u and v.
【0227】[0227]
【数48】 E1 = E0 + dx/dy - [dx/dy] = 0.5 + 1.5 - [1.5] = 1.0 >=1.0 サンプル点804cをサンプル点804dに変化させる
場合、xの累積誤差E2は(数49)となり、描画点
x、対応点u、vに関する増分は(L)を用いる。E1 = E0 + dx / dy- [dx / dy] = 0.5 + 1.5- [1.5] = 1.0> = 1.0 When the sample point 804c is changed to the sample point 804d, the cumulative error E2 of x becomes 49), and the increment regarding the drawing point x and the corresponding points u and v uses (L).
【0228】[0228]
【数49】 E2 = E1 + dx/dy - [dx/dy] = 0 + 1.5 - [1.5] (∵E1が1を越えたためにE1=E1-
1とする) = 0.5 < 1.0 サンプル点804dをサンプル点804eに変化させる
場合、xの累積誤差E3は(数50)となり、描画点
x、対応点u、vに関する増分には(R)を用いる。E2 = E1 + dx / dy- [dx / dy] = 0 + 1.5- [1.5] (E1 = E1-
When the sample point 804d is changed to the sample point 804e, the cumulative error E3 of x becomes (Equation 50), and (R) is used for the increment regarding the drawing point x and the corresponding points u and v. .
【0229】[0229]
【数50】 E3 = E2 + dx/dy - [dx/dy] = 0.5 + 1.5 - [1.5] = 1.0 >=1.0 具体的には、次のように対応点を算出する。まず、テク
スチャマッピングの対象となるポリゴンのスクリーン座
標とテクスチャ座標との関係((x,y,u,v)=(6,0,0,0)(0,
4,0,16)(8,5,16,16)の三角形ポリゴン)から、ポリゴン
を構成する3辺のdx/dy、du/dy、dv/d
y、dx/dy、dx/dy(L)、du/dy
(L)、dv/dy(L)、dx/dy(L)、dx/
dy(R)、du/dy(R)、dv/dy(R)、d
x/dy(R)、∂u/∂x、∂v/∂xを演算部70
1で算出する。ここでは、説明に用いるエッジ801に
ついて算出する(数51)。E3 = E2 + dx / dy- [dx / dy] = 0.5 + 1.5- [1.5] = 1.0> = 1.0 Specifically, the corresponding point is calculated as follows. First, the relationship between the screen coordinates and the texture coordinates of the polygon to be texture mapped ((x, y, u, v) = (6,0,0,0) (0,
(4,0,16) (8,5,16,16) triangular polygon), dx / dy, du / dy, dv / d
y, dx / dy, dx / dy (L), du / dy
(L), dv / dy (L), dx / dy (L), dx /
dy (R), du / dy (R), dv / dy (R), d
x / dy (R), ∂u / ∂x, ∂v / ∂x are calculated by the arithmetic unit 70
Calculate with 1. Here, the edge 801 used for the description is calculated (Equation 51).
【0230】[0230]
【数51】 dx/dy = -6/4 = -1.5 du/dy = -0/4 = 0 dv/dy = 16/4 = 4 ∂u/∂x = - ( (y1-y0)(u2-u1)-(y2-y1)(u1-u0) )/( (x1-x0)(y2-y1)-(x2-x1)(y 1-y0) ) = - ( (4-0)(16-0)-(5-4)(0-0) )/( (0-6)(5-4)-(8-0)(4-0) ) = 64/38 ∂v/∂x = - ( (y1-y0)(v2-v1)-(y2-y1)(v1-v0) )/( (x1-x0)(y2-y1)-(x2-x1)(y 1-y0) ) = - ( (4-0)(16-16)-(5-4)(16-0) )/( (0-6)(5-4)-(8-0)(4-0) ) = -16/38 dx/dy(L)= [dx/dy] = -2.0 du/dy(L)= 0 -∂u/∂x*( (-1.5)-(-2.0) ) = 0 -64/38*(0.5) = -0.84 dv/dy(L)= 0 -∂v/∂x*( (-1.5)-(-2.0) ) = 4-(-16/38)*(0.5) = 4.21 dx/dy(R)= [dx/dy] +1 = -1.0 du/dy(R)= 0 +∂u/∂x×( 1-(-1.5)+(-2.0) ) = 0 +(64/38)×(0.5) = 0.84 dv/dy(R)= 0 +∂v/∂x×( 1-(-1.5)+(-2.0) ) = 4+(-16/38)×(0.5) = 3.79 E = dx/dy - [dx/dy] = -1.5 - (-2.0) = 0.5 演算部701で算出した(数51)に示すパラメータを
元に、第1のエッジ生成部702a、第2のエッジ生成
部702b、選択部703での処理を説明する。Dx / dy = −6 / 4 = −1.5 du / dy = −0 / 4 = 0 dv / dy = 16/4 = 4 ∂u / ∂x =-((y1-y0) (u2- u1)-(y2-y1) (u1-u0)) / ((x1-x0) (y2-y1)-(x2-x1) (y 1-y0)) =-((4-0) (16- 0)-(5-4) (0-0)) / ((0-6) (5-4)-(8-0) (4-0)) = 64/38 ∂v / ∂x =-( (y1-y0) (v2-v1)-(y2-y1) (v1-v0)) / ((x1-x0) (y2-y1)-(x2-x1) (y 1-y0)) =-( (4-0) (16-16)-(5-4) (16-0)) / ((0-6) (5-4)-(8-0) (4-0)) = -16 / 38 dx / dy (L) = [dx / dy] =-2.0 du / dy (L) = 0-∂u / ∂x * ((-1.5)-(-2.0)) = 0-64 / 38 * ( 0.5) = -0.84 dv / dy (L) = 0 -∂v / ∂x * ((-1.5)-(-2.0)) = 4-(-16/38) * (0.5) = 4.21 dx / dy ( R) = [dx / dy] + 1 = -1.0 du / dy (R) = 0 + ∂u / ∂x × (1-(− 1.5) + (− 2.0)) = 0+ (64/38) × (0.5) = 0.84 dv / dy (R) = 0 + ∂v / ∂x × (1-(-1.5) + (-2.0)) = 4 + (-16/38) × (0.5) = 3.79 E = dx / dy-[dx / dy] = -1.5-(-2.0) = 0.5 Formula (51) calculated by the arithmetic unit 701 Based on the parameter, the first edge generation section 702a, a second edge generation section 702b, the processing of the selection unit 703 will be described.
【0231】第1のエッジ生成部702aには演算部7
01で算出した(L)の増分と((数51)参照)、初
期値として点P0のスクリーン座標値およびテクスチャ座
標値(6,0,0,0)を与える。第2のエッジ生成部702b
には、演算部701で算出した(R)の増分と((数5
1)参照)、初期値として点P0のスクリーン座標値およ
びテクスチャ座標値(6,0,0,0)を与える。選択部703
には、演算部701で算出した描画点とサンプル点との
差E((数51)参照)を与える。The first edge generation section 702a includes an operation section 7
The increment of (L) calculated in step 01 (see (Equation 51)) and the screen coordinate value and the texture coordinate value (6,0,0,0) of the point P0 are given as initial values. Second edge generation unit 702b
Is the increment of (R) calculated by the arithmetic unit 701 and ((Equation 5)
1)), the screen coordinate value and the texture coordinate value (6, 0, 0, 0) of the point P0 are given as initial values. Selector 703
, The difference E (see (Equation 51)) between the drawing point and the sample point calculated by the calculation unit 701 is given.
【0232】エッジ生成部702a、702bでは、初
期値はポリゴン頂点に与えられる(x,y,u,v)に対して、
以降は選択部703からの出力である(x,y,u,v)に対し
て、それぞれの増分値を加算する。第1のエッジ生成部
702aは(L)の増分値を用いて、第2のエッジ生成
部702bは(R)の増分値を用いて、次ステップの
(x,y,u,v)を算出する。In the edge generation units 702a and 702b, the initial value is set to (x, y, u, v) given to the polygon vertex.
Thereafter, each increment value is added to (x, y, u, v) output from the selection unit 703. The first edge generation unit 702a uses the increment value of (L), and the second edge generation unit 702b uses the increment value of (R) to execute the next step.
Calculate (x, y, u, v).
【0233】選択部703は、エッジ点を算出する時に
E(= dx/dy - [dx/dy])を逐次加算し、累積誤
差を算出する。この累積誤差が1未満の場合、第1のエ
ッジ生成部701aから出力する(x,y,u,v)をこの累積
誤差が1以上の場合、第2のエッジ生成部702bから
出力する(x,y,u,v)を選択する。The selecting section 703 sequentially adds E (= dx / dy- [dx / dy]) when calculating an edge point, and calculates a cumulative error. If this cumulative error is less than 1, (x, y, u, v) is output from the first edge generator 701a, and if this cumulative error is 1 or more, it is output from the second edge generator 702b (x , y, u, v).
【0234】これらの第1のエッジ生成部702a、第
2のエッジ生成部702bおよび選択部703での処理
の流れを図21に示す。FIG. 21 shows the flow of processing in the first edge generator 702a, the second edge generator 702b, and the selector 703.
【0235】図21において、処理2201、220
3、2205、2207は、第1のエッジ生成部702
aにおける処理である。処理2202、2204、22
06、2208は、第2のエッジ生成部702bにおけ
る処理である。処理2211、2212、2213、2
214は、選択部703における処理で、この値により
データの選択を行なう。2221、2222、222
3、2224は、選択部703において、データの選択
の様子を示したものである。また、図において、網掛け
している数値(データ)は、演算部701において算出
される値である。また、選択部703から出力するデー
タには、アンダーラインを記した。In FIG. 21, processes 2201, 220
3, 2205, and 2207 are the first edge generation unit 702
a. Processing 2202, 2204, 22
06 and 2208 are processes in the second edge generation unit 702b. Processing 2211, 2212, 2213, 2
Reference numeral 214 denotes a process in the selection unit 703, which selects data based on this value. 2221, 2222, 222
Reference numerals 3 and 2224 depict how the selection unit 703 selects data. In the figure, shaded numerical values (data) are values calculated by the arithmetic unit 701. The data output from the selection unit 703 is underlined.
【0236】次に、この対象ポリゴンにおけるスクリー
ン座標点と、テクスチャ座標点の算出について(step0)
から(step4)に説明する。Next, calculation of screen coordinate points and texture coordinate points in the target polygon (step 0)
(Step 4).
【0237】それぞれのstepにおいて、そのy座標値
は、0,1,2,3,4である。In each step, the y coordinate values are 0, 1, 2, 3, and 4.
【0238】(step0)ポリゴンの頂点である点P0(6,0,0,
0)が、以降の処理における初期値となる。(Step0) The point P0 (6,0,0,
0) is an initial value in the subsequent processing.
【0239】この(6,0,0,0)が選択部703、スパン生
成部704からの出力値となる。This (6,0,0,0) is the output value from the selection unit 703 and the span generation unit 704.
【0240】(step1)増分アルゴリズムの初期値は、ポ
リゴンの頂点である点P0(6,0,0,0)とする。(Step 1) The initial value of the increment algorithm is point P0 (6, 0, 0, 0), which is the vertex of the polygon.
【0241】第1のエッジ生成部702aおよび第2の
エッジ生成部702bにおいて、それぞれ、処理220
1、2202を行なう。これらは、演算部701から与
えられた増分値を加算する処理である。In the first edge generation unit 702a and the second edge generation unit 702b, the processing 220
1 and 2202 are performed. These are processes for adding the increment value given from the arithmetic unit 701.
【0242】また、これと同時に選択部703におい
て、処理2211を行なう。これは、演算部701から
与えられたEを累積加算する処理である。処理220
1、2202、2211の終了後、選択部703は、累
積誤差E(図では、sum(E))の値から、データの選択
を行なう。ここでは、1未満であるので、第1のエッジ
生成部702aから出力する(x,y,u,v)を選択する。す
なわち、(4.00,1.00,-0.84,4.21)を選択する(2221
の選択)。これは、図19に示した805aの増分計算
である。At the same time, processing 2211 is performed in selection section 703. This is a process of cumulatively adding E given from the arithmetic unit 701. Process 220
After the completion of 1, 2202, and 2211, the selection unit 703 selects data from the value of the accumulated error E (sum (E) in the figure). Here, since it is less than 1, (x, y, u, v) output from the first edge generation unit 702a is selected. That is, (4.00,1.00, -0.84,4.21) is selected (2221
Selection of). This is the increment calculation of 805a shown in FIG.
【0243】(step2)次に、第1のエッジ生成部702
aおよび第2のエッジ生成部702bにおいて、それぞ
れ、処理2203、2204を行なう。選択部703に
おいて、先に選択されたデータ(4.00,1.00,-0.84,4.21)
に対して、先と同じように増分値を加算する。(Step 2) Next, the first edge generation unit 702
a and the second edge generation unit 702b perform processes 2203 and 2204, respectively. In the selection unit 703, the data (4.00,1.00, -0.84,4.21) previously selected
Is incremented in the same manner as above.
【0244】これと同時に選択部703において、演算
部701から与えられたEを累積加算する処理2412
を行なう。処理2403、2404、2412の終了
後、選択部703は、累積誤差E(図では、sum(E))
の値から、データの選択を行なう。ここでは、1以上で
あるので、第2のエッジ生成部702bから出力する
(x,y,u,v)を選択する(2222の選択)。すなわち、
(3.00,2.00,0.00,8.00)を選択する。これは、図19に
示した805bの増分計算である。また、ここで累積誤
差Eは1を越えたため、これから1を減じる処理を同時
に行なう(誤差の補正)。At the same time, a process 2412 for cumulatively adding E given from the operation unit 701 in the selection unit 703.
Perform After the processes 2403, 2404, and 2412 are completed, the selection unit 703 determines the accumulated error E (sum (E) in the figure).
Data is selected from the values of. Here, since it is one or more, the output is provided from the second edge generation unit 702b.
(x, y, u, v) is selected (selection of 2222). That is,
(3.00,2.00,0.00,8.00). This is the increment calculation of 805b shown in FIG. Here, since the accumulated error E has exceeded 1, the process of subtracting 1 from this is performed simultaneously (error correction).
【0245】(step3)また次に、第1のエッジ生成部7
02aおよび第2のエッジ生成部702bにおいて、そ
れぞれ、処理2205、2206を行なう。選択部70
3において、先に選択されたデータ(3.00,2.00,0.00,8.
00)に対して、先と同じように増分値を加算する。(Step 3) Next, the first edge generation unit 7
02a and the second edge generation unit 702b perform processes 2205 and 2206, respectively. Selector 70
In step 3, the previously selected data (3.00,2.00,0.00,8.
00), the increment value is added in the same manner as above.
【0246】これと同時に選択部703において、演算
部701から与えられたEを累積加算する処理2413
を行なう。処理2405、2406、2413の終了
後、選択部703は、累積誤差E(図では、sum(E))
の値から、データの選択を行なう。ここでは、1未満で
あるので、第1のエッジ生成部702aから出力する
(x,y,u,v)を選択する(2223の選択)。すなわち、
(1.00,3.00,-0.84,12.21)を選択する。これは、図19
に示した805cの増分計算である。At the same time, a process 2413 in which the selection unit 703 cumulatively adds E given from the calculation unit 701.
Perform After the processes 2405, 2406, and 2413 are completed, the selection unit 703 determines the accumulated error E (sum (E) in the figure).
Data is selected from the values of. Here, since it is less than one, it is output from the first edge generation unit 702a.
(x, y, u, v) is selected (selection of 2223). That is,
Select (1.00,3.00, -0.84,12.21). This is shown in FIG.
This is the increment calculation of 805c shown in FIG.
【0247】(step4)さらに、第1のエッジ生成部70
2aおよび第2のエッジ生成部702bにおいて、それ
ぞれ、処理2207、2208を行なう。選択部703
において、先に選択されたデータ(1.00,3.00,-0.84,12.
21)に対して、先と同じように増分値を加算する。(Step 4) Further, the first edge generation unit 70
Processing 2207 and 2208 are performed in 2a and the second edge generation unit 702b, respectively. Selector 703
In the data selected earlier (1.00, 3.00, -0.84, 12.
For 21), add the increment value as before.
【0248】これと同時に選択部703において、演算
部701から与えられたEを累積加算する処理2414
を行なう。処理2407、2408、2414の終了
後、選択部703は、累積誤差E(図では、sum(E))
の値から、データの選択を行なう。ここでは、1以上で
あるので、第2のエッジ生成部702bから出力する
(x,y,u,v)を選択する(2224の選択)。すなわち、
(0.00,4.00,0.00,16.00)を選択する。これは、図19に
示した805dの増分計算である。At the same time, a process 2414 for accumulating and adding E given from the operation unit 701 in the selection unit 703.
Perform After the processes 2407, 2408, and 2414 are completed, the selection unit 703 determines the cumulative error E (sum (E) in the figure).
Data is selected from the values of. Here, since it is one or more, the output is provided from the second edge generation unit 702b.
(x, y, u, v) is selected (selection of 2224). That is,
(0.00, 4.00, 0.00, 16.00). This is the increment calculation of 805d shown in FIG.
【0249】以上のように(step0)から(step4)の処理を
実行することにより、ポリゴンエッジのエッジ描画点に
関して、補正されたスクリーン座標値およびテクスチャ
座標値を得ることができる。すなわち、理想的なポリゴ
ンエッジに関する描画点および対応点の算出を行なうこ
とができる。By executing the processing from (step 0) to (step 4) as described above, corrected screen coordinate values and texture coordinate values can be obtained for the edge drawing points of polygon edges. That is, it is possible to calculate the drawing point and the corresponding point regarding the ideal polygon edge.
【0250】また、第1のエッジ生成部702a、第2
のエッジ生成部702b、選択部703の構成例につい
て説明する。Also, the first edge generation unit 702a, the second
The configuration example of the edge generation unit 702b and the selection unit 703 will be described.
【0251】図22は、第1のエッジ生成部702aの
構成図である。ここでは、演算部701から出力する
(x,y,u,v)は整数とする。すなわち、対象となるポリゴ
ンおよびテクスチャの頂点座標が整数であるとする。セ
レクタ2301aから2301dは、演算部701から
出力されるデータ(x,y,u,v)、または加算器2302a
から2302dから出力されるデータ(x,y,u,v)を選択
する。セレクタ2301a、2301b、2301c、
2301dはそれぞれx、y、u、vを選択するセレクタで
ある。これらのセレクタにおいて、最初のエッジ点を算
出する場合は、演算部701からの出力される(x,y,u,
v)を選択し、それ以外の場合には、加算器2302aか
ら2302dから出力されるデータ(x,y,u,v)を選択す
る。FIG. 22 is a configuration diagram of the first edge generation unit 702a. Here, output from the arithmetic unit 701
(x, y, u, v) is an integer. That is, it is assumed that the vertex coordinates of the target polygon and texture are integers. The selectors 2301a to 2301d receive the data (x, y, u, v) output from the arithmetic unit 701 or the adder 2302a
To select the data (x, y, u, v) output from 2302d. Selectors 2301a, 2301b, 2301c,
2301d is a selector for selecting x, y, u, and v, respectively. When these selectors calculate the first edge point, they are output from the calculation unit 701 (x, y, u,
v) is selected, otherwise, the data (x, y, u, v) output from the adders 2302a to 2302d is selected.
【0252】また、加算器2302aはxについての増
分処理を行ない、被増分値を選択部703から出力され
るx、増分値をdx/dy(L)((数51)参照)と
する。同様に、加算器2302bはyについての増分処
理を行ない、被増分値を選択部703から出力される
y、増分値を1とする。加算器2302cはuについての
増分処理を行ない、被増分値を選択部703から出力さ
れるu、増分値をdu/dy(L)((数51)参照)
とする。加算器2302dはvについての増分処理を行
ない、被増分値を選択部703から出力されるv、増分
値をdv/dy(L)((数51)参照)とする。これ
らの増分値は、一つのエッジに関する処理が終了するま
では変化することはない。The adder 2302a performs an increment process on x, and sets the incremented value to x output from the selector 703 and the increment value to dx / dy (L) (see (Equation 51)). Similarly, the adder 2302b performs an increment process on y, and outputs the incremented value from the selection unit 703.
y, the increment value is 1. The adder 2302c performs an increment process on u, and outputs u as the incremented value from the selection unit 703 and du / dy (L) (see (Equation 51)).
And The adder 2302d performs an increment process on v, and sets the increment value to v output from the selection unit 703 and the increment value to dv / dy (L) (see (Equation 51)). These increment values do not change until the processing for one edge is completed.
【0253】これにより、先に説明した処理2201、
2203、2205、2207を実行する第1のエッジ
生成部702aを実現することができる。 第2のエッ
ジ生成部702bは、第1のエッジ生成部702aと処
理内容は同様である。このため、同じ構成により実現す
ることができ、ここではその説明は省略する。As a result, the processing 2201 described earlier,
The first edge generation unit 702a that executes 2203, 2205, and 2207 can be realized. The processing content of the second edge generation unit 702b is the same as that of the first edge generation unit 702a. Therefore, it can be realized by the same configuration, and the description is omitted here.
【0254】また、図23は、選択部703の構成図の
一部である。図23において、2401は加算器で、初
期値は増分アルゴリズムにより算出する描画点と、スク
リーン画素のサンプル点との差(E)とし、スキャンラ
イン毎ににおけるxについての誤差E(数51)を累積
加算する機構になっている(累積誤差はsum(E))。
この誤差Eは、一つのエッジに関する処理が終了するま
では変化することはない。セレクタ2402aから24
02dは、加算器2401により算出する累積誤差の結
果を受け、第1のエッジ生成部702aの出力値、ある
いは第2のエッジ生成部702bの出力値を選択する。
セレクタ2402aはxに関する、セレクタ2402c
はuに関する、セレクタ2402dはvに関するセレクタ
である。yの値に関しては第1のエッジ生成部702a
からの出力値と第2のエッジ生成部702bからの出力
値とが同じであるため、yに関するセレクタはない。FIG. 23 is a part of a configuration diagram of the selection unit 703. In FIG. 23, reference numeral 2401 denotes an adder. An initial value is a difference (E) between a drawing point calculated by an increment algorithm and a sample point of a screen pixel. It is a mechanism for accumulative addition (cumulative error is sum (E)).
This error E does not change until the processing for one edge is completed. Selectors 2402a through 242
02d receives the result of the accumulated error calculated by the adder 2401, and selects the output value of the first edge generator 702a or the output value of the second edge generator 702b.
The selector 2402c is a selector 2402c for x.
Is a selector for u, and a selector 2402d is a selector for v. Regarding the value of y, the first edge generation unit 702a
Is the same as the output value from the second edge generation unit 702b, there is no selector for y.
【0255】加算器2401において、加算器を1未満
の値までの累積加算を行なう加算器とする場合、加算結
果がオバーフローするかどうかを検出することにより、
(数47)から(数50)や、上述した処理内容((ste
p0)から(step4))や、図21で示した処理2221から
処理2224を実現することができる。すなわち、加算
器2401の加算結果がオーバーフローする場合、第2
のエッジ生成部702bの出力値(x,y,u,v)を選択す
る。また、オーバーフローしない場合は、第1のエッジ
生成部702aの出力値(x,y,u,v)を選択する。When the adder 2401 is an adder that performs cumulative addition up to a value less than 1, by detecting whether or not the addition result overflows,
From (Equation 47) to (Equation 50), the processing contents described above ((ste
From (p0) to (step 4)), the processes 2221 to 2224 shown in FIG. 21 can be realized. That is, when the addition result of the adder 2401 overflows, the second
The output value (x, y, u, v) of the edge generation unit 702b is selected. If no overflow occurs, the output value (x, y, u, v) of the first edge generation unit 702a is selected.
【0256】また、これらの動作の処理概要を図24に
示す。図25は、図24の処理によってマッピングを行
なう対象の三角形ポリゴンを表したものである(対象ポ
リゴン)。図25において、頂点の(ix,iy,iu,iv)は整
数で表されているものとし、それぞれの頂点座標と対応
点座標は(数52)の条件を満たすものとする。FIG. 24 shows an outline of the processing of these operations. FIG. 25 illustrates a triangular polygon to be mapped by the processing of FIG. 24 (target polygon). In FIG. 25, it is assumed that (ix, iy, iu, iv) of a vertex is represented by an integer, and the vertex coordinates and the corresponding point coordinates satisfy the condition of (Expression 52).
【0257】[0257]
【数52】iy0<iy1=iy2 ix1<ix0<ix2 図24は処理概要を示しており、それぞれの処理を実施
の形態4における構成要素と照らし合わせて説明する。
処理1301は演算部701での処理である。1302
はスパン生成部704における描画点(x,y)、対応点
(u,v)の出力処理である。1303はスパン生成部7
04におけるスパン方向の描画点と対応点を算出する処
理である((数7)参照)。1304は処理1303の
終了条件で、スパン生成部704における処理終了条件
である。1305は第1のエッジ生成部702aと第2
のエッジ生成部702bに共通する処理で、エッジの描
画点の算出処理((数4)参照)と、1306における
選択基準となる数値の算出処理である。この選択基準と
なる数値は、(数46)に示したEである。1306は
選択部703における選択処理で、これにより、du/
dy(L)、du/dy(R)の選択を行なう。1307は
第1のエッジ生成部702aにおける対応点の算出処理
である。1308は第2のエッジ生成部702bにおけ
る対応点の算出処理である。1309は処理全体の終了
条件であり、これにより本装置の処理が終了する。FIG. 24 shows an outline of the processing, and each processing will be described in comparison with the components in the fourth embodiment.
Processing 1301 is processing in the arithmetic unit 701. 1302
Is the drawing point (x, y) in the span generation unit 704, and the corresponding point
This is the output processing of (u, v). 1303 is the span generation unit 7
This is a process of calculating drawing points and corresponding points in the span direction in 04 (see (Equation 7)). Reference numeral 1304 denotes an end condition of the process 1303, which is a process end condition in the span generation unit 704. 1305 is a first edge generation unit 702a and a second edge generation unit 702a.
The processing is common to the edge generation unit 702b, and is processing for calculating an edge drawing point (see (Equation 4)) and processing for calculating a numerical value serving as a selection criterion in 1306. The numerical value serving as the selection criterion is E shown in (Equation 46). Reference numeral 1306 denotes a selection process in the selection unit 703.
dy (L) and du / dy (R) are selected. Reference numeral 1307 denotes a corresponding point calculation process in the first edge generation unit 702a. Reference numeral 1308 denotes a corresponding point calculation process in the second edge generation unit 702b. Reference numeral 1309 denotes an end condition of the entire process, whereby the process of the present apparatus ends.
【0258】以上のように、図24に示した処理によ
り、図25に示したポリゴンに対して対応点、描画点の
算出処理を行なうことにより、正確な対応点計算を実現
することができる。As described above, by performing the processing of calculating the corresponding points and the drawing points on the polygon shown in FIG. 25 by the processing shown in FIG. 24, accurate calculation of the corresponding points can be realized.
【0259】すなわち、対応点の計算に用いるパラメー
タとして、805a、805cではdu/dy(L)を
選択し、805b、805dではdu/dy(R)を選
択することが可能となる。以上のような対応点uに関す
る増分の選択を選択部703で行なう。ここでは対応点
uに関しての説明を行なったが、対応点vや、照度、不
透明度などに関しても同様のことがいえる。That is, it is possible to select du / dy (L) for 805a and 805c and to select du / dy (R) for 805b and 805d as the parameters used for calculating the corresponding points. The selection of the increment for the corresponding point u as described above is performed by the selection unit 703. Although the corresponding point u has been described here, the same can be said for the corresponding point v, illuminance, opacity, and the like.
【0260】すなわち、第1のエッジ生成部702aま
たは、第2のエッジ生成部702bで生成する対応点に
対して、選択部703で選択することにより((数4
7)〜(数50))、ポリゴンエッジが存在する画素に
おける理想的な対応点を算出することができる。さら
に、スパンの先頭画素であるポリゴンエッジが存在する
画素の対応点を理想的に算出することにより、このスパ
ンに含まれる画素の対応点も理想的に算出することがで
きる((数7)参照)。That is, by selecting the corresponding point generated by the first edge generating section 702a or the second edge generating section 702b by the selecting section 703 ((Equation 4)
7) to (Equation 50)), it is possible to calculate an ideal corresponding point in a pixel where a polygon edge exists. Furthermore, by ideally calculating the corresponding point of the pixel where the polygon edge which is the leading pixel of the span exists, the corresponding point of the pixel included in this span can also be ideally calculated (see (Expression 7)). ).
【0261】以上のように本実施の形態によれば、第1
のエッジ生成部702a、第2のエッジ生成部702b
において生成されるパラメータを選択する選択部703
を設けることにより、描画画素に対する理想的な対応点
を得ることが可能となる。これにより、実施の形態1、
2および3と同様にポリゴンが投影されるすべての画素
について理想的な対応点を算出することができ、マッピ
ング画像の画質を向上させることができる。As described above, according to the present embodiment, the first
Edge generation unit 702a, second edge generation unit 702b
Selecting section 703 for selecting parameters generated in
Is provided, it is possible to obtain an ideal corresponding point for the drawing pixel. Thereby, Embodiment 1,
As in 2 and 3, ideal corresponding points can be calculated for all pixels on which the polygon is projected, and the image quality of the mapping image can be improved.
【0262】またそれぞれのエッジ生成部では、従来の
増分アルゴリズムと同様の処理負荷しかかからない。そ
れぞれのエッジ生補正で用いるパラメータ(増分値)の
算出は、ポリゴンのエッジに対してあらかじめ行なうこ
とができ、これらの演算に対する負荷を著しく増すもの
ではない。In each edge generating section, only the same processing load as in the conventional incremental algorithm is applied. The calculation of the parameter (incremental value) used in each edge raw correction can be performed in advance for the edge of the polygon, and does not significantly increase the load on these calculations.
【0263】本実施の形態では二つのエッジ生成部を設
けることが必要となる。しかし、従来の方法と比較し
て、それぞれで生成したパラメータを選択するだけの遅
延しか起こらず、処理全体としての高速性は損なわれな
い。In this embodiment, it is necessary to provide two edge generators. However, as compared with the conventional method, only a delay occurs in selecting each generated parameter, and the speed of the entire process is not impaired.
【0264】なお、本実施の形態では、第1のエッジ生
成部702aと、第2のエッジ生成部702bとを同時
に動作させることとした。しかし、選択部703の累積
誤差計算を先行的に実行することにより、いずれか一方
のエッジ生成部の動作を停止させることが可能となる。
これを、図21の処理フローの図を用いて説明する。累
積誤差計2211を処理の終了後、どちらのエッジ生成
部のデータを選択するかを認識することができる。ここ
では、処理2201の結果を選択するので、処理220
2を行なう第2のエッジ生成部702bの処理(処理回
路)を、停止させることになんの問題もない。すなわ
ち、選択部703の累積誤差計算を先行的に実行し、い
ずれか一方のエッジ生成部の動作を停止させることが可
能となり得る。これにより、装置全体としての消費電力
を押えることができる。In the present embodiment, the first edge generator 702a and the second edge generator 702b are operated simultaneously. However, by executing the cumulative error calculation of the selection unit 703 in advance, it is possible to stop the operation of one of the edge generation units.
This will be described with reference to the flowchart of FIG. After the processing of the accumulative error meter 2211 is completed, it is possible to recognize which edge generating unit data is to be selected. Here, the result of step 2201 is selected.
There is no problem in stopping the processing (processing circuit) of the second edge generation unit 702b that performs the second step. That is, it may be possible to execute the cumulative error calculation of the selection unit 703 in advance and stop the operation of one of the edge generation units. Thereby, the power consumption of the entire apparatus can be suppressed.
【0265】なお、本実施の形態では、画素におけるサ
ンプル点を画素において原点にもっとも近い点とした
が、このサンプル点の位置は任意である。In this embodiment, the sample point in the pixel is the point closest to the origin in the pixel, but the position of the sample point is arbitrary.
【0266】なお、本実施の形態では、ポリゴンとテク
スチャの関係は(数1)、(数2)としたが、その関係
は(数1)、(数2)に限るものではない。例えば、こ
の関係を(数17)、(数18)としても正確な対応点
計算を行なうことができる。換言すれば、あらゆる対応
点式に対応することができる。In the present embodiment, the relationship between the polygon and the texture is (Equation 1) and (Equation 2), but the relationship is not limited to (Equation 1) and (Equation 2). For example, even if this relation is expressed by (Equation 17) and (Equation 18), accurate corresponding point calculation can be performed. In other words, it can correspond to any corresponding point expression.
【0267】なお、本実施の形態では、ポリゴンの対応
点計算について説明したが、照度計算、不透明度計算、
バンプマッピング計算などについても同様の処理を実現
することができる。また、これらに関しても対応点と同
様に、あらゆる関係式に対応することができる。図1
0、図11にテクスチャマッピング、照度マッピングを
実現する場合について、その全体構成の例を示す。In the present embodiment, the calculation of the corresponding points of the polygon has been described.
Similar processing can be realized for bump mapping calculation and the like. In addition, as with the corresponding points, these can also correspond to any relational expressions. FIG.
0 and FIG. 11 show examples of the overall configuration of the case where texture mapping and illuminance mapping are realized.
【0268】図において、1701、1801は、本実
施の形態で説明したものを用いることにより、テクスチ
ャマッピング、照度マッピングを実現することができ
る。不透明度マッピングや、バンプマッピングなどに関
しても同様な構成で実現することができる。これらの構
成図の説明は実施の形態1で行なったので、ここでは省
略する。 なお、本実施の形態では、アンチエイリアシ
ング処理を行なわない方法で説明を行なったが、アンチ
エイリアシング処理を含めても同様の処理を行なうこと
ができる。In the figure, 1701 and 1801 can realize texture mapping and illuminance mapping by using those described in the present embodiment. Opacity mapping, bump mapping, and the like can be realized with a similar configuration. The description of these configuration diagrams has been made in the first embodiment, and will not be repeated here. In the present embodiment, the description has been given of a method in which the anti-aliasing processing is not performed. However, the same processing can be performed including the anti-aliasing processing.
【0269】なお、サブピクセルポジショニングを行な
っても、本実施の形態と同様の補正処理を行なうことが
できる。Note that the same correction processing as in the present embodiment can be performed even when sub-pixel positioning is performed.
【0270】(実施の形態5)以下本発明の第5の実施
の形態について図面を参照しながら説明する。(Embodiment 5) Hereinafter, a fifth embodiment of the present invention will be described with reference to the drawings.
【0271】図26は本発明の第5の実施の形態におけ
るマッピング装置のアドレス発生部の構成図である。図
26において、図18と同一の参照符号のものは、図1
8と同じものを示す。エッジ生成部2502は、演算部
701において生成されたデータを用いて、指定される
増分値を用い増分計算を行なうことによりポリゴンエッ
ジにおけるスクリーン座標値とこれに対応するテクスチ
ャ座標値を算出する。増分切替部2503は、演算部7
01において生成されたデータを用いて、エッジ生成部
2502における増分値を指定する。また、ここでマッ
ピングの対象とするポリゴンを実施の形態4と同様(図
19)とし、その対応点に関しては(数1)、(数2)
の関係が成り立つとする。FIG. 26 is a diagram showing the configuration of the address generator of the mapping apparatus according to the fifth embodiment of the present invention. In FIG. 26, those having the same reference numerals as those in FIG.
The same as 8 is shown. The edge generation unit 2502 calculates the screen coordinate value at the polygon edge and the texture coordinate value corresponding to the screen coordinate value by performing an increment calculation using the designated increment value using the data generated by the calculation unit 701. The increment switching unit 2503 is
01, the increment value in the edge generation unit 2502 is specified. The polygons to be mapped here are the same as in the fourth embodiment (FIG. 19), and the corresponding points are (Equation 1) and (Equation 2).
It is assumed that the following relationship holds.
【0272】このとき、本実施の形態でのテクスチャマ
ッピング処理について説明する。演算部701では、実
施の形態4と同様に必要とするパラメータの算出を行な
う((数42)、(数43)、(数44)、(数45)
参照)。具体的には、(数51)に示した値となる。A description will now be given of the texture mapping processing in this embodiment. The calculation unit 701 calculates necessary parameters in the same manner as in the fourth embodiment (Equation 42), (Equation 43), (Equation 44), and (Equation 45)
reference). Specifically, it takes the value shown in (Equation 51).
【0273】エッジ生成部2502は、図26におい
て、next_inc_identと示した、増分切替部2503から
の信号により、dx/dy(L)、du/dy(L)、d
v/dy(L)、dx/dy(R)、du/dy(R)、
dv/dy(R)の増分値を切替え、選択された増分値
により増分処理(DDA処理)を行なう。The edge generation unit 2502 receives signals dx / dy (L), du / dy (L), and dx / dy (L) from the increment switching unit 2503 shown in FIG.
v / dy (L), dx / dy (R), du / dy (R),
The increment value of dv / dy (R) is switched, and an increment process (DDA process) is performed according to the selected increment value.
【0274】増分切替部2503は、実施の形態4で説
明したE((数46)、(数51))を累積加算し、そ
の結果を用いて切換の制御を行なう。すなわちエッジ生
成部2502で用いる増分値を切替える。この増分切替
部2503で行なう切換処理は、実施の形態4で説明し
た選択部703の選択処理と同様の処理を行なう。具体
的には、累積誤差(sum(E))が1未満の場合、エッ
ジ生成部2502で用いる増分値をが、dx/dy
(L)、du/dy(L)、dv/dy(L)とする。
また、累積誤差が1以上の場合、エッジ生成部2502
で用いる増分値をdx/dy(R)、du/dy(R)、
dv/dy(R)とする。さらに、累積誤差が1以上の
場合には、累積誤差(sum(E))から、1を減じる処
理も行なう。The incremental switching section 2503 cumulatively adds E ((Equation 46), (Equation 51)) described in the fourth embodiment, and controls switching using the result. That is, the increment value used in the edge generation unit 2502 is switched. The switching process performed by the incremental switching unit 2503 is similar to the selection process of the selection unit 703 described in the fourth embodiment. Specifically, when the cumulative error (sum (E)) is less than 1, the increment value used in the edge generation unit 2502 is dx / dy
(L), du / dy (L), and dv / dy (L).
When the accumulated error is 1 or more, the edge generation unit 2502
The increment values used in are dx / dy (R), du / dy (R),
dv / dy (R). Further, when the accumulated error is 1 or more, a process of subtracting 1 from the accumulated error (sum (E)) is also performed.
【0275】ここで、本実施の形態における、エッジ生
成部2502、増分切替部2503の処理の流れを説明
する(対象とするポリゴンは図19に示す)。これらの
処理の流れを図27に示し、以下この処理について説明
する。図27において、処理2601、2602、26
03、2604は、エッジ生成部2502で行なう処理
である。処理2611、2612、2613、2614
は、増分切替部2503で行なう処理である。図27に
おいて網掛けしている部分は、増分切替部2503によ
り制御され、エッジ生成部2502で用いる増分値(ス
クリーン座標、テクスチャ座標)である。また、アンダ
ーラインで示してあるものは、エッジ生成部2502か
らの出力データ(x,y,u,v)である。Here, the flow of processing of the edge generation unit 2502 and the increment switching unit 2503 in this embodiment will be described (the target polygon is shown in FIG. 19). FIG. 27 shows the flow of these processes, and the processes will be described below. In FIG. 27, processes 2601, 2602, and 26
03 and 2604 are processing performed by the edge generation unit 2502. Processing 2611, 2612, 2613, 2614
Is a process performed by the incremental switching unit 2503. The shaded portions in FIG. 27 are increment values (screen coordinates, texture coordinates) controlled by the increment switching unit 2503 and used by the edge generation unit 2502. Also, what is indicated by the underline is output data (x, y, u, v) from the edge generation unit 2502.
【0276】(step0)ポリゴンの頂点である点P0(6,0,0,
0)が、以降の処理における初期値となる。(Step0) The point P0 (6,0,0,
0) is an initial value in the subsequent processing.
【0277】また、累積誤差sum(E)の初期値は、0
である。この(6,0,0,0)がエッジ生成部2502からの
出力値となる。The initial value of the accumulated error sum (E) is 0
It is. This (6,0,0,0) is the output value from the edge generator 2502.
【0278】(step1)増分切替部2503では、誤差E
を累積加算する(処理2611)。ここでの累積誤差は
1未満であるため、エッジ生成部2502に対して、図
26で示したnext_inc_identを介して(L)の増分値を
用いることを要求する。(Step 1) In the incremental switching unit 2503, the error E
Are cumulatively added (step 2611). Since the cumulative error here is less than 1, the edge generation unit 2502 is requested to use the increment value of (L) via next_inc_ident shown in FIG.
【0279】これを受けたエッジ生成部2502は、(s
tep0)の結果(初期値)に対して、(L)増分値(-2.00,
1.00,-0.84,4.21)を加算し、加算結果を出力する(処理
2601)。したがって、(4.00,1.00,-0.84,4.21)が出
力となる。これは、図19に示した805aの増分計算
となる。[0279] Upon receiving this, the edge generation unit 2502 sets (s
(L) increment value (-2.00, tep0)
1.00, -0.84, 4.21), and outputs the addition result (process 2601). Therefore, (4.00,1.00, -0.84,4.21) is output. This is the increment calculation of 805a shown in FIG.
【0280】(step2)次に、増分切替部2503におい
て、累積誤差計算結果は1を越える(処理2612)。
そのため、エッジ生成部2502に対して、図26で示
したnext_inc_identを介して(R)の増分値を用いるこ
とを要求する。(Step 2) Next, in the increment switching unit 2503, the cumulative error calculation result exceeds 1 (process 2612).
Therefore, it requests the edge generation unit 2502 to use the increment value of (R) via next_inc_ident shown in FIG.
【0281】これを受けたエッジ生成部2502は、(s
tep1)の結果に対して、(R)増分値(-1.00,1.00,0.84,
3.79)を加算し、加算結果を出力する(処理260
2)。したがって、(3.00,2.00,0.00,8.00)が出力とな
る。これは、図19に示した805bの増分計算とな
る。The edge generation unit 2502 receiving this outputs the (s
tep1), the (R) increment value (-1.00,1.00,0.84,
3.79) and outputs the addition result (Process 260
2). Therefore, (3.00,2.00,0.00,8.00) is output. This is the increment calculation of 805b shown in FIG.
【0282】また、増分切替部2503では、累積誤差
が1を越えたため、累積誤差から1を減じる処理を行な
う。Further, since the cumulative error has exceeded 1, the increment switching section 2503 performs a process of subtracting 1 from the cumulative error.
【0283】(step3)また、増分切替部2503では、
誤差Eを累積加算する(処理2613)。ここでの累積
誤差は1未満であるため、エッジ生成部2502に対し
て、図26で示したnext_inc_identを介して(L)の増
分値を用いることを要求する。(Step 3) In addition, the increment switching unit 2503
The error E is cumulatively added (step 2613). Since the cumulative error here is less than 1, the edge generation unit 2502 is requested to use the increment value of (L) via next_inc_ident shown in FIG.
【0284】これを受けたエッジ生成部2502は、(s
tep2)の結果に対して、(L)増分値(-2.00,1.00,-0.8
4,4.21)を加算し、加算結果を出力する(処理260
3)。したがって、(1.00,3.00,-0.84,12.21)が出力と
なる。これは、図19に示した805cの増分計算とな
る。[0284] Upon receiving this, the edge generation unit 2502 sets (s
tep2), (L) increment value (-2.00,1.00, -0.8
4,4.21) and outputs the addition result (Process 260
3). Therefore, (1.00,3.00, -0.84,12.21) is output. This is the increment calculation of 805c shown in FIG.
【0285】(step4)さらに、増分切替部2503にお
いて、累積誤差計算結果は1を越える(処理261
4)。そのため、エッジ生成部2502に対して、図2
6で示したnext_inc_identを介して(R)の増分値を用
いることを要求する。(Step 4) Further, in the increment switching unit 2503, the cumulative error calculation result exceeds 1 (processing 261).
4). Therefore, the edge generation unit 2502 is
It is requested to use the increment value of (R) via next_inc_ident indicated by 6.
【0286】これを受けたエッジ生成部2502は、(s
tep3)の結果に対して、(R)増分値(-1.00,1.00,0.84,
3.79)を加算し、加算結果を出力する(処理261
4)。したがって、(0.00,4.00,0.00,16.00)が出力とな
る。これは、図19に示した805dの増分計算とな
る。The edge generation unit 2502 receiving this outputs
tep3), the (R) increment value (-1.00,1.00,0.84,
3.79) and outputs the addition result (process 261).
4). Therefore, (0.00, 4.00, 0.00, 16.00) is output. This is the increment calculation of 805d shown in FIG.
【0287】また、増分切替部2503では、累積誤差
が1を越えたため、累積誤差から1を減じる処理を行な
う。In addition, since the accumulated error has exceeded 1, the increment switching unit 2503 performs a process of subtracting 1 from the accumulated error.
【0288】以上のように(step0)から(step4)の処理を
実行することにより、ポリゴンエッジに関して、理想的
なポリゴン座標、テクスチャ座標を得ることができる。As described above, by executing the processing from (step 0) to (step 4), ideal polygon coordinates and texture coordinates can be obtained for polygon edges.
【0289】次に、エッジ生成部2502、増分切替部
2503の構成例について説明する。Next, a configuration example of the edge generation section 2502 and the increment switching section 2503 will be described.
【0290】図28は、エッジ生成部2502の構成図
である。セレクタ2701a、2721cおよび270
1dは、図26に示した next_inc_identにより、制御
される。これらのセレクタにより、エッジ生成部250
2において用いる増分値((L)の増分値または(R)
の増分値)を切替える。FIG. 28 is a configuration diagram of the edge generation unit 2502. Selectors 2701a, 2721c and 270
1d is controlled by next_inc_ident shown in FIG. The edge generator 250
Increment value (incremental value of (L) or (R) used in 2)
Is changed.
【0291】加算器2702a、2702b、2702
c、および2702dにより増分処理を行なう。このと
き、セレクタ2701a、2721c、2701dによ
り選択された増分値を用いる。また、被増分値は、エッ
ジ生成部2502から出力される値を用いる。図28に
おいて、エッジ生成部から出力される値が、フィードバ
ックされこれらの加算器2702aから2702dに入
力している。これにより、処理2601、2602、2
603、2604を実現する。Adders 2702a, 2702b, 2702
Increment processing is performed by c and 2702d. At this time, the increment value selected by the selectors 2701a, 2721c, 2701d is used. In addition, a value output from the edge generation unit 2502 is used as the increment value. In FIG. 28, the value output from the edge generation unit is fed back and input to these adders 2702a to 2702d. Thereby, processing 2601, 2602, 2
603 and 2604 are realized.
【0292】セレクタ2703a、2703b、270
3cおよび2703dにおいて、最初のエッジ点を算出
する場合は、演算部701からの出力される(x,y,u,v)
を選択し、それ以外の場合には、加算器2702aから
2702dから出力されるデータ(x,y,u,v)を選択す
る。これにより、対象とするポリゴンエッジの初期値か
ら、逐次(x,y,u,v)を算出することができる。Selectors 2703a, 2703b, 270
In 3c and 2703d, when calculating the first edge point, (x, y, u, v) output from the arithmetic unit 701
Is selected, otherwise, the data (x, y, u, v) output from the adders 2702a to 2702d is selected. This makes it possible to sequentially calculate (x, y, u, v) from the initial value of the target polygon edge.
【0293】また、図29は、増分切替部2503の構
成図である。図29において、加算器2801は、初期
値は増分アルゴリズムにより算出する描画点と、スクリ
ーン画素のサンプル点との差(E)とし、スキャンライ
ン毎ににおけるxについての誤差E(数51)を累積加
算する機構になっている(累積誤差はsum(E))。FIG. 29 is a block diagram of the incremental switching unit 2503. In FIG. 29, an adder 2801 accumulates an error E (Equation 51) with respect to x for each scan line by setting an initial value as a difference (E) between a drawing point calculated by an increment algorithm and a sample point of a screen pixel. It is a mechanism for adding (accumulated error is sum (E)).
【0294】エッジ生成部2502における増分値を制
御する、増分切替部2503において増分値を切替える
指標は、累積誤差(sum(E))が、1を越えるかどう
かで、また1を越えた場合はその後1を減ずる処理を行
なう。すなわち、増分切替部2503は、1未満の値ま
での累積加算器で構成し、累積加算結果がオーバーフロ
ーするか、しないかを判定を行なう。これにより、処理
2611、2612、2613および2614を実現す
る。The index for controlling the increment value in the edge generation unit 2502 and for switching the increment value in the increment switching unit 2503 is based on whether the accumulated error (sum (E)) exceeds 1, and when it exceeds 1, Thereafter, a process of subtracting 1 is performed. That is, the increment switching unit 2503 is configured by a cumulative adder up to a value less than 1, and determines whether or not the cumulative addition result overflows. Thus, the processes 2611, 2612, 2613, and 2614 are realized.
【0295】したがって、ここで示したエッジ生成部2
502、増分切替部2503の構成((図28)、(図
29)参照)により、上述した処理((step0)から(step
4))を実現することができる。Therefore, the edge generation unit 2 shown here
502, the configuration of the incremental switching unit 2503 (see (FIG. 28) and (FIG. 29)) changes the above-described processing (from (step0) to (step
4)) can be realized.
【0296】以上のように本実施の形態によれば、増分
切替部2503は、スクリーン座標値のxの値と、スク
リーン画素のサンプル点との差(誤差)の算出を、演算
部701で算出した値を累積加算(sum(E))するこ
とにより実現する。また、この累積誤差の値から、具体
的には累積加算結果がオーバーフローするかしないかの
判定だけでよく、オーバーフローするか、しないかによ
り、ポリゴンエッジのスクリーン座標値およびテクスチ
ャ座標値を算出するための増分値((L)の増分値、
(R)の増分値)を、エッジ生成部2502における増
分計算で用いるように制御する。As described above, according to the present embodiment, the increment switching unit 2503 calculates the difference (error) between the x value of the screen coordinate value and the sample point of the screen pixel by the calculation unit 701. This is realized by performing cumulative addition (sum (E)) on the calculated values. Also, from the value of the accumulated error, specifically, it is only necessary to determine whether or not the accumulated addition result overflows. In order to calculate the screen coordinate value and the texture coordinate value of the polygon edge depending on whether or not it overflows. Increment value ((L) increment value,
(R) is controlled so as to be used in the increment calculation in the edge generation unit 2502.
【0297】また、エッジ生成部2502は、増分切替
部2503により指定された増分値を用いて増分計算を
行なう。ここで、求めるポリゴンを表す点のスクリーン
座標値およびテクスチャ座標値は、スクリーン画素に対
して理想的な値となる。The edge generation section 2502 performs an increment calculation using the increment value designated by the increment switching section 2503. Here, the screen coordinate value and the texture coordinate value of the point representing the polygon to be obtained are ideal values for the screen pixels.
【0298】すなわち、エッジ生成部2502と、増分
切替部2503とを設けることにより、描画画素に対す
る理想的なスクリーン座標値およびテクスチャ座標値を
得ることが可能となる。これにより、先の実施の形態と
同様にポリゴンに含まれるすべての画素について理想的
な対応点を算出することができ、マッピングされる画像
の画質を向上させることができる。That is, by providing the edge generating unit 2502 and the increment switching unit 2503, it is possible to obtain ideal screen coordinate values and texture coordinate values for the drawing pixels. This makes it possible to calculate ideal corresponding points for all pixels included in the polygon, as in the previous embodiment, and improve the image quality of the mapped image.
【0299】エッジ生成部2502における回路規模
は、増分値の個数だけのセレクタが増えるだけで、回路
が飛躍的に増大することはない。また、処理速度におい
ては、無視できる範囲にある。したがって、従来の増分
アルゴリズムと同様の処理能力を有する。The circuit scale of the edge generation unit 2502 is not increased dramatically only by increasing the number of selectors by the number of increment values. Further, the processing speed is in a negligible range. Therefore, it has the same processing capacity as the conventional incremental algorithm.
【0300】増分切替部2503における回路規模に関
しても、図29の構成図から分かるように、その構成は
単純で、回路規模も小さい。As can be seen from the configuration diagram of FIG. 29, the circuit size of the incremental switching unit 2503 is simple and the circuit size is small.
【0301】したがって、本発明の本実施の形態の構成
に関しては、処理能力、回路規模いずれをとっても、従
来の増分アルゴリズムと同様の処理速度を有し、さらに
は、理想的な対応点算出を行なうことができるものであ
る。Therefore, the configuration of this embodiment of the present invention has the same processing speed as the conventional incremental algorithm regardless of the processing capacity and circuit scale, and furthermore, performs ideal corresponding point calculation. Is what you can do.
【0302】なお、本実施の形態では、画素におけるサ
ンプル点を画素において原点にもっとも近い点とした
が、このサンプル点の位置は任意である。In the present embodiment, the sample point in the pixel is the point closest to the origin in the pixel, but the position of this sample point is arbitrary.
【0303】なお、本実施の形態では、ポリゴンとテク
スチャの関係は(数1)、(数2)としたが、その関係
は(数1)、(数2)に限るものではない。例えば、こ
の関係を(数17)、(数18)としても正確な対応点
計算を行なうことができる。換言すれば、あらゆる対応
点式に対応することができる。In the present embodiment, the relationship between the polygon and the texture is (Equation 1) and (Equation 2), but the relationship is not limited to (Equation 1) and (Equation 2). For example, even if this relation is expressed by (Equation 17) and (Equation 18), accurate corresponding point calculation can be performed. In other words, it can correspond to any corresponding point expression.
【0304】なお、本実施の形態では、ポリゴンの対応
点計算について説明したが、実施の形態1でも述べたよ
うに、照度計算、不透明度計算、バンプマッピング計算
などについても同様の処理を実現することができる(図
10、図11参照)。また、不透明度マッピングや、バ
ンプマッピングなどに関しても同様な構成で実現するこ
とができる。In this embodiment, the calculation of the corresponding points of the polygon has been described. However, as described in the first embodiment, the same processing is realized for the illuminance calculation, the opacity calculation, the bump mapping calculation, and the like. (See FIGS. 10 and 11). Also, opacity mapping, bump mapping, and the like can be realized with a similar configuration.
【0305】なお、本実施の形態では、アンチエイリア
シング処理を行なわない方法で説明を行なったが、アン
チエイリアシング処理を含めても同様の処理を行なうこ
とができる。Although the present embodiment has been described with respect to a method in which anti-aliasing processing is not performed, similar processing can be performed including anti-aliasing processing.
【0306】なお、サブピクセルポジショニングを行な
っても、本実施の形態と同様の補正処理を行なうことが
できる。[0306] Even when sub-pixel positioning is performed, the same correction processing as that of the present embodiment can be performed.
【0307】(実施の形態6)以下本発明の第6の実施
の形態について図面を参照しながら説明する。Embodiment 6 Hereinafter, a sixth embodiment of the present invention will be described with reference to the drawings.
【0308】図30は本発明の第6の実施の形態におけ
るマッピング装置のアドレス発生部の構成図である。図
30において、図18と同一の参照符号のものは、図1
8と同じものを示す。演算部2901は、ポリゴン頂点
の位置とポリゴン頂点に与えられた対応点から、ポリゴ
ン内部の描画点と対応点計算に用いるパラメータを算出
する。エッジ生成部2902は、演算部2901におい
て生成されたパラメータと補正部2903により補正さ
れたデータとを用いて、増分計算を行なうことによりポ
リゴンエッジにおけるスクリーン座標値とこれに対応す
るテクスチャ座標値を算出する。補正部2903は、演
算部2901において生成されたパラメータとエッジ生
成部2902において生成された描画点とを用いてエッ
ジ生成部2902が生成した対応点に対して補正処理を
行なう。また、マッピングの対象とするポリゴンを実施
の形態4と同様(図19)とし、その対応点に関しては
(数1)、(数2)の関係が成り立つとする。FIG. 30 is a diagram showing the configuration of the address generator of the mapping apparatus according to the sixth embodiment of the present invention. In FIG. 30, those having the same reference numerals as in FIG.
The same as 8 is shown. The calculation unit 2901 calculates a drawing point inside the polygon and a parameter used for calculating the corresponding point from the position of the polygon vertex and the corresponding point given to the polygon vertex. The edge generation unit 2902 performs an incremental calculation using the parameters generated by the calculation unit 2901 and the data corrected by the correction unit 2903 to calculate screen coordinate values at polygon edges and corresponding texture coordinate values. I do. The correction unit 2903 performs a correction process on the corresponding point generated by the edge generation unit 2902 using the parameters generated by the calculation unit 2901 and the drawing points generated by the edge generation unit 2902. Further, it is assumed that the polygon to be mapped is the same as in the fourth embodiment (FIG. 19), and the relation of (Equation 1) and (Equation 2) holds for the corresponding points.
【0309】このとき、本実施の形態でのテクスチャマ
ッピング処理について説明する。演算部2901は、実
施の形態4、実施の形態5とは異なり、(L)の増分値
だけ算出を行なう((数42)、(数44)、(数4
5)参照)。具体的には、(数51)に示したdx/d
y(L)、du/dy(L)、dv/dy(L)を算出
する。また、補正部2903における補正処理をするか
しないかを判断するために必要となる、描画点とサンプ
ル点との差(E)(数46)を算出する。[0309] At this time, the texture mapping processing according to the present embodiment will be described. The arithmetic unit 2901 is different from the fourth and fifth embodiments in that it calculates only the increment of (L) (Equation 42), (Equation 44), and (Equation 4).
5)). Specifically, dx / d shown in (Equation 51)
Calculate y (L), du / dy (L), and dv / dy (L). Further, the difference (E) (Equation 46) between the drawing point and the sample point, which is necessary for determining whether or not to perform the correction process in the correction unit 2903, is calculated.
【0310】エッジ生成部2902は、演算部2901
から与えられた(x,y,u,v)を初期値とし、以降はエッジ
生成部2902に続く補正部2903から出力する(x,
y,u,v)対して、演算部2901で算出したdx/dy
(L)、du/dy(L)、dv/dy(L)を増分値
とし増分処理(DDA処理)を行なう。[0310] The edge generation section 2902 is provided with an operation section 2901.
(X, y, u, v) given as an initial value, and thereafter output from the correction unit 2903 following the edge generation unit 2902 (x, y, u, v).
y, u, v) with respect to dx / dy calculated by the arithmetic unit 2901
(L), du / dy (L), and dv / dy (L) are used as increment values to perform an increment process (DDA process).
【0311】補正部2903は、エッジ生成部2902
から出力する(x,y,u,v)のデータを補正する。補正が必
要とされるのは、演算部2901で算出した描画点とサ
ンプル点との差(E)の累積加算結果である累積誤差
(sum(E))が1以上の場合である。補正が必要とな
る場合にその度補正処理を行うことにより、補正する前
のx値とサンプル点のx座標値とは、必ず1画素分の差に
なる。また、補正処理を行なった後は、この累積誤差か
ら1を減じる。ここでの補正処理は次のように行なう。
すなわち算出した(x,y,u,v)に対して、(数53)の補
正処理を行なえば、理想的なスクリーン座標値、テクス
チャ座標値を算出することができ、この(x,y,u,v)値を
補正部2903からの出力とする。The correcting section 2903 is provided with an edge generating section 2902
(X, y, u, v) data output from. The correction is required when the cumulative error (sum (E)) as a result of the cumulative addition of the difference (E) between the drawing point and the sample point calculated by the arithmetic unit 2901 is 1 or more. By performing correction processing each time correction is required, the x value before correction and the x coordinate value of the sample point always have a difference of one pixel. After performing the correction processing, 1 is subtracted from the accumulated error. The correction process here is performed as follows.
That is, if the correction processing of (Expression 53) is performed on the calculated (x, y, u, v), ideal screen coordinate values and texture coordinate values can be calculated. u, v) values are output from the correction unit 2903.
【0312】[0312]
【数53】x ← x+1 y ← y u ← u+∂u/∂x v ← v+∂v/∂x これらの処理を、図19に示したポリゴンを例に説明す
る。図31は、図19に示した対象ポリゴンにおける、
増分処理の遷移と、補正処理にを示したものである。図
19と同一のものは、同一の参照符号で表す。805
a、3005b、805c、3005dで示す矢印は、
エッジ生成部2902で行なう増分処理によるサンプル
点の遷移である。3001、3002で示す矢印は、補
正部2903で行なう補正処理によるサンプル点の遷移
である。X ← x + 1 y ← yu ← u + ∂u / ∂xv ← v + ∂v / ∂x These processes will be described with reference to the polygon shown in FIG. 19 as an example. FIG. 31 is a diagram showing the target polygon shown in FIG.
9 shows the transition of the increment processing and the correction processing. The same components as those in FIG. 19 are denoted by the same reference numerals. 805
Arrows indicated by a, 3005b, 805c, and 3005d are:
This is a transition of the sample point by the increment processing performed by the edge generation unit 2902. Arrows indicated by 3001 and 3002 indicate transitions of sample points due to the correction processing performed by the correction unit 2903.
【0313】これらの、スクリーン座標値およびテクス
チャ座標値の算出に関して、対象とするポリゴンを図3
1とする場合、エッジ生成部2902および補正部29
03での具体的な処理を図32に示す。図32におい
て、処理3101、3102、3103および3104
は、エッジ生成部2902で行なう増分処理を表す。処
理3111、3112、3113および3114は、補
正部2903での補正処理をするかしないかを判断する
処理で、上で述べた累積誤差の算出を行なう。処理31
22および3124は、補正部2903で行なう補正処
理を表す。Regarding the calculation of the screen coordinate values and the texture coordinate values, the target polygon is shown in FIG.
1, the edge generation unit 2902 and the correction unit 29
FIG. 32 shows the specific processing at 03. In FIG. 32, processes 3101, 3102, 3103 and 3104
Represents an incremental process performed by the edge generation unit 2902. Processes 3111, 3112, 3113, and 3114 are processes for determining whether or not to perform the correction process in the correction unit 2903, and calculate the accumulated error described above. Processing 31
Reference numerals 22 and 3124 denote correction processing performed by the correction unit 2903.
【0314】この処理をポリゴンエッジ801に沿っ
て、順に説明する。This processing will be described in order along the polygon edge 801.
【0315】(step0)ポリゴンの頂点である点P0(6,0,0,
0)が、以降の処理における初期値となる。また、累積誤
差sum(E)の初期値は0である。この(6,0,0,0)がエッ
ジ生成部2902からの出力値となる。(Step0) The point P0 (6,0,0,
0) is an initial value in the subsequent processing. The initial value of the accumulated error sum (E) is 0. This (6,0,0,0) is the output value from the edge generator 2902.
【0316】(step1)エッジ生成部2902は、(step0)
の結果(初期値)に対して、増分値(-2.00,1.00,-0.84,
4.21)を加算した結果である(4.00,1.00,-0.84,4.21)を
補正部2903に出力する(処理3101)。(Step 1) The edge generation unit 2902 calculates (step 0)
Of the result (initial value), the increment value (-2.00,1.00, -0.84,
(4.00, 1.00, -0.84, 4.21), which is the result of adding (4.21), is output to the correction unit 2903 (process 3101).
【0317】補正部2903では、誤差Eを累積加算す
る(処理3111)。ここでは、累積誤差の結果が1未
満であるため補正処理は行なわない。The correcting section 2903 cumulatively adds the error E (step 3111). Here, since the result of the accumulated error is less than 1, no correction processing is performed.
【0318】すなわち、補正部2903からの出力は、
(4.00,1.00,-0.84,4.21)となる。That is, the output from the correction unit 2903 is
(4.00,1.00, -0.84,4.21).
【0319】(step2)次に、エッジ生成部2902は、
(step1)の結果(4.00,1.00,-0.84,4.21)に対して、増分
値(-2.00,1.00,-0.84,4.21)を加算した結果である(2.0
0,2.00,-1.68,8.42)を補正部2903に出力する(処理
3102)。(Step 2) Next, the edge generation unit 2902
This is the result of adding the increment value (-2.00,1.00, -0.84,4.21) to the result (4.00,1.00, -0.84,4.21) of (step1) (2.0
0,2.00, -1.68,8.42) is output to the correction unit 2903 (process 3102).
【0320】補正部2903では、誤差Eを累積加算す
る(処理3112)。ここでは、累積誤差の結果が1以
上であるため補正処理を行なう。補正処理は、入力され
た(2.00,2.00,-1.68,8.42)に(1.00,0,00,∂u/∂x,∂
v/∂x)=(1.00,0.00,1.68,-0.42)を加算することによ
り実現する(処理3122)。補正結果として(3.00,2.
00,0.00,8.00)を得ることができ、これが出力値とな
る。この処理後、補正部2903における累積誤差から
1を引いた値を、累積誤差とする。The correcting section 2903 cumulatively adds the error E (process 3112). Here, since the result of the accumulated error is 1 or more, a correction process is performed. The correction process is performed by inputting (2.00,2.00, -1.68,8.42) to (1.00,0,00, ∂u / ∂x, ∂
This is realized by adding (v / 1.00x) = (1.00, 0.00, 1.68, -0.42) (process 3122). (3.00, 2.
00,0.00,8.00), which is the output value. After this processing, a value obtained by subtracting 1 from the accumulated error in the correction unit 2903 is set as the accumulated error.
【0321】(step3)エッジ生成部2902は、(step2)
の結果(3.00,2.00,0.00,8.00)に対して、増分値(-2.00,
1.00,-0.84,4.21)を加算した結果である(1.00,3.00,-0.
84,12.21)を補正部2903に出力する(処理310
3)。(Step 3) The edge generation unit 2902 calculates the (step 2)
(3.00,2.00,0.00,8.00), the increment value (-2.00,
1.00, -0.84,4.21) is added (1.00,3.00, -0.
84, 12.21) to the correction unit 2903 (process 310).
3).
【0322】補正部2903では、誤差Eを累積加算す
る(処理3113)。ここでは、累積誤差の結果が1未
満であるため補正処理は行なわない。The correcting section 2903 cumulatively adds the error E (step 3113). Here, since the result of the accumulated error is less than 1, no correction processing is performed.
【0323】すなわち、補正部2903からの出力は、
(1.00,3.00,-0.84,12.21)となる。That is, the output from the correction unit 2903 is
(1.00,3.00, -0.84,12.21).
【0324】(step4)さらに、エッジ生成部2902
は、(step3)の結果(1.00,3.00,-0.84,12.21)に対して、
増分値(-2.00,1.00,-0.84,4.21)を加算した結果である
(-1.00,4.00,-1.68,16.42)を補正部2903に出力する
(処理3104)。(Step 4) Further, the edge generation unit 2902
Is the result of (step3) (1.00,3.00, -0.84,12.21)
This is the result of adding the increment values (-2.00,1.00, -0.84,4.21)
(−1.00, 4.00, −1.68, 16.42) is output to the correction unit 2903 (process 3104).
【0325】補正部2903では、誤差Eを累積加算す
る(処理3114)。ここでは、累積誤差の結果が1以
上であるため補正処理を行なう。補正処理は、入力され
た(-1.00,4.00,-1.68,16.42)に(step2)と同様に(1.00,
0.00,1.68,-0.42)を加算することにより実現する(処理
3124)。補正結果として(0.00,4.00,0.00,16.00)を
得ることができ、これが出力値となる。この処理後、補
正部2903における累積誤差から1を引いた値を、累
積誤差とする。The correcting section 2903 cumulatively adds the error E (process 3114). Here, since the result of the accumulated error is 1 or more, a correction process is performed. Correction processing is performed on the input (-1.00, 4.00, -1.68, 16.42) in the same way as (step2) with (1.00,
(0.003, 1.68, -0.42) is added (process 3124). (0.00, 4.00, 0.00, 16.00) can be obtained as a correction result, and this is an output value. After this processing, a value obtained by subtracting 1 from the accumulated error in the correction unit 2903 is set as the accumulated error.
【0326】以上のように(step0)から(step4)の処理を
実行することにより、ポリゴンエッジに関して、理想的
なスクリーン座標値およびテクスチャ座標値を得ること
ができる。By executing the processing from (step 0) to (step 4) as described above, ideal screen coordinate values and texture coordinate values can be obtained for polygon edges.
【0327】次に、エッジ生成部2902、補正部29
03の構成例について説明する。Next, the edge generation unit 2902 and the correction unit 29
The configuration example of No. 03 will be described.
【0328】図33は、エッジ生成部2902の構成図
である。図33において、3201a、3201b、3
201cおよび3201dは、増分処理を行なう加算器
である。それぞれの加算器は順に、x、y、u、vに関
する加算を行なうものである。これにより、処理310
1〜処理3104の増分計算を実現することができる。
また、3202a、3202b、3202cおよび32
02dはセレクタである。ポリゴンエッジの最初のエッ
ジ点を算出する場合は、演算部2901からの出力され
る(x,y,u,v)を選択し、それ以外の場合には、補正部2
903からの(x,y,u,v)に対して増分処理を行なった(x,
y,u,v)を選択する。これにより、対象とするポリゴンエ
ッジの初期値から、逐次(x,y,u,v)を算出することがで
きる。FIG. 33 is a configuration diagram of the edge generation unit 2902. In FIG. 33, 3201a, 3201b, 3
201c and 3201d are adders for performing an increment process. Each of the adders sequentially performs addition on x, y, u, and v. Thereby, the process 310
1 to 3104 can be implemented.
Also, 3202a, 3202b, 3202c and 32
02d is a selector. To calculate the first edge point of the polygon edge, select (x, y, u, v) output from the calculation unit 2901; otherwise, select the correction unit 2
(X, y, u, v) from 903 was incremented (x, y, u, v)
Select (y, u, v). This makes it possible to sequentially calculate (x, y, u, v) from the initial value of the target polygon edge.
【0329】図34は、補正部2903の構成図であ
る。図34において、3301a、3301cおよび3
301dは、加算器で、これにより、(数53)に示し
た補正処理を実現する。3302は、演算部2901で
算出された、増分アルゴリズムにより算出する描画点
と、スクリーン画素のサンプル点との差(E)の累積加
算を行なう加算器である。加算器3302の結果によ
り、補正処理のデータを出力とするか補正しないデータ
を出力とするかを決定する。ここでは、加算器3302
における加算結果の値によって決定するのではなく、加
算器のレンジを1未満とし、その加算結果がオーバーフ
ローするかしないかによって、補正処理のデータを出力
とするか、もしくは、補正しないデータを出力とするか
を決定することもできる。また、3303a、3303
cおよび3303dはセレクタで、加算器3302がオ
ーバーフローすれば、補正データすなわち加算器330
1a、3301cおよび3301dからの出力値を出力
し、加算器3302がオーバーフローしなければすれ
ば、補正しないデータを出力するセレクタとする。FIG. 34 is a configuration diagram of the correction unit 2903. In FIG. 34, 3301a, 3301c and 3301
Reference numeral 301d denotes an adder, which implements the correction processing shown in (Equation 53). An adder 3302 performs cumulative addition of the difference (E) between the drawing point calculated by the calculation unit 2901 and calculated by the incremental algorithm and the sample point of the screen pixel. Based on the result of the adder 3302, it is determined whether to output data of the correction processing or output data that is not corrected. Here, the adder 3302
Instead of being determined by the value of the addition result in (1), the range of the adder is set to less than 1, and the data of the correction processing is output or the data not corrected is output depending on whether the addition result overflows or not. You can also decide what to do. Also, 3303a, 3303
c and 3303d are selectors, and when the adder 3302 overflows, correction data, that is, adder 330
A selector that outputs the output values from 1a, 3301c, and 3301d and outputs uncorrected data if the adder 3302 does not overflow.
【0330】したがって、ここで示したエッジ生成部2
902、補正部2903の構成((図28)、(図2
9)参照)により、上述した処理((step0)から(step
4))を実現することができる。Therefore, the edge generation unit 2 shown here
902, the configuration of the correction unit 2903 (FIG. 28), (FIG.
9)), the above processing (from (step0) to (step
4)) can be realized.
【0331】以上のように本実施の形態によれば、エッ
ジ生成部2902と、補正部2903とを設けることに
より、描画対象の画素に対する理想的なスクリーン座標
値およびテクスチャ座標値を得ることが可能となる。こ
れにより、先の実施の形態と同様にポリゴンに含まれる
すべての画素について理想的な対応点を算出することが
でき、テクスチャマッピング画像の画質を向上させるこ
とができる。As described above, according to the present embodiment, the provision of the edge generation unit 2902 and the correction unit 2903 makes it possible to obtain ideal screen coordinate values and texture coordinate values for pixels to be drawn. Becomes This makes it possible to calculate ideal corresponding points for all the pixels included in the polygon, as in the previous embodiment, and improve the image quality of the texture mapping image.
【0332】また、エッジ生成部2902は、従来の増
分計算と同一の回路規模であり、処理速度に関しても、
従来の増分アルゴリズムと同様の処理能力を有する。The edge generation unit 2902 has the same circuit scale as that of the conventional incremental calculation.
It has the same processing power as the conventional incremental algorithm.
【0333】補正部2903における回路規模に関して
も、図34の構成図から分かるように、その構成は極め
て単純で、回路規模を増大させることはない。As can be seen from the configuration diagram of FIG. 34, the circuit size of the correction section 2903 is extremely simple, and does not increase the circuit size.
【0334】したがって、本発明は、回路規模を増大さ
せることなく、また処理能力を落すこともなく、さらに
は、理想的な対応点算出を行なうことができるものであ
る。なお、本実施の形態では、画素におけるサンプル点
を画素において原点にもっとも近い点としたが、このサ
ンプル点の位置は任意である。Therefore, according to the present invention, an ideal corresponding point can be calculated without increasing the circuit scale and without decreasing the processing capability. In the present embodiment, the sample point in the pixel is the point closest to the origin in the pixel, but the position of this sample point is arbitrary.
【0335】なお、本実施の形態では、ポリゴンとテク
スチャの関係は(数1)、(数2)としたが、その関係
は(数1)、(数2)に限るものではない。例えば、こ
の関係を(数17)、(数18)としても正確な対応点
計算を行なうことができる。換言すれば、あらゆる対応
点式に対応することができる。In the present embodiment, the relationship between the polygon and the texture is (Equation 1) and (Equation 2), but the relationship is not limited to (Equation 1) and (Equation 2). For example, even if this relation is expressed by (Equation 17) and (Equation 18), accurate corresponding point calculation can be performed. In other words, it can correspond to any corresponding point expression.
【0336】なお、本実施の形態では、ポリゴンの対応
点計算について説明したが、照度計算、不透明度計算、
バンプマッピング計算などについても同様の処理を実現
することができる(図10、図11参照)。また、不透
明度マッピングや、バンプマッピングなどに関しても同
様な構成で実現することができる。In the present embodiment, the calculation of the corresponding point of the polygon has been described.
Similar processing can be realized for bump mapping calculation and the like (see FIGS. 10 and 11). Also, opacity mapping, bump mapping, and the like can be realized with a similar configuration.
【0337】なお、本実施の形態では、アンチエイリア
シング処理を行なわない方法で説明を行なったが、アン
チエイリアシング処理を含めても同様の処理を行なうこ
とができる。Although the present embodiment has been described with respect to a method in which anti-aliasing processing is not performed, similar processing can be performed including anti-aliasing processing.
【0338】なお、サブピクセルポジショニングを行な
っても、本実施の形態と同様の補正処理を行なうことが
できる。Note that the same correction processing as in the present embodiment can be performed even when sub-pixel positioning is performed.
【0339】(実施の形態7)以下本発明の第7の実施
の形態について図面を参照しながら説明する。Embodiment 7 Hereinafter, a seventh embodiment of the present invention will be described with reference to the drawings.
【0340】図35は本発明の第7の実施の形態におけ
るテクスチャマッピング装置の構成図である。図35に
おいて、図30と同一の参照符号のものは、図30と同
じものを示す。FIG. 35 is a configuration diagram of a texture mapping device according to the seventh embodiment of the present invention. 35, the components having the same reference numerals as those in FIG. 30 indicate the same components as those in FIG.
【0341】3404は、演算部2901で算出した、
E、∂u/∂x、∂v/∂xを入力とし、エッジ生成部
2902で算出した描画点における対応点の補正処理
と、ポリゴン内部のスパン点のスクリーン座標、テクス
チャ座標を算出するスパン生成部である。Reference numeral 3404 denotes a value calculated by the calculation unit 2901.
E, ∂u / ∂x, ∂v / ∂x are input, and correction processing of the corresponding points at the drawing points calculated by the edge generation unit 2902, and span generation for calculating the screen coordinates and texture coordinates of the span points inside the polygon. Department.
【0342】このとき、本実施の形態でのテクスチャマ
ッピング処理について説明する。本実施の形態では、実
施の形態6ににおける補正処理部2902における処理
と、スパン生成部704における処理とを同時に実現す
るスパン生成部3404を設けることにより、理想的な
ポリゴン内部のスクリーン座標およびテクスチャ座標を
算出する。動作概要に関しては、実施の形態6と同様
で、エッジ生成部2902により増分処理を行ない、
(数53)に示した補正処理を行なう。この補正処理を
スパン生成部3404で行なうことが実施の形態7の特
徴である。スパン生成部3404が、補正処理とスパン
処理とを行なうことができるのは、(数53)の補正処
理が、スパン生成における処理(数7)と同一であるか
らである。At this time, the texture mapping processing in the present embodiment will be described. In the present embodiment, by providing the span generation unit 3404 that simultaneously realizes the processing in the correction processing unit 2902 and the processing in the span generation unit 704 in the sixth embodiment, the screen coordinates and the texture inside the ideal polygon are provided. Calculate the coordinates. The outline of the operation is the same as that of the sixth embodiment, and the edge generation unit 2902 performs an incremental process.
The correction processing shown in (Equation 53) is performed. It is a feature of the seventh embodiment that the correction processing is performed by the span generation unit 3404. The span generation unit 3404 can perform the correction processing and the span processing because the correction processing of (Equation 53) is the same as the processing (Equation 7) in the span generation.
【0343】これを実現するための、スパン生成部34
04の構成図を図36に示す。図35では、図30にお
ける補正部2903で行なう処理(数53)で行なう処
理を、スパン生成部3403で行なうものである。この
場合、補正処理を実行するかしないかを判定するEの累
積加算処理をスパン生成部に加えることにより、実現す
ることができる。その実現構成例を図36に示す。[0343] The span generation unit 34 for realizing this.
FIG. 36 shows a configuration diagram of No. 04. In FIG. 35, the processing performed by the processing (Equation 53) performed by the correction unit 2903 in FIG. 30 is performed by the span generation unit 3403. In this case, this can be realized by adding a cumulative addition process of E for determining whether to execute the correction process to the span generation unit. FIG. 36 shows an example of such a configuration.
【0344】図36において、図34に示した補正部2
903の構成図と同一のものに対しては、同一の参照符
号を付ける。このとき、加算器3301a、3301
c、3301dは、補正処理に用いることは先述した。
ここでは、この加算器に補正処理用の動作トリガ信号
と、スパン処理信号を入力させることにより、補正処理
とスパン処理とを一つの回路により実現することが可能
となる。すなわち、スパン生成部3404により、補正
処理とスパン処理が可能となる。また、バッファ350
1a、3501b、3501c、3501dは、イネー
ブル付きの出力バッファである。In FIG. 36, the correction unit 2 shown in FIG.
The same reference numerals are given to the same components as those in the configuration diagram 903. At this time, the adders 3301a and 3301
As described above, c and 3301d are used for the correction processing.
Here, by inputting the operation trigger signal for the correction processing and the span processing signal to this adder, the correction processing and the span processing can be realized by one circuit. That is, the span generation unit 3404 enables the correction process and the span process. The buffer 350
Reference numerals 1a, 3501b, 3501c, and 3501d are output buffers with enable.
【0345】補正処理を行なう前(補正処理トリガが入
る前の加算器3301からの出力)のデータは、スパン
値でないため、このバッファにより、スパン生成部34
04から出力させないためのものである。Data before the correction processing (output from the adder 3301 before the correction processing trigger is input) is not a span value.
This is to prevent the output from the 04.
【0346】補正処理とスパン処理を共通の回路で実現
することにより、回路規模を小さくすることが可能とな
る。By realizing the correction processing and the span processing with a common circuit, the circuit scale can be reduced.
【0347】[0347]
【発明の効果】以上のように本発明によれば、増分アル
ゴリズムにより得られた描画点と、各画素のサンプル点
との差を用いて、マッピング画像上の対応点の補正をお
こなうことにより、高品質な画像を生成することができ
る。また、増分アルゴリズムにより得られた描画点を用
いて決定した画素値を、描画点と画素との相対的位置関
係に基づいて複数の画素値に配分することにより、高品
質な画像を生成することができる。さらに、これらの本
発明は、マッピング装置だけではなく、コンピュータ画
像を生成する一般的なレンダリング処理に適応すること
が可能であり、同様の効果を得ることができる。As described above, according to the present invention, the corresponding point on the mapping image is corrected by using the difference between the drawing point obtained by the incremental algorithm and the sample point of each pixel. High quality images can be generated. In addition, a high-quality image is generated by distributing pixel values determined using drawing points obtained by an incremental algorithm to a plurality of pixel values based on a relative positional relationship between drawing points and pixels. Can be. Further, the present invention can be applied not only to a mapping device but also to general rendering processing for generating a computer image, and similar effects can be obtained.
【図1】本発明のマッピング装置の構成図である。FIG. 1 is a configuration diagram of a mapping device of the present invention.
【図2】本発明のマッピング装置のレンダリングプロセ
ッサの構成図である。FIG. 2 is a configuration diagram of a rendering processor of the mapping device of the present invention.
【図3】本発明のマッピング装置のエッジ生成部の構成
図である。FIG. 3 is a configuration diagram of an edge generation unit of the mapping device of the present invention.
【図4】本発明のマッピング装置の補正部の構成図であ
る。FIG. 4 is a configuration diagram of a correction unit of the mapping device of the present invention.
【図5】本発明のマッピング装置のスパン生成部の構成
図である。FIG. 5 is a configuration diagram of a span generation unit of the mapping device of the present invention.
【図6】値xにおける量子化誤差によるテクスチャのデ
ィスプレースメントを示す図である。FIG. 6 is a diagram illustrating displacement of a texture due to a quantization error at a value x.
【図7】本発明の第1の実施の形態におけるマッピング
装置のアドレス発生部の構成図である。FIG. 7 is a configuration diagram of an address generation unit of the mapping device according to the first embodiment of the present invention.
【図8】本発明の第1の実施の形態におけるパラメータ
補正処理の説明図である。FIG. 8 is an explanatory diagram of a parameter correction process according to the first embodiment of the present invention.
【図9】第1の実施の形態における補正部103aの構
成図である。FIG. 9 is a configuration diagram of a correction unit 103a according to the first embodiment.
【図10】本発明のテクスチャマッピング装置の構成図
である。FIG. 10 is a configuration diagram of a texture mapping device of the present invention.
【図11】本発明の照度マッピング装置の構成図であ
る。FIG. 11 is a configuration diagram of an illuminance mapping device of the present invention.
【図12】本発明の第2の実施の形態におけるパラメー
タ補正処理の説明図である。FIG. 12 is an explanatory diagram of a parameter correction process according to the second embodiment of the present invention.
【図13】第2の実施の形態における補正部103aの
構成図である。FIG. 13 is a configuration diagram of a correction unit 103a according to the second embodiment.
【図14】本発明の第3の実施の形態におけるマッピン
グ装置の構成図である。FIG. 14 is a configuration diagram of a mapping device according to a third embodiment of the present invention.
【図15】本発明の第3の実施の形態における画素補正
処理の説明図である。FIG. 15 is an explanatory diagram of a pixel correction process according to the third embodiment of the present invention.
【図16】第3の実施の形態における共有領域の拡大図
である。FIG. 16 is an enlarged view of a shared area according to the third embodiment.
【図17】第3の実施の形態における生成画像格納部5
05の構成図である。FIG. 17 shows a generated image storage unit 5 according to the third embodiment.
It is a block diagram of 05.
【図18】本発明の第4の実施の形態におけるマッピン
グ装置のアドレス発生部の構成図である。FIG. 18 is a configuration diagram of an address generation unit of a mapping device according to a fourth embodiment of the present invention.
【図19】本発明の第4の実施の形態におけるパラメー
タ補正処理の説明図である。FIG. 19 is an explanatory diagram of a parameter correction process according to the fourth embodiment of the present invention.
【図20】本発明の第4の実施の形態におけるパラメー
タ補正処理の説明図である。FIG. 20 is an explanatory diagram of a parameter correction process according to the fourth embodiment of the present invention.
【図21】第1のエッジ生成部702a、第2のエッジ
生成部702bおよび選択部703における処理概要の
説明図である。FIG. 21 is an explanatory diagram of a processing outline in a first edge generation unit 702a, a second edge generation unit 702b, and a selection unit 703.
【図22】第1のエッジ生成部702aの構成図であ
る。FIG. 22 is a configuration diagram of a first edge generation unit 702a.
【図23】選択部703の構成図である。FIG. 23 is a configuration diagram of a selection unit 703.
【図24】本発明の第4の実施の形態における処理概要
を示すフローチャートである。FIG. 24 is a flowchart illustrating an outline of processing according to a fourth embodiment of the present invention.
【図25】本発明の第4の実施の形態における対象ポリ
ゴンの図である。FIG. 25 is a diagram of a target polygon according to the fourth embodiment of the present invention.
【図26】本発明の第5の実施の形態におけるマッピン
グ装置のアドレス発生部の構成図である。FIG. 26 is a configuration diagram of an address generation unit of a mapping device according to a fifth embodiment of the present invention.
【図27】本発明の第5の実施の形態における処理の流
れを説明する説明図である。FIG. 27 is an explanatory diagram illustrating a flow of a process according to the fifth embodiment of the present invention.
【図28】エッジ生成部2502の構成図である。FIG. 28 is a configuration diagram of an edge generation unit 2502.
【図29】増分切替部2503の構成図である。FIG. 29 is a configuration diagram of an incremental switching unit 2503.
【図30】本発明の第6の実施の形態におけるマッピン
グ装置のアドレス発生部の構成図である。FIG. 30 is a configuration diagram of an address generation unit of a mapping device according to a sixth embodiment of the present invention.
【図31】本発明の第6の実施の形態で対象とするポリ
ゴンと、増分処理および補正処理の遷移を示す図であ
る。FIG. 31 is a diagram illustrating a polygon to be processed according to the sixth embodiment of the present invention and a transition of an increment process and a correction process.
【図32】本発明の第6の実施の形態における処理の流
れを説明する図である。FIG. 32 is a diagram illustrating a flow of a process according to the sixth embodiment of the present invention.
【図33】エッジ生成部2502の構成図である。FIG. 33 is a configuration diagram of an edge generation unit 2502.
【図34】補正部2503の構成図である。34 is a configuration diagram of a correction unit 2503. FIG.
【図35】本発明の第7の実施の形態におけるマッピン
グ装置のアドレス発生部の構成図である。FIG. 35 is a configuration diagram of an address generation unit of a mapping device according to a seventh embodiment of the present invention.
【図36】スパン生成部3404の構成図である。FIG. 36 is a configuration diagram of a span generation unit 3404.
【図37】増分アルゴリズムによるマッピング処理の説
明において対象とするポリゴンを示す図である。FIG. 37 is a diagram showing polygons to be used in the description of the mapping processing by the incremental algorithm.
【図38】増分アルゴリズムによるテクスチャマッピン
グの対応点計算処理の説明図である。FIG. 38 is an explanatory diagram of a corresponding point calculation process of texture mapping by an incremental algorithm.
【図39】増分アルゴリズムによる画素の描画点と理想
的な画素のサンプル点とを示す説明図である。FIG. 39 is an explanatory diagram showing drawing points of pixels and sample points of ideal pixels by an incremental algorithm.
【図40】マッピング処理における画質劣化の例および
理想的な画像を示す図である。FIG. 40 is a diagram illustrating an example of image quality deterioration in a mapping process and an ideal image.
101 演算部 102a エッジ生成部 103a 補正部 104 スパン生成部 201 スクリーン上の画素 202 ポリゴンエッジ 203 エッジ生成部102aにより生成されたエッジ
描画点 204 画素201のサンプル点(X,Y) 205 補正部103aでの補正処理を説明するための
点(x’,y’) 401 スクリーン上の画素 402 ポリゴンエッジ 403 エッジ生成部102aにより生成されたエッジ
描画点 404 画素201のサンプル点(X,Y) 501 演算部 502 エッジ生成部 503 スパン生成部 504 原画像格納部 505 生成画像格納部 506 画像格納処理部 601a スクリーン画素a 601b スクリーン画素b 601c スクリーン画素c 601d スクリーン画素d 602 ポリゴンエッジ 603 描画点 604a スクリーン画素601aのサンプル点 604b スクリーン画素601bのサンプル点 604c スクリーン画素601cのサンプル点 604d スクリーン画素601dのサンプル点 605 テクスチャ画素 606a テクスチャ画素605とスクリーン画素60
1aの共有部Sa 606b テクスチャ画素605とスクリーン画素60
1bの共有部Sb 606c テクスチャ画素605とスクリーン画素60
1cの共有部Sc 606d テクスチャ画素605とスクリーン画素60
1dの共有部Sd 701 演算部 702a 第1のエッジ生成部 702b 第1のエッジ生成部 703 選択部 704 スパン生成部 801 ポリゴンのエッジ 802a 描画点P0 802b 描画点P1 802c 描画点P2 802d 描画点P3 802e 描画点P4 803a スクリーン画素 803b スクリーン画素 803c スクリーン画素 803d スクリーン画素 803e スクリーン画素 804a 画素803aのサンプル点 804b 画素803bのサンプル点 804c 画素803cのサンプル点 804d 画素803dのサンプル点 804e 画素803eのサンプル点 805a 画素803aのサンプル点から画素803b
のサンプル点への変化 805b 画素803bのサンプル点から画素803c
のサンプル点への変化 805c 画素803cのサンプル点から画素803d
のサンプル点への変化 805d 画素803dのサンプル点から画素803e
のサンプル点への変化 901 左方向のサンプル点 902 右方向のサンプル点 903 サンプル点804aからサンプル点901への
変化 904 サンプル点804aからサンプル点902への
変化 1001 描画するポリゴンのエッジ 1002 ポリゴンエッジ点 1003 ポリゴンエッジ点1002の描画画素 1004 ポリゴンエッジ点 1005 ポリゴンエッジ点1004の描画画素 1006 ポリゴンスパン点 1007 ポリゴンスパン点1006の描画画素 1108 ポリゴンスパン点1002と理想的なサンプ
ル点との差(L1) 1109 ポリゴンスパン点1004と理想的なサンプ
ル点との差(L2) 1110 ポリゴンエッジ点1006と理想的なサンプ
ル点との差(L3) 1301 yの微分値、xの偏微分値などの算出(演算
部701での処理) 1302 描画点(x,y)、対応点(u,v)の出力処理
(スパン生成部704での処理) 1303 スパン方向の描画点と対応点の算出処理(ス
パン生成部704) 1304 処理1303の終了条件(スパン生成部70
4の処理終了条件) 1305 エッジの描画点の算出処理(エッジ生成部7
02aとエッジ生成部 702bに共通する処理) 1306の選択基準数値算
出処理(選択部703での処理) 1306 du/dy(L)、du/dy(R)の選択(選択
部703での処理) 1307 対応点の算出処理(エッジ生成部702a) 1308 対応点の算出処理(エッジ生成部702b) 1309 処理全体の終了条件 1401 頂点0(8,0,0,0) 1402 頂点1(0,6,0,16) 1403 頂点2(11,9,16,16) 1404 辺01 1405 辺12 1406 辺20 1601 第1の乗算器 1602 第1の加算器 1603 第2の乗算器 1604 第2の加算器 1701 アドレス発生部 1702 テクスチャメモリ 1703 フレームメモリ 1801 照度演算部 1803 フレームメモリ 1901 乗算器 1902 加算器 2101 乗算器 2102 乗算器 2103 乗算器 2104 乗算器 2105 乗算器 2106 乗算器 2107 乗算器 2108 乗算器 2201 第1のエッジ生成部702aで行なう処理 2202 第2のエッジ生成部702bで行なう処理 2203 第1のエッジ生成部702aで行なう処理 2204 第2のエッジ生成部702bで行なう処理 2205 第1のエッジ生成部702aで行なう処理 2206 第2のエッジ生成部702bで行なう処理 2207 第1のエッジ生成部702aで行なう処理 2208 第2のエッジ生成部702bで行なう処理 2211 選択部703で行なう処理 2212 選択部703で行なう処理 2213 選択部703で行なう処理 2214 選択部703で行なう処理 2221 選択部703で行なう選択処理 2222 選択部703で行なう選択処理 2223 選択部703で行なう選択処理 2224 選択部703で行なう選択処理 2301a x値のセレクタ 2301b y値のセレクタ 2301c u値のセレクタ 2301d v値のセレクタ 2302a x値の加算器 2302b y値の加算器 2302c u値の加算器 2302d v値の加算器 2401 累積加算器 2402a x値のセレクタ 2402c u値のセレクタ 2402d v値のセレクタ 2502 エッジ生成部 2503 増分切替部 2601 エッジ生成部2502で行なう処理 2602 エッジ生成部2502で行なう処理 2603 エッジ生成部2502で行なう処理 2604 エッジ生成部2502で行なう処理 2611 増分切替部2503で行なう処理 2612 増分切替部2503で行なう処理 2613 増分切替部2503で行なう処理 2614 増分切替部2503で行なう処理 2701a 増分値(dx/dy)のセレクタ 2701c 増分値(du/dy)のセレクタ 2701d 増分値(dv/dy)のセレクタ 2702a xの増分処理を行なう加算器 2702b yの増分処理を行なう加算器 2702c uの増分処理を行なう加算器 2702d vの増分処理を行なう加算器 2703a x値のセレクタ 2703b y値のセレクタ 2703c u値のセレクタ 2703d v値のセレクタ 2801 累積加算器 2901 演算部 2902 エッジ生成部 2903 補正部 3005b エッジ生成部2902での増分処理の遷移 3005d エッジ生成部2902での増分処理の遷移 3001 補正処理2903で行なうの補正の遷移 3002 補正処理2903で行なうの補正の遷移 3101 エッジ生成部2902での処理 3102 エッジ生成部2902での処理 3103 エッジ生成部2902での処理 3104 エッジ生成部2902での処理 3111 補正部2903で行なう処理 3112 補正部2903で行なう処理 3113 補正部2903で行なう処理 3114 補正部2903で行なう処理 3122 補正部2903で行なう補正処理 3124 補正部2903で行なう補正処理 3201a xの増分処理を行なう加算器 3201b yの増分処理を行なう加算器 3201c uの増分処理を行なう加算器 3201d vの増分処理を行なう加算器 3202a x値のセレクタ 3202b y値のセレクタ 3202c u値のセレクタ 3202d v値のセレクタ 3301a xに関する補正処理用の加算器 3301c uに関する補正処理用の加算器 3301d vに関する補正処理用の加算器 3303a x値に関する非補正/補正のセレクタ 3303c u値に関する非補正/補正のセレクタ 3303d v値に関する非補正/補正のセレクタ 3404 スパン生成部 3501a x値に関する出力バッファ 3501b y値に関する出力バッファ 3501c u値に関する出力バッファ 3501d v値に関する出力バッファReference Signs List 101 calculation unit 102a edge generation unit 103a correction unit 104 span generation unit 201 pixel on screen 202 polygon edge 203 edge drawing point generated by edge generation unit 102a 204 sample point (X, Y) 205 of pixel 201 205 correction unit 103a (X ', y') 401 Pixels on the screen 402 Polygon edges 403 Edge drawing points generated by the edge generation unit 102a 404 Sample points (X, Y) 501 of the pixels 201 501 Calculation unit 502 Edge generation unit 503 Span generation unit 504 Original image storage unit 505 Generated image storage unit 506 Image storage processing unit 601a Screen pixel a 601b Screen pixel b 601c Screen pixel c 601d Screen pixel d 602 Polygon edge 603 Drawing point 604a Screen Sample point 605 texture pixels 606a texture pixel 605 sample points 604d screen pixel 601d of the sample point 604c screen pixel 601c of sample points 604b screen pixel 601b of over emission pixels 601a and screen pixel 60
1a shared portion Sa 606b texture pixel 605 and screen pixel 60
1b shared portion Sb 606c texture pixel 605 and screen pixel 60
1c shared part Sc 606d texture pixel 605 and screen pixel 60
1d shared unit Sd 701 operation unit 702a first edge generation unit 702b first edge generation unit 703 selection unit 704 span generation unit 801 polygon edge 802a drawing point P0 802b drawing point P1 802c drawing point P2 802d drawing point P3 802e Drawing point P4 803a Screen pixel 803b Screen pixel 803c Screen pixel 803d Screen pixel 803e Screen pixel 804a Sample point of pixel 803a 804b Sample point of pixel 803b 804c Sample point of pixel 803c 804d Sample point of pixel 803d Sample point of pixel 803e 803e From the sample point of 803a to the pixel 803b
805b from the sample point of pixel 803b to pixel 803c
805c from the sample point of pixel 803c to pixel 803d
805d from the sample point of pixel 803d to pixel 803e
To the sample point 901 Left sample point 902 Right sample point 903 Change from sample point 804a to sample point 901 904 Change from sample point 804a to sample point 902 1001 Edge of polygon to be drawn 1002 Polygon edge point 1003 rendering pixel of polygon edge point 1002 1004 polygon edge point 1005 rendering pixel of polygon edge point 1004 1006 polygon span point 1007 rendering pixel of polygon span point 1006 1108 difference (L1) 1109 between polygon span point 1002 and ideal sample point Difference (L2) 1110 between polygon span point 1004 and ideal sample point 1110 Difference (L3) between polygon edge point 1006 and ideal sample point 1301 Calculation of differential value of y, partial differential value of x, etc. 1302 Output processing of drawing point (x, y) and corresponding point (u, v) (processing in span generating section 704) 1303 Calculation processing of drawing point and corresponding point in span direction (span generating section) 704) 1304 Processing 1303 end condition (span generation unit 70
1305) Edge drawing point calculation processing (edge generation unit 7)
02a and the edge generation unit 702b) Selection criterion value calculation processing of 1306 (processing in the selection unit 703) 1306 selection of du / dy (L) and du / dy (R) (processing in the selection unit 703) 1307 Corresponding point calculation processing (edge generation unit 702a) 1308 Corresponding point calculation processing (edge generation unit 702b) 1309 End condition of entire processing 1401 Vertex 0 (8, 0, 0, 0) 1402 Vertex 1 (0, 6, 0,16) 1403 Vertex 2 (11,9,16,16) 1404 Side 01 1405 Side 12 1406 Side 20 1601 First multiplier 1602 First adder 1603 Second multiplier 1604 Second adder 1701 Address generation unit 1702 Texture memory 1703 Frame memory 1801 Illumination calculation unit 1803 Frame memory 1901 Multiplier 1902 Adder 2101 Multiplier 2102 Multiplier 103 Multiplier 2104 Multiplier 2105 Multiplier 2106 Multiplier 2107 Multiplier 2108 Multiplier 2201 Processing performed in first edge generation section 702a 2202 Processing performed in second edge generation section 702b 2203 Performed in first edge generation section 702a Processing 2204 Processing performed by second edge generating section 702b 2205 Processing performed by first edge generating section 702a 2206 Processing performed by second edge generating section 702b 2207 Processing performed by first edge generating section 702a 2208 Second edge Processing performed by the generation unit 702b 2211 Processing performed by the selection unit 703 2212 Processing performed by the selection unit 703 2213 Processing performed by the selection unit 703 2214 Processing performed by the selection unit 703 2221 Selection processing performed by the selection unit 703 222 Performed by the selection unit 703 Selection processing 2223 selection processing performed by the selection unit 703 2224 selection processing performed by the selection unit 703 2301a x-value selector 2301by y-value selector 2301cu u-value selector 2301d v-value selector 2302a x-value adder 2302b y-value addition Unit 2302c u value adder 2302d v value adder 2401 cumulative adder 2402a x value selector 2402c u value selector 2402d v value selector 2502 edge generation unit 2503 increment switching unit 2601 processing performed by edge generation unit 2502 edge 2602 edge Processing performed by generation section 2502 2603 Processing performed by edge generation section 2502 2604 Processing performed by edge generation section 2502 2611 Processing performed by increment switching section 2503 2612 Processing performed by increment switching section 2503 261 Processing performed by increment switching section 2503 2614 Processing performed by increment switching section 2503 2701a Selector of increment value (dx / dy) 2701c Selector of increment value (du / dy) 2701d Selector of increment value (dv / dy) 2702a x Adder 2702by an adder that performs an increment process of y 2702c an adder that performs an increment process of u 2702dv An adder that performs an increment process of v 2703a An x-value selector 2703by A selector of a y value 2703c u A selector of a u value 2703d v Selector 2801 Cumulative adder 2901 Operation unit 2902 Edge generation unit 2903 Correction unit 3005b Transition of increment processing in edge generation unit 2902 3005d Transition of increment processing in edge generation unit 2902 3001 Transition of correction performed in correction processing 2903 3002 Transition of correction performed in correction processing 2903 3101 Processing in edge generation section 2902 3102 Processing in edge generation section 2902 3103 Processing in edge generation section 2902 3104 Processing in edge generation section 2902 3111 Processing performed in correction section 2903 3112 correction Processing performed by unit 2903 3113 Processing performed by correction unit 2903 3114 Processing performed by correction unit 2903 3122 Correction processing performed by correction unit 2903 3124 Correction processing performed by correction unit 2903 3201a Increase processing of adder 3201by that performs x processing Adder to be performed 3201c Adder to perform increment processing of cu 3201dV Adder to perform increment processing of v 3202a Selector of x value 3202b Selector of y value 3202c u Selector of u value 3202dv Selector of v value 3301a Adder 3301c for correction processing for x Adder for correction processing for c u 3301dv Adder for correction processing for v 3303a Non-correction / correction selector for x value 3303c Non-correction / correction selector for u value 3303d v Non-correction / correction selector 3404 Span generator 3501a Output buffer for x value 3501b Output buffer for y value 3501cu Output buffer for u value 3501d Output buffer for v value
フロントページの続き (56)参考文献 特開 平5−298455(JP,A) 特開 平6−309472(JP,A) 特開 平3−192483(JP,A) 特開 平7−160906(JP,A) 特開 平5−298456(JP,A) 特開 平6−259571(JP,A) 特開 平6−195471(JP,A) 特開 平4−222074(JP,A) 実開 平6−37939(JP,U) (58)調査した分野(Int.Cl.7,DB名) G06T 15/00 - 15/70 G06T 3/00 - 3/60 JICSTファイル(JOIS)Continuation of the front page (56) References JP-A-5-298455 (JP, A) JP-A-6-309472 (JP, A) JP-A-3-192483 (JP, A) JP-A-7-160906 (JP) JP-A-5-298456 (JP, A) JP-A-6-259571 (JP, A) JP-A-6-195471 (JP, A) JP-A-4-222074 (JP, A) 6-37939 (JP, U) (58) Fields investigated (Int. Cl. 7 , DB name) G06T 15/00-15/70 G06T 3/00-3/60 JICST file (JOIS)
Claims (23)
ポリゴンの頂点の位置と該ポリゴン頂点にあたえられた
対応点とに基づいて、該ポリゴンに対応するパラメータ
を生成する演算部と、 該パラメータに基づいて、該ポリゴンのエッジ上にある
第1の描画点の位置と該第1の描画点に対応する第1の
対応点の位置とを決定するエッジ生成部と、 該第1の描画点に対応する描画画素を決定し、さらに該
描画画素に対応するサンプル点を決定し、該サンプル点
に基づいて該第1の対応点の位置を補正する補正部と、 該パラメータと該サンプル点とに基づいて、該ポリゴン
内部の第2の描画点の位置を決定し、該第2の描画点に
対応する第2の対応点の位置を決定するスパン生成部と
を備えたマッピング装置。 1. A based on the corresponding point given to the position and the polygon vertices of the vertex of the projected polygon on a plane having a plurality of pixels, and a calculation unit for generating a parameter corresponding to said polygon, said An edge generation unit that determines a position of a first drawing point on an edge of the polygon and a position of a first corresponding point corresponding to the first drawing point, based on the parameter; A correction unit that determines a drawing pixel corresponding to the point, further determines a sample point corresponding to the drawing pixel, and corrects the position of the first corresponding point based on the sample point; And a span generation unit for determining the position of a second drawing point inside the polygon based on the second drawing point, and determining the position of a second corresponding point corresponding to the second drawing point.
1次元の補正を行う請求項1に記載のマッピング装置。 Wherein said correction unit, the mapping apparatus according to claim 1 for 1-dimensional correction with respect to said first drawing point.
ッジと前記描画画素の上部のエッジとが交わる点を第1
の描画点とし、前記補正部は、該描画画素内の原点に最
も近い点を前記サンプル点とする請求項1に記載のマッ
ピング装置。 3. The image processing apparatus according to claim 1, wherein the edge generating unit determines a point at which an edge of the polygon intersects an upper edge of the drawing pixel with a first point.
Of the drawing point, the correction unit, the mapping apparatus according to the closest point to the origin of the image drawing within the pixel to claim 1, wherein the sample point.
所定の値に設定し、前記補正部は、シフタと加算器とを
含んでいる請求項3に記載のマッピング装置。 4. Set the bit precision representing the parameter to a predetermined value, said correction unit, the mapping apparatus according to claim 3 and a shifter and an adder.
ポリゴンの頂点の位置と該ポリゴン頂点に与えられた対
応点とに基づいて、該ポリゴンに対応するパラメータを
生成する演算部と、 該パラメータに基づいて、ポリゴンのエッジ上にある第
1の描画点の位置と該第1の描画点に対応する第1の対
応点とを決定するエッジ生成部と、 該パラメータと該第1の描画点とに基づいて、該ポリゴ
ン内部の点である第2の描画点の位置を決定し、該第2
の描画点に対応する第2の対応点の位置を決定するスパ
ン生成部と、 該平面の該複数の画素のそれぞれに対応する値を格納す
る生成画像格納部と、 該第1の描画点の位置または、該第2の描画点の位置に
基づいて生成された画素値を、該生成画像格納部の1つ
の画素または、隣接する複数の画素に対応する値として
格納する画素格納処理部とを備えたマッピング装置。 5. An arithmetic unit for generating a parameter corresponding to a polygon based on a position of a vertex of the polygon projected on a plane having a plurality of pixels and a corresponding point given to the polygon vertex; An edge generation unit that determines a position of a first drawing point on an edge of a polygon and a first corresponding point corresponding to the first drawing point based on the parameter; and the parameter and the first drawing And determining the position of a second drawing point, which is a point inside the polygon, based on the
A span generation unit that determines the position of a second corresponding point corresponding to the drawing point of the above; a generated image storage unit that stores values corresponding to each of the plurality of pixels on the plane; A pixel storage processing unit that stores a pixel value generated based on the position or the position of the second drawing point as a value corresponding to one pixel of the generated image storage unit or a plurality of adjacent pixels. Equipped mapping device.
って定義される前記平面上の領域の面積の、前記平面上
の1つの画素または隣接する複数の画素の占める領域の
面積に対する比を算出する面積比算出部と、この比に基
づいて、前記生成された画素値を該平面上の1つの画素
または隣接する複数の画素に配分する画素値配分部とを
備えている請求項5に記載のマッピング装置。6. The pixel storage processing unit according to claim 1 , wherein the area of the area on the plane defined by the position of the first drawing point or the second drawing point is one pixel on the plane or an adjacent pixel on the plane. An area ratio calculation unit that calculates a ratio of an area occupied by a plurality of pixels to an area, and a pixel value that distributes the generated pixel value to one pixel or a plurality of adjacent pixels on the plane based on the ratio. The mapping device according to claim 5 , further comprising a distribution unit.
(x,y)とするとき、(1−x)と(1−y)とを乗
算する第1の乗算器と、xと(1−y)とを乗算する第
2の乗算器と、(1−x)とyとを乗算する第3の乗算
器と、xとyとを乗算する第4の乗算器とを有してお
り、 前記画素値配分部は、第1の乗算器からの出力と前記生
成された画素値とを乗算する第5の乗算器と、第2の乗
算器からの出力と前記生成された画素値とを乗算する第
6の乗算器と、第3の乗算器からの出力と前記生成され
た画素値とを乗算する第7の乗算器と、第4の乗算器か
らの出力と前記生成された画素値とを乗算する第8の乗
算器とを有している請求項6に記載のマッピング装置。 7. When the position of the first drawing point or the second drawing point is (x, y), the area ratio calculation unit calculates (1-x) and (1-y). A first multiplier for multiplying, a second multiplier for multiplying x and (1-y), a third multiplier for multiplying (1-x) and y, and x and y A fourth multiplier that multiplies the output from the first multiplier by the generated pixel value; and a second multiplier that multiplies the output from the first multiplier by the generated pixel value. A sixth multiplier for multiplying an output from a multiplier and the generated pixel value, a seventh multiplier for multiplying an output from a third multiplier and the generated pixel value, 7. The mapping apparatus according to claim 6 , further comprising: an eighth multiplier for multiplying an output from the fourth multiplier and the generated pixel value.
点の位置(x,y)または前記生成された画素値を表現
するビット精度を所定の値に設定し、前記第1から第8
の乗算器のそれぞれはシフタと加算器とを含んでいる請
求項7に記載のマッピング装置。8. The method according to claim 1, wherein a position (x, y) of the first drawing point or the second drawing point or a bit precision for expressing the generated pixel value is set to a predetermined value, and 8
The mapping device according to claim 7 , wherein each of the multipliers includes a shifter and an adder.
ッジと前記対応する画素の上部のエッジとが交わる点を
前記第1の描画点とし、これによって前記第2の乗算
器、前記第4の乗算器、前記第6の乗算器、前記第8の
乗算器を省く請求項7に記載のマッピング装置。 9. The edge generating section sets a point at which an edge of the polygon intersects with an upper edge of the corresponding pixel as the first drawing point, whereby the second multiplier and the fourth The mapping device according to claim 7 , wherein the multiplier, the sixth multiplier, and the eighth multiplier are omitted.
たポリゴンの頂点の位置と該ポリゴン頂点にあたえられ
た対応点とに基づいて、該ポリゴンに対応する複数のパ
ラメータであって互いに異なる第1のパラメータと第2
のパラメータと第3のパラメータとを含む複数のパラメ
ータを生成する演算部と、 該第1のパラメータに基づいて、該ポリゴンのエッジ上
の第1の描画点に対応する第1の候補点の位置と該第1
の候補点に対応する第1の対応点の位置とを決定する第
1のエッジ生成部と、 該第2のパラメータに基づいて、該ポリゴンのエッジ上
の第1の描画点に対応する第2の候補点の位置と該第2
の候補点に対応する第2の対応点の位置とを決定する第
2のエッジ生成部と、 該第1のエッジ生成部の出力と該第2のエッジ生成部の
出力のうちの一方を選択する選択部と、 該第3のパラメータと該選択部によって選択された出力
とに基づいて、該ポリゴン内部の第2の描画点の位置を
決定し、該第2の描画点に対応する第3の対応点の位置
を決定するスパン生成部とを備えたマッピング装置。 10. Based on a plurality of corresponding points given to the position and the polygon vertices of the polygon vertices projected on a plane including a pixel, a plurality of paths corresponding to the polygon
A first parameter and a second parameter
An arithmetic unit for generating a plurality of parameters <br/> over data including the parameter and the third parameter of, based on the first parameter, the second corresponding to the first drawing point on the edge of the polygon Position of the first candidate point and the first candidate point
A first edge generation section for determining a first corresponding point position corresponding to the candidate points, based on the second parameter, the second corresponding to the first drawing point on the polygon edges Of the candidate point of
A second edge generating unit that determines a position of a second corresponding point corresponding to the candidate point, and selecting one of an output of the first edge generating unit and an output of the second edge generating unit a selection unit for, the third parameter and based on the selected output by said selection section, determines a position of the second drawing point inside the polygon, the third corresponding to the drawing point of the second And a span generator for determining the position of the corresponding point of the mapping.
2のエッジ生成部のいずれか一方が動作している間はも
う一方のエッジ生成部が動作していない請求項10のマ
ッピング装置。 11. The mapping apparatus according to claim 10 , wherein while one of said first edge generator and said second edge generator is operating, the other edge generator is not operating.
ポリゴンのエッジの傾きを算出し、前記選択部は該傾き
の小数部を累積加算し、該累積加算の結果が所定の値を
越えるか否かに応じて、前記第1のエッジ生成部の出力
と前記第2のエッジ生成部の出力のうちの一方を選択す
る請求項10に記載のマッピング装置。 12. The calculation unit calculates the slope of the edge of the polygon on the plane, the selection unit cumulatively adds the fractional part of-out inclined, whether the result of該累product addition exceeds a predetermined value The mapping apparatus according to claim 10 , wherein one of an output of the first edge generation unit and an output of the second edge generation unit is selected according to the setting.
たポリゴンの頂点の位置と該ポリゴン頂点にあたえられ
た対応点とに基づいて、該ポリゴンに対応する少なくと
も2組のパラメータを生成する演算部と、 該少なくとも2組のパラメータのうち1組のパラメータ
を選択する増分切換部と、 該選択された1組のパラメータに基づいて、該ポリゴン
のエッジ上にある第1の描画点に対応するサンプル点の
位置と、該第1の描画点に対応する第1の対応点の位置
を決定するエッジ生成部と、 該選択された1組のパラメータと該サンプル点の位置と
に基づいて、該ポリゴン内部の第2の描画点の位置を決
定し、該第2の描画点に対応する第2の対応点の位置を
決定するスパン生成部とを備えたマッピング装置。 13. An operation for generating at least two sets of parameters corresponding to a polygon based on the position of a vertex of the polygon projected on a plane having a plurality of pixels and a corresponding point given to the polygon vertex. And an increment switching unit for selecting one of the at least two sets of parameters; and a first drawing point on the edge of the polygon based on the selected set of parameters. An edge generation unit that determines a position of a sample point, a position of a first corresponding point corresponding to the first drawing point, and the position of the sample point based on the selected set of parameters and the position of the sample point. A span generation unit for determining a position of a second drawing point inside the polygon and determining a position of a second corresponding point corresponding to the second drawing point.
ポリゴンのエッジの傾きを算出し、 前記増分切替部は、該傾きの小数部を累積加算し、累積
加算した結果が所定の値を越えるか否かに応じて前記少
なくとも2組のパラメータのうち1組のパラメータを選
択する、請求項13に記載のマッピング装置。 14. The arithmetic unit calculates an inclination of the edge of the polygon on the plane, and the increment switching unit accumulatively adds a decimal part of the inclination, and determines whether a result of the accumulative addition exceeds a predetermined value. 14. The mapping device according to claim 13, wherein one set of parameters is selected from the at least two sets of parameters according to whether or not the set of parameters is determined.
たポリゴンの頂点の位置と該ポリゴン頂点にあたえられ
た対応点とに基づいて、該ポリゴンに対応するパラメー
タを生成する演算部と、 該パラメータに基づいて、該ポリゴンのエッジ上にある
第1の描画点に対応する第1の対応点の位置と該第1の
描画点に対応するサンプル点の位置とを決定するエッジ
生成部と、 該第1の描画点と該サンプル点との距離が所定の値を超
えるときに、該サンプル点の位置を補正する補正部と、 該パラメータと該サンプル点とに基づいて、該ポリゴン
内部の第2の描画点の位置を決定し、該第2の描画点に
対応する第2の対応点の位置を決定するスパン生成部と
を備えたマッピング装置。 15. An arithmetic unit for generating a parameter corresponding to a polygon based on a position of a vertex of the polygon projected on a plane having a plurality of pixels and a corresponding point given to the polygon vertex; An edge generation unit that determines a position of a first corresponding point corresponding to a first drawing point on an edge of the polygon and a position of a sample point corresponding to the first drawing point based on the parameter; A correction unit configured to correct the position of the sample point when a distance between the first drawing point and the sample point exceeds a predetermined value; and a correction unit configured to correct a position of the sample point within the polygon based on the parameter and the sample point. And a span generator for determining the position of the second drawing point and determining the position of the second corresponding point corresponding to the second drawing point.
まれており、前記スパン生成部は、前記サンプル点の位
置を補正する処理と、前記第2の描画点の位置と前記第
2の対応点の位置を決定する処理との両方を実行する、
請求項15に記載のマッピング装置。 16. The system according to claim 16, wherein the correction section is included in the span generation section, and the span generation section corrects a position of the sample point, and stores a position of the second drawing point and the second drawing point. Perform both the process of determining the position of the corresponding point,
The mapping device according to claim 15 .
ポリゴンのエッジの傾きを算出し、前記スパン生成部は
該傾きの小数部を累積加算し、該累積加算の結果が所定
の値を越えるか否かに応じて、前記サンプル点の位置を
補正するか否かを決定する請求項16に記載のマッピン
グ装置。 17. The arithmetic unit calculates an inclination of an edge of the polygon on the plane, the span generation unit accumulatively adds a decimal part of the inclination, and determines whether a result of the accumulative addition exceeds a predetermined value. 17. The mapping apparatus according to claim 16 , wherein whether to correct the position of the sample point is determined according to whether or not the mapping is performed.
を表現するための属性値を有しており、該属性値に基づ
いて前記第1の対応点および前記第2の対応点に対応す
る値を生成する手段をさらに有する請求項1から請求項
17に記載のマッピング装置。 18. The polygon vertex has an attribute value for expressing a polygon material, and a value corresponding to the first corresponding point and the second corresponding point is determined based on the attribute value. claim from claim 1, further comprising a generation to means
18. The mapping device according to 17 .
はディスプレースメントの座標値を有しており、ポリゴ
ン内部のバンプもしくはディスプレースメント計算を行
う手段をさらに有する請求項1から請求項17に記載の
マッピング装置。 19. Polygon vertices, bumps, or has a coordinate value of the displacement, the mapping apparatus according to claims 1 to 17, further comprising means for performing polygon internal bump or displacement calculation .
アシング処理を行う手段をさらに有する請求項1から請
求項17に記載のマッピング装置。 20. The method of claim 19, wherein the mapping device, mapping device according to claims 1 to 17, further comprising means for performing anti-aliasing processing.
は、対応する複数のサブピクセルを有しており、前記第
1の描画点がサブピクセルポジショニングに対応して決
定される請求項1から請求項4もしくは請求項10から
請求項17のいずれかに記載のマッピング装置。The method according to claim 21, wherein each of the plurality of pixels on the plane has a corresponding plurality of sub-pixels, wherein claim 1, wherein the first drawing point is determined in correspondence with the sub-pixel positioning 18. The mapping device according to claim 4, or any one of claims 10 to 17 .
たポリゴンの頂点の位置と該ポリゴン頂点にあたえられ
た対応点とに基づいて、該ポリゴンに対応するパラメー
タを生成するステップと、 該パラメータに基づいて、該ポリゴンのエッジ上にある
第1の描画点の位置と該第1の描画点に対応する第1の
対応点の位置とを決定するステップと、 該第1の描画点に対応する描画画素を決定し、さらに該
描画画素に対応するサンプル点を決定し、該サンプル点
に基づいて該第1の対応点の位置を補正するステップ
と、 該パラメータと該サンプル点とに基づいて、該ポリゴン
内部の第2の描画点の位置を決定し、該第2の描画点に
対応する第2の対応点の位置を決定するステップとを包
含するマッピング方法。 22. A step of generating a parameter corresponding to the polygon based on a position of a vertex of the polygon projected on a plane having a plurality of pixels and a corresponding point given to the vertex of the polygon; Determining the position of a first drawing point on the edge of the polygon and the position of a first corresponding point corresponding to the first drawing point, based on Determining a rendering pixel to be rendered, further determining a sample point corresponding to the rendering pixel, and correcting the position of the first corresponding point based on the sample point; based on the parameter and the sample point Determining the position of a second drawing point inside the polygon and determining the position of a second corresponding point corresponding to the second drawing point.
たポリゴンの頂点の位置と該ポリゴン頂点に与えられた
対応点とに基づいて、該ポリゴンに対応するパラメータ
を生成するステップと、 該パラメータに基づいて、ポリゴンのエッジ上にある第
1の描画点の位置と該第1の描画点に対応する第1の対
応点とを決定するステップと、 該パラメータと該第1の描画点とに基づいて、該ポリゴ
ン内部の点である第2の描画点の位置を決定し、該第2
の描画点に対応する第2の対応点の位置を決定するステ
ップと、 該第1の描画点の位置または、該第2の描画点の位置に
基づいて生成された値を、該平面上の該複数の画素の1
つの画素または、隣接する複数の画素に対応する値とす
るステップとを包含するマッピング方法。 23. Generating a parameter corresponding to the polygon based on a position of a vertex of the polygon projected on a plane having a plurality of pixels and a corresponding point given to the polygon vertex; Determining a position of a first drawing point on the edge of the polygon and a first corresponding point corresponding to the first drawing point, based on the parameter and the first drawing point. The position of a second drawing point, which is a point inside the polygon, is determined based on the second
Determining a position of a second corresponding point corresponding to the drawing point of the above, and a value generated based on the position of the first drawing point or the position of the second drawing point on the plane. 1 of the plurality of pixels
A value corresponding to one pixel or a plurality of adjacent pixels.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17022696A JP3068007B2 (en) | 1995-06-30 | 1996-06-28 | Rendering device and mapping device, and rendering method and mapping method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16666295 | 1995-06-30 | ||
JP7-166662 | 1995-06-30 | ||
JP17022696A JP3068007B2 (en) | 1995-06-30 | 1996-06-28 | Rendering device and mapping device, and rendering method and mapping method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0973547A JPH0973547A (en) | 1997-03-18 |
JP3068007B2 true JP3068007B2 (en) | 2000-07-24 |
Family
ID=26490947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17022696A Expired - Fee Related JP3068007B2 (en) | 1995-06-30 | 1996-06-28 | Rendering device and mapping device, and rendering method and mapping method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3068007B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007126046A1 (en) * | 2006-04-27 | 2007-11-08 | Kabushiki Kaisha Yakult Honsha | Process for production of camptothecin derivative |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1659536A1 (en) * | 2004-11-19 | 2006-05-24 | Telefonaktiebolaget LM Ericsson (publ) | Method and apparatus for pixel sampling |
-
1996
- 1996-06-28 JP JP17022696A patent/JP3068007B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007126046A1 (en) * | 2006-04-27 | 2007-11-08 | Kabushiki Kaisha Yakult Honsha | Process for production of camptothecin derivative |
Also Published As
Publication number | Publication date |
---|---|
JPH0973547A (en) | 1997-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5586234A (en) | Parallel processing three-dimensional drawing apparatus for simultaneously mapping a plurality of texture patterns | |
JP3608801B2 (en) | Image generator | |
US7903112B2 (en) | Drawing processing apparatus, texture processing apparatus, and tessellation method | |
US6184891B1 (en) | Fog simulation for partially transparent objects | |
JPH05307610A (en) | Texture mapping method and its device | |
GB2285377A (en) | Method for generating a subpixel mask for anti-aliasing in a computer graphics system and apparatus thereof | |
WO1996027168A1 (en) | Data processor and shading device | |
US5852446A (en) | Rendering apparatus and rendering method, and mapping apparatus and mapping method | |
US6549209B1 (en) | Image processing device and image processing method | |
US6476819B1 (en) | Apparatus and method for assigning shrinkage factor during texture mapping operations | |
JP3068007B2 (en) | Rendering device and mapping device, and rendering method and mapping method | |
US5179647A (en) | Method and apparatus for implementing adaptive forward differencing using integer arithmetic | |
US7142224B2 (en) | Polygon drawing apparatus and method, and storage medium for implementing the same method | |
JP3746211B2 (en) | Drawing apparatus, drawing method, drawing program, computer-readable recording medium recording the drawing program, and graphics processor | |
US7015917B2 (en) | Curved surface subdivision apparatus | |
US6965382B2 (en) | Graphic image rendering apparatus | |
JPH03144782A (en) | Three-dimensional processor | |
US7079150B1 (en) | Image processing wherein decompression and compression methods provide faster transmission of texture data between a texture buffer and Aprocessor than between a storage device and a processor | |
US6476818B1 (en) | Storage circuit control device and graphic computation device | |
JPH09231352A (en) | Method for mapping pixel picture | |
JP3268484B2 (en) | Shading method and shading device | |
JP4387611B2 (en) | Drawing apparatus and drawing method | |
US7768512B1 (en) | System and method for rasterizing primitives using direct interpolation | |
JP2766478B2 (en) | Image processing system | |
JP3024178B2 (en) | Polygon fill device for image processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20000420 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090519 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100519 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110519 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110519 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120519 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |