KR0132826B1 - Texture address generator - Google Patents

Texture address generator

Info

Publication number
KR0132826B1
KR0132826B1 KR1019940021572A KR19940021572A KR0132826B1 KR 0132826 B1 KR0132826 B1 KR 0132826B1 KR 1019940021572 A KR1019940021572 A KR 1019940021572A KR 19940021572 A KR19940021572 A KR 19940021572A KR 0132826 B1 KR0132826 B1 KR 0132826B1
Authority
KR
South Korea
Prior art keywords
value
texture
interpolator
register
edge
Prior art date
Application number
KR1019940021572A
Other languages
Korean (ko)
Other versions
KR960008600A (en
Inventor
지석춘
최상길
최병균
Original Assignee
김광호
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김광호, 삼성전자주식회사 filed Critical 김광호
Priority to KR1019940021572A priority Critical patent/KR0132826B1/en
Publication of KR960008600A publication Critical patent/KR960008600A/en
Application granted granted Critical
Publication of KR0132826B1 publication Critical patent/KR0132826B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

본 발명은 컴퓨터 그래픽스에 관한 것으로서, 특히 텍스쳐 맵핑을 수행하는 텍스쳐 주소발생기에 관한 것이다. 이에 따른 장치는, 텍스쳐 맵핑을 위한 텍스쳐 어드레스 발생기에 있어서, 플리건에 있어 y방향에 대한 최저와 최고값을 갖는 에쥐(edge)상의 픽셀들의 텍스쳐 어드레스 U 및 V의 어드레스를 지정하는 에쥐 보간기(edge interpolator) ; 및 상기 에쥐 보간기(edge interpolator)의 출력값을 시작점으로 스캔라인을 따라 x방향으로 보간하면서 플리건 내부의 각 화소에 대응하는 텍스쳐 어드레스 U 및 V의 어드레스를 지정하는 X 보간기(x interpolator)를 포함한다.TECHNICAL FIELD The present invention relates to computer graphics and, more particularly, to a texture address generator that performs texture mapping. The apparatus according to the present invention is a texture address generator for texture mapping, comprising: an interpolator for specifying the addresses of texture addresses U and V of pixels on edges having the lowest and highest values in the y-direction in the flickr. edge interpolator); And an X interpolator for specifying the addresses of texture addresses U and V corresponding to each pixel in the plygun while interpolating the output value of the edge interpolator in the x direction along the scan line. Include.

본 발명의 효과는 2개의 식으로 폴리건 내부를 텍스쳐 맵핑을 수행하기 위해 텍스쳐 어드레스 파라미터를 설정할 수 있도록 하여 데이타의 계산량을 감소시켜 고속처리 가능하게 한다.The effect of the present invention is that the texture address parameter can be set to perform texture mapping inside the polygon in two ways, thereby reducing the amount of computation of data and enabling high-speed processing.

Description

텍스쳐 맵핑을 위한 텍스쳐 어드레스 발생기Texture Address Generator for Texture Mapping

제 1 도는 하나의 플리건 내부를 맵핑하는 종래 기술을 설명하기 위한 도면이다.1 is a view for explaining a conventional technique of mapping the inside of one plygun.

제 2 도는 하나의 플리건 내부를 맵핑하는 본 발명을 설명하기 위한 도면이다.2 is a view for explaining the present invention to map the inside of one plygun.

제3A도는 플리건 내부의 텍스쳐 어드레스 파라미터 U에 대한 텍스쳐 어드레스 파라미터를 도시한 도면이다.FIG. 3A shows the texture address parameter for the texture address parameter U inside the flickr.

제3B도는 플리건 내부의 텍스쳐 어드레스 파라미터 V에 대한 텍스쳐 어드레스 파라미터를 도시한 도면이다.3B shows the texture address parameter for the texture address parameter V inside the flickr.

제 4 도는 Edge interpolator의 상세도이다.4 is a detailed view of the edge interpolator.

제 5 도는 X interpolator의 상세도이다.5 is a detailed view of the X interpolator.

제 6 도는 텍스쳐 어드레스 파라미터를 지정하기 위해 플리건 내부를 추적하는 과정에 있어서, x방향 및 y방향으로 추적할 때의 레지스터 값의 흐름을 설명하는 도면이다.FIG. 6 is a diagram for explaining the flow of register values in tracing in the x-direction and y-direction during tracing of the inside of the plygun to designate a texture address parameter.

본 발명은 컴퓨터 그래픽스에 관한 것으로서, 특히 텍스쳐 맵핑(texture mapping)을 수행하는 텍스쳐 주소발생기에 관한 것이다.TECHNICAL FIELD The present invention relates to computer graphics, and more particularly, to a texture address generator that performs texture mapping.

텍스쳐 맵핑이란 photo-realistic 이미지 발생을 위해 사용되는 그래픽스 기능으로서 2차원의 이미지를 3차원 물체표면에 입히는 기능을 말한다. 즉, 블럭으로 만든 벽을 생동감있게 표현하려면 커다란 사각형에 블럭벽의 이미지(텍스쳐 이미지)를 맵핑함으로써 수행할 수 있다.Texture mapping is a graphics function used to generate photo-realistic images. It is a function of coating a two-dimensional image onto a three-dimensional object surface. In other words, if you want to make the wall made of blocks vividly, you can do it by mapping the block wall image (texture image) to a large rectangle.

