JPH0973547A - Rendering device/mapping device and rendering method/ mapping method - Google Patents
Rendering device/mapping device and rendering method/ mapping methodInfo
- Publication number
- JPH0973547A JPH0973547A JP17022696A JP17022696A JPH0973547A JP H0973547 A JPH0973547 A JP H0973547A JP 17022696 A JP17022696 A JP 17022696A JP 17022696 A JP17022696 A JP 17022696A JP H0973547 A JPH0973547 A JP H0973547A
- Authority
- JP
- Japan
- Prior art keywords
- point
- polygon
- pixel
- edge
- 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.)
- Granted
Links
Landscapes
- Image Generation (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、コンピュータグラ
フィックス(CG)処理におけるレンダリング装置およ
びその方法に関するものであり、特に高画質な画像を生
成するためのテクスチャマッピングを行うマッピング装
置およびマッピング方法に関するものである。さらに本
発明は、CGを生成する上で行う、照度計算、不透明度
計算、バンプ計算など、様々なCGの計算に応用するこ
とができるものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a rendering device and method in computer graphics (CG) processing, and more particularly to a mapping device and mapping method for performing texture mapping to generate a high quality image. Is. Further, the present invention can be applied to various CG calculations such as illuminance calculation, opacity calculation, and bump calculation, which are performed when generating a CG.
【0002】[0002]
【従来の技術】近年、コンピュータグラフィックスや、
ゲーム機などの分野において、テクスチャマッピングを
用いたポリゴンレンダリング処理がよく行われる。通
常、インバースマップと呼ばれるテクスチャマッピング
手法では、スクリーン座標(Xs,Ys)から対応するテクス
チャパターン(u,v)の座標を計算し、算出した座標のテ
クスチャの点(対応点)の色をスクリーン座標(Xs,Ys)
に反映させる。2. Description of the Related Art In recent years, computer graphics and
In the field of game machines and the like, polygon rendering processing using texture mapping is often performed. Usually, in the texture mapping method called 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 into the screen coordinates. (Xs, Ys)
To reflect.
【0003】この対応点計算は、処理の高速性、構成回
路の簡単化などの点から、増分アルゴリズム(Increment
al Algorithm:各ステップにおいて、前ステップの計算
結果に基づいて増分計算を行なう)により実現している
ものが多い(George Wolberg,“Digital Image Warpin
g,” pp189-pp204)。This corresponding point calculation is performed by the incremental algorithm (Increment Algorithm) from the viewpoints of high speed processing, simplification of constituent circuits, etc.
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 the texture mapping processing by the incremental algorithm. Here, it is assumed that the relationship of (Equation 1) and (Equation 2) is established between the point (x, y) on the polygon of the screen coordinates and the point (u, v) on the texture of the texture coordinates. Hereinafter, the calculation for obtaining (u, v) by (Equation 1) and (Equation 2) will be referred to as corresponding point calculation.
【0005】[0005]
【数1】u = F(x,y) = a×x + b×y + c## EQU1 ## u = 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は、増分アルゴリ
ズムで算出するスクリーン上の描画点を表す。描画点と
は、ポリゴンを描画する場合に、スクリーンに投影され
たポリゴン上に設定されるものである。各画素に与える
べき画素値は、描画点の座標値に基づいて決定される。
描画点を決定する方法として、増分アルゴリズムがよく
用いられる。増分アルゴリズムは、ポリゴンエッジ(ポ
リゴンの境界)上の点を基準にして描画点を決定する。
特に、マッピング装置では、マッピング画像(例えばテ
クスチャ画像)上において各描画点に対応する対応点を
決定し、その対応点の画素値をスクリーン上の画素に反
映させることでマッピングを行う。対応点の決定は対応
点計算により実行される。## EQU00002 ## v = G (x, y) = d.times.x + e.times.y + f In FIG. 37, the part surrounded by the grid is 1 of the screen.
It represents a pixel. The triangles in the figure indicate polygons projected on the screen. Point 1401,
1402 and 1403 are vertices that form this polygon. The point 1401 is the 0th vertex, the point 1402 is the first vertex, and the point 1403 is the second vertex, and the respective screen coordinates and the corresponding texture coordinates are (8,0,0,0), (0,
6,0,16) and (11,9,16,16). The side 1404 is the 0th
Edge 0 that is connected by the vertex 1401 and the first vertex 1402 of
1, the side 1405 is the first vertex 1402 and the second vertex 14
The side 12 and the side 1406 connected by 03 are the second vertices 140.
The side 20 is connected to 3 and the 0th vertex 1401. Furthermore, points 1002, 1004, and 1006 represent drawing points on the screen calculated by the incremental algorithm. The drawing point is set on the polygon projected on the screen when the polygon is drawn. The pixel value to be given to each pixel is determined based on the coordinate value of the drawing point.
An incremental algorithm is often used as a method of determining a drawing point. The incremental algorithm determines a drawing point based on a point on the polygon edge (boundary of the polygon).
In particular, the mapping device determines a corresponding point corresponding to each drawing point on a mapping image (for example, a texture image) and reflects the pixel value of the corresponding point on a pixel on the screen to perform mapping. The determination of the corresponding points is performed by calculating the corresponding points.
【0007】以下、ポリゴンエッジにおける対応点計算
の詳細を説明する。図38において、格子に囲まれた部
分はスクリーンの1画素である。図38は図37におけ
る辺1404の一部を示している。図37および図38
における点1002、1004、1006は同じ描画点
を表す。テクスチャマッピングにより描画するポリゴン
のエッジ1001は辺1404の一部であり、エッジ1
001の右側に描画対象とするポリゴンが存在する。増
分アルゴリズムの前ステップで求めたポリゴンエッジ上
の描画点を1002とし、エッジ描画点1002の画素
値が反映される画素を1003とする。ポリゴンエッジ
に関して現在ステップで求めるエッジ描画点を1004
とし、エッジ描画点1004の画素値が反映される画素
を1005とする。Details of calculation of corresponding points at polygon edges will be described below. In FIG. 38, the portion surrounded by the grid is one pixel on 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 drawn by texture mapping is a part of the side 1404.
A polygon to be drawn exists on the right side of 001. The drawing point on the polygon edge obtained in the previous step of the incremental algorithm is set to 1002, and the pixel to which the pixel value of the edge drawing point 1002 is reflected is set to 1003. For the polygon edge, the edge drawing point found in the current step is 1004.
Then, the pixel to which the pixel value of the edge drawing point 1004 is reflected is set to 1005.
【0008】ポリゴンエッジ上の描画点および描画点に
対応する対応点の算出はスキャンラインを逐次変化させ
て行ない、スキャンラインがポリゴン全体をスキャンし
た時点で、ポリゴンエッジに関する処理を終了する。こ
こでは、スキャンラインをスクリーンの水平方向のライ
ンとして設定し、このスキャンラインをスクリーンの上
から下に変化させることによって、ポリゴン全体のスキ
ャンを行う。言い換えると、ポリゴンのスキャンはスキ
ャンラインのy値を1づつ加算していくことと同義とす
る。The drawing points on the polygon edge and the corresponding points corresponding to the drawing points are calculated by sequentially changing the scan line, and when the scan line scans the entire polygon, the processing relating to the polygon edge is ended. Here, the scan line is set as a horizontal line on the screen, and the entire polygon is scanned by changing the scan line from the top to the bottom of the screen. In other words, polygon scanning is synonymous with adding y values of scan lines 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 set to (x0, y0, u
0, v0) and the screen coordinates of the edge drawing point 1004 and the texture coordinates of the corresponding points 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)はエッジに関するテクスチャマッピング
の対応点計算の一般式で、添字はスキャンラインの番号
を表す。[Expression 3] (x1, y1, u1, v1) = (x0 + dx / dy, y0 + 1, u0 + du / dy, v0 + dv / dy) Similarly, (Expression 4) corresponds to the edge texture mapping. In the general formula for point calculation, the subscript indicates the scan line number.
【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) ((expression 1) , (U and v can be differentiated from y from (Equation 2)) By performing the processing of (Equation 4) from the start point to the end 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 (Texture coordinate value) can be calculated.
【0012】ここで、増分アルゴリズムによる処理を実
現するために必要とするパラメータ(DDAパラメータ)
はdx/dy、du/dy、dv/dyで、それぞれHere, the parameters (DDA parameters) required to realize the processing by the incremental algorithm
Is dx / dy, du / dy, 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 となる。[Expression 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.
【0014】図37におけるポリゴンエッジにおけるス
クリーン座標とテクスチャ座標の算出は次のように実現
することができる。ここでは辺1404について算出を
行なう。Calculation of screen coordinates and texture coordinates at the polygon edge in FIG. 37 can be realized as follows. Here, the 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 corresponding point calculation in the polygon span (internal polygon point) will be described. The point of the polygon span obtained in the previous step (hereinafter referred to as the span point) is the span point 10
04, and the pixel in which the pixel value of the span point 1004 is reflected is pixel 1005. The point of the polygon span to be obtained in the current step is set to the span point 1006 and the span point 10
A pixel in which the pixel value of 06 is reflected is defined as a pixel 1007.
The polygon span point 1004 is the same as the polygon edge point. Note that the span points include edge points, and the point 1004 is also referred to as a span point.
【0016】ポリゴンスパンでの描画点、および対応点
の算出は描画対象の画素(以下、描画画素とする)を逐
次変化させて行ない、ポリゴンスパン全体を描画した時
点でポリゴンスパンに関する処理を終了する。ここで
は、描画画素を左から右に変化させるとし、スクリーン
座標値のxを1づつ加算することと同義とする。The drawing points and corresponding points in the polygon span are calculated by sequentially changing the drawing target pixel (hereinafter referred to as the drawing pixel), and when the entire polygon span is drawn, the processing concerning the polygon span is ended. . Here, it is assumed that the drawing pixel is changed from left to right and that the screen coordinate value x is added 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 set to (x1, y1, u1, v1), and the span point 1006
Let (x2, y2, u2, v2) be the texture coordinates of the screen coordinates of and the corresponding point corresponding to the span point 1006,
These can be expressed by the following equation (Equation 6).
【0018】[0018]
【数6】 (x2,y2,u2,v2) = ( x1 +1 , y1 , u1+∂u/∂x , v1+∂v/∂x ) 同様に(数7)はポリゴンスパンに関するテクスチャマ
ッピングの対応点計算の一般式で、添字は描画画素の番
号を表す。(Equation 6) (x2, y2, u2, v2) = (x1 + 1, y1, u1 + ∂u / ∂x, v1 + ∂v / ∂x) Similarly, (Equation 7) is the corresponding point of the texture mapping regarding 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) ((Equation 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 value of the drawing point (screen coordinate value) and the coordinate of the corresponding point with respect to the polygon span The value (texture coordinate value) can be calculated.
【0020】ここで、増分アルゴリズムによる処理を実
現するために必要とするパラメータ(DDAパラメータ)
は∂u/∂x、∂v/∂xで、それぞれHere, the parameters (DDA parameters) required to realize the processing by the incremental algorithm
Is ∂u / ∂x, ∂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 となる。[Equation 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.
【0022】図37におけるポリゴンスパンにおけるス
クリーン座標とテクスチャ座標の算出は次のように実現
することができる。ここではスパン点1004が含まれ
るスパンの算出を行なう。Calculation of screen coordinates and texture coordinates in the polygon span shown in FIG. 37 can be realized as follows. Here, the 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) The calculation of the span point is continued until the edge on the right side of the figure is crossed.
【0024】以上説明した増分アリゴリズムにより、テ
クスチャマッピング処理における正確な対応点計算を高
速に行なうことができる。これにより算出した(u,v)
値でテクスチャ画像を参照し、描画画素に反映すること
により、テクスチャマッピングを実現することができ
る。通常算出した描画点(x,y)に対して、小数点以下
を切捨てる点を描画画素とし、ここでは画素1003に
はテクスチャ座標値(u0,v0)でテクスチャ画像を参照
した画素値を、画素1005にはテクスチャ座標値(u
1,v1)でテクスチャ画像を参照した画素値を、画素10
07にはテクスチャ座標値(u2,v2)でテクスチャ画像
を参照した画素値をそれぞれ反映させる。With the incremental algorithm described above, accurate corresponding point calculation in the texture mapping process can be performed at high speed. Calculated from this (u, v)
Texture mapping can be realized by referring to the texture image with a value and reflecting it in the drawing pixel. With respect to the drawing point (x, y) that is normally calculated, a point that is rounded down to the right of the decimal point is set as a drawing pixel. Here, the pixel 1003 is a pixel value that refers to the texture image with the texture coordinate value (u0, v0). The texture coordinate value (u
1, v1), the pixel value that refers to the texture image
In 07, the pixel value that refers to the texture image by the texture coordinate value (u2, v2) is reflected.
【0025】[0025]
【発明が解決しようとする課題】増分アルゴリズムによ
る対応点計算は、前ステップの計算結果をもとに演算を
行なうことにより、簡単な構成で、高速な演算を実現す
ることができる。しかし、対応点計算の誤差が発生する
問題がある。In the corresponding point calculation by the incremental algorithm, the calculation is performed based on the calculation result of the previous step, so that a high speed calculation can be realized with a simple structure. However, there is a problem that an error occurs in calculation of corresponding points.
【0026】ここで、描画画素に対する対応点計算が正
確に行なわれない場合について説明する。図39は図3
8同様に増分アルゴリズムによる対応点計算を説明する
もので、同一のものを示す場合には同一の参照符号を付
ける。Here, a case where the corresponding points for the drawing pixels are not accurately calculated will be described. FIG. 39 shows FIG.
Similarly, the calculation of corresponding points by the incremental algorithm will be described, and the same reference numerals are attached to indicate the same.
【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. 39 by the incremental algorithm.
Texture coordinate (u2, v2) of 2) becomes (Equation 9) (from (Equation 1), (Equation 2), (Equation 6)), and the drawing pixel 1007
Is drawn with a value 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 coordinate of the drawing pixel 1007 with respect to the drawing pixel 1003 is (Equation 10).
Becomes The coordinates of the drawing pixel 1003 are polygon edge points 1002 (x0, y0, u0, v0). A position obtained by shifting the edge point 1002 by one pixel in parallel with the y-axis is a point 1111 (x ', y', u ', v'), and this point is 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) where the true value and the increment algorithm are used for the corresponding point u. When E is the difference from the obtained value, Eq.
【0030】[0030]
【数11】 E = u2' - u2 = - a×(1+dx/dy) したがってEの範囲は(数12)となる。[Equation 11] 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)の誤差について、サンプル点と描画点の
違いの点から説明する。ここで、サンプル点とは各画素
の領域において同一の位置関係に存在する点である。例
えば、画素の領域の中心点をサンプル点として定義する
ことができる。すなわち、画素が規則正しく格子状に配
置されていれば、サンプル点も格子状に配置されること
になる。一方、描画点は描画対象のポリゴン(特にポリ
ゴンエッジ)と画素との位置関係によって決定されるた
め、描画点は必ずしも規則正しく格子状に配置されると
は限らない。[Equation 12] -a <E <a (∵ From FIG. 38, -2 <dx / dy <0) Next, the error of (Equation 12) will be described in terms of the difference between the sampling point and the drawing point. Here, the sample points are points that have the same positional relationship in the area of each pixel. 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 grid pattern, the sample points are also arranged in a grid pattern. On the other hand, since the drawing points are determined by the positional relationship between the drawing target polygons (particularly polygon edges) and the pixels, the drawing points are not always arranged in a regular 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. In addition, drawing points (edge points 1002, 10 calculated by the incremental algorithm,
04 and the span point 1006) and the distances 1108, 1109, 111 from the pixel sampling points in the pixels 1003, 1005, 1007 where these drawing points are reflected.
Let 0 be L1, L2, and L3, respectively. Here (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, the 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)となる。[Equation 13] E1 = L1 × ∂u / ∂x E2 = L2 × ∂u / ∂x E3 = L3 × ∂u / ∂x In addition, if the error is E '(Equation 1
4).
【0035】[0035]
【数14】 E’< ∂u/∂x (∵サンプル点と描画点の距離は1未満) < a このように、(数12)および(数14)に示した増分
アルゴリズムにおける対応点計算の誤差は、画素のサン
プル点と増分アルゴリズムで算出した描画点との差から
生じるものといえる。この計算誤差による、画質の劣化
の例を図40に例として示す。図40は、計算誤差によ
りポリゴンにマップされたテクスチャが、不連続である
ことを表すための図で、ポリゴンにマップするテクスチ
ャ画像と、従来の方法でマッピングした場合の画像と、
理想的なマッピングによる画像とを示したものである。
図40から、従来の方法でマッピングした場合に、画質
劣化が発生することが分かる。[Equation 14] E '<∂u / ∂x (the distance between the ∵ sample point and the drawing point is less than 1) <a In this way, the corresponding point calculation in the incremental algorithm shown in It can be said that the error is caused by the difference between the sample point of the pixel and the drawing point calculated by the increment algorithm. FIG. 40 shows an example of image quality deterioration due to this calculation error. FIG. 40 is a diagram showing that a texture mapped to a polygon due to a calculation error is discontinuous, and a texture image to be mapped to the polygon and an image when mapped by a conventional method,
And an image by ideal mapping.
It can be seen from FIG. 40 that image quality degradation occurs when mapping is performed by the conventional method.
【0036】(数12)と(数14)とで表した誤差が
異なるのは、(数12)をサンプル点が画素内の任意の
点としたためである。以降対応点計算の誤差に関しては
サンプル点を固定して考える。すなわち対応点誤差を
(数14)とする。The reason why the errors expressed by (Equation 12) and (Equation 14) are different is that (Equation 12) is an arbitrary point within a pixel as a sample point. Hereinafter, regarding the error of the corresponding point calculation, the sampling point is fixed. That is, the corresponding point error is (Equation 14).
【0037】また、ここでは対応点uに関して説明を行
なったが、対応点vは(数2)と表現でき、照度(R,
G,B)と、不透明度Aついてはそれぞれ(数15)、
(数16)と表現することができる。これらの式から、
ここで説明した計算誤差と同様の誤差が対応点v、照
度、不透明度などの計算においても発生することがわか
る。Although the corresponding point u has been described here, the corresponding point v can be expressed as (Equation 2), and the illuminance (R,
G and B) and opacity A (Equation 15),
It can be expressed as (Equation 16). From these formulas,
It can be seen that the same error as 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) y) = (ab x x + bb x y + cb)
【0039】[0039]
【数16】 A = Fa(x,y) = (aa×x + ba×y + ca) すなわち、ポリゴンを表示する為の、対応点、照度、不
透明度などの計算に関して、増分アルゴリズムを用いた
場合に誤差が発生する。## EQU16 ## 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 some cases, an error will occur.
【0040】さらに、ポリゴンとテクスチャの関係は
(数1)、(数2)に限らず、増分アルゴリズムによる
対応点計算では発生する。ポリゴン(x,y)とテクスチ
ャ(u,v)、照度(R,G,B)、不透明度Aの関係式に関し
てはyで微分可能、xで偏微分可能、であれば増分アル
ゴリズムによりテクスチャマッピングを行なうことがで
きる。例えば、この対応点関係を(数17)、(数1
8)とすることもできる。Furthermore, the relationship between the polygon and the texture is not limited to (Equation 1) and (Equation 2), but occurs in corresponding point calculation by the incremental algorithm. The relational expression of polygon (x, y) and texture (u, v), illuminance (R, G, B), opacity A can be differentiated by y, partially differentiated by x. Can be done. For example, this correspondence point relationship is expressed by (Equation 17), (Equation 1)
8) can also be used.
【0041】[0041]
【数17】 u = F(x,y) = (a×x + b×y + c)/(g×x + h×y + i)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 (Equation 17), (Equation 18), b, c, d, e,
f is different from the coefficients of (Equation 1) and (Equation 2)] However, the relational expression of the polygon and the texture is (Equation 17),
Even with (Equation 18), a calculation error occurs as in the above description.
【0043】言い替えれば、どのような関係式を用いて
も、増分アルゴリズムによる対応点、照度、不透明度な
どの計算誤差の発生は、回避できない。In other words, no matter what relational expression is used, the occurrence of calculation errors such as corresponding points, illuminance and opacity due to the incremental algorithm cannot be avoided.
【0044】以上のように描画画素に対する対応点をは
じめ、照度、不透明度、バンプ、ディスプレースメント
などの計算は、従来の増分アルゴリズムでは正確に行う
ことは不可能である。As described above, the calculation of the illuminance, the opacity, the bump, the displacement, etc., including the corresponding point for the drawing pixel, cannot be accurately performed by the conventional incremental algorithm.
【0045】増分アルゴリズムによる対応点計算の誤差
は、スクリーン上で最大1画素のずれから発生するもの
で、テクスチャのサイズがポリゴンと同程度、もくしは
それ以下の大きさであれば、結果として(数12)、
(数14)で表した誤差が小さくなる。しかしながら、
テクスチャを充分に拡大した場合、拡大率に比例して誤
差が大きくなり、テクスチャマッピング画像を生成した
場合、画質の劣化が著しくなる。ただし、実時間で取り
込んだ画像を、実時間で任意のポリゴンにマッピングす
る装置において、テクスチャの拡大率を予め定めること
は不可能である。このため、任意のテクスチャを、任意
のポリゴンにマッピングする場合、ここで問題とする画
質の劣化は避けることができない。The error in the corresponding point calculation by the incremental algorithm is caused by the shift of 1 pixel at the maximum on the screen. If the size of the texture is about the same as that of the polygon or less than that, the result is (Equation 12),
The error represented by (Equation 14) becomes small. However,
When the texture is sufficiently enlarged, the error increases in proportion to the enlargement ratio, and when the texture mapping image is generated, the image quality is significantly deteriorated. However, in a device that maps an image captured in real time to an arbitrary polygon in real time, it is impossible to predetermine the enlargement ratio of the texture. Therefore, when an arbitrary texture is mapped to an arbitrary polygon, the deterioration in image quality, which is a problem here, cannot be avoided.
【0046】そこで、増分アルゴリズムで発生する誤差
に着目して、この誤差の排除を効果的に行ない、理論的
にも正確な対応点計算を実現する。また、実現にあたっ
ても、その構成は極めて単純なもので、高速性や構成の
安易さを損なうものではない。さらに、マッピングにお
ける対応点計算を正確にしかも高速に実現することは、
コンピュータグラフィック分野だけにとどまらず、家庭
用ゲーム機、カラオケをはじめとする、マルチメディア
機器などにおいて、非常に重要であり、その用途は広範
囲となる。また、実時間でのマッピング処理への要求
も、今後高まることが予想される。Therefore, paying attention to the error generated by the incremental algorithm, the error is effectively eliminated, and theoretically accurate corresponding point calculation is realized. Further, even in the realization, the configuration is extremely simple, and the high speed and the ease of configuration are not impaired. Furthermore, to realize the corresponding point calculation in mapping accurately and at high speed,
It is very important not only in the field of computer graphics, but also in multimedia devices such as home-use game machines and karaoke, and its applications are wide-ranging. In addition, the demand for real-time mapping processing is expected to increase in the future.
【0047】以下、図6を参照して、従来のDDAによ
って算出される座標(u,v)に含まれる誤差について
説明する。The error contained in the coordinates (u, v) calculated by the conventional DDA will be described below with reference to FIG.
【0048】図6において、実線はスクリーン空間の座
標を表し、破線はテクスチャ空間の座標を表すとする。
○で囲んだ数字は、テクスチャ空間の座標値を示す。In FIG. 6, solid lines represent coordinates in screen space, and broken lines represent coordinates in texture space.
The numbers circled indicate the coordinate values in the texture space.
【0049】また、スクリーン画素603はスクリーン
座標(0,2)に位置し、テクスチャ画素604はテク
スチャ座標(2,3)に位置するものとする。It is also assumed that the screen pixel 603 is located at the screen coordinate (0,2) and the texture pixel 604 is located at the texture coordinate (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を表す。Further, 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 points of the arrows representing these respective DDAs are points 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 arrow of DDA 602 are reflected in the pixels in the screen space indicated by the arrows of DDA 601 and 602.
【0054】具体的に、y=3におけるスキャンライン
では、次のような対応となる。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)となる。DDA Arrow 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), depending on at which point in the pixel the texture is referred to.
It becomes (2, 0).
【0056】これら4つのテクスチャ画素のどれがDD
Aで発生するかは、スクリーン画素のどの点でテクスチ
ャを参照するかに依存していた。Which of these four texture pixels is DD
What happens in A depends on at which point of the screen pixel the texture is referenced.
【0057】すなわち、スクリーン画素のどの点で、テ
クスチャを参照するかにより、テクスチャマッピングに
より生成される画像が異なる。That is, the image generated by the texture mapping differs depending on which point of the screen pixel refers to the texture.
【0058】スクリーン画素におけるテクスチャへの参
照点が、ポリゴン内でばらつけば、生成される画像の画
質が劣化する。特にスパン間でこのばらつきがある場合
には画質の劣化が大きい。If the reference points to the texture in the screen pixels are scattered within the polygon, the quality of the generated image will be deteriorated. In particular, when there is this variation between spans, the image quality is greatly degraded.
【0059】以上の現象を数式を用いて説明する。The above phenomenon will be described using mathematical expressions.
【0060】テクスチャマッピングにおいて、テクスチ
ャ座標(u,v)と、ポリゴン座標(x,y)は、(数
19)、(数20)のように表される。In the texture mapping, the texture coordinates (u, v) and the polygon coordinates (x, y) are expressed as in (Equation 19) and (Equation 20).
【0061】[0061]
【数19】u = f(x,y)U = f (x, y)
【0062】[0062]
【数20】v = g(x,y) ここでは、(数19)に関して説明するが(数20)に
ついても同様である。[Expression 20] v = g (x, y) Here, although description will be made regarding (Expression 19), the same applies to (Expression 20).
【0063】このとき、テクスチャを参照するポリゴン
座標を(x0,y0)とする。また、ポリゴン座標(x
0,y0)を量子化することによって得られるスクリー
ン座標を(X,Y)とすると、At this time, the polygon coordinates that refer to the texture are (x0, y0). Also, polygon coordinates (x
When the screen coordinates obtained by quantizing (0, y0) are (X, Y),
【0064】[0064]
【数21】x0 = X + exX 0 = X + ex
【0065】[0065]
【数22】y0 = Y + ey と表すことができる。It can be expressed as y0 = Y + ey.
【0066】すなわち、テクスチャの座標値uは(数2
3)となる。量子化誤差により、テクスチャ座標値がば
らつくことがわかる。That is, the coordinate value u of the texture is (equation 2)
3). It can be seen that the texture coordinate values vary 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, the position of the screen pixel that refers to the texture has not been determined, so that the deterioration of the image is significant.
【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 rendering process of computer graphics. It is in. Particularly, in the mapping process, it is to realize the corresponding point calculation in the mapping process at high speed and accurately with a simple configuration. In addition, for mapping processing, including texture mapping, illuminance,
It includes mapping processing for opacity, bumps, displacement, etc.
【0069】[0069]
【課題を解決するための手段】本発明のレンダリング装
置は、複数の画素を有する平面上に投影されたポリゴン
上の描画点を含む画素を決定する手段と、該画素に対し
て固定された位置を有するサンプル点に基づいて、レン
ダリング計算を行い、計算結果を出力する手段とを備え
ており、これにより上記目的が達成される。A rendering device of the present invention comprises means for determining a pixel including a drawing point on a polygon projected on a plane having a plurality of pixels, and a fixed position for the pixel. And means for performing a rendering calculation based on the sample points having and outputting the calculation result.
【0070】本発明の他のレンダリング装置は、複数の
画素を有する平面上に投影されたポリゴンの描画点に基
づいて、レンダリング計算を行い、計算結果を出力する
手段と、該描画点に対応する複数の画素を決定する手段
と、該描画点の位置に基づいて、該対応する複数の画素
のそれぞれに対して、重み付け係数を決定する手段と、
該対応する複数の画素のそれぞれに対して決定された該
重み付け係数に基づいて、該計算結果を該対応する複数
の画素のそれぞれに配分する手段とを備えており、これ
により上記目的が達成される。Another rendering apparatus of the present invention corresponds to a means for performing rendering calculation based on a drawing point of a polygon projected on a plane having a plurality of pixels and outputting the calculation result, and the drawing point. Means for determining a plurality of pixels, means for determining a weighting coefficient for each of the corresponding plurality of pixels based on the position of the drawing point,
Means for distributing the calculation result to each of the plurality of corresponding pixels based on the weighting coefficient determined for each of the plurality of corresponding pixels, thereby achieving the above object. It
【0071】本発明のマッピング装置は、複数の画素を
有する平面上に投影されたポリゴンの頂点の位置と該ポ
リゴン頂点にあたえられた対応点とに基づいて、該ポリ
ゴンに対応するパラメータを生成する演算部と、該パラ
メータに基づいて、該ポリゴンのエッジ上にある第1の
描画点の位置と該第1の描画点に対応する第1の対応点
の位置とを決定するエッジ生成部と、該第1の描画点に
対応する描画画素を決定し、さらに該描画画素に対応す
るサンプル点を決定し、該サンプル点に基づいて該第1
の対応点の位置を補正する補正部と、該パラメータと該
サンプル点とに基づいて、該ポリゴン内部の第2の描画
点の位置を決定し、該第2の描画点に対応する第2の対
応点の位置を決定するスパン生成部とを備えており、こ
れにより上記目的が達成される。The mapping apparatus of the present invention generates a parameter 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 the edge of the polygon and a position of a first corresponding point corresponding to the first drawing point based on the parameter, A drawing pixel corresponding to the first drawing point is determined, a sample point corresponding to the drawing pixel is determined, and the first pixel is determined based on the sample point.
The position of the second drawing point inside the polygon is determined based on the correction unit that corrects the position of the corresponding point, and the parameter and the sample point, and the second drawing point corresponding to the second drawing point is determined. And a span generator that determines the position of the corresponding point, thereby achieving the above object.
【0072】前記補正部は、前記第1描画点に関して1
次元の補正を行ってもよい。The correction unit sets 1 for the first drawing point.
The dimension may be corrected.
【0073】前記エッジ生成部は、前記ポリゴンのエッ
ジと前記描画画素の上部のエッジとが交わる点を第1の
描画点とし、前記補正部は、該描画画素内の原点に最も
近い点を前記サンプル点としてもよい。The edge generation unit defines the point where the edge of the polygon intersects the upper edge of the drawing pixel as the first drawing point, and the correcting unit selects the point closest to the origin within the drawing pixel. It may be a sample point.
【0074】前記パラメータを表現するビット精度を所
定の値に設定し、前記補正部は、シフタと加算器とを含
んでいてもよい。The bit precision expressing the parameter may be set to a predetermined value, and the correction section may include a shifter and an adder.
【0075】本発明の他のマッピング装置は、複数の画
素を有する平面上に投影されたポリゴンの頂点の位置と
該ポリゴン頂点に与えられた対応点とに基づいて、該ポ
リゴンに対応するパラメータを生成する演算部と、該パ
ラメータに基づいて、ポリゴンのエッジ上にある第1の
描画点の位置と該第1の描画点に対応する第1の対応点
とを決定するエッジ生成部と、該パラメータと該第1の
描画点とに基づいて、該ポリゴン内部の点である第2の
描画点の位置を決定し、該第2の描画点に対応する第2
の対応点の位置を決定するスパン生成部と、該平面の該
複数の画素のそれぞれに対応する値を格納する生成画像
格納部と、該第1の描画点の位置または、該第2の描画
点の位置に基づいて生成された画素値を、該生成画像格
納部の1つの画素または、隣接する複数の画素に対応す
る値として格納する画素格納処理部とを備えており、こ
れにより上記目的が達成される。Another mapping apparatus of the present invention determines 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. A calculation unit for generating the edge, an edge generation unit for determining the position of the first drawing point on the edge of the polygon and the first corresponding point corresponding to the first drawing point based on the parameter, The position of the second drawing point, which is a point inside the polygon, is determined based on the parameter and the first drawing point, and the second drawing point corresponding to the second drawing point is determined.
Of the corresponding drawing points, a generated image storage section that stores values corresponding to each of the plurality of pixels of the plane, the position of the first drawing point, or the second drawing And a pixel storage processing unit that stores a pixel value generated based on the position of a point as a value corresponding to one pixel or a plurality of adjacent pixels in the generated image storage unit. Is achieved.
【0076】前記画素格納処理部は、前記第1の描画点
もしくは前記第2の描画点の位置によって定義される前
記平面上の領域の面積の、前記平面上の1つの画素また
は隣接する複数の画素の占める領域の面積に対する比に
基づいて、前記生成された画素値を該平面上の1つの画
素または隣接する複数の画素に配分する面積比算出部
と、該配分した値のそれぞれを、該生成画像格納部の1
つの画素または、隣接する複数の画素に対応する値とし
て格納する画素値配分部とを備えていてもよい。The pixel storage processing unit has one pixel on the plane or a plurality of adjacent pixels of the area of the region on the plane defined by the position of the first drawing point or the second drawing point. The area ratio calculation unit that distributes the generated pixel value to one pixel or a plurality of adjacent pixels on the plane based on the ratio of the area occupied by the pixel to the area, and each of the distributed values, Generated image storage unit 1
It may be provided with a pixel value distribution unit that stores a value corresponding to one pixel or a plurality of adjacent pixels.
【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の乗算器とを有してい
てもよい。When the position of the first drawing point or the second drawing point is (x, y), the area ratio calculating unit
A first multiplier for multiplying (1-x) and (1-y);
a second multiplier for multiplying x by (1-y), and (1-
x) and y, and a third multiplier for multiplying x and y, and a fourth multiplier for multiplying x and y, and the pixel value distribution unit outputs the output from the first multiplier. 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 third multiplier from the third multiplier. It may have a seventh multiplier that multiplies an output by the generated pixel value and an eighth multiplier that multiplies the output from the fourth multiplier by the generated pixel value. Good.
【0078】前記第1の描画点または前記第2の描画点
の位置(x,y)または前記生成された画素値を表現す
るビット精度を所定の値に設定し、前記第1から第8の
乗算器のそれぞれはシフタと加算器とを含んでいてもよ
い。The bit precision expressing the position (x, y) of the first drawing point or the second drawing point or the generated pixel value is set to a predetermined value, and the first to eighth values are set. Each of the multipliers may include a shifter and an adder.
【0079】前記エッジ生成部は、前記ポリゴンのエッ
ジと前記対応する画素の上部のエッジとが交わる点を前
記第1の描画点とし、これによって前記第2の乗算器、
前記第4の乗算器、前記第6の乗算器、前記第8の乗算
器を省いてもよい。The edge generation unit defines the point at which the edge of the polygon intersects with the 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の
描画点に対応する第1の候補点の位置と該第1の候補点
に対応する第1の対応点の位置とを決定する第1のエッ
ジ生成部と、該パラメータに基づいて、該ポリゴンのエ
ッジ上の第1の描画点に対応する第2の候補点の位置と
該第2の候補点に対応する第2の対応点の位置とを決定
する第2のエッジ生成部と、該第1のエッジ生成部の出
力と該第2のエッジ生成部の出力のうちの一方を選択す
る選択部と、該パラメータと該選択部によって選択され
た出力とに基づいて、該ポリゴン内部の第2の描画点の
位置を決定し、該第2の描画点に対応する第3の対応点
の位置を決定するスパン生成部とを備えており、これに
より上記目的が達成される。Another mapping apparatus of the present invention determines a parameter 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. The position of the first candidate point corresponding to the first drawing point on the edge of the polygon and the position of the first corresponding point corresponding to the first candidate point on the basis of the calculation unit and the parameter. A first edge generating unit that determines the position of a second candidate point corresponding to the first drawing point on the edge of the polygon, and a second edge point corresponding to the second candidate point based on the parameter. A second edge generator that determines the position of two corresponding points; a selector that selects one of the output of the first edge generator and the output of the second edge generator; And the output selected by the selector And a span generation unit that determines the position of the second drawing point inside the polygon and determines the position of the third corresponding point corresponding to the second drawing point, thereby achieving the above object. To be done.
【0081】前記第1のエッジ生成部および前記第2の
エッジ生成部のいずれか一方が動作している間はもう一
方のエッジ生成部が動作していなくてもよい。While either one of the first edge generating section and the second edge generating section is operating, the other edge generating section may not be operating.
【0082】前記演算部は前記平面上における前記ポリ
ゴンのエッジの傾きを算出し、前記選択部は該傾きの小
数部を累積加算し、該累積加算の結果が所定の値を越え
るか否かに応じて、前記第1のエッジ生成部の出力と前
記第2のエッジ生成部の出力のうちの一方を選択しても
よい。The calculation unit calculates the inclination of the edge of the polygon on the plane, the selection unit cumulatively adds the decimal parts of the inclination, and determines whether the result of the cumulative 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, based on the positions of the vertices of a polygon projected on a plane having a plurality of pixels and the corresponding points given to the vertices of the polygon, at least 2 corresponding to the polygon is obtained. A computing 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 the edge of the polygon, and the first drawing point based on the selected one set of parameters An edge generation unit that determines the position of the first corresponding point corresponding to, and the position of the second drawing point inside the polygon based on the selected set of parameters and the position of the sample point. A span generation unit that determines the position of the second corresponding point corresponding to the second drawing point,
This achieves the above object.
【0084】前記演算部は前記平面上における前記ポリ
ゴンのエッジの傾きを算出し、前記増分切替部は、該傾
きの小数部を累積加算し、累積加算した結果が所定の値
を越えるか否かに応じて前記少なくとも2組のパラメー
タのうち1組のパラメータを選択してもよい。The calculation unit calculates the inclination of the edge of the polygon on the plane, and the increment switching unit cumulatively adds the fractional parts of the inclination, and whether or not the cumulative addition result exceeds a predetermined value. According to the above, one set of parameters may be selected from the at least two sets of parameters.
【0085】本発明の他のマッピング装置は、複数の画
素を有する平面上に投影されたポリゴンの頂点の位置と
該ポリゴン頂点にあたえられた対応点とに基づいて、該
ポリゴンに対応するパラメータを生成する演算部と、該
パラメータに基づいて、該ポリゴンのエッジ上にある第
1の描画点に対応する第1の対応点の位置と該第1の描
画点に対応するサンプル点の位置とを決定するエッジ生
成部と、該第1の描画点と該サンプル点との距離が所定
の値を超えるときに、該サンプル点の位置を補正する補
正部と、該パラメータと該サンプル点とに基づいて、該
ポリゴン内部の第2の描画点の位置を決定し、該第2の
描画点に対応する第2の対応点の位置を決定するスパン
生成部とを備えており、これにより上記目的が達成され
る。Another mapping apparatus of the present invention determines 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. Based on the calculation unit and the parameter, the position of the first corresponding point corresponding to the first drawing point on the edge of the polygon and the position of the sample point corresponding to the first drawing point are calculated. Based on the edge generation unit that determines, a correction unit that corrects the position of the sample point when the distance between the first drawing point and the sample point exceeds a predetermined value, and the parameter and the sample point. And a span generation unit that determines the position of the second drawing point inside the polygon and the position of the second corresponding point corresponding to the second drawing point. To be achieved.
【0086】前記補正部は、前記スパン生成部に含まれ
ており、前記スパン生成部は、前記サンプル点の位置を
補正する処理と、前記第2の描画点の位置と前記第2の
対応点の位置を決定する処理との両方を実行してもよ
い。The correction unit is included in the span generation unit, and the span generation unit corrects the position of the sample point, the position of the second drawing point, and the second corresponding point. Both of the processing for determining the position of s may be executed.
【0087】前記演算部は前記平面上における前記ポリ
ゴンのエッジの傾きを算出し、前記スパン生成部は該傾
きの小数部を累積加算し、該累積加算の結果が所定の値
を越えるか否かに応じて、前記サンプル点の位置を補正
するか否かを決定してもよい。The calculation unit calculates the inclination of the edge of the polygon on the plane, the span generation unit cumulatively adds the fractional parts of the inclination, and whether or not the result of the cumulative addition exceeds a predetermined value. Depending on, it may be determined whether or not to correct the position of the sample point.
【0088】前記ポリゴン頂点は、ポリゴンの素材を表
現するための属性値を有しており、該属性値に基づいて
前記第1の対応点および前記第2の対応点に対応する値
を生成する手段をさらに有していてもよい。The polygon vertex has an attribute value for expressing the material of the polygon, and values corresponding to the first corresponding point and the second corresponding point are generated based on the attribute value. You may further have a means.
【0089】前記ポリゴン頂点は、バンプ、もしくはデ
ィスプレースメントの座標値を有しており、ポリゴン内
部のバンプもしくはディスプレースメント計算を行う手
段をさらに有していてもよい。The polygon vertices have coordinate values of bumps or displacements, and may further include means for calculating bumps or displacements inside the polygons.
【0090】前記マッピング装置は、アンチエイリアシ
ング処理を行う手段をさらに有していてもよい。The mapping device may further have means for performing anti-aliasing processing.
【0091】前記平面上の複数の画素のそれぞれは、対
応する複数のサブピクセルを有しており、前記第1の描
画点がサブピクセルポジショニングに対応して決定され
てもよい。Each of the plurality of pixels on the plane may have a plurality of corresponding subpixels, and the first drawing point may be determined corresponding to the subpixel positioning.
【0092】本発明のレンダリング方法は、複数の画素
を有する平面上に投影されたポリゴン上の描画点を含む
画素を決定するステップと、該画素に対して固定された
位置を有するサンプル点に基づいて、レンダリング計算
を行い、計算結果を出力するステップとを包含してお
り、これにより上記目的が達成される。The rendering method of the present invention is based on a step of determining a pixel including a drawing point on a polygon projected on a plane having a plurality of pixels, and a sample point having a fixed position with respect to the pixel. And performing rendering calculation and outputting the calculation result, thereby achieving the above object.
【0093】本発明の他のレンダリング方法は、複数の
画素を有する平面上に投影されたポリゴンの描画点に基
づいて、レンダリング計算を行い、計算結果を出力する
ステップと、該描画点に対応する複数の画素を決定する
ステップと、該描画点の位置に基づいて、該対応する複
数の画素のそれぞれに対して、重み付け係数を決定する
ステップと、該対応する複数の画素のそれぞれに対して
決定された該重み付け係数に基づいて、該計算結果を該
対応する複数の画素のそれぞれに配分するステップとを
包含しており、これにより上記目的が達成される。Another rendering method of the present invention corresponds to a step of performing rendering calculation based on a drawing point of a polygon projected on a plane having a plurality of pixels and outputting the calculation result, and the drawing point. Determining a plurality of pixels, determining a weighting coefficient for each of the corresponding plurality of pixels based on the position of the drawing point, and determining for each of the corresponding plurality of pixels Allocating the calculation result to each of the corresponding plurality of pixels based on the calculated weighting coefficient, thereby achieving the above object.
【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 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. The first step on the edge of the polygon based on the step and the parameter;
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, and further corresponding to the drawing pixel Determining a sample point to be corrected and correcting the position of the first corresponding point based on the sample point; and determining the position of the second drawing point inside the polygon based on the parameter and the sample point. And determining the position of the second corresponding point corresponding to the second drawing point, whereby the above object is achieved.
【0095】本発明の他のマッピング方法は、複数の画
素を有する平面上に投影されたポリゴンの頂点の位置と
該ポリゴン頂点に与えられた対応点とに基づいて、該ポ
リゴンに対応するパラメータを生成するステップと、該
パラメータに基づいて、ポリゴンのエッジ上にある第1
の描画点の位置と該第1の描画点に対応する第1の対応
点とを決定するステップと、該パラメータと該第1の描
画点とに基づいて、該ポリゴン内部の点である第2の描
画点の位置を決定し、該第2の描画点に対応する第2の
対応点の位置を決定するステップと、該第1の描画点の
位置または、該第2の描画点の位置に基づいて生成され
た値を、該平面上の該複数の画素の1つの画素または、
隣接する複数の画素に対応する値とするステップとを包
含しており、これにより上記目的が達成される。According to another mapping method of the present invention, the parameter corresponding to the polygon is calculated based on the position of the vertex of the polygon projected on the plane having a plurality of pixels and the corresponding point given to the polygon vertex. A first step on the edge of the polygon based on the generating step and the parameter;
Determining the position of the drawing point and the first corresponding point corresponding to the first drawing point, and determining a second inside point of the polygon based on the parameter and the first drawing point. The position of the second drawing point and the position of the second corresponding point corresponding to the second drawing point, and 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
And a step of setting values 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 the error contained in the pixel value generated based on the coordinate value of the drawing point on the polygon edge of the polygon projected on the screen, Generate a high-quality image by performing rendering processing based on the coordinate values of the sample points corresponding to the pixels including the drawing points or by calculating the corresponding points to the mapping image and generating the pixel values of each pixel. You can More specifically, it is as follows.
【0098】まず第1の構成では、あらかじめ定義した
画素のサンプル点のy座標に合わせたエッジ描画点をエ
ッジ生成部で算出する。このとき、定義したサンプル点
と算出したエッジ描画点とには(数14)に示した演算
誤差が含まれている。(数14)の演算誤差に対して、
サンプル点とエッジ描画点のx軸の距離をLとすると、
対応点に関して(テクスチャ座標(u,v)の算出)(数
24)の処理を補正部で行なう。これにより、正確なテ
クスチャの対応点を算出することができる。First, in the first configuration, the edge drawing portion calculates the edge drawing point in accordance with the y coordinate of the sample point of the pixel defined in advance. At this time, the defined sample points and the calculated edge drawing points include the calculation error shown in (Equation 14). For the calculation error of (Equation 14),
If the distance between the sample point and the edge drawing point on the x-axis is L,
With respect to the corresponding points, the processing of (calculation of texture coordinates (u, v)) (Equation 24) is performed by the correction unit. This makes it possible to accurately calculate the corresponding points of the texture.
【0099】[0099]
【数24】u = u - L×∂u/∂x v = v - L×∂v/∂x また、照度や、不透明度などの、テクスチャ座標以外の
パラメータ(数24)についても同様に行なうことがで
きる。[Equation 24] u = u-L x ∂u / ∂x v = v-L x ∂v / ∂x Also, the same is applied to parameters other than texture coordinates (Equation 24) 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 sample point of the pixel, all the span drawing points included in the span match the sample point of the pixel. That is, it is not necessary to perform the parameter correction process, and the corresponding points of the span drawing points can be calculated correctly.
【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, since ∂u / ∂x and ∂v / ∂x are used in the span generation unit, there is no need to newly calculate them. Furthermore, (Equation 24)
Regarding the precision of the multiplication shown in, it is not necessary to have a precision higher than the precision below the decimal point of the x-coordinate value of the edge point calculated by the edge generation unit, and the precision has several bits more than the resolution of the generated pixel. It's 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 for the entire apparatus.
【0104】処理速度に関しては、増分アルゴリズムの
処理の高速性も損なわれることはない。ここで示した補
間部での処理は乗算1回、加算1回であり(数24)、
補正処理を行なうことによる遅延は、極めて小さい。さ
らに、装置全体として、エッジ生成部、補間部、スパン
生成部などをパイプライン的に動作させることが可能で
あり、処理全体としての高速性はまったく損なわれな
い。Regarding the processing speed, the processing speed 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 due to the correction process is extremely small. Further, the edge generation unit, the interpolation unit, the span generation unit and the like can be operated in a pipeline manner in the entire apparatus, and the high speed performance of the entire processing is not impaired at all.
【0105】さらに、エッジに対するアンチエイリアシ
ング処理では、ポリゴンが存在しない領域にあるスクリ
ーン座標上の点をサンプルする必要がある。この場合、
ポリゴンが存在する領域のサンプル点でx軸方向に最も
近いサンプル点との距離をLとし、ポリゴンが存在する
サンプル点のパラメータから(数24)を用いて対応点
を算出することが可能となる。Further, in the anti-aliasing processing for the edge, it is necessary to sample the point on the screen coordinates in the area where the polygon does not exist. in this case,
It is possible to calculate the corresponding point from the parameter of the sample point where the polygon exists by using (Formula 24), where L is the distance from the sample point where the polygon exists and is closest to the x-axis direction. .
【0106】以上のように、本発明のテクスチャマッピ
ング装置は、テクスチャマッピングの対応点計算の正確
さや構成の簡素化、さらに処理の高速性を実現すること
となる。As described above, the texture mapping apparatus of the present invention realizes accuracy of calculation of corresponding points of texture mapping, simplification of the configuration, and high speed processing.
【0107】また第2の構成では、第1の構成における
サンプル点を、例えば画素の内部で原点に最も近い点に
することにより、補正処理に必要な演算量を削減し、よ
り簡易な回路構成でマッピング装置を実現できる。In the second configuration, the sampling point in the first configuration is set to, for example, the point closest to the origin inside the pixel, thereby reducing the amount of calculation required for the correction process and simplifying the circuit configuration. A mapping device can be realized with.
【0108】第1および第2の構成では、結果として算
出する対応点の算出パラメータを補正することにより対
応点計算の誤差をなくす方法であったが、第3の構成は
生成画像を格納するメモリ(フレームメモリ)に対し
て、テクスチャ画像により得た画素値を、テクスチャ画
素がかかる面積に応じて配分し、格納するものである。
増分アルゴリズムでは、算出した描画点と画素のサンプ
ル点とのズレが画質劣化の要因となっている。算出した
描画点により参照したテクスチャの画素を、フレームメ
モリに書き込む時、理想的にはテクスチャの画素はフレ
ームメモリにおいて最大4画素に影響を及ぼすことにな
る。この、影響を及ぼすフレームメモリの4画素に対し
て、テクスチャの画素とフレームの画素との共有する面
積比に応じた画素値を、それぞれのフレーム画素に反映
させる。これにより、先述のものと同様な効果を得るこ
とができる。すなわち、さまざまなマッピングによる高
画質な画像を得ることができる。In the first and second configurations, the error in the corresponding point calculation is eliminated by correcting the calculation parameter of the corresponding point to be calculated as a result, but the third configuration is the memory for storing the generated image. The pixel value obtained from the texture image is distributed to (frame memory) according to the area covered by the texture pixel and stored.
In the incremental algorithm, the deviation between the calculated drawing point and the pixel sampling point is a factor of image quality deterioration. When the texture pixel referred to by the calculated drawing point is written in the frame memory, ideally, the texture pixel affects a maximum of 4 pixels in the frame memory. With respect to the four pixels of the affected frame memory, the pixel value according to the area ratio shared by the texture pixel and the frame pixel is reflected in each frame pixel. As a result, 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 structure, it is not necessary to perform the parameter correction process. On the other hand, the access amount to the frame memory increases. However, the distribution storage in the frame memory is local, and an increase in access amount can be hidden by using a small amount of intermediate buffer with the frame memory.
【0110】第4の構成では、二つのエッジ生成部にお
いて、ポリゴンエッジに関するデータを算出し、これら
のデータを選択部において適切に選択することにより、
ポリゴンエッジに関するスクリーン座標値、テクスチャ
座標値を理想的に算出することができる。In the fourth structure, the two edge generators calculate the data relating to the polygon edge, and the selector appropriately selects these data.
It is possible to ideally calculate screen coordinate values and texture coordinate values regarding polygon edges.
【0111】この構成ではエッジ生成部を二つ設ける必
要があるが、補正処理をデータの選択において実現する
ことができる。この選択部は、セレクタにより実現する
ことができるため、補正処理と比較して高速に実行する
ことができる。また、この選択部の回路も非常に簡単に
実現することができる。In this configuration, it is necessary to provide two edge generating units, but the correction processing can be realized in the data selection. Since this selector can be realized by a selector, it can be executed faster than the correction process. Also, the circuit of this selection unit can be realized very easily.
【0112】さらに、この選択部からの制御により、二
つのエッジ生成部のいずれかの動作を停止させることも
可能である。これにより、装置全体としての消費電力も
押えることができる。Furthermore, it is possible to stop the operation of either of the two edge generation sections by the control of this selection section. As a result, the power consumption of the entire device can be suppressed.
【0113】また、第5の構成では、第4の構成におい
て設けた二つのエッジ生成部を一つにするものである。
これは、エッジ生成部における増分処理の増分値を、適
切に選択することによって実現する。回路としても非常
に簡単な構成により実現することができる。In the fifth structure, the two edge generators provided in the fourth structure are unified.
This is realized by appropriately selecting the increment value of the increment processing in the edge generation unit. The circuit can be realized with a very simple structure.
【0114】さらに、第6の構成では、演算部で算出し
エッジ生成部で用いる増分値を、補正部における補正処
理を簡単にするような値とする。すなわち、エッジ生成
部で通常の増分処理を行なう。ここで生成されるデータ
は補正部において、その補正処理を非常に簡単に行なう
ことができる。Further, in the sixth configuration, the increment value calculated by the calculation section and used by the edge generation section is set to a value that simplifies the correction processing in the correction section. That is, the edge generation unit performs normal increment processing. The correction processing of the data generated here can be performed very easily in the correction unit.
【0115】これにより、補正部を非常に簡単な構成で
実現することが可能となる。また、演算部で算出する増
分値に関しても、その演算量は、従来のものと大差はな
い。したがって、簡単な構成により、高速で理想的なポ
リゴンのスクリーン座標値とこれに対応する理想的なテ
クスチャ座標を算出することが可能となる。As a result, the correction unit can be realized with a very simple structure. Also, regarding the increment value calculated by the calculation unit, the calculation amount is not much different from the conventional one. Therefore, it becomes possible to calculate the ideal screen coordinate value of the polygon and the ideal texture coordinate corresponding thereto at high speed with a simple configuration.
【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 achieved by using the same circuit, and does not slow down the processing speed. That is, it is possible to realize the same function with a simpler configuration than the sixth configuration.
【0117】本発明のマッピング装置は、増分アルゴリ
ズムによって算出される描画点と対応する各画素との相
対的位置関係が必ずしも一定ではないことに着目し、各
画素を代表するサンプル点の位置情報を用いて各画素値
を決定することにより、画質の向上を図るものである。The mapping apparatus of the present invention pays attention to the fact that the relative positional relationship between the drawing point calculated by the incremental algorithm and each pixel corresponding thereto is not always constant, and the positional information of the sample point representing each pixel is calculated. By using each pixel value to determine, the image quality is improved.
【0118】また、本発明による別のマッピング装置で
は、増分アルゴリズムによって算出される各描画点の位
置情報により決定された各画素値を、各描画点と、各画
素値との相対的位置関係に基づいて、隣接する複数の画
素に配分することにより、上記マッピング装置と同様の
効果を得るものである。Further, in another mapping device according to the present invention, each pixel value determined by the position information of each drawing point calculated by the incremental algorithm is converted into a relative positional relationship between each drawing point and each pixel value. Based on this, by allocating to a plurality of adjacent pixels, the same effect as that of the above mapping device is obtained.
【0119】さらに、増分アルゴリズムによる誤差の問
題は、マッピング処理に影響を及ぼすだけでなく、シェ
ーディングなどの一般的なレンダリングアルゴリズムに
も共通の問題である。従って、本発明は、広くレンダリ
ング処理一般に適応できるものである。Further, the problem of error due to the incremental algorithm not only affects the mapping process, but is also a problem common to general rendering algorithms such as shading. Therefore, the present invention is widely applicable to rendering processing in general.
【0120】画像の劣化は、テクスチャを参照するスク
リーン画素における位置が定まっていなかったために発
生したものである。すなわち、テクスチャを参照するス
クリーン画素における位置を、スクリーン座標空間で一
定にすることにより画質の劣化を防ぐことができる。The deterioration of the image is caused because the position of the screen pixel which refers to the texture is not fixed. That is, it is possible to prevent deterioration of image quality 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
It is expressed as in (Equation 19) and (Equation 20), but here, description will be made using (Equation 26).
【0122】[0122]
【数26】u = f(x) = A×x + B これは、説明を簡単にするためのものではあるが、原理
的には(数19)、(数20)についても同様にいえ
る。[Mathematical formula-see original document] u = f (x) = Axx + B This is for the purpose of simplifying the explanation, but the same applies in principle to (Formula 19) and (Formula 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 In addition, letting E be the error between u calculated with a value before quantization and u calculated with a value after quantization, the error E is expressed by (Equation 28). To be 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 the quantization error is eliminated in the x space,
An error is not included in the value of u before and after the quantization.
【0126】また、量子化誤差を一定にすることによ
り、結果としてEが一定となる。これは、算出するuが
一様に誤差を持つことになり、u空間における相対的な
誤差がなくなるからである。Further, by making the quantization error constant, E becomes constant as a result. This is because the calculated u will have an error uniformly and there will be no relative error in the u space.
【0127】これらにより、すべてのスクリーン空間画
素において、テクスチャを算出する座標値(x,y)を
画素内において一定にすることにより、算出するテクス
チャ座標をテクスチャ空間において誤差のないものとす
ることができる。As a result, in all the screen space pixels, the coordinate value (x, y) for calculating the texture is made constant within the pixel, so that the texture coordinate to be calculated has no error in the texture space. it can.
【0128】従って、ポリゴンとテクスチャとの座標計
算を誤差なく行うことができ、これによりテクスチャマ
ッピングにより生成する画像の画質劣化を防ぐことがで
きる。Therefore, the coordinates of the polygon and the texture can be calculated without any error, and thus the image quality deterioration of the image generated by the texture mapping can be prevented.
【0129】[0129]
【発明の実施の形態】本発明のマッピング装置の原理
は、広くレンダリング処理一般に適応できるものである
が、説明の簡略化のために、以下の各実施の形態ではマ
ッピング装置について説明を行う。マッピング以外のレ
ンダリング処理に本発明を適応する場合には、各描画点
の座標値を用いてレンダリング演算を行うかわりに、各
描画点に対応するサンプル点の座標値および各ポリゴン
に与えられる属性値を用いて所望のレンダリング演算を
行えばよい。属性値とは、ポリゴンの素材を表現するた
めの値であり、ポリゴンの反射率や透過率、屈折率等を
示す値である。Although the principle of the mapping apparatus of the present invention can be widely applied to rendering processing in general, the mapping apparatus will be described in each of the following embodiments for simplification of description. When the present invention is applied to a rendering process other than mapping, instead of performing the rendering operation using the coordinate values of each drawing point, the coordinate value of the sample point corresponding to each drawing point and the attribute value given to each polygon. The desired rendering operation may be performed using The attribute value is a value for expressing the material of the polygon, and is a value indicating the reflectance, the transmittance, the refractive index, etc. of the polygon.
【0130】(実施の形態1)以下本発明のマッピング
装置の第1の実施の形態について、図面を参照しながら
説明する。(First Embodiment) A first embodiment of the mapping apparatus of the present invention will be described below with reference to the drawings.
【0131】図1は、本発明のマッピング装置の構成例
を示す。マッピング装置は、メインプロセッサ1と、メ
インメモリ2と、レンダリングプロセッサ3と、ピクセ
ルメモリ4と、DAC(デジタルアナログコンバータ)
5と、モニタ6と、システムバス7とを含んでいる。FIG. 1 shows an example of the configuration of the mapping device of the present invention. The mapping device includes a main processor 1, a main memory 2, a rendering processor 3, a pixel memory 4, and a DAC (digital-analog converter).
5, a monitor 6, and a system bus 7.
【0132】メインプロセッサ1は、テクスチャマッピ
ングを行うための三次元図形処理の幾何演算や、レンダ
リングプロセッサ3、DAC5などの制御およびシステ
ム全体の制御を行う。The main processor 1 performs geometrical operations for three-dimensional graphic processing for 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 necessary for each processing such as polygon data.
【0134】レンダリングプロセッサ3は、メインプロ
セッサ1からの制御によりピクセルメモリ4に対してポ
リゴン描画を行う。Under the control of the main processor 1, the rendering processor 3 draws polygons on the pixel memory 4.
【0135】ピクセルメモリ4は、レンダリングプロセ
ッサ3により描画される画像を格納するとともに、マッ
ピング対象のテクスチャを格納する。The pixel memory 4 stores the image drawn by the rendering processor 3 and the 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 calculation 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 uses the DDA used in the mapping address generation unit 208 from the relationship between polygons and texture vertices input via the system bus 7.
Generate the 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 generator 208 uses the DD
The rendering processing is performed using A, and the edge generation unit 202, the correction unit 203, and the 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 generator 202 includes an x DDA processor 301 and a y DDA processor 3.
02, u DDA processing unit 303, and v DDA processing unit 304.
【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 by using the differential value of y calculated by the DDA coefficient calculation unit 201. Specifically, the process 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)) is (x
(N), y (n), u (n), v (n)) shows 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 calculator 201 and given to the edge generator 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, and a u correction unit 413.
v correction unit 414 is included. Correction units 411 to 41
Each of 4 performs the processing (correction processing) shown in (Equation 32). Further, the DDA coefficient calculation unit 201 calculates du / dy, ∂u / ∂x, etc., which are necessary for the correction.
【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 an x DDA processing section 511, a u DDA processing section 512, and a v DDA processing section 513.
In span processing, y value does not change, so DD of y
A processing unit is not required.
【0146】DDA処理部511〜513は、DDA係
数演算部201によって算出されたyの微分値を用いて
ポリゴンエッジの座標点(x,y,u,v)の算出を行
う。具体的には、(数30)に示す処理を行う。The DDA processing units 511 to 513 calculate the coordinate points (x, y, u, v) of the polygon edge by using the differential value of y calculated by the DDA coefficient calculation unit 201. Specifically, the process 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)) is (x
The coordinates at a point of 1 pixel in the span direction with respect to (n), y (n), u (n), and v (n) are shown.
【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,
The original image storage unit 206 is included. Generated image storage unit 2
05 stores the image drawn by the rendering processor 3. The original image storage unit 206 stores the 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 device according to the first embodiment of the present invention. The calculation unit 101 uses the positions of the polygon vertices and the corresponding points given to the polygon vertices to calculate the parameters used for the drawing point calculation and the corresponding point calculation inside the polygon by the incremental algorithm. The edge generation unit 102a uses the parameters calculated by the calculation unit 101 to perform a calculation for determining the positions of the drawing point and the corresponding point on the polygon edge. The correction unit 103a uses the parameters calculated by the calculation unit 101 and the drawing points determined by the edge generation unit 102a to perform correction processing on the corresponding points (texture image) generated by the edge generation unit 102a. The span generation unit 104 uses the parameters calculated by the calculation unit 101 and the data generated by the correction unit 103a to calculate drawing points of the polygon span and corresponding points, and outputs the calculation results.
【0150】以上のように構成されたマッピング装置の
アドレス発生部について、以下図面を用いてその動作を
説明する。The operation of the address generator of the mapping device configured as described above 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)である。204は
画素201のサンプル点(X,Y)である。205は補正
部103aでの補正処理を説明するための点(x’,
y’)で、ポリゴンエッジ202上に位置し、y’= Y
とする。また、ポリゴン上の点(x,y)と対応するテク
スチャ画像上の点(u,v)とには、(数1)、(数2)
に示す関係が成り立つとし、エッジ描画点203におけ
るテクスチャ画像の対応点を(u0,v0)、サンプル点2
04におけるテクスチャ画像の対応点を(U,V)、点2
05におけるテクスチャ画像の対応点を(u’,v’)と
する。FIG. 8 is an enlarged view of the pixels that the side 1404 in FIG. 37 crosses. The pixels in FIG. 8 are (x, y) = (2,4) (2,5) (3, 5) It corresponds to the part surrounded 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 which is generated by the edge generating unit 102a. Reference numeral 204 is a sample point (X, Y) of the pixel 201. Reference numeral 205 denotes a point (x ′, for explaining the correction processing in the correction unit 103a.
y '), located on the polygon edge 202, and y' = Y
And Further, the point (u, v) on the texture image corresponding to the point (x, y) on the polygon is (Equation 1), (Equation 2)
Assuming that the relationship shown in is established, 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 in 04 is (U, V), point 2
The corresponding point of the texture image in 05 is (u ′, v ′).
【0152】このとき、これらの対応点には、(数3
1)、(数32)に示す関係が成り立つ((数4)、
(数7)参照)。At this time, these corresponding points are (equation 3)
1), the relationship shown in (Equation 32) holds ((Equation 4),
(See (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’)) また、(32) (U, V) = (u '+ ∂u / ∂x × (X-x'),
v '+ ∂v / ∂x × (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 given by (Equation 3
The relationship of 4) is established.
【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)参照)。(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)) Specifically, the sample point is the center point of the pixel and (X, Y) =
(2.5,4.5), if the y coordinate of the drawing point to be calculated = 4.20, then (x0, y0, u0, v0) = (2.40, 4.20, 0,00, 11.20), and (Equation 34) and (Equation 5) , (Equation 8), (U, V) = (1.53, 11.24). Here, the target polygon is the same as that described in the related art, and dx / dy, du / dy,
The same values can be used for dv / dy, ∂u / ∂x, and ∂v / ∂x. By calculating the pixel value of the texture with this (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 sampling point 204 (X, Y) by the correction unit 103a (see (Equation 34)), An ideal corresponding point of 201 can be calculated. Furthermore, by ideally calculating the corresponding points of the first pixel of the span, the corresponding points of the pixels 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 process for the texture coordinate v is similar to the correction process for u, the correction unit 103 in FIG.
Only the configuration for the texture coordinate u in a is shown. In (Equation 34), (Y-y0) and (X-x0) do not exceed 1, and are defined by the pixel sampling points. That is, here, Y-y0 = fractional part of Y-fractional part of y0 = 0.5-fractional part of y0 X-x0 = fractional part of X-fractional part of x0 = 0.5-fractional part of x0 . In FIG. 9, a multiplier 1601
Is a first multiplier that calculates the second term of (Equation 34) representing U. The adder 1602 is a first adder that calculates (X−x0 + dx / dy) of the third term of (Expression 34) representing U. The multiplier 1603 is a second multiplier that calculates the third term of (Equation 34) representing U. The adder 1604 is U
The first term, the second term and the third term of (Equation 34)
It is a second adder for calculating. Further, the corresponding point v can also be realized with a similar configuration. With this configuration, it is possible to realize the correction process according to (Equation 34), that is, the correction unit 103a according to the present embodiment.
Can be realized.
【0158】以上のように本実施の形態によれば、補正
部103aを設けることにより、エッジ生成部102a
で生成されたエッジ描画点に対応する対応点を補正処理
する。これにより、エッジ描画点が含まれる画素につい
て理想的な対応点を算出することができる。また、スパ
ン描画点の先頭、すなわちエッジ描画点が理想的な対応
点であれば、そのスパンに含まれる画素についても理想
的な対応点を算出することができる。すなわち、ポリゴ
ンに含まれるすべての画素について理想的な対応点を算
出することができ、マッピング画像の画質を向上させる
ことができる。As described above, according to this embodiment, by providing the correction unit 103a, the edge generation unit 102a
Corresponding points corresponding to the edge drawing points generated in step 3 are corrected. Accordingly, it is possible to calculate an ideal corresponding point for the pixel including the edge drawing point. Further, if the head of the span drawing point, that is, the edge drawing point is an ideal corresponding point, the ideal corresponding point can be calculated for the pixels included in the span. That is, the 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に示したすべての構成要素をパイプライン
的に動作させることが可能であり、処理全体としての高
速性はまったく損なわれない。Furthermore, 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 it is not necessary to newly generate it. Further, although a delay occurs in the entire processing due to the correction processing, all the constituent elements shown in FIG. 7 can be operated in a pipeline manner, and the high speed of the entire processing is not impaired at all.
【0160】なお、本実施の形態では、ポリゴンとテク
スチャ画像との関係は(数1)、(数2)としたが、そ
の関係は(数1)、(数2)に限るものではない。例え
ば、この関係を(数17)、(数18)としても正確な
対応点計算を行なうことができる。In this embodiment, the relationship between the polygon and the texture image is set to (Equation 1) and (Equation 2), but the relationship is not limited to (Equation 1) and (Equation 2). For example, even if this relationship is set to (Equation 17) and (Equation 18), accurate corresponding point calculation can be performed.
【0161】換言すれば、あらゆる対応点式に本実施の
形態は対応することができる。In other words, this embodiment can correspond to all corresponding point expressions.
【0162】なお、本実施の形態では、ポリゴンにマッ
ピングする画像上の対応点計算について説明したが、照
度計算、不透明度計算についても同様の処理を適応する
ことができる。また、これらに関しても対応点と同様
に、あらゆる関係式に対応することができる。In the present embodiment, the calculation of the corresponding points on the image to be mapped on the polygon has been described, but the same processing can be applied to the illuminance calculation and the opacity calculation. Also, regarding these, similarly to the corresponding points, it is possible to correspond to all relational expressions.
【0163】なお、本実施の形態では、アンチエイリア
シング処理を行なわない方法で説明を行なったが、アン
チエイリアシング処理を含めても同様の処理を行なうこ
とができる。In this embodiment, the method in which the anti-aliasing process is not performed has been described, but the same process can be performed even if the anti-aliasing process is included.
【0164】なお、サブピクセルポジショニングを行う
場合にも、本実施の形態と同様の補正処理を行なうこと
ができる。Even when sub-pixel positioning is performed, the same correction processing as in this embodiment can be performed.
【0165】図7を用いて、テクスチャ画像上の対応点
の位置(アドレス)を決定するアドレス発生部について
説明したが、これをテクスチャマッピングに用いるとす
れば、図10の構成となる。アドレス発生部1701は
本装置により、ポリゴンとテクスチャとの対応を入力と
しスクリーンにおけるポリゴンのアドレス(x,y)と、こ
れに対応するテクスチャのアドレス(u,v)とを発生す
る。テクスチャメモリ1702は、テクスチャ画像が格
納されている。フレームメモリ1703は、生成する画
像を格納する。アドレス発生部1701により、ポリゴ
ンの描画座標と、これに対応するテクスチャ座標(u,v)
が出力される。出力されたテクスチャ座標(u,v)によ
り、テクスチャメモリ1702から読み出された画素値
(R,G,B)が、フレームメモリ1703に格納される。こ
の格納アドレスは、アドレス発生部1701から出力さ
れた(x,y)から決定される。Although the address generator for determining the position (address) of the corresponding point on the texture image has been described with reference to FIG. 7, if this is used for texture mapping, the configuration of FIG. 10 is obtained. The address generation unit 1701 generates the address (x, y) of the polygon on the screen and the address (u, v) of the texture corresponding to the input of the correspondence between the polygon and the texture by this device. A texture image is stored in the texture memory 1702. The frame memory 1703 stores the image to be generated. The address generation unit 1701 draws polygon coordinates and the corresponding texture coordinates (u, v).
Is output. The pixel value read from the texture memory 1702 by 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)
から決定される。Illuminance mapping (shading)
If it is used for, the configuration shown in FIG. 11 is obtained. Illuminance calculator 1
801 is the address (x, y) of the polygon on the screen with the correspondence between the polygon and the illuminance of the polygon as input.
And the pixel value that represents the color in the corresponding polygon
Generate (R, G, B) and. The frame memory 1803 is a frame memory that stores an image to be generated. The illuminance calculation unit 1801 outputs the drawing coordinates of the polygon and the pixel values (R, G, B) corresponding thereto. Output pixel value (R,
G, B) are stored in the frame memory 1803. This storage address is output from the illuminance calculation unit 1801 (x, y)
Is determined from
【0167】さらに、不透明度、バンプ、ディスプレー
スメントマッピングなどここで説明した以外のマッピン
グに関しても同様の構成により実現することができる。Further, mapping other than those described here such as opacity, bump, and displacement mapping can also be realized by the same configuration.
【0168】これらは、以降の実施の形態についても同
様で、テクスチャ、照度、不透明度、バンプ、ディスプ
レースメントなどのマッピングに関して本発明を用いる
ことができる。The same applies to the following embodiments, and the present invention can be applied to mapping of texture, illuminance, opacity, bumps, displacement and the like.
【0169】(実施の形態2)以下本発明のマッピング
装置の第2の実施の形態について図面を参照しながら説
明する。構成に関しては、第1の実施の形態と同じであ
る。本実施の形態では画素内の最も原点に近い点をサン
プル点と定め、このサンプル点のy軸に合わせてエッジ
描画点、およびその対応点を算出することにより、補正
部における補正処理を1次元の補正とし第1の実施の形
態と比較して簡略化させることができる。(Second Embodiment) A second embodiment of the mapping apparatus of the present invention will be described below with reference to the drawings. The configuration is the same as that of the first embodiment. In the present embodiment, a point closest to the origin in a pixel is defined 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 process in the correction unit is performed in one dimension. The correction 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 which the side 1404 in FIG. 37 crosses. The pixel of FIG.
It corresponds to the part surrounded by (x, y) = (2,4) (2,5) (3,5) (3,4) in 7. 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 is an edge drawing point (x0, y0) before the 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 is the sample point (X, Y) of the pixel 401.
It is. Further, it is assumed that the relationship shown in (Equation 1) and (Equation 2) is established 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 are (equation 3)
1), the relationship shown in (Equation 32) holds ((Equation 4),
(See (Equation 7)).
【0173】ここでは、スクリーン画素のサンプル点
を、その画素においてもっとも原点に近い点とし(図1
2において画素の左上の点)、エッジ生成部102aに
より、あらかじめ定義されたスクリーン画素のサンプル
点のy軸に合わせて、エッジ描画点、およびその対応点
を算出する。これにより、図12に示すようなエッジ点
を生成することができる。Here, the sample point of the screen pixel is the point closest to the origin in that pixel (see FIG.
The upper left point of the pixel in 2) and the edge generation unit 102a calculate the edge drawing point and its corresponding point in accordance with the y-axis of the sample point of the screen pixel defined in advance. As a result, edge points as shown in FIG. 12 can be generated.
【0174】このとき、これらの対応点には、(数3
5)に示す関係が成り立つ((数4)、(数7)参
照)。At this time, these corresponding points are (equation 3)
The relationship shown in 5) is established (see (Equation 4) and (Equation 7)).
【0175】[0175]
【数35】(U,V) = (u0-∂u/∂x×(x0-X),v0-
∂v/∂x×(x0-X)) また、サンプル点404は、画素401においてもっと
も原点に近い点であることから、(35) (U, V) = (u0-∂u / ∂x × (x0-X), v0-
∂v / ∂x × (x0-X)) 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 (Equation 35) can be (Equation 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 / ∂x × (x0- [x0])) Specifically, the sample point is located at the upper left of the pixel (X, Y) = (2.0,
4.0), when the y coordinate of the drawing point to be calculated 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) From (8), (U, V) = (-0.71, 11.03). Here, the calculated U has a negative value. This can be said to be an ideal correspondence point calculation in which the sample points are outside the polygon and the sample points are negative.
【0178】ここで、対象とするポリゴンは、従来の技
術で説明したものと同じであり、dx/dy、du/d
y、dv/dy、∂u/∂x、∂v/∂xも同一の値を
用いることができる。この(U,V)値を用いて、テク
スチャ画像上の画素値を算出することにより、画素に対
する正確な画素値を反映させることが可能となる。Here, the target polygon is the same as that described in the prior art, and dx / dy, du / d.
The same values can be used for y, dv / dy, ∂u / ∂x, and ∂v / ∂x. By calculating the pixel value on the texture image using this (U, V) value, it becomes possible to reflect the 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
Corresponding point of 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. Furthermore, by ideally calculating the corresponding points of the first pixel of the span, the corresponding points of the pixels 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 according to the present embodiment.
A configuration example of a will be described. Since the correction process regarding the texture coordinates u and v can be considered in the same manner, the correction process shown in FIG.
3 shows a configuration regarding the texture coordinate u in the correction unit 103a. In (Equation 37), (x0- [x0]) represents the decimal point part of x0. In FIG. 13, the multiplier 1901 calculates the second term of (Equation 37) representing U. The adder 1902 is an adder that calculates the U by adding the first term and the second term of (Equation 37). Also, the corresponding point V
Can 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 section 102a is converted into the corresponding point (U, V) of the sample point 404 (X, Y) by the correcting section 103a. By correcting (Equation 37), the ideal corresponding point of the pixel 401 can be calculated. Furthermore, by ideally calculating the corresponding points of the first pixel of the span, the corresponding points of the pixels 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 generation unit 102a generates the edge drawing point and the corresponding point in accordance with the y coordinate of the sample point of the pixel, and the correction unit 10a.
In 3a, the parameter relating to the polygon edge generated by the edge generating unit 102a is corrected. As a result, similar to the first embodiment, it is possible to calculate ideal corresponding points for all pixels included in the polygon, and it is possible to improve the image quality of the texture mapping image.
【0183】また補正処理に関しては、図13に示した
補正部103aの構成図から、1パラメータにつき、乗
算1回、加算1回で実現することができ、又、(x0-[x
0])は上位ビットマスクで実現することができるため、
実施の形態1の場合と比較して、回路を簡単化すること
ができる。すなわち、補正処理による処理全体の遅延を
極めて小さくすることができる。また、装置全体として
も、すべての構成要素をパイプライン的に動作させるこ
とが可能であり、処理全体としての高速性はまったく損
なわれない。The correction process 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 with a high-order bit mask,
The circuit can be simplified as compared with the case of the first embodiment. That is, the delay of the entire process due to the correction process can be made extremely small. Further, in the entire apparatus, all the constituent elements can be operated in a pipeline, and the high speed of the entire processing is not impaired at all.
【0184】なお、本実施の形態では、画素におけるサ
ンプル点を画素において原点にもっとも近い点とした
が、このサンプル点の位置は他の位置を取り得る。例え
ば、原点から最も遠い点をサンプル点としてもかまわな
い。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 can be 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 the points on the polygon and the points on the texture image is (Equation 1), (Equation 2)
However, the relationship is not limited to (Equation 1) and (Equation 2). For example, even if this relationship is set to (Equation 17) and (Equation 18), accurate corresponding point calculation can be performed. In other words, it is possible to deal with all corresponding point expressions.
【0186】なお、本実施の形態では、ポリゴンの対応
点計算について説明したが、照度計算、不透明度計算に
ついても同様の処理を実現することができる。また、こ
れらに関しても対応点と同様に、あらゆる関係式に対応
することができる。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. Also, regarding these, similarly to the corresponding points, it is possible to correspond to all relational expressions.
【0187】なお、本実施の形態では、アンチエイリア
シング処理を行なわない方法で説明を行なったが、アン
チエイリアシング処理を含めても同様の処理を行なうこ
とができる。In the present embodiment, the method in which the anti-aliasing processing is not performed has been described, but the same processing can be performed even if the anti-aliasing processing is included.
【0188】なお、サブピクセルポジショニングを行な
っても、本実施の形態と同様の補正処理を行なうことが
できる。Even if sub-pixel positioning is performed, the same correction processing as in this embodiment can be 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 block diagram of a mapping device according to the third embodiment of the present invention. The calculation unit 501 uses the positions of the polygon vertices and the corresponding points given to the polygon vertices to calculate the drawing points inside the polygon by the incremental algorithm and the parameters used to calculate the corresponding points. 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 uses the data generated by the calculation unit 501 and the corresponding points generated by the edge generation unit 502 to calculate the drawing points of the polygon span and the corresponding points. The original image storage unit 504 stores the original image (mapping image). The generated image storage unit 505 stores the generated image. The pixel storage processing unit 506 is the span generation unit 5
One pixel data stored in the original image storage unit 504 is stored in one or more adjacent pixel data in the generated image storage unit 505 by using the data from 03.
【0191】以上のように構成されたマッピング装置に
ついて、以下図面を用いてその動作を説明する。The operation of the mapping device 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はスパ
ン生成部503により生成される描画点(x0,y0)=(2.4
0,4.20)とする。FIG. 15 is an enlarged view of a pixel crossed by the side 1404 in FIG. 37. The pixel in FIG.
It corresponds to the part surrounded by (x, y) = (2,4) (2,6) (4,6) (4,4) in 7. 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 is (x, y) =
They are (2,4), (3,4), (2,5) and (3,5). The edge 602 indicates the edge (side 1404) of the polygon, and it is assumed that the polygon exists on the right side of the edge 602. The drawing point 603 is the drawing point (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 the point closest to the origin in that pixel (see FIG.
5, the point 604a is the sample point (X, Y) = (2,4) of the pixel 601a, the point 604b is the sample point (X + 1, Y) = (3,4) of the pixel 601b, and the point 604c is The sample point (X, Y + 1) = (2,5) of the pixel 601c, and the point 604d is the pixel 601.
The sample 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 the screen. This texture pixel is read from the original image storage unit 504 and has the same size as the screen pixel.
【0194】テクスチャマッピングが行なわれるとき、
スパン生成部503により生成した描画点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 span generation unit 503 does not match the corresponding point of the pixel 601a.
【0195】ここでは、描画点における対応点と画素の
サンプル点における対応点が一致しないことを前提とし
て、スクリーンに描画すべき画素のデータをスクリーン
上の複数の画素に格納することにより、対応点不一致の
問題を解決する。Here, assuming that the corresponding points at the drawing points and the corresponding points at the pixel sample points do not match, the data of the pixels to be drawn on the screen are stored in a plurality of pixels on the screen, and the corresponding points are stored. 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 pixel 605 is distributed to the pixels 601a, 601b, 601c, and 601d on the screen and then stored to solve the conventional problem. The distribution is performed according to the area shared by the determined 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, the shared area ratio can be used as the weighting coefficient.
【0197】図15において606aは、テクスチャ画
素605とスクリーン画素601aとが共有する部分
(共有領域)を表し、その面積(共有面積)をSaとす
る。同様に、606bは、スクリーン画素601bとの
共有領域を表し、その共有面積をSbとする。606c
は、スクリーン画素601cとの共有領域を表し、その
共有面積をScとする。606dは、スクリーン画素6
01dとの共有領域を表し、その共有面積をSdとす
る。これらの共有面積は(数38)から(数41)のよ
うに、表すことができる。In FIG. 15, 606a represents a portion (shared area) shared by the texture pixel 605 and the screen pixel 601a, and its area (shared area) is Sa. Similarly, 606b represents a shared area with the screen pixel 601b, and its shared area is Sb. 606c
Represents a shared area with the screen pixel 601c, and the shared area is Sc. 606d is a screen pixel 6
A shared area with 01d is shown, 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) )(38) Sa = (1- (x0-X)) 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 )(40) Sc = (1- (x0-X)) x (y0-Y)
【0201】[0201]
【数41】Sd = ( x0-X ) × ( y0-Y ) 具体的に、それぞれの共有面積を次に示す(図16参
照)。図16は、図15における四つの共有領域を拡大
したものである。## EQU00004 ## Sd = (x0-X) × (y0-Y) Specifically, the shared area of each is 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), pixel 601a, pixel 601b,
The pixel 601c and the pixel 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, the texture data (pixel value) of the original image storage unit 504 is read out, and the above-described processes are 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 the configuration 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, the multiplier 2101 calculates the shared area Sa, the multiplier 2102 calculates the shared area Sc, the multiplier 2103 calculates the shared area Sb, and the multiplier 2
104 calculates the shared area Sd. The multiplier 2105 calculates the pixel value to be stored in the pixel 601a, and the multiplier 2106
Calculates the pixel value to be stored in the pixel 601c, and the multiplier 21
07 calculates the pixel value stored in the pixel 601b, and the multiplier 2108 calculates the pixel value 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 to be reflected on the screen pixel is adjusted according to the deviation between the drawing point and the sample point generated in the increment algorithm. , Distribute and store. That is, accurate pixel values in texture mapping can be reflected in all pixels on the screen, and accurate texture mapping can be realized on the screen. This can be said that the present embodiment corrects the drawing pixel, while the first and second embodiments correct the position of the drawing point.
【0206】本実施の形態の構成で付加した画像格納処
理部506において行なう処理は、テクスチャ画素とス
クリーン画素の共有面積の算出処理((数38)〜(数
41))と、その面積に応じてテクスチャ画素値を分配
する処理と、分配されたテクスチャ画素値を格納する処
理の三つ分けることができる。The processing performed in the image storage processing unit 506 added in the configuration of the present embodiment is based on the calculation processing of the shared area of the texture pixel and the screen pixel ((Equation 38) to (Equation 41)) and the area thereof. The process of distributing the texture pixel value by the process and the process of storing the distributed texture pixel value can be divided into three.
【0207】図17の乗算器で行なう、共有面積の算出
処理と、画素値の配分とは、シフト器と加算器とにより
実現することができる。換言すれば、図17の乗算器は
いわゆる乗算器ではなく、シフトと加算から構成される
乗算器である。また、これらの処理において必要とする
精度を抑える事によって、加算器の数を抑え、さらに加
算処理による遅延を抑えることが可能である。すなわ
ち、これらの処理は高負荷とはいえず、処理速度の低下
にはつながらない。さらに、分配されたテクスチャ画素
値を格納する処理に関しては、格納する画素は必ず隣接
することから、生成画像格納部505へのアクセスその
ものを並列動作させることや、画像格納処理部506で
行なう処理を他の構成部と並列的に動作させることも可
能である。すなわち、画像格納処理部506の構成は複
雑なものではなく、その処理速度も劣化するものではな
い。The calculation processing of the shared area and the distribution of the pixel values performed by the multiplier of FIG. 17 can be realized by the shifter and the adder. In other words, the multiplier shown in FIG. 17 is not a so-called multiplier but a multiplier composed of shift and addition. Further, by suppressing the precision required in these processes, it is possible to suppress the number of adders and further suppress the delay due to the addition process. That is, these processes do not have a high load and do not lead to a decrease in processing speed. Further, regarding the processing of storing the distributed texture pixel values, the pixels to be stored are always adjacent to each other. Therefore, the access itself to the generated image storage unit 505 is operated 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 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.
【0209】なお、本実施の形態では、エッジ生成部5
02において生成する描画点のy軸方向の値と画素のサ
ンプル点のy軸方向の値とは一致していなかったが、エ
ッジ生成部502においてこれらを一致するような描画
点を生成することにより、生成画像格納部505へのア
クセス量を減らすことができる。In the present embodiment, the edge generator 5
Although the y-axis direction value of the drawing point generated in 02 and the y-axis direction value of the pixel sample point do not match, the edge generating unit 502 generates the 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. Also, regarding these, similarly to the corresponding points, it is possible to correspond to all relational expressions.
【0211】なお、本実施の形態では、アンチエイリア
シング処理を行なわない方法で説明を行なったが、アン
チエイリアシング処理を含めても同様の処理を行なうこ
とができる。In the present embodiment, the method in which the anti-aliasing process is not performed has been described, but the same process can be performed including the anti-aliasing process.
【0212】なお、サブピクセルポジショニングを行な
っても、本実施の形態と同様の補正処理を行なうことが
できる。Even if the sub-pixel positioning is performed, the same correction processing as in the present embodiment can be performed.
【0213】なお、本実施の形態では、テクスチャ画素
がスクリーンの四つの画素と共有領域をもつとしたが、
サンプル点のy座標値にあわせて描画点を発生させるこ
とにより、共有領域は最大二つとなる。これにより、メ
モリへで実現する生成画像格納部へのアクセスを飛躍的
に軽減することができる。In this embodiment, the texture pixel has four pixels on the screen and a common area.
By generating drawing points according to the y-coordinate values of sample points, the maximum number of shared areas is two. As a result, it is possible to dramatically reduce access to the generated image storage unit realized by the memory.
【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 block diagram of the address generator of the mapping apparatus according to the fourth embodiment of the present invention. The calculation unit 701 calculates the drawing points inside the polygon and the parameters used for calculating the corresponding points using the positions of the polygon vertices and the corresponding points given to the polygon vertices. The first edge generation unit 702a uses the parameters generated by the calculation unit 701 to calculate candidate points and corresponding points corresponding to drawing points of polygon edges. The second edge generation unit 702b uses the parameters generated by the calculation unit 701 to calculate candidate points and corresponding points corresponding to drawing points of polygon edges. The selection unit 703 is the first edge generation unit 702a.
Or the second edge generation unit 70
The result generated in 2b is selected, and the selected result is output to the first edge generating unit 702a and the second edge generating unit 702b. The span generation unit 704 is the calculation unit 70.
Using the parameters generated in 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 device configured as described above 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 pixels on the screen which the edges of the drawn polygon cross. Reference numeral 801 denotes an edge of a polygon, and it is assumed that the polygon exists on the right side of the polygon, and the relationship shown in (Equation 1) and (Equation 2) is established between the polygon and the texture. Further, 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 define screen pixels defined in advance. The candidate points and corresponding points corresponding to the edge drawing points are calculated according to the y-axis of the sample points of. Here, the sample point of a pixel is the point closest to the origin in that pixel. Points 802a, 802b, 802c, 802d, 80
Let 2e be the drawing points P0, P1, P2, P3, and P4 calculated in the scan line direction by the incremental algorithm.
Pixels 803a, 803b, 803c, 803d, 803
e is the drawing points 802a, 802b, 802c,
It is assumed that pixels 802d and 802e are reflected. Point 804
Let a, 804b, 804c, 804d, and 804e be sample points of the pixels 803a, 803b, 803c, 803d, and 803e. Furthermore, arrows indicated by 805a to 805d indicate transitions of pixel sample points drawn along polygon edges. Here, in 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) is a triangle that is (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 same reference numerals as those in FIG. 19 denote the same parts as those in FIG. The point 901 is the closest sample point existing in the left direction in the figure with respect to the drawing point 802b (same as 804b), and the point 902 is the closest sample point existing in the right direction in the figure with respect to the drawing point 802b. To do. Here, it is assumed that the sample points 901 and 902 are candidate points for the drawing point 802b. Also, the arrow indicated by 903 is the sample point 8
It is assumed that the change from 04a to the sample point 901 and the arrow 904 indicates the change from the sample point 804a 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, sampling points 901 and 902
From the drawing point 802b and the corresponding point u at 903
Change (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])[Equation 42] du / dy (L) = du / dy-∂u / ∂xx
(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)を対応点算出に用いることになる。[Expression 43] du / dy (R) = du / dy + ∂u / ∂xx
(1−dx / dy + [dx / dy]) The change of these two corresponding points u is represented by the sampling point 804a,
804b, 804c, 804d, and 804e, the pixels 803a and 803 can be selected appropriately.
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 to calculate the corresponding points.
【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 of the two corresponding points u (du / dy
Selection of (L) and du / dy (R)) is performed as follows. Error E of x on the x-axis between the drawing point and the sampling point
(Distance) is calculated by repeating the incremental algorithm to E
(Equation 46) is accumulated. However, the cumulative error does not exceed 1. Similar to the corresponding point u, there are two increments of x and v, respectively, and these are selected by the same procedure. Two increments of the drawing point x and the corresponding point v are dx / dy (L),
dx / dy (R), dv / dy (L), dv / dy
Represented as (R). These are (Formula 44) and (Formula 45)
It is calculated by the calculation unit 701 according to the formula shown in.
【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)の増分とする)用いる。[Expression 45] dv / dy (L) = dv / dy-∂v / ∂xx
(Dx / dy- [dx / dy]) dv / dy (R) = dv / dy + ∂v / ∂x × (1 − dx
/ Dy + [dx / dy]) The two increments are selected by cumulatively adding the difference (expressed as an error) between the drawing point and the sampling point shown in (Equation 46). If this cumulative error is 1 or more, dx / Dy (R), du / dy
(R) and dv / dy (R) are used (increment of (R)). If the cumulative error is less than 1, dx / dy
(L), du / dy (L), and dv / dy (L) are used (increment of (L)).
【0225】[0225]
【数46】E = dx/dy - [dx/dy] 図19において、サンプル点804aをサンプル点80
4bに変化させる場合、xの累積誤差E0は(数47)
となり、描画点x、対応点u、vに関する増分は(L)
の増分を用いる。[Equation 46] E = dx / dy- [dx / dy] In FIG. 19, the sampling point 804a is changed to the sampling point 80.
When changing to 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)
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)を用いる。[Equation 47] 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) (R) is used for the increment regarding 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 sampling point 804c is changed to the sampling point 804d, the cumulative error E2 of x is 49), and (L) is used as the increment for the drawing point x and the corresponding points u and v.
【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)を用いる。[Equation 49] E2 = E1 + dx / dy-[dx / dy] = 0 + 1.5-[1.5] (∵ E1 exceeds 1, so E1 = E1-
1) = 0.5 <1.0 When the sampling point 804d is changed to the sampling point 804e, the cumulative error E3 of x is (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 points are calculated as follows. First, the relationship between the screen coordinates of the polygon to be texture-mapped and the texture coordinates ((x, y, u, v) = (6,0,0,0) (0,
4,0,16) (8,5,16,16) triangular polygon), dx / dy, du / dy, dv / d of three sides forming the polygon
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 Shown in (Equation 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 generator 702a includes an arithmetic unit 7
The increment of (L) calculated in 01 (see (Equation 51)) and the screen coordinate value and 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 calculation unit 701 and ((Equation 5
1)), and the screen coordinate value and the texture coordinate value (6,0,0,0) of the point P0 are given as initial values. Selector 703
Is given a difference E (see (Equation 51)) between the drawing point and the sample point calculated by the calculation unit 701.
【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 generators 702a and 702b, the initial value is (x, y, u, v) given to the polygon vertex,
After that, each increment value is added to (x, y, u, v) which is the 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).
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 unit 703 sequentially adds E (= dx / dy- [dx / dy]) when calculating the edge points to calculate the cumulative error. When the accumulated error is less than 1, (x, y, u, v) output from the first edge generation unit 701a is output from the second edge generation unit 702b when the accumulated error is 1 or more (x , y, u, v) is selected.
【0234】これらの第1のエッジ生成部702a、第
2のエッジ生成部702bおよび選択部703での処理
の流れを図21に示す。FIG. 21 shows the flow of processing in the first edge generating section 702a, the second edge generating section 702b, and the selecting section 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, processing 2201 and 220
Reference numerals 3, 2205, and 2207 denote the first edge generation unit 702.
This is the process in a. Process 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 according to this value. 2221, 2222, 222
Reference numerals 3 and 2224 indicate how data is selected by the selection unit 703. Further, in the figure, the shaded numerical values (data) are values calculated by the calculation unit 701. Further, the data output from the selection unit 703 is underlined.
【0236】次に、この対象ポリゴンにおけるスクリー
ン座標点と、テクスチャ座標点の算出について(step0)
から(step4)に説明する。Next, the calculation of screen coordinate points and texture coordinate points in this target polygon (step 0)
To (step 4).
【0237】それぞれのstepにおいて、そのy座標値
は、0,1,2,3,4である。At each step, the y coordinate value is 0, 1, 2, 3, 4.
【0238】(step0)ポリゴンの頂点である点P0(6,0,0,
0)が、以降の処理における初期値となる。(Step0) Point P0 (6,0,0,
0) is the 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 the 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 process 220 is performed.
1 and 2202 are performed. These are processes for adding the increment values given by 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, the selection unit 703 performs the processing 2211. This is a process of cumulatively adding E given from the calculation unit 701. Process 220
After completion of steps 1, 2202, and 2211, the selection unit 703 selects data from the value of the cumulative 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 incremental calculation of 805a shown in FIG.
【0243】(step2)次に、第1のエッジ生成部702
aおよび第2のエッジ生成部702bにおいて、それぞ
れ、処理2203、2204を行なう。選択部703に
おいて、先に選択されたデータ(4.00,1.00,-0.84,4.21)
に対して、先と同じように増分値を加算する。(Step2) Next, the first edge generator 702
In a and the second edge generation unit 702b, processes 2203 and 2204 are performed, respectively. Data previously selected by the selection unit 703 (4.00,1.00, -0.84,4.21)
Again, the increment value is added 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, in the selecting unit 703, a process 2412 of accumulatively adding E given from the arithmetic unit 701.
Perform After the processing 2403, 2404, and 2412 is completed, the selection unit 703 determines the cumulative error E (sum (E) in the figure).
Data is selected from the value of. Here, since it is 1 or more, it is output from the second edge generation unit 702b.
Select (x, y, u, v) (selection 2222). That is,
Select (3.00,2.00,0.00,8.00). This is the incremental calculation of 805b shown in FIG. Further, since the cumulative error E has exceeded 1 here, the process of subtracting 1 from this is simultaneously performed (error correction).
【0245】(step3)また次に、第1のエッジ生成部7
02aおよび第2のエッジ生成部702bにおいて、そ
れぞれ、処理2205、2206を行なう。選択部70
3において、先に選択されたデータ(3.00,2.00,0.00,8.
00)に対して、先と同じように増分値を加算する。(Step3) Next, the first edge generator 7
02a and the second edge generation unit 702b perform processing 2205 and 2206, respectively. Selector 70
In 3, the previously selected data (3.00,2.00,0.00,8.
The increment value is added to 00) as before.
【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, in the selecting unit 703, a process 2413 for accumulatively adding E given from the arithmetic unit 701.
Perform After the processes 2405, 2406, and 2413 are completed, the selection unit 703 selects the cumulative error E (sum (E) in the figure).
Data is selected from the value of. Here, since it is less than 1, it is output from the first edge generation unit 702a.
Select (x, y, u, v) (selection 2223). That is,
Select (1.00,3.00, -0.84,12.21). This is shown in FIG.
It is the incremental calculation of 805c shown in FIG.
【0247】(step4)さらに、第1のエッジ生成部70
2aおよび第2のエッジ生成部702bにおいて、それ
ぞれ、処理2207、2208を行なう。選択部703
において、先に選択されたデータ(1.00,3.00,-0.84,12.
21)に対して、先と同じように増分値を加算する。(Step4) Furthermore, the first edge generator 70
2a and 2nd edge generation part 702b perform processing 2207 and 2208, respectively. Selector 703
, The previously selected data (1.00,3.00, -0.84,12.
To 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, in the selecting unit 703, a process 2414 of accumulatively adding E given from the arithmetic unit 701.
Perform After the processes 2407, 2408, and 2414 are completed, the selection unit 703 selects the cumulative error E (sum (E) in the figure).
Data is selected from the value of. Here, since it is 1 or more, it is output from the second edge generation unit 702b.
Select (x, y, u, v) (selection 2224). That is,
Select (0.00,4.00,0.00,16.00). This is the incremental calculation of 805d shown in FIG.
【0249】以上のように(step0)から(step4)の処理を
実行することにより、ポリゴンエッジのエッジ描画点に
関して、補正されたスクリーン座標値およびテクスチャ
座標値を得ることができる。すなわち、理想的なポリゴ
ンエッジに関する描画点および対応点の算出を行なうこ
とができる。By executing the processing from (step 0) to (step 4) as described above, it is possible to obtain the corrected screen coordinate value and texture coordinate value for the edge drawing point of the polygon edge. That is, it is possible to calculate drawing points and corresponding points regarding ideal polygon edges.
【0250】また、第1のエッジ生成部702a、第2
のエッジ生成部702b、選択部703の構成例につい
て説明する。The first edge generator 702a and the second edge generator 702a
A 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 block diagram of the first edge generator 702a. Here, it is output from the calculation 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 are the data (x, y, u, v) output from the calculation unit 701 or the adder 2302a.
To 2302d output data (x, y, u, v) is selected. Selectors 2301a, 2301b, 2301c,
2301d is a selector that selects x, y, u, and v, respectively. In these selectors, when calculating the first edge point, the output (x, y, u,
v) is selected, and in other cases, 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)参照)とする。これ
らの増分値は、一つのエッジに関する処理が終了するま
では変化することはない。Further, the adder 2302a performs an increment process for x, the incremented value is x output from the selection unit 703, and the incremented value is dx / dy (L) (see (Equation 51)). Similarly, the adder 2302b performs an increment process for y, and the incremented value is output from the selection unit 703.
y, increment value is 1. The adder 2302c performs an increment process for u, the incremented value is u output from the selection unit 703, and the increment value is du / dy (L) (see (Formula 51)).
And The adder 2302d performs an increment process on v, the incremented value is v output from the selection unit 703, and the increment value is 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 above,
The first edge generation unit 702a that executes 2203, 2205, and 2207 can be realized. The second edge generation unit 702b has the same processing content as the first edge generation unit 702a. Therefore, they can be realized by the same configuration, and the description thereof will be 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 the configuration diagram of the selection unit 703. In FIG. 23, reference numeral 2401 denotes an adder, and the initial value is the difference (E) between the drawing point calculated by the incremental algorithm and the sample point of the screen pixel, and the error E (equation 51) for x in each scan line is calculated. It has a mechanism of cumulative addition (cumulative error is sum (E)).
This error E does not change until the processing for one edge is completed. Selectors 2402a to 24
02d receives the result of the cumulative error calculated by the adder 2401 and selects the output value of the first edge generation unit 702a or the output value of the second edge generation unit 702b.
The selector 2402a is a selector 2402c related to x.
Is for u, and the selector 2402d is for v. Regarding the value of y, the first edge generation unit 702a
, And the output value from the second edge generator 702b are the same, 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)を選択する。In the adder 2401, when the adder is an adder that performs cumulative addition up to a value less than 1, by detecting whether or not the addition result overflows,
(Equation 47) to (Equation 50) and the above-mentioned processing contents ((ste
It is possible to implement (p0) to (step4)) and the processes 2221 to 2224 shown in FIG. That is, if 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 generator 702a is selected.
【0256】また、これらの動作の処理概要を図24に
示す。図25は、図24の処理によってマッピングを行
なう対象の三角形ポリゴンを表したものである(対象ポ
リゴン)。図25において、頂点の(ix,iy,iu,iv)は整
数で表されているものとし、それぞれの頂点座標と対応
点座標は(数52)の条件を満たすものとする。FIG. 24 shows the processing outline of these operations. FIG. 25 shows a target 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 the vertices are represented by integers, and the respective vertex coordinates and corresponding point coordinates satisfy the condition of (Equation 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は処理全体の終了
条件であり、これにより本装置の処理が終了する。[Expression 52] iy0 <iy1 = iy2 ix1 <ix0 <ix2 FIG. 24 shows an outline of processing, and each processing will be described with reference to the constituent elements in the fourth embodiment.
The process 1301 is a process in the calculation unit 701. 1302
Is the drawing point (x, y) in the span generation unit 704, the corresponding point
This is the output processing of (u, v). 1303 is the span generation unit 7
This is a process of calculating a drawing point in the span direction and a corresponding point in 04 (see (Equation 7)). A processing end condition 1304 is a processing end condition in the span generation unit 704. 1305 denotes a first edge generator 702a and a second edge generator 702a.
The processing common to the edge generation unit 702b is the calculation processing of the drawing point of the edge (see (Equation 4)) and the calculation processing of the numerical value serving as the selection criterion in 1306. The numerical value as the selection criterion is E shown in (Equation 46). Reference numeral 1306 denotes a selection process in the selection unit 703, which allows du /
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 is a corresponding point calculation process in the second edge generation unit 702b. Reference numeral 1309 denotes a termination condition for the entire processing, which terminates the processing of this device.
【0258】以上のように、図24に示した処理によ
り、図25に示したポリゴンに対して対応点、描画点の
算出処理を行なうことにより、正確な対応点計算を実現
することができる。As described above, by performing the processing shown in FIG. 24 to calculate the corresponding points and drawing points for the polygon shown in FIG. 25, it is possible to realize accurate corresponding point calculation.
【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) in 805a and 805c and select du / dy (R) in 805b and 805d as parameters used for calculation of corresponding points. The selection unit 703 selects the increment for the corresponding point u as described above. Although the corresponding point u has been described here, the same applies to the corresponding point v, illuminance, opacity, and the like.
【0260】すなわち、第1のエッジ生成部702aま
たは、第2のエッジ生成部702bで生成する対応点に
対して、選択部703で選択することにより((数4
7)〜(数50))、ポリゴンエッジが存在する画素に
おける理想的な対応点を算出することができる。さら
に、スパンの先頭画素であるポリゴンエッジが存在する
画素の対応点を理想的に算出することにより、このスパ
ンに含まれる画素の対応点も理想的に算出することがで
きる((数7)参照)。That is, the corresponding point generated by the first edge generating section 702a or the second edge generating section 702b is selected 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 points of the pixels in which the polygon edge that is the first pixel of the span exists, the corresponding points of the pixels included in this span can also be ideally calculated (see (Equation 7)). ).
【0261】以上のように本実施の形態によれば、第1
のエッジ生成部702a、第2のエッジ生成部702b
において生成されるパラメータを選択する選択部703
を設けることにより、描画画素に対する理想的な対応点
を得ることが可能となる。これにより、実施の形態1、
2および3と同様にポリゴンが投影されるすべての画素
について理想的な対応点を算出することができ、マッピ
ング画像の画質を向上させることができる。As described above, according to this embodiment, the first
Edge generator 702a and second edge generator 702b
703 for selecting parameters generated in
By providing, it becomes possible to obtain an ideal corresponding point for the drawing pixel. Thereby, the first embodiment,
Similar to 2 and 3, the ideal corresponding points can be calculated for all the pixels onto which the polygon is projected, and the image quality of the mapping image can be improved.
【0262】またそれぞれのエッジ生成部では、従来の
増分アルゴリズムと同様の処理負荷しかかからない。そ
れぞれのエッジ生補正で用いるパラメータ(増分値)の
算出は、ポリゴンのエッジに対してあらかじめ行なうこ
とができ、これらの演算に対する負荷を著しく増すもの
ではない。Further, each edge generation unit only has the same processing load as the conventional incremental algorithm. The calculation of the parameter (incremental value) used for 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 for selecting the parameters generated by each occurs, and the high speed of the entire processing is not impaired.
【0264】なお、本実施の形態では、第1のエッジ生
成部702aと、第2のエッジ生成部702bとを同時
に動作させることとした。しかし、選択部703の累積
誤差計算を先行的に実行することにより、いずれか一方
のエッジ生成部の動作を停止させることが可能となる。
これを、図21の処理フローの図を用いて説明する。累
積誤差計2211を処理の終了後、どちらのエッジ生成
部のデータを選択するかを認識することができる。ここ
では、処理2201の結果を選択するので、処理220
2を行なう第2のエッジ生成部702bの処理(処理回
路)を、停止させることになんの問題もない。すなわ
ち、選択部703の累積誤差計算を先行的に実行し、い
ずれか一方のエッジ生成部の動作を停止させることが可
能となり得る。これにより、装置全体としての消費電力
を押えることができる。In this 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 either one of the edge generation units.
This will be described with reference to the process flow diagram of FIG. After the processing of the cumulative error meter 2211 is completed, it is possible to recognize which edge generation unit data is to be selected. Since the result of the process 2201 is selected here, the process 220
There is no problem in stopping the processing (processing circuit) of the second edge generation unit 702b that performs the step 2. That is, it may be possible to execute the cumulative error calculation of the selection unit 703 in advance and stop the operation of either one of the edge generation units. As a result, the power consumption of the entire device can be suppressed.
【0265】なお、本実施の形態では、画素におけるサ
ンプル点を画素において原点にもっとも近い点とした
が、このサンプル点の位置は任意である。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.
【0266】なお、本実施の形態では、ポリゴンとテク
スチャの関係は(数1)、(数2)としたが、その関係
は(数1)、(数2)に限るものではない。例えば、こ
の関係を(数17)、(数18)としても正確な対応点
計算を行なうことができる。換言すれば、あらゆる対応
点式に対応することができる。In the present embodiment, the relationship between the polygon and the texture is set to (Equation 1) and (Equation 2), but the relationship is not limited to (Equation 1) and (Equation 2). For example, even if this relationship is set to (Equation 17) and (Equation 18), accurate corresponding point calculation can be performed. In other words, it is possible to deal with all corresponding point expressions.
【0267】なお、本実施の形態では、ポリゴンの対応
点計算について説明したが、照度計算、不透明度計算、
バンプマッピング計算などについても同様の処理を実現
することができる。また、これらに関しても対応点と同
様に、あらゆる関係式に対応することができる。図1
0、図11にテクスチャマッピング、照度マッピングを
実現する場合について、その全体構成の例を示す。In this embodiment, the calculation of the corresponding points of the polygon has been described, but the illuminance calculation, the opacity calculation,
Similar processing can be realized for bump mapping calculation and the like. Also, regarding these, similarly to the corresponding points, it is possible to correspond to all relational expressions. FIG.
0, FIG. 11 shows an example of the overall configuration in the case of realizing texture mapping and illuminance mapping.
【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, etc. can be realized with the same configuration. Since these configuration diagrams have been described in the first embodiment, they are omitted here. In this embodiment, the method in which the anti-aliasing process is not performed has been described, but the same process can be performed including the anti-aliasing process.
【0269】なお、サブピクセルポジショニングを行な
っても、本実施の形態と同様の補正処理を行なうことが
できる。Even if sub-pixel positioning is performed, the same correction processing as in this embodiment can be 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 block diagram of the address generator of the mapping apparatus according to the fifth embodiment of the present invention. In FIG. 26, 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 corresponding texture coordinate value by performing the incremental calculation using the specified increment value using the data generated by the calculation unit 701. The increment switching unit 2503 includes the calculation unit 7
The increment value in the edge generation unit 2502 is designated using the data generated in 01. Further, the polygon to be mapped here is the same as in the fourth embodiment (FIG. 19), and the corresponding points are (Equation 1) and (Equation 2).
It is assumed that the relationship of
【0272】このとき、本実施の形態でのテクスチャマ
ッピング処理について説明する。演算部701では、実
施の形態4と同様に必要とするパラメータの算出を行な
う((数42)、(数43)、(数44)、(数45)
参照)。具体的には、(数51)に示した値となる。At this time, the texture mapping processing in this embodiment will be described. The calculation unit 701 calculates necessary parameters as in the fourth embodiment ((Equation 42), (Equation 43), (Equation 44), (Equation 45)).
reference). Specifically, the value is 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 dx / dy (L), du / dy (L), d according to the signal from the increment switching unit 2503 shown as next_inc_ident in FIG.
v / dy (L), dx / dy (R), du / dy (R),
The increment value of dv / dy (R) is switched, and the 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を減じる処
理も行なう。Incremental switching unit 2503 cumulatively adds E ((Equation 46), (Equation 51)) described in the fourth embodiment, and controls the switching using the result. That is, the increment value used in the edge generation unit 2502 is switched. The switching process performed by the increment switching unit 2503 is similar to the selection process performed by the selection unit 703 described in the fourth embodiment. Specifically, when the cumulative error (sum (E)) is less than 1, the increment value used by the edge generation unit 2502 is dx / dy.
(L), du / dy (L), dv / dy (L).
If the accumulated error is 1 or more, the edge generation unit 2502
The increment values used in 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 processing flow of the edge generation section 2502 and the increment switching section 2503 in this embodiment will be described (the target polygon is shown in FIG. 19). The flow of these processes is shown in FIG. 27, and this process will be described below. In FIG. 27, processing 2601, 2602, 26
03 and 2604 are processes performed by the edge generation unit 2502. Processing 2611, 2612, 2613, 2614
Is a process performed by the increment switching unit 2503. The shaded portion in FIG. 27 is an increment value (screen coordinate, texture coordinate) controlled by the increment switching unit 2503 and used by the edge generating unit 2502. Also, underlined data 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 the initial value in the subsequent processing.
【0277】また、累積誤差sum(E)の初期値は、0
である。この(6,0,0,0)がエッジ生成部2502からの
出力値となる。The initial value of the cumulative error sum (E) is 0.
It is. This (6,0,0,0) is the output value from the edge generation unit 2502.
【0278】(step1)増分切替部2503では、誤差E
を累積加算する(処理2611)。ここでの累積誤差は
1未満であるため、エッジ生成部2502に対して、図
26で示したnext_inc_identを介して(L)の増分値を
用いることを要求する。(Step 1) In the increment switching unit 2503, the error E
Is cumulatively added (process 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の増分計算
となる。Upon receiving this, the edge generation unit 2502
(L) increment value (-2.00, tep0) result (initial value)
1.00, -0.84, 4.21) is added and the addition result is output (process 2601). Therefore, (4.00,1.00, -0.84,4.21) is output. This is the incremental 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, the edge generation unit 2502 is requested 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の増分計算とな
る。Upon receiving this, the edge generation unit 2502
(R) increment value (-1.00, 1.00, 0.84,
3.79) is added and the addition result is output (process 260).
2). Therefore, (3.00,2.00,0.00,8.00) is output. This is the incremental calculation of 805b shown in FIG.
【0282】また、増分切替部2503では、累積誤差
が1を越えたため、累積誤差から1を減じる処理を行な
う。Further, since the cumulative error exceeds 1, the increment switching section 2503 carries out a process of subtracting 1 from the cumulative error.
【0283】(step3)また、増分切替部2503では、
誤差Eを累積加算する(処理2613)。ここでの累積
誤差は1未満であるため、エッジ生成部2502に対し
て、図26で示したnext_inc_identを介して(L)の増
分値を用いることを要求する。(Step3) Further, in the increment switching section 2503,
The error E is cumulatively added (process 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の増分計算とな
る。The edge generation unit 2502 which receives this receives (s
(L) increment value (-2.00, 1.00, -0.8) for the result of tep2)
4, 4.21) is added and the addition result is output (Processing 260
3). Therefore, (1.00,3.00, -0.84,12.21) is output. This is the incremental 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 (process 261).
4). Therefore, the edge generator 2502 can
Request to use the increment value of (R) via next_inc_ident shown in 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 which receives this receives (s
(r) increment value (-1.00, 1.00, 0.84,
3.79) is added and the addition result is output (process 261).
4). Therefore, (0.00,4.00,0.00,16.00) is output. This is the incremental calculation of 805d shown in FIG.
【0287】また、増分切替部2503では、累積誤差
が1を越えたため、累積誤差から1を減じる処理を行な
う。In addition, since the cumulative error exceeds 1, the increment switching unit 2503 performs a process of subtracting 1 from the cumulative error.
【0288】以上のように(step0)から(step4)の処理を
実行することにより、ポリゴンエッジに関して、理想的
なポリゴン座標、テクスチャ座標を得ることができる。By executing the processing from (step 0) to (step 4) as described above, ideal polygon coordinates and texture coordinates can be obtained for polygon edges.
【0289】次に、エッジ生成部2502、増分切替部
2503の構成例について説明する。Next, a configuration example of the edge generating 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 block diagram of the edge generator 2502. Selectors 2701a, 2721c and 270
1d is controlled by next_inc_ident shown in FIG. With these selectors, the edge generation unit 250
Incremental value used in 2 (incremental value of (L) or (R)
(Increment value of).
【0291】加算器2702a、2702b、2702
c、および2702dにより増分処理を行なう。このと
き、セレクタ2701a、2721c、2701dによ
り選択された増分値を用いる。また、被増分値は、エッ
ジ生成部2502から出力される値を用いる。図28に
おいて、エッジ生成部から出力される値が、フィードバ
ックされこれらの加算器2702aから2702dに入
力している。これにより、処理2601、2602、2
603、2604を実現する。Adders 2702a, 2702b, 2702
Incremental processing is performed by using c and 2702d. At this time, the increment value selected by the selectors 2701a, 2721c, 2701d is used. As the incremented value, the value output from the edge generation unit 2502 is used. In FIG. 28, the value output from the edge generator is fed back and input to these adders 2702a to 2702d. Thereby, the 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 the first edge point is calculated, the output from the calculation unit 701 is (x, y, u, v)
Otherwise, select the data (x, y, u, v) output from the adders 2702a to 2702d. 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 increment switching unit 2503. In FIG. 29, the adder 2801 accumulates the error E (equation 51) for x in each scan line, with the initial value being the difference (E) between the drawing point calculated by the incremental algorithm and the sample point of the screen pixel. It is a mechanism for adding (cumulative error 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 the index for switching the increment value in the increment switching unit 2503 depends on whether the accumulated error (sum (E)) exceeds 1, and when it exceeds 1. After that, 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. As a result, the processes 2611, 2612, 2613 and 2614 are realized.
【0295】したがって、ここで示したエッジ生成部2
502、増分切替部2503の構成((図28)、(図
29)参照)により、上述した処理((step0)から(step
4))を実現することができる。Therefore, the edge generator 2 shown here
502 and the configuration of the increment switching unit 2503 (see (FIG. 28) and (FIG. 29)), the above-described processing (from (step 0) to (step)
4)) can be realized.
【0296】以上のように本実施の形態によれば、増分
切替部2503は、スクリーン座標値のxの値と、スク
リーン画素のサンプル点との差(誤差)の算出を、演算
部701で算出した値を累積加算(sum(E))するこ
とにより実現する。また、この累積誤差の値から、具体
的には累積加算結果がオーバーフローするかしないかの
判定だけでよく、オーバーフローするか、しないかによ
り、ポリゴンエッジのスクリーン座標値およびテクスチ
ャ座標値を算出するための増分値((L)の増分値、
(R)の増分値)を、エッジ生成部2502における増
分計算で用いるように制御する。As described above, according to this embodiment, the increment switching unit 2503 calculates the difference (error) between the value x of the screen coordinate value and the sample point of the screen pixel by the calculation unit 701. It is realized by cumulatively adding (sum (E)) the calculated values. Further, specifically, it is only necessary to determine whether or not the cumulative addition result overflows from the value of this cumulative error, and the screen coordinate value and the texture coordinate value of the polygon edge are calculated depending on whether the cumulative addition result overflows or not. Increment value ((L) increment value,
The increment value of (R) is controlled so as to be used in the increment calculation in the edge generation unit 2502.
【0297】また、エッジ生成部2502は、増分切替
部2503により指定された増分値を用いて増分計算を
行なう。ここで、求めるポリゴンを表す点のスクリーン
座標値およびテクスチャ座標値は、スクリーン画素に対
して理想的な値となる。Further, the edge generator 2502 performs the increment calculation using the increment value designated by the increment switcher 2503. Here, the screen coordinate value and the texture coordinate value of the point representing the desired polygon are ideal values for the screen pixels.
【0298】すなわち、エッジ生成部2502と、増分
切替部2503とを設けることにより、描画画素に対す
る理想的なスクリーン座標値およびテクスチャ座標値を
得ることが可能となる。これにより、先の実施の形態と
同様にポリゴンに含まれるすべての画素について理想的
な対応点を算出することができ、マッピングされる画像
の画質を向上させることができる。That is, by providing the edge generating section 2502 and the increment switching section 2503, it is possible to obtain the ideal screen coordinate value and texture coordinate value for the drawing pixel. This makes it possible to calculate the ideal corresponding points for all the pixels included in the polygon as in the previous embodiment, and improve the image quality of the image to be mapped.
【0299】エッジ生成部2502における回路規模
は、増分値の個数だけのセレクタが増えるだけで、回路
が飛躍的に増大することはない。また、処理速度におい
ては、無視できる範囲にある。したがって、従来の増分
アルゴリズムと同様の処理能力を有する。The circuit scale of the edge generating section 2502 is increased only by the number of selectors corresponding to the number of increment values, and the circuit does not increase dramatically. Further, the processing speed is in a negligible range. Therefore, it has a processing capacity similar to that of the conventional incremental algorithm.
【0300】増分切替部2503における回路規模に関
しても、図29の構成図から分かるように、その構成は
単純で、回路規模も小さい。As for the circuit scale of the increment switching unit 2503, as can be seen from the configuration diagram of FIG. 29, the configuration is simple and the circuit scale is small.
【0301】したがって、本発明の本実施の形態の構成
に関しては、処理能力、回路規模いずれをとっても、従
来の増分アルゴリズムと同様の処理速度を有し、さらに
は、理想的な対応点算出を行なうことができるものであ
る。Therefore, with regard to the configuration of the present embodiment of the present invention, the processing speed and the circuit scale are the same as those of the conventional incremental algorithm, and moreover, the ideal corresponding points are calculated. Is something that can be done.
【0302】なお、本実施の形態では、画素におけるサ
ンプル点を画素において原点にもっとも近い点とした
が、このサンプル点の位置は任意である。In this 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 this embodiment, the relationship between the polygon and the texture is set to (Equation 1) and (Equation 2), but the relationship is not limited to (Equation 1) and (Equation 2). For example, even if this relationship is set to (Equation 17) and (Equation 18), accurate corresponding point calculation can be performed. In other words, it is possible to deal with all corresponding point expressions.
【0304】なお、本実施の形態では、ポリゴンの対応
点計算について説明したが、実施の形態1でも述べたよ
うに、照度計算、不透明度計算、バンプマッピング計算
などについても同様の処理を実現することができる(図
10、図11参照)。また、不透明度マッピングや、バ
ンプマッピングなどに関しても同様な構成で実現するこ
とができる。In the present embodiment, the calculation of the corresponding points of the polygon has been described, but as described in the first embodiment, similar processing is realized for the illuminance calculation, the opacity calculation, the bump mapping calculation and the like. It is possible (see FIGS. 10 and 11). Further, opacity mapping, bump mapping, and the like can be realized with the same configuration.
【0305】なお、本実施の形態では、アンチエイリア
シング処理を行なわない方法で説明を行なったが、アン
チエイリアシング処理を含めても同様の処理を行なうこ
とができる。In the present embodiment, the method in which the anti-aliasing process is not performed has been described, but the same process can be performed including the anti-aliasing process.
【0306】なお、サブピクセルポジショニングを行な
っても、本実施の形態と同様の補正処理を行なうことが
できる。Even if sub-pixel positioning is performed, the same correction processing as in the present embodiment can be performed.
【0307】(実施の形態6)以下本発明の第6の実施
の形態について図面を参照しながら説明する。(Sixth Embodiment) A sixth embodiment of the present invention will be described below 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 block diagram of the address generator of the mapping apparatus according to the sixth embodiment of the present invention. 30, reference numerals that are the same as those in FIG.
The same as 8 is shown. The calculation unit 2901 calculates the drawing points inside the polygon and the parameters used for calculating the corresponding points from the positions of the polygon vertices and the corresponding points given to the polygon vertices. The edge generation unit 2902 calculates the screen coordinate value at the polygon edge and the corresponding texture coordinate value by performing an incremental calculation using the parameters generated by the calculation unit 2901 and the data corrected by the correction unit 2903. To do. The correction unit 2903 performs correction processing on the corresponding points 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. It is also assumed that the polygon to be mapped is the same as in the fourth embodiment (FIG. 19), and the corresponding points have the relationships of (Equation 1) and (Equation 2).
【0309】このとき、本実施の形態でのテクスチャマ
ッピング処理について説明する。演算部2901は、実
施の形態4、実施の形態5とは異なり、(L)の増分値
だけ算出を行なう((数42)、(数44)、(数4
5)参照)。具体的には、(数51)に示したdx/d
y(L)、du/dy(L)、dv/dy(L)を算出
する。また、補正部2903における補正処理をするか
しないかを判断するために必要となる、描画点とサンプ
ル点との差(E)(数46)を算出する。At this time, the texture mapping processing in this embodiment will be described. Unlike the fourth and fifth embodiments, the arithmetic unit 2901 calculates only the increment value of (L) ((Equation 42), (Equation 44), (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 the correction processing in the correction unit 2903 is performed, 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処理)を行なう。The edge generation unit 2902 has a calculation unit 2901.
From (x, y, u, v) given as the initial value, and thereafter output from the correction unit 2903 following the edge generation unit 2902 (x, y, u, v)
y, u, v), dx / dy calculated by the arithmetic unit 2901
Incremental processing (DDA processing) is performed with (L), du / dy (L), and dv / dy (L) as incremental values.
【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 correction unit 2903 has an edge generation unit 2902.
Correct the (x, y, u, v) data output from. The correction is required when the cumulative error (sum (E)), which is the cumulative addition result of the difference (E) between the drawing point and the sample point calculated by the calculation unit 2901, is 1 or more. By performing the correction process each time when correction is necessary, the difference between the x value before correction and the x coordinate value of the sample point is always one pixel. Further, after the correction processing is performed, 1 is subtracted from this accumulated error. The correction process here is performed as follows.
That is, if the correction processing of (Equation 53) is performed on the calculated (x, y, u, v), ideal screen coordinate values and texture coordinate values can be calculated. The u, v) value is 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で行なう補正処理によるサンプル点の遷移
である。[Expression 53] x ← x + 1 y ← yu u ← u + ∂u / ∂xv ← v + ∂v / ∂x These processes will be described by taking the polygon shown in FIG. 19 as an example. FIG. 31 shows the target polygon shown in FIG.
The transition of the incremental processing and the correction processing are shown. 19 that are the same as those in FIG. 19 are denoted by the same reference symbols. 805
The arrows indicated by a, 3005b, 805c, and 3005d are
This is a transition of sample points by the incremental processing performed by the edge generation unit 2902. The arrows indicated by 3001 and 3002 are transitions of sample points by 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 value and the texture coordinate value, the target polygon is shown in FIG.
When set to 1, the edge generation unit 2902 and the correction unit 29
The specific processing in 03 is shown in FIG. In FIG. 32, processes 3101, 3102, 3103 and 3104 are shown.
Represents the incremental processing performed by the edge generator 2902. Processes 3111, 3112, 3113, and 3114 are processes for determining whether or not the correction process in the correction unit 2903 is performed, and perform the above-described cumulative error calculation. Processing 31
Reference numerals 22 and 3124 represent 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) Point P0 (6,0,0,
0) is the initial value in the subsequent processing. The initial value of the cumulative error sum (E) is 0. This (6,0,0,0) becomes the output value from the edge generation unit 2902.
【0316】(step1)エッジ生成部2902は、(step0)
の結果(初期値)に対して、増分値(-2.00,1.00,-0.84,
4.21)を加算した結果である(4.00,1.00,-0.84,4.21)を
補正部2903に出力する(処理3101)。(Step1) The edge generator 2902 makes (step0)
Incremental value (-2.00,1.00, -0.84,
The result of adding (4.21) (4.00, 1.00, -0.84, 4.21) is output to the correction unit 2903 (process 3101).
【0317】補正部2903では、誤差Eを累積加算す
る(処理3111)。ここでは、累積誤差の結果が1未
満であるため補正処理は行なわない。The correction unit 2903 cumulatively adds the error E (process 3111). Here, since the result of the accumulated error is less than 1, the correction process is not 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)。(Step2) Next, the edge generator 2902
It 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 correction unit 2903 cumulatively adds the error E (process 3112). Here, since the result of the accumulated error is 1 or more, the correction process is performed. The correction process is (1.00,0,00, ∂u / ∂x, ∂) to the input (2.00,2.00, -1.68,8.42).
It is realized by adding v / ∂x) = (1.00, 0.00, 1.68, -0.42) (process 3122). As a result of the correction (3.00, 2.
00,0.00,8.00), which is the output value. After this processing, the value obtained by subtracting 1 from the cumulative error in the correction unit 2903 is set as the cumulative 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)。(Step3) The edge generator 2902 makes (step2)
For the result (3.00,2.00,0.00,8.00), the increment value (-2.00,
1.00, -0.84,4.21) is the result (1.00,3.00, -0.
84, 12.21) is output to the correction unit 2903 (process 310).
3).
【0322】補正部2903では、誤差Eを累積加算す
る(処理3113)。ここでは、累積誤差の結果が1未
満であるため補正処理は行なわない。The correction unit 2903 cumulatively adds the error E (process 3113). Here, since the result of the accumulated error is less than 1, the correction process is not 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)。(Step4) Further, the edge generation unit 2902
Is the result of (step3) (1.00,3.00, -0.84,12.21),
It is the result of adding the increment value (-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 correction unit 2903 cumulatively adds the error E (process 3114). Here, since the result of the accumulated error is 1 or more, the correction process is performed. The correction process is as follows: (1.00,4.00, -1.68,16.42)
This is realized by adding (0.00, 1.68, -0.42) (process 3124). As the correction result, (0.00,4.00,0.00,16.00) can be obtained, and this is the output value. After this processing, the value obtained by subtracting 1 from the cumulative error in the correction unit 2903 is set as the cumulative error.
【0326】以上のように(step0)から(step4)の処理を
実行することにより、ポリゴンエッジに関して、理想的
なスクリーン座標値およびテクスチャ座標値を得ること
ができる。By executing the processing from (step 0) to (step 4) as described above, it is possible to obtain ideal screen coordinate values and texture coordinate values for polygon edges.
【0327】次に、エッジ生成部2902、補正部29
03の構成例について説明する。Next, the edge generator 2902 and the corrector 29
A 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 block diagram of the edge generator 2902. In FIG. 33, 3201a, 3201b, 3
201c and 3201d are adders that perform an increment process. Each adder sequentially performs addition regarding x, y, u, and v. Thereby, the process 310
Incremental calculations of 1 to process 3104 can be realized.
Also, 3202a, 3202b, 3202c and 32
02d is a selector. When calculating the first edge point of the polygon edge, (x, y, u, v) output from the arithmetic unit 2901 is selected, and in other cases, the correction unit 2
Incremental processing is performed on (x, y, u, v) from 903 (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 block diagram of the correction unit 2903. In FIG. 34, 3301a, 3301c and 3
An adder 301d realizes the correction process shown in (Equation 53). Reference numeral 3302 denotes an adder that performs cumulative addition of the difference (E) between the drawing point calculated by the increment algorithm calculated by the calculation unit 2901 and the sample point of the screen pixel. Based on the result of the adder 3302, it is determined whether to output the data of the correction process or the data that is not corrected. Here, the adder 3302
Instead of determining by the value of the addition result in, the range of the adder is set to less than 1 and the data of the correction process is output or the data that is 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 if the adder 3302 overflows, the correction data, that is, the adder 330
The selector outputs the output values from 1a, 3301c, and 3301d, and outputs the data that is not corrected if the adder 3302 does not overflow.
【0330】したがって、ここで示したエッジ生成部2
902、補正部2903の構成((図28)、(図2
9)参照)により、上述した処理((step0)から(step
4))を実現することができる。Therefore, the edge generator 2 shown here
902, the configuration of the correction unit 2903 ((FIG. 28), (FIG. 2
9)), the above-mentioned processing (from (step 0) to (step
4)) can be realized.
【0331】以上のように本実施の形態によれば、エッ
ジ生成部2902と、補正部2903とを設けることに
より、描画対象の画素に対する理想的なスクリーン座標
値およびテクスチャ座標値を得ることが可能となる。こ
れにより、先の実施の形態と同様にポリゴンに含まれる
すべての画素について理想的な対応点を算出することが
でき、テクスチャマッピング画像の画質を向上させるこ
とができる。As described above, according to the present embodiment, by providing the edge generation unit 2902 and the correction unit 2903, it is possible to obtain ideal screen coordinate values and texture coordinate values for the pixel to be rendered. Becomes This makes it possible to calculate the 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 generator 2902 has the same circuit scale as the conventional incremental calculation, and the processing speed is
It has the same processing power as the conventional incremental algorithm.
【0333】補正部2903における回路規模に関して
も、図34の構成図から分かるように、その構成は極め
て単純で、回路規模を増大させることはない。As for the circuit scale of the correction unit 2903, as can be seen from the configuration diagram of FIG. 34, the configuration is extremely simple and does not increase the circuit scale.
【0334】したがって、本発明は、回路規模を増大さ
せることなく、また処理能力を落すこともなく、さらに
は、理想的な対応点算出を行なうことができるものであ
る。なお、本実施の形態では、画素におけるサンプル点
を画素において原点にもっとも近い点としたが、このサ
ンプル点の位置は任意である。Therefore, the present invention can perform ideal corresponding point calculation without increasing the circuit scale and processing power. In this 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 this embodiment, the relationship between the polygon and the texture is set to (Equation 1) and (Equation 2), but the relationship is not limited to (Equation 1) and (Equation 2). For example, even if this relationship is set to (Equation 17) and (Equation 18), accurate corresponding point calculation can be performed. In other words, it is possible to deal with all corresponding point expressions.
【0336】なお、本実施の形態では、ポリゴンの対応
点計算について説明したが、照度計算、不透明度計算、
バンプマッピング計算などについても同様の処理を実現
することができる(図10、図11参照)。また、不透
明度マッピングや、バンプマッピングなどに関しても同
様な構成で実現することができる。In this embodiment, the calculation of the corresponding points of the polygon has been described, but the illuminance calculation, the opacity calculation,
Similar processing can be realized for bump mapping calculation and the like (see FIGS. 10 and 11). Further, opacity mapping, bump mapping, and the like can be realized with the same configuration.
【0337】なお、本実施の形態では、アンチエイリア
シング処理を行なわない方法で説明を行なったが、アン
チエイリアシング処理を含めても同様の処理を行なうこ
とができる。In the present embodiment, the method in which the anti-aliasing processing is not performed has been described, but the same processing can be performed including the anti-aliasing processing.
【0338】なお、サブピクセルポジショニングを行な
っても、本実施の形態と同様の補正処理を行なうことが
できる。Even if sub-pixel positioning is performed, the same correction processing as in this embodiment can be performed.
【0339】(実施の形態7)以下本発明の第7の実施
の形態について図面を参照しながら説明する。(Embodiment 7) A seventh embodiment of the present invention will be described below with reference to the drawings.
【0340】図35は本発明の第7の実施の形態におけ
るテクスチャマッピング装置の構成図である。図35に
おいて、図30と同一の参照符号のものは、図30と同
じものを示す。FIG. 35 is a block diagram of a texture mapping device according to the seventh embodiment of the present invention. 35, the same reference numerals as those in FIG. 30 denote the same parts as those in FIG.
【0341】3404は、演算部2901で算出した、
E、∂u/∂x、∂v/∂xを入力とし、エッジ生成部
2902で算出した描画点における対応点の補正処理
と、ポリゴン内部のスパン点のスクリーン座標、テクス
チャ座標を算出するスパン生成部である。3404 is calculated by the arithmetic unit 2901,
E, ∂u / ∂x, ∂v / ∂x are input, correction processing of corresponding points at the drawing points calculated by the edge generation unit 2902, and span generation for calculating screen coordinates and texture coordinates of span points inside the polygon It is a department.
【0342】このとき、本実施の形態でのテクスチャマ
ッピング処理について説明する。本実施の形態では、実
施の形態6ににおける補正処理部2902における処理
と、スパン生成部704における処理とを同時に実現す
るスパン生成部3404を設けることにより、理想的な
ポリゴン内部のスクリーン座標およびテクスチャ座標を
算出する。動作概要に関しては、実施の形態6と同様
で、エッジ生成部2902により増分処理を行ない、
(数53)に示した補正処理を行なう。この補正処理を
スパン生成部3404で行なうことが実施の形態7の特
徴である。スパン生成部3404が、補正処理とスパン
処理とを行なうことができるのは、(数53)の補正処
理が、スパン生成における処理(数7)と同一であるか
らである。At this time, the texture mapping processing in this embodiment will be described. In this 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, ideal screen coordinates and textures inside the polygon are obtained. Calculate the coordinates. The outline of the operation is similar to that of the sixth embodiment, and the increment processing is performed by the edge generation unit 2902.
The correction process shown in (Equation 53) is performed. The feature of the seventh embodiment is that the span generation unit 3404 performs this correction process. The span generation unit 3404 can perform the correction process and the span process because the correction process of (Equation 53) is the same as the process (Equation 7) in the span generation.
【0343】これを実現するための、スパン生成部34
04の構成図を図36に示す。図35では、図30にお
ける補正部2903で行なう処理(数53)で行なう処
理を、スパン生成部3403で行なうものである。この
場合、補正処理を実行するかしないかを判定するEの累
積加算処理をスパン生成部に加えることにより、実現す
ることができる。その実現構成例を図36に示す。The span generation unit 34 for realizing this
A configuration diagram of 04 is shown in FIG. In FIG. 35, the process performed by the correction unit 2903 (Equation 53) in FIG. 30 is performed by the span generation unit 3403. In this case, this can be realized by adding the cumulative addition process of E for determining whether or not the correction process is executed to the span generation unit. FIG. 36 shows an example of its realized 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 components as those in the configuration diagram of 903 are designated by the same reference numerals. At this time, the adders 3301a and 3301
As described above, c, 3301d is used for the correction process.
Here, by inputting the operation trigger signal for 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 can perform correction processing and span processing. Also, the buffer 350
1a, 3501b, 3501c and 3501d are output buffers with enable.
【0345】補正処理を行なう前(補正処理トリガが入
る前の加算器3301からの出力)のデータは、スパン
値でないため、このバッファにより、スパン生成部34
04から出力させないためのものである。Since the data before the correction processing (the output from the adder 3301 before the correction processing trigger is input) is not the span value, the span generation unit 34 uses this buffer.
It is for not outputting from 04.
【0346】補正処理とスパン処理を共通の回路で実現
することにより、回路規模を小さくすることが可能とな
る。The circuit scale can be reduced by implementing the correction process and the span process in a common circuit.
【0347】[0347]
【発明の効果】以上のように本発明によれば、増分アル
ゴリズムにより得られた描画点と、各画素のサンプル点
との差を用いて、マッピング画像上の対応点の補正をお
こなうことにより、高品質な画像を生成することができ
る。また、増分アルゴリズムにより得られた描画点を用
いて決定した画素値を、描画点と画素との相対的位置関
係に基づいて複数の画素値に配分することにより、高品
質な画像を生成することができる。さらに、これらの本
発明は、マッピング装置だけではなく、コンピュータ画
像を生成する一般的なレンダリング処理に適応すること
が可能であり、同様の効果を得ることができる。As described above, according to the present invention, the corresponding points on the mapping image are corrected by using the difference between the drawing point obtained by the incremental algorithm and the sample point of each pixel, A high quality image can be generated. In addition, a pixel value determined by using the drawing point obtained by the incremental algorithm is distributed to a plurality of pixel values based on the relative positional relationship between the drawing point and the pixel to generate a high-quality image. You can Further, the present invention can be applied not only to the mapping device but also to a general rendering process for generating a computer image, and the same effect can be obtained.
【図1】本発明のマッピング装置の構成図である。FIG. 1 is a configuration diagram of a mapping device of the present invention.
【図2】本発明のマッピング装置のレンダリングプロセ
ッサの構成図である。FIG. 2 is a block diagram of a rendering processor of the mapping apparatus 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 showing 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 in 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 pixel correction processing 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 is 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 generating unit of a mapping device according to a fourth embodiment of the present invention.
【図19】本発明の第4の実施の形態におけるパラメー
タ補正処理の説明図である。FIG. 19 is an explanatory diagram of parameter correction processing according to the fourth embodiment of the present invention.
【図20】本発明の第4の実施の形態におけるパラメー
タ補正処理の説明図である。FIG. 20 is an explanatory diagram of parameter correction processing 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 showing an outline of processing according to the fourth embodiment of the present invention.
【図25】本発明の第4の実施の形態における対象ポリ
ゴンの図である。FIG. 25 is a diagram of target polygons 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 processing according to the fifth embodiment of the present invention.
【図28】エッジ生成部2502の構成図である。28 is a configuration diagram of an edge generation unit 2502. FIG.
【図29】増分切替部2503の構成図である。FIG. 29 is a configuration diagram of an increment switching unit 2503.
【図30】本発明の第6の実施の形態におけるマッピン
グ装置のアドレス発生部の構成図である。FIG. 30 is a configuration diagram of an address generator of a mapping device according to a sixth embodiment of the present invention.
【図31】本発明の第6の実施の形態で対象とするポリ
ゴンと、増分処理および補正処理の遷移を示す図であ
る。[Fig. 31] Fig. 31 is a diagram showing a polygon targeted in the sixth embodiment of the present invention and transitions of increment processing and correction processing.
【図32】本発明の第6の実施の形態における処理の流
れを説明する図である。FIG. 32 is a diagram illustrating a processing flow in the sixth embodiment of the present invention.
【図33】エッジ生成部2502の構成図である。FIG. 33 is a configuration diagram of an edge generation unit 2502.
【図34】補正部2503の構成図である。FIG. 34 is a configuration diagram of a correction unit 2503.
【図35】本発明の第7の実施の形態におけるマッピン
グ装置のアドレス発生部の構成図である。FIG. 35 is a configuration diagram of an address generator 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] Fig. 37 is a diagram illustrating polygons targeted in the description of the mapping process by the incremental algorithm.
【図38】増分アルゴリズムによるテクスチャマッピン
グの対応点計算処理の説明図である。FIG. 38 is an explanatory diagram of corresponding point calculation processing of texture mapping by the incremental algorithm.
【図39】増分アルゴリズムによる画素の描画点と理想
的な画素のサンプル点とを示す説明図である。FIG. 39 is an explanatory diagram showing pixel drawing points and ideal pixel sample points by the incremental algorithm.
【図40】マッピング処理における画質劣化の例および
理想的な画像を示す図である。FIG. 40 is a diagram showing an example of image quality deterioration in mapping processing 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値に関する出力バッファ101 arithmetic unit 102a edge generation unit 103a correction unit 104 span generation unit 201 pixels on screen 202 polygon edge 203 edge drawing point generated by the edge generation unit 102a 204 sample points (X, Y) 205 of the pixel 201 correction unit 103a (X ', y') 401 for explaining the correction processing of the pixel 401 pixel on the screen 402 polygon edge 403 edge drawing point generated by the edge generation unit 102a 404 sample point (X, Y) 501 calculation unit of the pixel 201 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 portion Sc 606d Texture pixel 605 and screen pixel 60
1d shared portion Sd 701 operation portion 702a first edge generation portion 702b first edge generation portion 703 selection portion 704 span generation portion 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 Pixel 803a sample point 804b Pixel 803b sample point 804c Pixel 803c sample point 804d Pixel 803d sample point 804e Pixel 803a sample point Pixel 803b from the sample point of 803a
From the sample point of the pixel 803b to the pixel 803c
From the sample point of pixel 803c to pixel 803d
From the sample point of the pixel 803d to the pixel 803e
Changes to sample points 901 sample points to the left 902 sample points to the right 903 change from sample point 804a to sample point 901 change 904 from sample point 804a to sample point 902 1001 edge of polygon to draw 1002 polygon edge point 1003 Drawing pixel of polygon edge point 1002 1004 Polygon edge point 1005 Drawing pixel of polygon edge point 1004 1006 Polygon span point 1007 Drawing pixel of polygon span point 1006 1108 Difference between polygon span point 1002 and ideal sample point (L1) 1109 Difference between polygon span point 1004 and ideal sample point (L2) 1110 Difference between polygon edge point 1006 and ideal sample point (L3) 1301 Calculation of differential value of y and partial differential value of x Processing by unit 701) 1302 Output processing of drawing points (x, y) and corresponding points (u, v) (processing by span generation unit 704) 1303 Processing of drawing points in the span direction and corresponding points (span generation unit) 704) 1304 Termination condition for processing 1303 (span generation unit 70
4 processing end condition) 1305 Edge drawing point calculation processing (edge generation unit 7)
02a and edge generation unit 702b common processing) 1306 selection reference numerical value calculation processing (processing by the selection unit 703) 1306 selection of du / dy (L) and du / dy (R) (processing by the selection unit 703) 1307 Corresponding point calculation process (edge generation unit 702a) 1308 Corresponding point calculation process (edge generation unit 702b) 1309 End condition of the entire process 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 Illuminance 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 Process performed by first edge generation unit 702a 2202 Process performed by second edge generation unit 702b 2203 Performed by first edge generation unit 702a Process 2204 Process performed by second edge generation unit 702b 2205 Process performed by first edge generation unit 702a 2206 Process performed by second edge generation unit 702b 2207 Process performed by first edge generation unit 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 2222 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 2301b y value selector 2301c u value selector 2301d v value selector 2302a x value adder 2302b y value addition 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 Incremental switching unit 2601 Edge generation unit 2502 processing 2602 Edge Process performed by generation unit 2502 2603 Process performed by edge generation unit 2502 2604 Process performed by edge generation unit 2502 2611 Process performed by increment switching unit 2503 2612 Process performed by increment switching unit 2503 261 Incremental switching unit 2503 processing 2614 Incremental switching unit 2503 processing 2701a Incremental value (dx / dy) selector 2701c Incremental value (du / dy) selector 2701d Incremental value (dv / dy) selector 2702a x Incremental processing Adder 2702by performing increment processing adder 2702c u performing increment processing adder 2702d v performing increment processing adder 2703a x value selector 2703by y value selector 2703cu u value selector 2703d v value Selector 2801 Cumulative adder 2901 Operation unit 2902 Edge generation unit 2903 Correction unit 3005b Transition of increment processing in the edge generation unit 2902 3005d Transition of increment processing in the edge generation unit 2902 3001 Transition of correction performed in the correction processing 2903 3002 Transition of correction performed in correction processing 2903 3101 Processing in edge generation unit 2902 3102 Processing in edge generation unit 2902 3103 Processing in edge generation unit 2902 3104 Processing in edge generation unit 2902 3111 Processing performed in correction unit 2903 3112 Correction Processing performed by the unit 2903 3113 processing performed by the correction unit 2903 3114 processing performed by the correction unit 2903 3122 correction processing performed by the correction unit 2903 3124 correction processing performed by the correction unit 2903 3201a x increment processing of the adder 3201by Adder 3201c u Adder to perform incremental processing 3201d v Adder to perform incremental processing 3202a x value selector 3202b y value selector 3202c u value selector 3202d v value selector 3301a Adder for correction processing for x 3301c Adder for correction processing for u 3301d v Adder for correction processing for v 3303a Non-correction / correction selector for x value 3303c u Non-correction / correction selector for value 3303d v Value Non-correction / correction selector 3404 Span generation unit 3501a Output buffer for x value 3501b Output buffer for y value 3501c Output buffer for u value 3501d Output buffer for v value
Claims (27)
ポリゴン上の描画点を含む画素を決定する手段と、 該画素に対して固定された位置を有するサンプル点に基
づいて、レンダリング計算を行い、計算結果を出力する
手段とを備えたレンダリング装置。1. A rendering calculation is performed based on a means for determining a pixel including a drawing point on a polygon projected on a plane having a plurality of pixels, and a sample point having a fixed position with respect to the pixel. A rendering device having means for performing and outputting a calculation result.
ポリゴンの描画点に基づいて、レンダリング計算を行
い、計算結果を出力する手段と、 該描画点に対応する複数の画素を決定する手段と、 該描画点の位置に基づいて、該対応する複数の画素のそ
れぞれに対して、重み付け係数を決定する手段と、 該対応する複数の画素のそれぞれに対して決定された該
重み付け係数に基づいて、該計算結果を該対応する複数
の画素のそれぞれに配分する手段とを備えたレンダリン
グ装置。2. A means for performing rendering calculation based on a drawing point of a polygon projected on a plane having a plurality of pixels and outputting a calculation result, and a means for determining a plurality of pixels corresponding to the drawing point. And means for determining a weighting coefficient for each of the corresponding plurality of pixels based on the position of the drawing point, and based on the weighting coefficient determined for each of the corresponding plurality of pixels And a means for allocating the calculation result to each of the corresponding plurality of pixels.
ポリゴンの頂点の位置と該ポリゴン頂点にあたえられた
対応点とに基づいて、該ポリゴンに対応するパラメータ
を生成する演算部と、 該パラメータに基づいて、該ポリゴンのエッジ上にある
第1の描画点の位置と該第1の描画点に対応する第1の
対応点の位置とを決定するエッジ生成部と、 該第1の描画点に対応する描画画素を決定し、さらに該
描画画素に対応するサンプル点を決定し、該サンプル点
に基づいて該第1の対応点の位置を補正する補正部と、 該パラメータと該サンプル点とに基づいて、該ポリゴン
内部の第2の描画点の位置を決定し、該第2の描画点に
対応する第2の対応点の位置を決定するスパン生成部と
を備えたマッピング装置。3. An arithmetic unit for generating a parameter 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. An edge generation unit that determines a position of a first drawing point on the edge of the polygon and a position of a first corresponding point corresponding to the first drawing point based on a parameter; and the first drawing 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, the parameter, and the sample point And a span generation unit that determines the position of the second drawing point inside the polygon based on the above, and the position of the second corresponding point corresponding to the second drawing point.
1次元の補正を行う請求項3に記載のマッピング装置。4. The mapping device according to claim 3, wherein the correction unit performs one-dimensional correction on the first drawing point.
ッジと前記描画画素の上部のエッジとが交わる点を第1
の描画点とし、前記補正部は、該描画画素内の原点に最
も近い点を前記サンプル点とする請求項3に記載のマッ
ピング装置。5. The edge generation unit first determines a point where an edge of the polygon intersects with an upper edge of the drawing pixel.
4. The mapping device according to claim 3, wherein the drawing point is the drawing point, and the correction unit sets the point closest to the origin in the drawing pixel as the sample point.
所定の値に設定し、前記補正部は、シフタと加算器とを
含んでいる請求項5に記載のマッピング装置。6. The mapping device according to claim 5, wherein the bit precision expressing the parameter is set to a predetermined value, and the correction unit includes a shifter and an adder.
ポリゴンの頂点の位置と該ポリゴン頂点に与えられた対
応点とに基づいて、該ポリゴンに対応するパラメータを
生成する演算部と、 該パラメータに基づいて、ポリゴンのエッジ上にある第
1の描画点の位置と該第1の描画点に対応する第1の対
応点とを決定するエッジ生成部と、 該パラメータと該第1の描画点とに基づいて、該ポリゴ
ン内部の点である第2の描画点の位置を決定し、該第2
の描画点に対応する第2の対応点の位置を決定するスパ
ン生成部と、 該平面の該複数の画素のそれぞれに対応する値を格納す
る生成画像格納部と、 該第1の描画点の位置または、該第2の描画点の位置に
基づいて生成された画素値を、該生成画像格納部の1つ
の画素または、隣接する複数の画素に対応する値として
格納する画素格納処理部とを備えたマッピング装置。7. An arithmetic unit that generates a parameter 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, An edge generation unit that determines 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, the parameter, and the first drawing The position of the second drawing point, which is a point inside the polygon, is determined based on the point and
Span generating section for determining the position of the second corresponding point corresponding to the drawing point, the generated image storing section for storing the values corresponding to each of the plurality of pixels on the plane, and the first drawing point A pixel storage processing unit that stores a position or a pixel value generated based on 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つの画素または隣接する複数の画素に配分す
る面積比算出部と、 該配分した値のそれぞれを、該生成画像格納部の1つの
画素または、隣接する複数の画素に対応する値として格
納する画素値配分部とを備えている請求項7に記載のマ
ッピング装置。8. The pixel storage processing unit includes one pixel on the plane or an adjacent pixel of an area of a region on the plane defined by a position of the first drawing point or the second drawing point. An area ratio calculation unit that distributes the generated pixel value to one pixel or a plurality of adjacent pixels on the plane based on a ratio of the area occupied by a plurality of pixels to each of the distributed values. The mapping device according to claim 7, further comprising: a pixel value distribution unit that stores one pixel of the generated image storage unit or a value corresponding to a plurality of adjacent pixels.
(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の乗
算器とを有している請求項8に記載のマッピング装置。9. The area ratio calculation unit defines (1-x) and (1-y) when the position of the first drawing point or the second drawing point is (x, 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 for multiplying, wherein the pixel value distribution unit has a fifth multiplier for multiplying an output from the first multiplier by the generated pixel value, and a second multiplier A sixth multiplier that multiplies the output from the multiplier and the generated pixel value, a seventh multiplier that multiplies the output from the third multiplier and the generated pixel value, The mapping device according to claim 8, further comprising an eighth multiplier for multiplying an output from the multiplier of No. 4 and the generated pixel value.
画点の位置(x,y)または前記生成された画素値を表
現するビット精度を所定の値に設定し、前記第1から第
8の乗算器のそれぞれはシフタと加算器とを含んでいる
請求項9に記載のマッピング装置。10. The bit precision expressing the position (x, y) of the first drawing point or the second drawing point or the generated pixel value is set to a predetermined value, and the first to the first The mapping device of claim 9, wherein each of the eight multipliers includes a shifter and an adder.
エッジと前記対応する画素の上部のエッジとが交わる点
を前記第1の描画点とし、これによって前記第2の乗算
器、前記第4の乗算器、前記第6の乗算器、前記第8の
乗算器を省く請求項9に記載のマッピング装置。11. The edge generation unit defines, as the first drawing point, a point where an edge of the polygon intersects with an upper edge of the corresponding pixel, and thereby the second multiplier and the fourth drawing point. The mapping device according to claim 9, wherein a multiplier, the sixth multiplier, and the eighth multiplier are omitted.
たポリゴンの頂点の位置と該ポリゴン頂点にあたえられ
た対応点とに基づいて、該ポリゴンに対応するパラメー
タを生成する演算部と、 該パラメータに基づいて、該ポリゴンのエッジ上の第1
の描画点に対応する第1の候補点の位置と該第1の候補
点に対応する第1の対応点の位置とを決定する第1のエ
ッジ生成部と、 該パラメータに基づいて、該ポリゴンのエッジ上の第1
の描画点に対応する第2の候補点の位置と該第2の候補
点に対応する第2の対応点の位置とを決定する第2のエ
ッジ生成部と、 該第1のエッジ生成部の出力と該第2のエッジ生成部の
出力のうちの一方を選択する選択部と、 該パラメータと該選択部によって選択された出力とに基
づいて、該ポリゴン内部の第2の描画点の位置を決定
し、該第2の描画点に対応する第3の対応点の位置を決
定するスパン生成部とを備えたマッピング装置。12. An arithmetic unit that generates a parameter 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. The first on the edge of the polygon based on the parameters
A first edge generation unit that determines a position of a first candidate point corresponding to the drawing point of the first polygon and a position of a first corresponding point corresponding to the first candidate point, and the polygon based on the parameter. First on the edge of
Of the first edge generation unit, and a second edge generation unit that determines the position of the second candidate point corresponding to the drawing point of the second position and the position of the second corresponding point corresponding to the second candidate point. A selection unit that selects one of the output and the output of the second edge generation unit, and the position of the second drawing point inside the polygon based on the parameter and the output selected by the selection unit. And a span generation unit that determines the position of a third corresponding point corresponding to the second drawing point.
2のエッジ生成部のいずれか一方が動作している間はも
う一方のエッジ生成部が動作していない請求項12のマ
ッピング装置。13. The mapping device according to claim 12, wherein while either one of the first edge generator and the second edge generator is operating, the other edge generator is not operating.
ポリゴンのエッジの傾きを算出し、前記選択部は該傾き
の小数部を累積加算し、該累積加算の結果が所定の値を
越えるか否かに応じて、前記第1のエッジ生成部の出力
と前記第2のエッジ生成部の出力のうちの一方を選択す
る請求項12に記載のマッピング装置。14. The calculating unit calculates the inclination of the edge of the polygon on the plane, the selecting unit cumulatively adds the decimal parts of the inclination, and determines whether the result of the cumulative addition exceeds a predetermined value. The mapping device according to claim 12, wherein one of the output of the first edge generation unit and the output of the second edge generation unit is selected according to whether or not.
たポリゴンの頂点の位置と該ポリゴン頂点にあたえられ
た対応点とに基づいて、該ポリゴンに対応する少なくと
も2組のパラメータを生成する演算部と、 該少なくとも2組のパラメータのうち1組のパラメータ
を選択する増分切換部と、 該選択された1組のパラメータに基づいて、該ポリゴン
のエッジ上にある第1の描画点に対応するサンプル点の
位置と、該第1の描画点に対応する第1の対応点の位置
を決定するエッジ生成部と、 該選択された1組のパラメータと該サンプル点の位置と
に基づいて、該ポリゴン内部の第2の描画点の位置を決
定し、該第2の描画点に対応する第2の対応点の位置を
決定するスパン生成部とを備えたマッピング装置。15. An operation for generating at least two sets of 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 unit, an increment switching unit that selects one set of the at least two sets of parameters, and a first drawing point on the edge of the polygon based on the selected one set of parameters. On the basis of the position of the sample point, the edge generation unit that determines the position of the first corresponding point corresponding to the first drawing point, the selected set of parameters and the position of the sample point, A mapping device, comprising: a span generation unit that determines a position of a second drawing point inside a polygon and a position of a second corresponding point corresponding to the second drawing point.
ポリゴンのエッジの傾きを算出し、 前記増分切替部は、該傾きの小数部を累積加算し、累積
加算した結果が所定の値を越えるか否かに応じて前記少
なくとも2組のパラメータのうち1組のパラメータを選
択する、請求項15記載のマッピング装置。16. The calculation unit calculates a slope of an edge of the polygon on the plane, and the increment switching unit cumulatively adds the fractional parts of the slope, and whether the cumulative addition result exceeds a predetermined value. 16. The mapping device according to claim 15, wherein one set of parameters is selected from the at least two sets of parameters according to whether or not the mapping is performed.
たポリゴンの頂点の位置と該ポリゴン頂点にあたえられ
た対応点とに基づいて、該ポリゴンに対応するパラメー
タを生成する演算部と、 該パラメータに基づいて、該ポリゴンのエッジ上にある
第1の描画点に対応する第1の対応点の位置と該第1の
描画点に対応するサンプル点の位置とを決定するエッジ
生成部と、 該第1の描画点と該サンプル点との距離が所定の値を超
えるときに、該サンプル点の位置を補正する補正部と、 該パラメータと該サンプル点とに基づいて、該ポリゴン
内部の第2の描画点の位置を決定し、該第2の描画点に
対応する第2の対応点の位置を決定するスパン生成部と
を備えたマッピング装置。17. An arithmetic unit that generates a parameter 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, An edge generation unit that determines a position of a first corresponding point corresponding to a first drawing point on the edge of the polygon and a position of a sample point corresponding to the first drawing point based on the parameter; A correction unit that corrects the position of the sample point when the distance between the first drawing point and the sample point exceeds a predetermined value, and based on the parameter and the sample point, A mapping device, comprising: a span generation unit that determines positions of two drawing points and positions of second corresponding points corresponding to the second drawing points.
まれており、前記スパン生成部は、前記サンプル点の位
置を補正する処理と、前記第2の描画点の位置と前記第
2の対応点の位置を決定する処理との両方を実行する、
請求項17に記載のマッピング装置。18. The correction unit is included in the span generation unit, and the span generation unit corrects the position of the sample point, the position of the second drawing point, and the second drawing point. Perform both the process of determining the position of the corresponding points,
The mapping device according to claim 17.
ポリゴンのエッジの傾きを算出し、前記スパン生成部は
該傾きの小数部を累積加算し、該累積加算の結果が所定
の値を越えるか否かに応じて、前記サンプル点の位置を
補正するか否かを決定する請求項17に記載のマッピン
グ装置。19. The calculation unit calculates the inclination of an edge of the polygon on the plane, the span generation unit cumulatively adds the fractional parts of the inclination, and whether the result of the cumulative addition exceeds a predetermined value. The mapping device according to claim 17, wherein it is determined whether or not to correct the position of the sample point according to whether or not to correct.
を表現するための属性値を有しており、該属性値に基づ
いて前記第1の対応点および前記第2の対応点に対応す
る値を生成する手段をさらに有する請求項3から請求項
19に記載のマッピング装置。20. The polygon vertex has an attribute value for expressing a material of a polygon, and values corresponding to the first corresponding point and the second corresponding point are set based on the attribute value. 20. The mapping device according to claim 3, further comprising a generating unit.
はディスプレースメントの座標値を有しており、ポリゴ
ン内部のバンプもしくはディスプレースメント計算を行
う手段をさらに有する請求項3から請求項19に記載の
マッピング装置。21. The mapping device according to claim 3, wherein the polygon vertex has a coordinate value of bump or displacement, and further has means for calculating a bump or displacement inside the polygon. .
アシング処理を行う手段をさらに有する請求項3から請
求項19に記載のマッピング装置。22. The mapping device according to claim 3, further comprising means for performing an anti-aliasing process.
は、対応する複数のサブピクセルを有しており、前記第
1の描画点がサブピクセルポジショニングに対応して決
定される請求項3から請求項6もしくは請求項12から
請求項19のいずれかに記載のマッピング装置。23. Each of the plurality of pixels on the plane has a plurality of corresponding sub-pixels, and the first drawing point is determined corresponding to sub-pixel positioning. The mapping device according to claim 6 or any one of claims 12 to 19.
たポリゴン上の描画点を含む画素を決定するステップ
と、 該画素に対して固定された位置を有するサンプル点に基
づいて、レンダリング計算を行い、計算結果を出力する
ステップとを包含するレンダリング方法。24. A step of determining a pixel including a drawing point on a polygon projected on a plane having a plurality of pixels, and a rendering calculation based on a sample point having a fixed position with respect to the pixel. A rendering method including performing and outputting a calculation result.
たポリゴンの描画点に基づいて、レンダリング計算を行
い、計算結果を出力するステップと、 該描画点に対応する複数の画素を決定するステップと、 該描画点の位置に基づいて、該対応する複数の画素のそ
れぞれに対して、重み付け係数を決定するステップと、 該対応する複数の画素のそれぞれに対して決定された該
重み付け係数に基づいて、該計算結果を該対応する複数
の画素のそれぞれに配分するステップとを包含するレン
ダリング方法。25. A step of performing a rendering calculation based on a drawing point of a polygon projected on a plane having a plurality of pixels and outputting the calculation result; and a step of determining a plurality of pixels corresponding to the drawing point. And a step of determining a weighting coefficient for each of the plurality of corresponding pixels based on the position of the drawing point, and a step of determining a weighting coefficient for each of the plurality of corresponding pixels And distributing the calculation result to each of the corresponding plurality of pixels.
たポリゴンの頂点の位置と該ポリゴン頂点にあたえられ
た対応点とに基づいて、該ポリゴンに対応するパラメー
タを生成するステップと、 該パラメータに基づいて、該ポリゴンのエッジ上にある
第1の描画点の位置と該第1の描画点に対応する第1の
対応点の位置とを決定するステップと、 該第1の描画点に対応する描画画素を決定し、さらに該
描画画素に対応するサンプル点を決定し、該サンプル点
に基づいて該第1の対応点の位置を補正するステップ
と、 該パラメータと該サンプル点とに基づいて、該ポリゴン
内部の第2の描画点の位置を決定し、該第2の描画点に
対応する第2の対応点の位置を決定するステップとを包
含するマッピング方法。26. A step of generating a parameter corresponding to the polygon based on the positions of the vertices of the polygon projected onto a plane having a plurality of pixels and the corresponding points given to the polygon vertices; Determining the position of the first drawing point on the edge of the polygon and the position of the first corresponding point corresponding to the first drawing point based on Determining a drawing pixel to be performed, further determining a sample point corresponding to the drawing pixel, and correcting the position of the first corresponding point based on the sample point, and based on the parameter and the sample point Determining a position of a second drawing point inside the polygon and a position of a second corresponding point corresponding to the second drawing point.
たポリゴンの頂点の位置と該ポリゴン頂点に与えられた
対応点とに基づいて、該ポリゴンに対応するパラメータ
を生成するステップと、 該パラメータに基づいて、ポリゴンのエッジ上にある第
1の描画点の位置と該第1の描画点に対応する第1の対
応点とを決定するステップと、 該パラメータと該第1の描画点とに基づいて、該ポリゴ
ン内部の点である第2の描画点の位置を決定し、該第2
の描画点に対応する第2の対応点の位置を決定するステ
ップと、 該第1の描画点の位置または、該第2の描画点の位置に
基づいて生成された値を、該平面上の該複数の画素の1
つの画素または、隣接する複数の画素に対応する値とす
るステップとを包含するマッピング方法。27. 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 polygon vertex, and the parameter. Determining the position of the first drawing point on the edge of the polygon and the first corresponding point corresponding to the first drawing point, based on the parameter, and the parameter and the first drawing point. The position of the second drawing point, which is a point inside the polygon, is determined based on the
Determining the position of the second corresponding point corresponding to the drawing point, and the value generated based on the position of the first drawing point or the position of the second drawing point on the plane. One of the plurality of pixels
And 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 |
---|---|---|---|
JP7-166662 | 1995-06-30 | ||
JP16666295 | 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 true JPH0973547A (en) | 1997-03-18 |
JP3068007B2 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 |
---|---|---|---|---|
JP2008521102A (en) * | 2004-11-19 | 2008-06-19 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Pixel sampling method and apparatus |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI396690B (en) * | 2006-04-27 | 2013-05-21 | Yakult Honsha Kk | Process for preparing camptothecin analogs |
-
1996
- 1996-06-28 JP JP17022696A patent/JP3068007B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008521102A (en) * | 2004-11-19 | 2008-06-19 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Pixel sampling method and apparatus |
JP4801088B2 (en) * | 2004-11-19 | 2011-10-26 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Pixel sampling method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP3068007B2 (en) | 2000-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6052126A (en) | Parallel processing three-dimensional drawing apparatus for simultaneously mapping a plurality of texture patterns | |
US7903112B2 (en) | Drawing processing apparatus, texture processing apparatus, and tessellation method | |
JP3608801B2 (en) | Image generator | |
JP2910979B2 (en) | Method and apparatus for generating sub-pixel mask in computer graphic system | |
US5701405A (en) | Method and apparatus for directly evaluating a parameter interpolation function used in rendering images in a graphics system that uses screen partitioning | |
US5877769A (en) | Image processing apparatus and method | |
JPH05307610A (en) | Texture mapping method and its device | |
JPH09223244A (en) | Method and device for rendering three-dimensional object at a high speed | |
JPH09120465A (en) | Method and apparatus for rendering, with good efficiency, of3d image | |
US5852446A (en) | Rendering apparatus and rendering method, and mapping apparatus and mapping method | |
US6549209B1 (en) | Image processing device and image processing method | |
US5060172A (en) | Method and apparatus for displaying smooth-shaded objects | |
US7142224B2 (en) | Polygon drawing apparatus and method, and storage medium for implementing the same method | |
JP3068007B2 (en) | Rendering device and mapping device, and rendering method and mapping method | |
US7015917B2 (en) | Curved surface subdivision apparatus | |
JP3979162B2 (en) | Image processing apparatus and method | |
JPH06215143A (en) | Method and apparatus for representation of graphics object | |
US7372466B2 (en) | Image processing apparatus and method of same | |
JPH09231352A (en) | Method for mapping pixel picture | |
JPH09180000A (en) | Three-dimensional graphics controller | |
Bruijns | Quadratic Bezier triangles as drawing primitives | |
US7454320B1 (en) | System and method for calculating partial differential equations in a hardware graphics pipeline | |
US7768512B1 (en) | System and method for rasterizing primitives using direct interpolation | |
JP3517982B2 (en) | Drawing device | |
JP2766478B2 (en) | Image processing system |
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 |