일반적으로, 이미지 맵핑의 수행에 있어서, 종래에는 geometry engine(이하 GE이라 함)에서 폴리건(polygon)을 스캔라인(scanline)에 해당하는 스팬(span) 단위로 자르고 각 스팬에 대한 텍스쳐 어드레스 U,V의 2차 방정식을 구한 뒤, 텍스쳐 파라미터들을 계산한다. rasterization engine(이하 RE이라 함)는 이들 데이타를 받아들여 2차 보간을 수행하여 U,V 어드레스를 생성한 다음 이에 대응하는 칼라값을 텍스쳐 이미지가 저장된 텍스쳐 메모리로부터 읽어와서 프레임버퍼(frame buffer)에 업데이트(update) 시킨다. 이러한 종래 기술은 각각의 스팬에 대하여 계산해 주어야 한다. 이는 GE와 RE간의 데이타 양이 상대적으로 많은 관계로 텍스쳐 맵핑을 수행하는데 있어서, 필요한 계산량과 그에 따른 속도와 비용의 문제가 있었다. 따라서, 이를 개선할 수 있는 대안이 요구되었다.In general, in performing image mapping, a polygon is conventionally cut in a geometry engine (hereinafter, referred to as GE) in span units corresponding to scanlines, and texture addresses U and V for each span are used. After obtaining the quadratic equation of, we calculate the texture parameters. The rasterization engine (hereinafter referred to as RE) receives these data and performs second-order interpolation to generate U and V addresses, and then reads the corresponding color values from the texture memory where the texture image is stored in the frame buffer. Update This prior art has to be calculated for each span. This is because the amount of data between GE and RE is relatively large, and there is a problem of the amount of computation required and the speed and cost of texture mapping. Thus, there is a need for an alternative that can improve this.

본 발명의 목적은 상술한 바와 같은 종래 기술의 문제점을 개선하고자 안출된 것으로서, 풀리건 하나에 대하여 텍스쳐 어드레스 U,V 각각 하나의 방정식으로 폴리건 내부의 텍스쳐 주소를 지정하는 장치를 제공함에 있다.SUMMARY OF THE INVENTION An object of the present invention is to provide a device for designating a texture address inside a polygon with one texture address U and V equations for one pulley gun.

상술한 목적을 달성하기 위한 본 발명에 따른 장치는, 텍스쳐 맵핑을 위한 텍스쳐 어드레스 발생기에 있어서, 폴리건에 있어 y방향에 대한 최저와 최고값을 갖는 에쥐(edge)상의 픽셀들의 텍스쳐 어드레스 U 및 V의 어드레스를 지정하는 에쥐보간기(edge interpolator) ; 및 상기 에쥐 보간기(edge interpolator)의 출력값을 시작점으로 스캔라인을 따라 x방향으로 보간하면서 폴리건 내부의 각 화소에 대응하는 텍스쳐 어드레스 U 및 V의 어드레스를 지정하는 X 보간기(x interpolator)를 포함한다.An apparatus according to the present invention for achieving the above object, in the texture address generator for texture mapping of the texture address U and V of the pixels on the edge having the lowest and highest values in the y direction in the polygon Edge interpolator for addressing; And an X interpolator for specifying an address of texture addresses U and V corresponding to each pixel in the polygon while interpolating the output value of the edge interpolator in the x direction along the scan line. do.

이하, 도면을 참조하여 본 발명을 상세히 설명한다. 올바른 이해를 위해 본 발명을 설명하기에 앞서 종래 기술에 관한 설명한다.Hereinafter, the present invention will be described in detail with reference to the drawings. Prior art will be described in order to correctly understand the present invention.

제 1 도는 하나의 폴리건 내부를 맵핑하는 종래 기술을 설명하기 위한 도면이다. 제 1 도에 있어서, 하나의 폴리건 내부를 통과하는 스캔라인에 걸치는 스팬에 대하여 텍스쳐 어드레스 U,V에 대한 2차 방정식과 파라미터를 구한다. 이를 수식으로 표현하면 다음과 같다.1 is a view for explaining a conventional technique for mapping the inside of one polygon. In FIG. 1, quadratic equations and parameters for texture addresses U and V are obtained for spans spanning a scan line passing through one polygon. If this is expressed as an expression, it is as follows.

F1(x)=A1X2+B1X+C1[식1]F 1 (x) = A 1 X 2 + B 1 X + C 1 [Equation 1]

F2(x)=A2X2+B2X+C2[식2]F 2 (x) = A 2 X 2 + B 2 X + C 2 [Equation 2]

F3(x)=A3X2+B3X+C3[식3]F 3 (x) = A 3 X 2 + B 3 X + C 3 [Equation 3]

F4(x)=A4X2+B4X+C4[식4]F 4 (x) = A 4 X 2 + B 4 X + C 4 [Equation 4]

F5(x)=A5X2+B5X+C5[식5]F 5 (x) = A 5 X 2 + B 5 X + C 5 [Equation 5]

상기 [식1]은 제 1 도에 있어서, 위에서 첫번째 스캔라인을 지나는 스팬에 해당되는 텍스쳐 어드레스 파라미터를 지정하는 식이다. [식2]는 마찬가지로 제 1 도에 있어서, 두번째 스캔라인을 지나는 스팬에 해당되는 텍스쳐 어드레스 파라미터를 지정하는 식이다. [식3]은 세번째 스캔라인을 지나는 스팬에 해당되는 텍스쳐 어드레스 파라미터를 지정하는 식이다. [식4]는 네번째 스캔라인을 지나는 스팬에 해당되는 텍스쳐 어드레스 파라미터를 지정하는 식이다. [식5]는 다섯번째 스캔라인을 지나는 스팬에 해당되는 텍스쳐 어드레스 파라미터를 지정하는 식이다. 상기의 예에서는 하나의 폴리건에 다섯개의 스팬이 지정되어 텍스쳐 맵핑을 수행하지만 이는 얼마든지 유동적일 수 있다. 즉, 상대적으로 더욱 세밀하고, 조밀한 텍스쳐 맵핑을 수행하기 위해서는 더욱 많은 갯수의 스팬이 요구된다. 또한, 더욱 많은 갯수의 스팬은 더욱 많은 계산량을 요구하며, 더욱 많은 데이타량을 요구한다. 이는 처리속도에 커다란 타격을 줄 수 있는 것임은 명백한 사실이다. 그러면, 이러한 종래의 방법을 배척하고, 상기의 종래의 문제점을 개선하여 그래픽스의 처리속도에 대한 궁극적인 대안이 요구된다. 그러면, 상기의 요구에 따른 본 발명에 대한 설명을 한다. 우선, 종래 기술과의 용이한 대비를 위하여 제 2 도를 소개한다.[Equation 1] is a formula for designating a texture address parameter corresponding to the span passing through the first scan line in FIG. [Equation 2] is a formula for designating a texture address parameter corresponding to the span passing through the second scan line in FIG. Equation 3 specifies a texture address parameter corresponding to the span passing through the third scan line. Equation 4 specifies a texture address parameter corresponding to the span passing through the fourth scan line. Equation 5 specifies a texture address parameter corresponding to a span passing through the fifth scan line. In the example above, five spans are assigned to one polygon to perform texture mapping, but this can be any amount. That is, more and more spans are required to perform relatively finer and more dense texture mapping. Also, more spans require more computation and more data. It is obvious that this can have a huge impact on throughput. There is then a need for an ultimate alternative to the speed of graphics, which rejects this conventional method and ameliorates the above conventional problem. Then, the present invention according to the above requirements will be described. First, FIG. 2 is introduced for easy contrast with the prior art.

제 2 도는 하나의 폴리건 내부를 맵핑하는 본 발명을 설명하기 위한 도면이다. 폴리건 내부의 맵핑 조밀도에 따라 스팬의 수가 결정되고, 스팬의 수에 비례하는 텍스쳐 어드레스 파라미터를 지정하는 수식의 갯수가 결정되는 종래의 텍스쳐 어드레스 파라미터 지정과는 달리 본 발명에서는 두개의 수식으로 하나의 폴리건을 맵핑하기 위해 어드레스를 지정하는 것이다. 먼저, 이에 따른 수식을 소개한다.2 is a view for explaining the present invention to map the inside of one polygon. Unlike the conventional texture address parameter specification in which the number of spans is determined according to the mapping density inside the polygon and the number of formulas specifying texture address parameters proportional to the number of spans is determined in the present invention, two equations are used in the present invention. To address a polygon, you specify an address. First, the following formula will be introduced.

Fu(x,y)=A1X2+B1Y2+C1XY+D1X+E1Y+F1[식6]F u (x, y) = A 1 X 2 + B 1 Y 2 + C 1 XY + D 1 X + E 1 Y + F 1 [Equation 6]

Fv(x,y)=A2X2+B2Y2+C2XY+D2X+E2Y+F2[식7]F v (x, y) = A 2 X 2 + B 2 Y 2 + C 2 XY + D 2 X + E 2 Y + F 2 [Equation 7]

*U에 대한 텍스쳐 어드레스 파라미터값Texture Address Parameter Values for U

X″: d/dx(dFu(x,y)/dx)X ″: d / dx (dF u (x, y) / dx)

Y″: d/dy(dFu(x,y)/dy)Y ″: d / dy (dF u (x, y) / dy)

X′Y′: d/dx(dFu(x,y)/dy) or d/dy(dFu(x,y)/dx)X'Y ': d / dx (dF u (x, y) / dy) or d / dy (dF u (x, y) / dx)

X′: dFu(x,y)/dx)X ′: dF u (x, y) / dx)

Y′: dFu(x,y)/dy)Y ′: dF u (x, y) / dy)

U : Fu(x,y)U: F u (x, y)

*V에 대한 텍스쳐 어드레스 파라미터값Texture Address Parameter Values for * V

X″: d/dx(dFv(x,y)/dx)X ″: d / dx (dF v (x, y) / dx)

Y″: d/dy(dFv(x,y)/dy)Y ″: d / dy (dF v (x, y) / dy)

X′Y′: d/dx(dFv(x,y)/dy) or d/dy(dFv(x,y)/dx)X′Y ′: d / dx (dF v (x, y) / dy) or d / dy (dF v (x, y) / dx)

X′: dFv(x,y)/dx)X ′: dF v (x, y) / dx)

Y′: dFv(x,y)/dy)Y ′: dF v (x, y) / dy)

U : Fv(x,y)U: F v (x, y)

상기의 U 및 V값은 앞에서도 언급한 바와 같이 폴리건 내부의 텍스쳐 어드레스 파라미터 값이다. 상기에 보여준 수식들은 후에 도시하는 도면과 연계하여 계속 설명하기로 한다.The U and V values are the texture address parameter values inside the polygon as mentioned above. The above-described equations will be explained in conjunction with the drawings shown later.

제3A도와 제3B도는 본 발명에 따른 전체 회로도이다. 제3A도는 폴리건 내부의 텍스쳐 어드레스 파라미터 U에 대한 텍스쳐 어드레스 파라미터를 도시한 도면이고, 제3B도는 폴리건 내부의 텍스쳐 어드레스 파라미터 V에 대한 텍스쳐 어드레스 파라미터를 도시한 도면이다. 제3A도에 있어서, 참조부호 10은 Edge interpolator이며, 12는 X interpolator이다. 또한, 제3B도에 있어서도 마찬가지이다. 텍스쳐 어드레스 파라미터 U 및 V에 동작되는 과정이 동일하므로 설명의 간편성을 고려하여 텍스쳐 어드레스 파라미터 U에 대해서만 설명한다. 우선, GE(도시하지 않음)에서 계산된 텍스쳐 어드레스 파라미터 값이 Edge interpolator(10), X interpolator(12)내에 있는 레지스터에 저장된다. Edge interpolator(10)는 제 2 도에 도시된 폴리건에서 y방향에 대한 최저와 최고값을 갖는 양 끝점(이하 vertex이라 함)을 연결하는 edge 상에 있는 픽셀들의 U, V 어드레스를 구하는 일을 전담한다. edge 함수에 의해 y 축의 최고점을 시작점으로 하여 edge를 따라가며 x,y방향으로 보간(interpolation)한다. 그러면, 제3A도와 제3B도의 Edge interpolator(10)와 X interpolator(12)의 상세도를 도시하여 설명한다.3A and 3B are an overall circuit diagram according to the present invention. FIG. 3A shows the texture address parameter for the texture address parameter U inside the polygon, and FIG. 3B shows the texture address parameter for the texture address parameter V inside the polygon. In Fig. 3A, reference numeral 10 denotes an edge interpolator and 12 denotes an X interpolator. The same applies to FIG. 3B. Since the operation of the texture address parameters U and V is the same, only the texture address parameter U will be described in consideration of simplicity. First, texture address parameter values calculated at GE (not shown) are stored in registers in the edge interpolator 10 and the X interpolator 12. The edge interpolator 10 is dedicated to finding the U and V addresses of the pixels on the edge connecting the two end points (hereinafter referred to as vertices) having the lowest and highest values for the y direction in the polygon shown in FIG. do. Interpolate in the x and y directions along the edge by using the edge function as the starting point of the y axis. Next, a detailed view of the edge interpolator 10 and the X interpolator 12 of FIGS. 3A and 3B will be described.

제 4 도는 Edge interpolator의 상세도이다. 제 4 도에 있어서, 참조부호 20은 X″제 1 레지스터이고, 22는 X′Y′제 2 레지스터이고, 24는 Y″제 3 레지스터이고, 26은 X′제 4 레지스터이고, 28은 Y′제 5 레지스터이고, 30은 텍스쳐 어드레스 파라미터 U인 제 6 레지스터이고, 32는 X′의 초기값과 상기 제 4 레지스터(26)의 값을 입력요소로 하여 두 값중 하나를 선택하여 출력하는 제 1 신호선택부이고, 34는 상기 제 1 레지스터(20)와 상기 제 2 레지스터(22)의 값을 입력요소로 하여 두 값중 하나를 선택하여 출력하는 제 2 신호선택부이고, 36은 상기 제 1 레지스터(22)와 상기 제 3 레지스터(24)의 값을 입력요소로 하여 두 값중 하나를 선택하여 출력하는 제 3 신호선택부이고, 38은 Y′의 초기값과 상기 제 5 레지스터(28)의 값을 입력요소로 하여 두 값중 하나를 선택하여 출력하는 제 4 신호선택부이고, 40은 상기 제 1 신호선택부(32)와 상기 제 2 신호선택부(34)를 입력요소로 하는 제 1 가/감산부이고, 42는 상기 제 3 신호선택부(36)와 상기 제 4 신호선택부(38)의 값을 입력요소로 하는 제 2 감산부이고, 44는 상기 제 1 가/감산부(40)와 상기 제 2 감산부(42)의 값을 입력요소로 하여 두 값중 하나를 선택하여 출력하는 제 5 신호선택부이고, 46은 텍스쳐 어드레스 파라미터 U의 초기값과 상기 제 6 레지스터의 값을 입력요소로 하여 두 값중 하나를 선택하여 출력하는 제 6 신호선택부이며, 48은 상기 제 5 신호선택부(44)와 상기 제 6 신호선택부(46)의 값을 입력요소로 하는 제 3 가/감산부이다. 최종적으로 상기 제 6 레지스터(30)에서 출력되는 상수 U값과 상기 제 4 레지스터(26)에서 출력되는 X′값이 Edge interpolator의 출력요소가 된다. 이값들은 다음에 소개할 X interpolator의 입력요소가 된다.4 is a detailed view of the edge interpolator. In Fig. 4, reference numeral 20 is X ″ first register, 22 is X′Y ′ second register, 24 is Y ″ third register, 26 is X ′ fourth register, 28 is Y ′ 5th register, 30 is the 6th register which is a texture address parameter U, 32 is the 1st signal which selects and outputs one of two values using the initial value of X 'and the value of the said 4th register 26 as an input element. 34 is a second signal selector which selects and outputs one of two values using the values of the first register 20 and the second register 22 as input elements, and 36 denotes the first register. 22) and a third signal selector which selects and outputs one of two values using the values of the third register 24 as an input element, and 38 denotes an initial value of Y ′ and a value of the fifth register 28. A fourth signal selector which selects and outputs one of two values as an input element, and 40 denotes the first signal; A first adder / subtracter using the signal selector 32 and the second signal selector 34 as input elements, and 42 denotes the third signal selector 36 and the fourth signal selector 38. Is a second subtractor having the value of as an input element, and 44 denotes a second subtractor which selects and outputs one of two values using the values of the first adder / subtracter 40 and the second subtractor 42 as input elements. 5 is a signal selector, and 46 is a sixth signal selector for selecting and outputting one of two values using the initial value of the texture address parameter U and the value of the sixth register as input elements, and 48 is the fifth signal selector. A third adder / subtracter uses the values of 44 and the sixth signal selector 46 as input elements. Finally, the constant U value output from the sixth register 30 and the value X ′ output from the fourth register 26 become an output element of the edge interpolator. These values are the input elements of the X interpolator, which we will introduce next.

지금까지 Edge interpolator의 제 4 도를 빌어 참조부호 설명을 하였다. 상기 Edge interpolator의 동작설명에 앞서 X interpolator를 소개한 후, 양자를 연계하여 설명한다.So far, reference numerals have been described in FIG. 4 of the edge interpolator. Prior to describing the operation of the edge interpolator, the X interpolator is introduced and then described in connection with both.

제 5 도는 X interpolator의 상세도이다. 제 5 도에 있어서, 참조부호 50은 상기 Edge interpolator의 출력요소인 X′값과 후에 설명할 또 다른 과정을 거쳐 생성되는 X′값을 입력요소로 하는 제 7 신호선택부이고, 52는 X″제 7 레지스터이고, 54는 상기 제 7 신호선택부(50)와 상기 제 7 레지스터(52)의 값을 입력요소로 하는 제 4 가/감산부이고, 56은 상기 제 4 가/감산부(54)의 출력값을 갖고 있으며 이는 상기 제 7 신호선택부(50)의 입력요소 및 후에 설명할 제 5 가/감산부의 입력요소가 되는 X′제 8 레지스터이고, 58은 상기 Edge interpolator의 출력요소인 U 값과 후에 언급될 U 값을 입력요소로 하는 제 8 신호선택부이고, 60은 상기 제 4 가/감산부(54)의 출력값과 상기 제 8 신호선택부(58)의 출력값을 입력요소로 하는 제 5 가/감산부이고, 62는 상기 제 4 가/감산부(54)의 출력값을 갖는 U 제 9 레지스터이며, 이는 상기 제 8 레지스터(58)의 입력요소가 되기도 하며 최종적으로 텍스쳐 메모리(도시되지 않음)를 인덱스하는 값이다.5 is a detailed view of the X interpolator. In FIG. 5, reference numeral 50 is a seventh signal selector that uses X ′ value, which is an output element of the edge interpolator, and X ′ value generated through another process to be described later, and 52 is X ″. A seventh register, 54 is a fourth adder / subtractor that uses the values of the seventh signal selector 50 and the seventh register 52 as input elements, and 56 is the fourth adder / subtractor 54 Is an input element of the seventh signal selection unit 50 and an input element of X ′ which is an input element of the fifth addition / subtraction unit, which will be described later, and 58 is an output element of the edge interpolator. The eighth signal selection unit having a value and a U value to be described later as an input element, and 60 denotes an output element of the fourth adding / subtracting unit 54 and an output value of the eighth signal selecting unit 58. A fifth adding / subtracting section, and 62 is a U ninth register having an output value of the fourth adding / subtracting section 54, which is It is also an input element of the eighth register 58 and finally a value that indexes a texture memory (not shown).

지금까지 본 발명의 전체 회로도인 텍스쳐 어드레스(U) 발생기를 구성하는 Edge interpolator와 X interpolator의 상세도를 소개하였다. 그리고, 앞서 언급한 바와 같이 텍스쳐 어드레스 파라미터 U에 대해서만 언급하였고, 텍스쳐 어드레스 파라미터 V에 대해서는 상기의 텍스쳐 어드레스 파라미터 U와 동일한 이유로 그의 설명을 생략하기로 하였다.So far, the detailed diagrams of the edge interpolator and the X interpolator constituting the texture address (U) generator, which is the overall circuit diagram of the present invention, have been introduced. As described above, only the texture address parameter U is referred to, and the description of the texture address parameter V is omitted for the same reason as the texture address parameter U described above.

그러면, 상기의 소개한 Edge interpolator와 X interpolator의 수행과정을 살펴본다. 이의 수행 과정의 올바른 이해를 위해 도면을 인용하여 간략히 설명한다.Then, the process of performing the introduced edge interpolator and X interpolator will be described. The drawings will be briefly described in order to correctly understand the implementation thereof.

제 6 도는 텍스쳐 어드레스 파라미터를 지정하기 위해 폴리건 내부를 추적하는 고장에 있어서, x 방향 및 y 방향으로 추적할 때의 레지스터 값의 흐름을 설명하는 도면이다. 제 6 도에 있어서, 참조부호 70은 X″값을 갖는 레지스터이고, 72는 X′Y′값을 갖는 레지스터이고, 74는 Y″값을 갖는 레지스터이고, 76은 X′값을 갖는 레지스터이고, 78은 Y′값을 갖는 레지스터이고, 80은 텍스쳐 어드레스 파라미터 U,V값을 갖는 레지스터이며, 여기서는 상술한 바와 같은 이유로 U값에 대해서만 설명을 제한하기로 한다. 또한, 도면에서 점선은 y 방향에 관한 것이고, 실선은 x 방향에 관한 것이다. 먼저, x 방향으로 이동하였다고 하자. 이는 실선에 해당된다. 그러면, X′값(76)은 X″값(70)으로 업데이트하고, Y′값(78)은 X′Y′(72)으로 업데이트하고, U값(80)은 X′값(76)으로 업데이트한다. 한편, y방향으로 이동하였다면, 이는 점선에 해당된다. Y′값(78)은 Y″값(74) 값으로 업데이트하고, X′값(76)은 X′Y′값(72)으로 업데이트하고, U값(80)은 Y′값(78)으로 업데이트 한다. 이러한 수행과정으로 제 4 도의 Edge interpolator를 수행한다.FIG. 6 is a diagram for explaining the flow of register values when tracking in the x direction and the y direction in the failure of tracking the inside of the polygon to designate a texture address parameter. In Fig. 6, reference numeral 70 is a register having a value of X ″, 72 is a register having a value of X′Y ′, 74 is a register having a value of Y ″, 76 is a register having a value of X ′, 78 is a register having a Y 'value, 80 is a register having a texture address parameter U and V values, and for the same reason as described above, the description of the U value will be limited. In addition, the dotted line in the figure relates to the y direction, and the solid line relates to the x direction. First, let's say that it moved in the x direction. This is a solid line. The X 'value 76 then updates to the X' 'value 70, the Y' value 78 updates to the X'Y '72, and the U value 80 changes to the X' value 76. Update. On the other hand, if it moved in the y direction, it corresponds to the dotted line. Y ′ value 78 updates to Y ″ value 74, X ′ value 76 updates to X′Y ′ value 72, and U value 80 to Y ′ value 78. Update. In this manner, the edge interpolator of FIG. 4 is performed.

궁극적으로 컴퓨터 그래픽스에 있어서, 텍스쳐 맵핑을 폴리건 하나에 색을 입히는 것으로 시작된다. 또한, 폴리건 색을 입히기 위해서는 얼마만큼 조밀하게 색을 입힐 것인가를 결정하여야 한다. 이는 폴리건 내부를 얼마만한 조밀도로 어드레스를 지정해 줄 것인가의 문제로 집약된다. 이는 상술한 바와 같은 [식6]과 [식7]에 의한다. 상기 [식6]과 [식7]의 A1,A2,B1,B2,C1,C2,D1,D2,E1,E2,F1,F2,X 및 Y의 값은 각각 폴리건 내부를 얼마만큼의 조밀성을 갖고 어드레스를 지정할 것인가에 의해 그 값은 결정해 준다. 그러면, 제 4 도를 보자.Ultimately, in computer graphics, we start by mapping the texture mapping to a single polygon. In addition, in order to apply polygon color, it is necessary to determine how dense the color is to be colored. This is a matter of how much density you want to address inside the polygon. This is based on Equations 6 and 7 as described above. A 1 , A 2 , B 1 , B 2 , C 1 , C 2 , D 1 , D 2 , E 1 , E 2 , F 1 , F 2 , X and Y in [Formula 6] and [Formula 7] The value of is determined by how dense each address is inside the polygon. Then, see Figure 4.

제 4 도에서 음의 y방향으로 이동이 될때, 제 5 레지스터(28)에 저장된 값 Y′은 제 6 도의 설명과 같이 제 3 레지스터(24)에 저장된 값 Y″으로 빼서 제 5 레지스터(28)의 Y′의 값으로 업데이트한다. 여기서, 각각의 신호선택부와 가/감산부들의 기능은 널리 공지된 기술이므로 그에 대한 설명은 설명의 편의상 생략한다. 다만, 신호선택부들의 신호선택은 제 6 도에서 설명한 바에 준한다. 또한, 제 4 레지스터(26)에 저장된 값은 제 2 레지스터(22)에 저장된 X′값은 X′Y′으로 빼서 제 4 레지스터(26)의 X′의 값으로 업데이트한다. 또한, 제 6 레지스터(30)에 저장된 값 U는 제 5 레지스터(28)에 저장된 값 Y′으로 빼서 제 5 레지스터(28)을 업데이트 한다. 제 4 도의 Edge interpolator의 최종 출력값인 현재의 U값과 X′을 X interpolator로 보낸다. 한편, 양의 x 방향으로 이동이 될때는 제 5 레지스터(28)에 저장된 값 Y′을 제 2 레지스터(22)에 저장된 값 X′Y′값으로 더하여 제 5 레지스터(28)의 Y′값을 업데이트한다. 제 4 레지스터(26)에 저장된 값 X′값을 제 1 레지스터(20)에 저장된 값 X″으로 더하여 제 4 레지스터(26)의 X′값을 업데이트한다. 제 6 레지스터(30)에 저장된 값 U를 제 4 레지스터(26)에 저장된 값 X′으로 더하여 제 6 레지스터(30)의 U값을 업데이트한다.When shifted in the negative y direction in FIG. 4, the value Y ′ stored in the fifth register 28 is subtracted by the value Y ″ stored in the third register 24 as described in FIG. 6. Update to the value of Y '. Here, the functions of the respective signal selector and the adder / subtracter are well known techniques, and thus description thereof is omitted for convenience of description. However, signal selection of the signal selection units is as described with reference to FIG. 6. In addition, the value stored in the fourth register 26 is updated to the value of X 'of the fourth register 26 by subtracting the value X' stored in the second register 22 by X'Y '. In addition, the value U stored in the sixth register 30 is subtracted by the value Y ′ stored in the fifth register 28 to update the fifth register 28. The current U value and X ', which are the final output values of the edge interpolator of FIG. 4, are sent to the X interpolator. On the other hand, when shifted in the positive x direction, the value Y 'stored in the fifth register 28 is added to the value X'Y' stored in the second register 22 to add the Y 'value of the fifth register 28. Update. The value X 'of the fourth register 26 is updated by adding the value X' stored in the fourth register 26 to the value X ″ stored in the first register 20. The value U stored in the sixth register 30 is added to the value X ′ stored in the fourth register 26 to update the U value of the sixth register 30.

또한, 음의 x 방향으로 이동이 될때는 제 5 레지스터(28)에 저장된 값 Y′을 제 2 레지스터(22)에 저장된 값 X′Y′값으로 빼서 제 5 레지스터(28)의 Y′값을 업데이트한다. 제 4 레지스터(26)에 저장된 값 X′값을 제 1 레지스터(20)에 저장된 값 X″으로 빼서 제 4 레지스터(26)의 X′값을 업데이트한다. 제 6 레지스터(30)에 저장된 값 U를 제 4 레지스터(26)에 저장된 값 X′으로 빼서 제 6 레지스터(30)의 U값을 업데이트한다.In the negative x direction, the value Y 'stored in the fifth register 28 is subtracted from the value X'Y' stored in the second register 22, and the Y 'value of the fifth register 28 is subtracted. Update. The value X ′ of the fourth register 26 is updated by subtracting the value X ′ stored in the fourth register 26 by the value X ″ stored in the first register 20. The U value of the sixth register 30 is updated by subtracting the value U stored in the sixth register 30 by the value X ′ stored in the fourth register 26.

제 5 도의 X interpolator는 상기 Edge interpolator으로부터 출력된 값 X′과 U를 시작점으로 스캔라인을 따라 x 방향으로 보간하면서 각 화소에 대응하는 U 텍스쳐 어드레스를 구하는 일을 전담한다. 즉, X′변수는 X″로 업데이트되고, U 텍스쳐 어드레스 값은 새로 업데이트된 X′로 업데이트 후에 출력되어 텍스쳐 메모리의 컬럼(colume) 어드레스로 쓰인다. 제 5 도의 X interpolator의 수행과정을 보자.The X interpolator of FIG. 5 is responsible for obtaining a U texture address corresponding to each pixel while interpolating in the x direction along the scan line from the values X 'and U output from the edge interpolator. That is, the X 'variable is updated to X ″, and the U texture address value is output after the update to the newly updated X' and used as a column address of the texture memory. Let's look at the implementation of the X interpolator of FIG.

먼저, 양의 x 방향으로 이동될 때는 제 8 레지스터(56)에 저장된 값 X′을 제 7 레지스터(52)에 저장된 값 X″으로 더하여 제 8 레지스터(56)의 X′값을 업데이트한다. 또한, 제 9 레지스터(62)에 저장된 값 U를 제 8 레지스터(56)에 저장된 값 X′으로 더하여 제 9 레지스터(62)의 U값을 업데이트하고 텍스쳐 메모리(도시되지 않음)로 출력된다. 한편, 음의 x 방향으로 이동될 때는 제 8 레지스터(56)에 저장된 값 X′을 제 7 레지스터(52)에 저장된 X″으로 빼서 제 8 레지스터(56)의 X′값을 업데이트한다. 또한, 제 9 레지스터(62)에 저장된 값 U를 제 8 레지스터(56)에 저장된 값 X′으로 빼서 제 9 레지스터(62)의 U값을 업데이트하고 텍스쳐 메모리(도시되지 않음)로 출력된다.First, when shifted in the positive x direction, the value X 'stored in the eighth register 56 is added to the value X " stored in the seventh register 52 to update the X' value of the eighth register 56. FIG. In addition, the value U stored in the ninth register 62 is added to the value X 'stored in the eighth register 56 to update the U value of the ninth register 62 and output to the texture memory (not shown). On the other hand, when shifted in the negative x direction, the value X 'stored in the eighth register 56 is subtracted from X ″ stored in the seventh register 52 to update the X ′ value of the eighth register 56. Further, the value U stored in the ninth register 62 is subtracted by the value X 'stored in the eighth register 56 to update the U value of the ninth register 62 and output to the texture memory (not shown).

상술한 바와 같이 구성한 본 발명은 2개의 식으로 풀리건 내부를 텍스쳐 맵핑을 수행하기 위해 텍스쳐 어드레스 파라미터를 설정할 수 있도록 하여 데이타의 계산량을 감소시켜 고속처리 가능하게 하는 효과가 있다.The present invention constructed as described above has the effect of enabling the high speed processing by reducing the amount of computation of data by setting the texture address parameter to perform texture mapping inside the pulley in two ways.

Claims (3)

텍스쳐 맵핑을 위한 텍스쳐 어드레스 발생기에 있어서, 폴리건에 있어 y방향에 대한 최저와 최고값을 갖는 에쥐(edge)상의 픽셀들의 텍스쳐 어드레스 U 및 V의 어드레스를 지정하는 에쥐 보간기(edge interpolator) ; 및 상기 에쥐 보간기(edge interpolator)의 출력값을 시작점으로 스캔라인을 따라 x 방향으로 보간하면서 폴리건 내부의 각 화소에 대응하는 텍스쳐 어드레스 U 및 V의 어드레스를 지정하는 X 보간기(x interpolator)를 포함하는 텍스쳐 어드레스 발생기.A texture address generator for texture mapping, comprising: an edge interpolator for specifying the address of texture addresses U and V of pixels on an edge having the lowest and highest values in the y direction for a polygon; And an X interpolator for specifying an address of texture addresses U and V corresponding to each pixel in the polygon while interpolating the output value of the edge interpolator along the scan line along the scan line. Texture address generator. 제 1 항에 있어서, 상기 폴리건에 있어 y 방향에 대한 최저와 최고값을 갖는 에쥐(edge)상의 픽셀들의 텍스쳐 어드레스 U 및 V의 어드레스를 지정하는 에쥐 보간기(Edge interpolator)는 음의 y방향으로 이동이 될때 Y′값은 Y″값으로 빼서 Y′의 값으로 업데이트하고 X′값은 X′Y′으로 빼서 X′의 값으로 업데이트하고 U 값 및 V값은 Y′값으로 빼서 U값 및 V값을 업데이트하고, 양의 x 방향으로 이동이 될때는 Y′값을 X′Y′값으로 더하여 Y′값을 업데이트하고 X′값을 X″값으로 더하여 X′값을 업데이트하고 U값 및 V값을 X′값으로 더하여 U값 및 V값을 업데이트하며, 음의 x 방향으로 이동이 될때는 Y′값을 X′Y′값으로 빼서 Y′값을 업데이트하고 X′값을 X″값으로 빼서 X′값을 업데이트하고 U값 및 V값을 X′값으로 빼서 U값 및 V값을 업데이트하고 최종 출력값인 U값 및 V값과 X′을 상기 X interpolator로 보냄을 특징으로 하는 에쥐 보간기(Edge interpolator)를 포함하는 텍스쳐 어드레스 발생기.2. The edge interpolator of claim 1, wherein an edge interpolator that specifies the addresses of the texture addresses U and V of the pixels on the edge having the lowest and highest values in the y direction for the polygon is in the negative y direction. When moving, Y 'value is updated to the value of Y' by subtracting Y ″ value, X 'value is updated to the value of X' by subtracting X'Y ', and U value and V value are subtracted by Y' value. When the value of V is updated, and when it moves in the positive x direction, the value of Y 'is updated by adding the value of Y' to the value of X'Y ', and the value of X' is added by adding the value of X 'to the value of X ″ to update the value of U and Update the U and V values by adding the V value to the X 'value, and update the Y' value by subtracting the Y 'value to the X'Y' value when moving in the negative x direction, and replacing the X 'value with the X ″ value. Update the value of X 'by subtracting and update the value of U and V by subtracting the value of U and V by the value of X Texture address generator comprising a U value and a ejwi interpolator (Edge interpolator), characterized by sending a value V and X 'in the X interpolator. 제 1 항에 있어서, 상기 에쥐 보간기(Edge interpolator)의 출력값을 시작점으로 스캔라인을 따라 x 방향으로 보간하면서 폴리건 내부의 각 화소에 대응하는 텍스쳐 어드레서 U 및 V의 어드레스를 지정하는 X 보간기(x interpolator)는 양의 x 방향으로 이동될 때는 X′값을 X″으로 더하여 X′값을 업데이트하고 U값 및 V값을 X′값으로 더하여 U값 및 V값을 업데이트하며, 음의 x 방향으로 이동될 때는 X′값을 X″으로 빼서 X′값을 업데이트하고 U값 및 V값을 X′으로 빼서 U값 및 V값을 업데이트하고 최종 출력값인 U값 및 V값을 텍스쳐 메모리로 보냄을 특징으로 하는 X 보간기(X interpolator)를 포함하는 텍스쳐 어드레스 발생기.The X interpolator of claim 1, wherein the X interpolator specifies an address of texture addresses U and V corresponding to each pixel in the polygon while interpolating the output value of the edge interpolator in the x direction along the scan line. (x interpolator) updates the value of X 'by adding X' to X ″ and updates the U and V values by adding U and V to X 'when moving in the positive x direction, negative x When moving in the direction, update X value by subtracting X 'value by X ″, update U value and V value by subtracting U value and V value by X', and send the final output values U and V to texture memory. A texture address generator comprising an X interpolator.
KR1019940021572A 1994-08-30 1994-08-30 Texture address generator KR0132826B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940021572A KR0132826B1 (en) 1994-08-30 1994-08-30 Texture address generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940021572A KR0132826B1 (en) 1994-08-30 1994-08-30 Texture address generator

Publications (2)

Publication Number Publication Date
KR960008600A KR960008600A (en) 1996-03-22
KR0132826B1 true KR0132826B1 (en) 1998-04-24

Family

ID=19391481

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940021572A KR0132826B1 (en) 1994-08-30 1994-08-30 Texture address generator

Country Status (1)

Country Link
KR (1) KR0132826B1 (en)

Also Published As

Publication number Publication date
KR960008600A (en) 1996-03-22

Similar Documents

Publication Publication Date Title
US5097427A (en) Texture mapping for computer graphics display controller system
JP3203160B2 (en) Volume rendering apparatus and method
JP3107452B2 (en) Texture mapping method and apparatus
US4935879A (en) Texture mapping apparatus and method
US6184893B1 (en) Method and system for filtering texture map data for improved image quality in a graphics computer system
JP3367509B2 (en) Image generating method and image generating apparatus using the same
KR910009102B1 (en) Image synthesizing apparatus
US5325446A (en) Apparatus for image transformation
JPH08123969A (en) Mapping device
US6476819B1 (en) Apparatus and method for assigning shrinkage factor during texture mapping operations
US6181347B1 (en) Selectable mode smoothing texture filter for computer graphics
JPH05250490A (en) System for discriminating hidden side of picture data and picture converting device
US6130674A (en) Dynamically selectable texture filter for computer graphics
KR0132826B1 (en) Texture address generator
KR100528382B1 (en) Data conversion device and image generating device
EP0425573B1 (en) Texture mapping for computer graphics display controller system
JP3064799B2 (en) Texture mapping device
US5220428A (en) Digital video effects apparatus for image transposition
EP0566309B1 (en) Image transforming apparatus
KR100388587B1 (en) Three dimensional graphics drawing apparatus for drawing polygons by adding an offset value to vertex data and method thereof
JP2007129633A (en) Wipe pattern generator
KR19980041754A (en) Method and apparatus for determining texture coordinates in computer graphics
JPH07105404A (en) Stereoscopic image processor and its processing method
JPH07160898A (en) Texture data generating device
JPH0285978A (en) Method for processing hidden-surface of solid

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20061129

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee