KR100269118B1 - Rasterization using quadrangle - Google Patents

Rasterization using quadrangle Download PDF

Info

Publication number
KR100269118B1
KR100269118B1 KR1019970037571A KR19970037571A KR100269118B1 KR 100269118 B1 KR100269118 B1 KR 100269118B1 KR 1019970037571 A KR1019970037571 A KR 1019970037571A KR 19970037571 A KR19970037571 A KR 19970037571A KR 100269118 B1 KR100269118 B1 KR 100269118B1
Authority
KR
South Korea
Prior art keywords
edge
triangles
span
shared
triangle
Prior art date
Application number
KR1019970037571A
Other languages
Korean (ko)
Other versions
KR19990015445A (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 KR1019970037571A priority Critical patent/KR100269118B1/en
Publication of KR19990015445A publication Critical patent/KR19990015445A/en
Application granted granted Critical
Publication of KR100269118B1 publication Critical patent/KR100269118B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection

Abstract

PURPOSE: A method for reasterization using a rectangle is provided to reduce the amount of input data and a memory accessing time by counting two triangles sharing one edge as one rectangle. CONSTITUTION: A rectangle with formed two triangles sharing one edge is extracted from an object projected on a screen coordinate(300). An edge function value for four edges of the rectangle and the shared edge of two triangles is calculated if there are coordinate values of vertical axises of two fixed points shared by two triangles between coordinate values of vertical axises of two fixed points which are not shared by two triangles(302,306). A span start point is obtained by edge-walking left edges of the triangles(308). An interpolating process is performed by using the edge function value and the span start point(310).

Description

사각형을 이용한 래스터화 방법{Rasterization using quadrangle}Rasterization using rectangles {Rasterization using quadrangle}

본 발명은 래스터화(rasterization) 방법에 관한 것으로, 보다 상세하게는 사각형을 이용한 레스터화 방법에 관한 것이다.The present invention relates to a rasterization method, and more particularly to a rasterization method using a square.

최근의 3차원 컴퓨터 그래픽은 개인용 컴퓨터에까지 급속하게 파급되어 3차원 그래픽 렌더링의 결과 이미지를 빠른 속도로 생성할 수 있다. 이를 위해서는 3차원 렌더링을 위한 전용 하드웨어보드가 필요하며, 이 보드내에는 보통 3차원 렌더링 가속 칩셋(3D rendering acceleration chipset)이 탑재된다. 3차원 가속 칩셋(3D acceleration chipset)은 스크린 좌표계(screen coordinates)에 투영된 삼각형 데이터(triangle data)를 셋업 엔진(setup engine)으로부터 입력받아 정해진 함수를 적용하여 삼각형내의 모든 픽셀에 대해 픽셀값을 생성한다. 일반적으로 이 칩셋을 렌더링 엔진(rendering engine) 또는 래스터 엔진(raster engine)이라 한다.Modern three-dimensional computer graphics are rapidly spreading to personal computers, and can generate images at high speed as a result of three-dimensional graphics rendering. This requires a dedicated hardware board for 3D rendering, which is usually equipped with a 3D rendering acceleration chipset. The 3D acceleration chipset receives triangular data projected from the screen coordinates from a setup engine and applies a predetermined function to generate pixel values for all the pixels in the triangle. do. This chipset is commonly referred to as a rendering engine or raster engine.

도 1은 일반적인 3차원 그래픽 시스템에 대한 블럭도로서, 도 1에 따른 그래픽 시스템은 기하 엔진(geometry engine, 100), 셋업 엔진(110), 렌더링 엔진(120)으로 구성되어 있다. 기하 엔진(100)은 렌더링될 대상물(object)의 기하학적인 변화를 계산하여 그 결과를 스크린 좌표상에 투영(projection)하고, 셋업 엔진(110)은 투영된 다각형(polygon)들로부터 래스터화에 필요한 파라미터를 계산한다. 렌더링 엔진(120)은 셋업 엔진(110)에서 계산된 래스터화 파라미터를 이용하여 최종 픽셀값을 생성한다.FIG. 1 is a block diagram of a general three-dimensional graphics system. The graphics system according to FIG. 1 includes a geometry engine 100, a setup engine 110, and a rendering engine 120. The geometry engine 100 calculates the geometric change of the object to be rendered and projects the result on screen coordinates, and the setup engine 110 needs to rasterize from the projected polygons. Calculate the parameter. The rendering engine 120 generates the final pixel value using the rasterization parameter calculated by the setup engine 110.

셋업 엔진(110)내에는 렌더링 엔진이 삼각형 단위로 렌더링 작업을 수행할 때, 각각의 삼각형을 주사(traverse)하는데 필요한 에지 함수값(edge function value)을 삼각형의 정점으로부터 계산하는 에지 함수값 계산부(112)가 있고, 렌더링 엔진(120)내에는 에지 함수값 계산부(112)에서 계산된 에지 함수값을 저장하는 레지스터들(122)과 픽셀 위치에 따라 삼각형의 세 에지에 대한 에지 함수값을 계산하는 에지 함수 보간부(124)가 있다.In the setup engine 110, when the rendering engine performs rendering in triangle units, an edge function value calculator which calculates, from a vertex of a triangle, an edge function value required to traverse each triangle. (112), the rendering engine 120 registers the edge function values for the three edges of the triangle according to the pixel position and registers 122 storing the edge function value calculated by the edge function value calculation unit 112. There is an edge function interpolator 124 to calculate.

한 삼각형의 래스터화를 위해 렌더링 엔진으로 입력되어야 할 데이터의 양 및 종류는 렌더링 엔진이 지원하는 삼각형 주사 방법에 따라 차이가 있다.The amount and type of data to be input to the rendering engine for rasterization of one triangle depends on the triangle scanning method supported by the rendering engine.

일반적으로 삼각형 주사 방법에는 DDA(Digital Differential Analyzer) 알고리즘을 사용하는 방법과 에지 함수값을 사용하는 피네다(Pineda) 방법이 있다.In general, the triangular scanning method includes a method using a digital differential analyzer (DDA) algorithm and a Pineda method using an edge function value.

그 중 피네다 방법은 삼각형의 좌측 에지를 따라가며 소정의 갯수로 이루어진 펄스열인 스팬(span)의 시작점을 찾아가는 방법으로 에지함수값(edge function value)을 이용한다. 여기서, 에지함수값은 에지를 구성하는 각 픽셀이 갖는 강도(intensity)를 나타낸다. 스크린 좌표상에서 삼각형의 각 에지는 투영된 삼각형의 각 정점으로부터 계산되며, 삼각형의 세 에지에 대한 에지함수 초기값 에지0, 에지1, 에지2와 각 에지의 보간 파라미터 dE0dx, dE1dx, dE2dx, dE0dy, dE1dy, dE2dy는 셋업엔진에서 다음과 같이 계산되어 렌더링 엔진으로 입력된다.Among them, the Pineda method uses an edge function value along the left edge of a triangle to find the starting point of a span, which is a predetermined number of pulse trains. Here, the edge function value represents the intensity of each pixel constituting the edge. In the screen coordinates, each edge of the triangle is calculated from each vertex of the projected triangle, and the edge function initial values edge0, edge1, and edge2 for the three edges of the triangle and the interpolation parameters dE0dx, dE1dx, dE2dx, dE0dy, dE1dy and dE2dy are calculated by the setup engine as follows and entered into the rendering engine.

Figure pat00001
Figure pat00001

여기서, sx, sy는 삼각형의 실세계좌표상의 값과 스크린 좌표상의 값의 차이고, Vx, Vy는 스크린 좌표상의 삼각형의 정점좌표값이다.Here, sx and sy are the difference between the value in the real world coordinate of the triangle and the value in the screen coordinate, and Vx and Vy are the vertex coordinate values of the triangle in the screen coordinate.

삼각형의 좌측 에지를 따라가며 스팬의 시작점을 찾는 에지 워킹(Edge Walking)시 에지함수값은 에지함수 초기값에서 출발하여 한 워킹 스텝마다 방향에 맞는 보간 파라미터로 보간된 다음, 보간된 값의 부호에 따라 삼각형의 내부, 외부가 판단되며, 워킹 스텝의 다음 방향이 결정된다.In Edge Walking, which follows the left edge of the triangle and finds the starting point of the span, the edge function is interpolated with the interpolation parameters for each walking step starting from the initial value of the edge function and then added to the sign of the interpolated value. Accordingly, the inside and outside of the triangle are determined, and the next direction of the walking step is determined.

에지워킹의 방향은 도 2a에 도시된 바와 같이 진행되는데, 한 스팬(span)씩 진행될 때마다 해당방향의 에지0 함수 보간값이 초기 에지0 함수값에 더해지고, 에지0 함수값의 부호가 점검된다. 이 때 모든 함수값 보간기(색상, xy-좌표, 깊이정보(depth value), 텍스쳐 좌표(texture-coords), 알파효과(alph-value), 안개효과(fog-value)) 및 에지1, 에지2도 에지0이 한 스팬씩 진행될 때마다 해당방향의 해당 보간값을 더해준다. 보간결과 계산된 에지0의 함수값이 음수이면(즉, 삼각형의 외부), 진행방향은 아래쪽으로 전환된다. 에지워킹은 중간정점을 기점으로 에지1을 따라 진행되며, 이 때 삼각형의 내??외부 점검은 에지1 함수값의 부호에 따라 이루어진다. 에지1은 에지0와 반대로 우측으로 진행되다가 에지1의 함수값이 양수(즉, 삼각형의 내부)일 경우 아래쪽으로 방향전환된다.The direction of edge walking proceeds as shown in FIG. 2A. Each time one span is advanced, the edge 0 function interpolation value in the corresponding direction is added to the initial edge 0 function value, and the sign of the edge 0 function value is checked. do. All function value interpolators (color, xy-coordinates, depth value, texture-coords, alpha-value, fog-value) and edge 1, edge Each time 2 degrees edge 0 advances by one span, the corresponding interpolation value in the corresponding direction is added. If the value of edge 0 calculated as the result of interpolation is negative (i.e. outside the triangle), the direction of travel is shifted downward. Edgeworking is performed along edge1 starting from the middle vertex. At this time, the inside and outside of the triangle is checked according to the sign of the function value of edge1. Edge 1 proceeds to the right as opposed to edge 0 and then turns downward if the function value of edge 1 is positive (ie inside the triangle).

결국 에지워커가 아래쪽으로 진행될 때마다 하나의 스팬이 계산되고 , 이 스팬 데이터는 스팬 보간기에 입력되어 그 스팬상에 존재하는 각 픽셀의 함수값이 생성된다. 스팬보간시에도 에지워킹과 마찬가지로 에지함수값을 이용하여 삼각형의 각 에지를 점검하는데, 도 2b와 같이 중간정점이 가장 긴 에지의 우측에 있는 시계방향을 갖는 삼각형일 경우, 중간정점을 중심으로 상위 스팬은 에지2의 함수값, 하위 스팬은 에지1의 함수값으로 보간하고 그 결과값의 부호를 점검하여 삼각형의 우측 경계를 판별한다. 화살표는 스팬보간방향을 나타내고, 스팬보간은 스크린 s에 의해 클리핑(clipping)이 일어난 부분까지 이루어진다.As a result, one span is calculated each time the edge worker goes downward, and the span data is input to the span interpolator to generate a function value of each pixel present on the span. In span interpolation, as in edge walking, each edge of a triangle is checked using an edge function value. When the middle vertex is a clockwise triangle to the right of the longest edge as shown in FIG. The span is interpolated by the function value of edge 2 and the lower span is interpolated by the function value of edge 1 and the right side of the triangle is determined by checking the sign of the result value. The arrow indicates the span interpolation direction, and span interpolation is made up to the part where the clipping occurs by the screen s.

그러나 종래의 삼각형 주사방법은 한 물체를 렌더링하기 위해 셋업엔진에서 렌더링엔진으로 입력되는 데이터량이 많으며, 특히 미디어 칩셋(media chipset)과 같이 다기능이 한 칩내에 복합되어 구현되는 경우 내부 데이터 버스가 여러 기능의 로직 블록(logic block)과 공유하게되므로 서로에게 할당되는 버스 마스터링(bus mastering)시간은 제약된다. 결국 많은 데이터량은 보다 많은 버스 마스터링을 요구하게되어 전체적인 시스템의 성능을 저하시킨다. 또한, 삼각형의 도형 특성상 프레임 버퍼(frame buffer)로 사용되는 메모리를 엑세스할 때 잦은 페이지 손실(page miss)을 유발할 수 있다. 페이지 손실이 발생하면 메모리는 새로운 로우(row)를 활성화시키기위해 프리차지 시간(precharge time)이 필요한데 이는 데이터 엑세스 시간을 길게한다. 결국 데이터 엑세스 시간을 최소화하기 위해서는 원하는 데이터가 동일 로우상에 존재하여야하나 삼각형의 특성상 동일 로우상에 데이터가 존재하지 못하는 경우가 많다.However, the conventional triangular scanning method has a large amount of data input from the setup engine to the rendering engine to render a single object, and especially when the multifunction is implemented in a single chip such as a media chipset, the internal data bus has many functions. Because they are shared with the logic block of the bus, the bus mastering time allocated to each other is limited. As a result, large amounts of data require more bus mastering, which degrades the overall system performance. In addition, due to the triangular shape of the triangle, frequent page misses may occur when the memory used as the frame buffer is accessed. When a page loss occurs, the memory needs a precharge time to activate a new row, which lengthens the data access time. In order to minimize the data access time, desired data must exist on the same row, but data may not exist on the same row due to the characteristics of a triangle.

본 발명이 이루고자하는 기술적 과제는 한 에지를 공유하는 삼각형을 사각형으로 간주하여 주사하므로써 한 물체를 레스터화하기 위해 셋업엔진에서 렌더링엔진으로 입력되어야하는 전체적인 데이터를 줄이고 레스터화의 결과로 발생된 픽셀 데이터의 저장을 위한 메모리 엑세스 시간을 줄이는 사각형을 이용한 래스터화 방법을 제공하는데 있다.The technical problem to be achieved by the present invention is to consider the triangles sharing one edge as a rectangle and scan the pixel data generated as a result of the rasterization while reducing the overall data that must be input from the setup engine to the rendering engine in order to rasterize an object. To provide a rasterization method using a rectangle to reduce the memory access time for the storage of.

도 1은 일반적인 3차원 그래픽 시스템에 대한 블럭도이다.1 is a block diagram of a general three-dimensional graphics system.

도 2a는 에지함수값을 이용한 에지워킹 방법을 도시한 것이다.2A illustrates an edge walking method using an edge function value.

도 2b는 에지함수값을 이용한 스팬보간과정을 도시한 것이다.2B illustrates a span interpolation process using edge function values.

도 3은 본 발명에 따른 사각형을 이용한 래스터화 방법에 대한 흐름도이다.3 is a flowchart illustrating a rasterization method using a rectangle according to the present invention.

도 4a 및 도 4b는 본 발명이 적용되는 사각형 형태를 도시한 것이다.4A and 4B illustrate a rectangular shape to which the present invention is applied.

도 4c 및 도 4d는 본 발명이 적용되지 않는 사각형 형태를 도시한 것이다.4C and 4D illustrate rectangular shapes to which the present invention is not applied.

상기 기술적 과제를 달성하기 위한, 본 발명에 따른 사각형을 이용한 레스터화 방법은 삼각형으로 구성되어 스크린 좌표상에 투영된 대상물 영상으로부터 한 에지를 공유한 두 삼각형으로 이루어진 사각형을 추출하는 제1단계; 상기 스크린 좌표상에서 추출된 두 삼각형이 공유하는 두 정점의 수직축 좌표값 각각이 상기 두 삼각형이 공유하지않는 다른 두 정점의 수직축 좌표값들의 사이에 존재하면, 상기 사각형의 4개의 에지 및 상기 두 삼각형이 공유하는 공유 에지에 대한 에지함수값을 계산하는 제2단계; 상기 사각형의 좌측에지에서 스팬시작점을 구하는 제3단계; 및 구해진 에지함수값과 스팬시작점으로부터 수평방향으로 스팬보간하되, 스팬이 상기 공유에지를 통과하여 한 삼각형 내부에서 다른 삼각형의 내부로 진행하여 이루어지는 경우 상기 다른 삼각형에 대해 스팬보간을 하는 제4단계를 포함함을 특징으로한다.According to an aspect of the present invention, there is provided a rasterization method using a quadrangle, comprising: extracting a quadrangle consisting of two triangles sharing one edge from an object image projected on screen coordinates; If each of the vertical coordinate coordinates of the two vertices shared by the two triangles extracted from the screen coordinates is present between the vertical coordinate coordinates of the other two vertices not shared by the two triangles, the four edges of the rectangle and the two triangles are Calculating an edge function value for a shared shared edge; Obtaining a span starting point at the left edge of the quadrangle; And performing a span interpolation in the horizontal direction from the obtained edge function value and the span starting point, and performing a span interpolation for the other triangle when the span passes through the shared edge and proceeds from one triangle to another. It is characterized by including.

이하에서 첨부된 도면을 참조하여 본 발명을 보다 상세히 설명하기로 한다. 도 3은 본 발명에 따른 사각형을 이용한 래스터화 방법에 대한 흐름도이다. 도 3에 따른 사각형을 이용한 래스터화 방법은 한 에지를 공유한 두 삼각형을 추출하는 단계(300), 사각형으로 레스터화가 가능한지를 판별하는 단계(302), 사각형으로 레스터화하는 단계(306 내지 314) 및 삼각형으로 레스터화하는 단계(304)를 포함한다.Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings. 3 is a flowchart illustrating a rasterization method using a rectangle according to the present invention. The rasterization method using the quadrangle according to FIG. 3 includes extracting two triangles sharing one edge (300), determining whether the rasterization is possible with the square (302), and rasterizing the square (306 to 314). And rasterizing into triangles 304.

그 동작을 보다 상세히 설명하면 다음과 같다. 먼저, 렌더링될 대상물은 세 개의 정점을 갖는 삼각형으로 구성되어 스크린 좌표로 투영되고, 투영된 대상물의 영상으로부터 하나의 에지를 공유하는 두 삼각형, 즉 4개의 정점을 추출한다(300단계).The operation will be described in more detail as follows. First, the object to be rendered is composed of triangles having three vertices, projected to screen coordinates, and two triangles that share one edge, that is, four vertices are extracted from the projected object image (step 300).

추출된 두 삼각형에서 공유하는 에지의 양 끝점(이하 공유정점이라 함)의 y좌표값이 두 삼각형이 공유하지않는 각 정점의 y좌표값을 비교한다(302단계).The y-coordinate values of both endpoints (hereinafter referred to as shared vertices) of the edges shared by the extracted two triangles are compared with the y-coordinate values of each vertex not shared by the two triangles (step 302).

비교결과, 공유정점의 두 y좌표값이 공유하지않는 정점들의 y좌표값보다 크거나 작으면 사각형으로 레스화가 가능하지않은 것으로 판단하여 두 삼각형을 개별적으로 레스터화한다(304단계). 이에 대한 예가 도 4a 및 도 4b에 도시되어 있다. 즉, 도 4a에 도시된 것처럼 공유정점의 두 y좌표값 모두가 공유하지않는 정점의 y좌표값보다 크다면, 좌측 에지 (v1s1)에서부터 스팬 보간할 때, 사각형(v1,s1,v0,s0)의 내부중 스팬 보간이 이루어지지않는 부분이 발생한다. 마찬가지로, 도 4b에 도시된 것처럼 공유정점의 두 y좌표값 모두가 공유하지않는 정점의 y좌표값보다 작으면 좌측 에지 (v0s0)로부터 스팬 보간시 사각형(v0,s0,v1,s1)의 내부중 스팬 보간이 이루어지지않는 부분이 발생한다. 이러한 경우에는 두 삼각형을 개별적으로 레스터화한다. 즉, 두 삼각형 각각에 대해 좌측 에지로부터 에지 워킹을 수행하고 스팬 보간을 수행하여 레스터화한다.As a result of the comparison, if the two y coordinate values of the shared vertices are larger or smaller than the y coordinate values of the non-shared vertices, it is determined that it is not possible to erase the rectangles, and the two triangles are rasterized separately (step 304). An example of this is shown in FIGS. 4A and 4B. That is, when both y-coordinate values of the shared vertices are larger than the y-coordinate values of the non-shared vertices as shown in FIG. 4A, when span interpolating from the left edge v1s1, the rectangles (v1, s1, v0, s0) Span interpolation occurs inside of the module. Similarly, as shown in FIG. 4B, when both y-coordinate values of the shared vertices are smaller than the y-coordinate values of the non-shared vertices, the inside weight of the rectangle v0, s0, v1, s1 during span interpolation from the left edge v0s0 is shown. A part where span interpolation is not performed occurs. In this case, the two triangles are rasterized separately. That is, rasterization is performed by performing edge walking and span interpolation on each of the two triangles.

상술한 302단계에서 비교결과, 공유정점의 두 y좌표값이 공유하지않는 정점들의 y좌표값들 사이에 존재한다면 사각형으로 레스터화가 가능하다고 판단하고, 사각형으로 레스터화한다(306단계 내지 314단계). 이러한 경우가 도 4c 및 도 4d에 도시되어 있다. 두 삼각형을 사각형으로 레스터화하기 위해서 사각형을 구성하는 4개의 에지 및 두 삼각형이 공유하는 공유에지에 대한 에지함수값을 공지의 방법으로 구한다(306단계). 구해진 에지함수값으로부터 사각형의 좌측 에지를 에지워킹하면서 스팬 시작점을 찾는다(308단계). 스팬 시작점이 찾아지면, 도 4c의 공유에지 (s0s1)와 우측 에지(s1v1)에 대해서 스팬 및 에지함수값을 보간하고, 그 스팬상에 포함되는 각 픽셀의 함수값들을 생성한다(310단계). 스팬 보간시에는, 도 4c를 참조하여 설명하면, 삼각형 t0는 도 2b와 같은 시계방향 삼각형의 스팬보간이 이루어지고, t1은 도 2a와 같은 보간이 이루어지게 되어 공유에지(s0s1)과 우측 에지(s1v1)에 대한 2개의 함수값이 보간된다. 스팬보간결과, 스팬이 공유에지(s0s1)를 통과하게되면(312단계), 보간된 에지함수값이 양의 값에서 음의 값으로 전환되며 이때부터 t1 삼각형에 대한 보간 파라미터로부터 함수값, 예를 들어 에지함수값, 색상, 깊이정보 등과 같은 값이 계산된다(314단계).As a result of the comparison in step 302, if the two y-coordinate values of the shared vertices exist between the y-coordinate values of the non-shared vertices, it is determined that rasterization is possible in the rectangle, and the rasterization is performed in the rectangle (steps 306 to 314). . This case is illustrated in FIGS. 4C and 4D. In order to rasterize the two triangles into squares, the edge function values for the four edges constituting the square and the shared edges shared by the two triangles are obtained by a known method (step 306). From the obtained edge function value, the span starting point is found while edgeworking the left edge of the rectangle (step 308). When the span starting point is found, the span and edge function values are interpolated with respect to the shared edge s0s1 and the right edge s1v1 of FIG. 4C, and function values of each pixel included in the span are generated (step 310). When span interpolation is described with reference to FIG. 4C, the triangle t0 is the span interpolation of the clockwise triangle as shown in FIG. 2B, and the t1 is the interpolation as shown in FIG. 2A so that the common edge s0s1 and the right edge ( Two function values for s1v1) are interpolated. As a result of span interpolation, when the span passes through the shared edge (s0s1) (step 312), the interpolated edge function value is converted from a positive value to a negative value, from which the function value, e.g., For example, values such as edge function values, colors, depth information, and the like are calculated (step 314).

본 발명에 의하면, 2개의 삼각형을 래스터화하기 위해서 렌더링 엔진으로 5개의 에지함수값이 입력되므로 약 17%의 데이터 전송을 줄일 수 있다. 이는 내부 데이터 버스를 다른 로직 블록과 공유하여 사용하고 있는 칩셋 제작시 버스 소유시간을 단축할 수 있다. 또한 효율적인 메모리 엑세스가 가능하다. 즉, 래스터화할 삼각형이 대략 50픽셀로 이루어져있고 한 스팬의 길이가 3~5 픽셀로 구성되어있다고 가정하면, 3~5번의 메모리 읽기/쓰기 동작 후 메모리 로우의 페이지 손실이 발생하여 다른 로우를 구동해야하는 프리차지 시간이 필요하나, 본 발명에 의한 사각형 단위의 래스터화방법은 프리차지 시간을 20~50%정도 감소시킨다.According to the present invention, since five edge function values are input to the rendering engine to rasterize two triangles, data transmission of about 17% can be reduced. This can reduce bus ownership time when creating chipsets that share an internal data bus with other logic blocks. It also allows efficient memory access. In other words, assuming that the triangle to be rasterized consists of approximately 50 pixels and the span consists of 3 to 5 pixels in length, after 3 to 5 memory read / write operations, page loss of the memory row occurs, driving another row. Although precharge time is required, the square rasterization method according to the present invention reduces the precharge time by about 20 to 50%.

Claims (2)

삼각형으로 구성되어 스크린 좌표상에 투영된 대상물 영상으로부터 한 에지를 공유한 두 삼각형으로 이루어진 사각형을 추출하는 제1단계;A first step of extracting a quadrangle consisting of two triangles sharing one edge from an object image projected on screen coordinates; 상기 스크린 좌표상에서 추출된 두 삼각형이 공유하는 두 정점의 수직축 좌표값 각각이 상기 두 삼각형이 공유하지않는 다른 두 정점의 수직축 좌표값들의 사이에 존재하면, 상기 사각형의 4개의 에지 및 상기 두 삼각형이 공유하는 공유 에지에 대한 에지함수값을 계산하는 제2단계;If each of the vertical coordinate coordinates of the two vertices shared by the two triangles extracted from the screen coordinates is present between the vertical coordinate coordinates of the other two vertices not shared by the two triangles, the four edges of the rectangle and the two triangles are Calculating an edge function value for a shared shared edge; 상기 사각형의 좌측에지에서 스팬시작점을 구하는 제3단계; 및Obtaining a span starting point at the left edge of the quadrangle; And 구해진 에지함수값과 스팬시작점으로부터 수평방향으로 스팬보간하되, 스팬이 상기 공유에지를 통과하여 한 삼각형 내부에서 다른 삼각형의 내부로 진행하여 이루어지는 경우 상기 다른 삼각형에 대해 스팬보간을 하는 제4단계를 포함함을 특징으로하는 사각형을 이용한 레스터화 방법.And a fourth step of span interpolating in the horizontal direction from the obtained edge function value and the span starting point, wherein the span interpolates with respect to the other triangle when the span passes through the shared edge and proceeds from one triangle to another. Rasterization method using a square characterized in that. 제1항에 있어서, 상기 제2단계는The method of claim 1, wherein the second step 상기 두 삼각형이 공유하는 두 정점의 수직축 좌표값 각각이 상기 두 삼각형이 공유하지않는 다른 두 정점의 수직축 좌표값들의 사이에 존재하지 않는다면, 상기 두 삼각형의 각각에 대해 각 에지에 대한 에지함수값을 구하고, 각 삼각형의 좌측 에지에서 스팬 시작점을 구하며, 구해진 에지함수값과 스팬시작점으로부터 수평방향으로 스팬보간하는 단계를 더 구비함을 사각형을 이용한 레스터화 방법.If each of the vertical coordinates of the two vertices shared by the two triangles does not exist between the vertical coordinates of the other two vertices that the two triangles do not share, the edge function value for each edge for each of the two triangles is determined. And obtaining a span starting point at the left edge of each triangle, and performing a span interpolation in the horizontal direction from the obtained edge function value and the span starting point.
KR1019970037571A 1997-08-06 1997-08-06 Rasterization using quadrangle KR100269118B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970037571A KR100269118B1 (en) 1997-08-06 1997-08-06 Rasterization using quadrangle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970037571A KR100269118B1 (en) 1997-08-06 1997-08-06 Rasterization using quadrangle

Publications (2)

Publication Number Publication Date
KR19990015445A KR19990015445A (en) 1999-03-05
KR100269118B1 true KR100269118B1 (en) 2000-10-16

Family

ID=19517005

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970037571A KR100269118B1 (en) 1997-08-06 1997-08-06 Rasterization using quadrangle

Country Status (1)

Country Link
KR (1) KR100269118B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102654920A (en) * 2011-03-02 2012-09-05 扬智科技股份有限公司 Line segment overflow correction method for vector graphics

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100742155B1 (en) * 2005-12-30 2007-07-24 엠텍비젼 주식회사 Method and apparatus for making scan line
KR100723421B1 (en) * 2006-03-13 2007-05-30 삼성전자주식회사 Method for rendering by point interpolation, apparatus for rendering by point interpolation and readable medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102654920A (en) * 2011-03-02 2012-09-05 扬智科技股份有限公司 Line segment overflow correction method for vector graphics

Also Published As

Publication number Publication date
KR19990015445A (en) 1999-03-05

Similar Documents

Publication Publication Date Title
US6693637B2 (en) Method and apparatus for determining bins to be updated for polygons, including lines
US7280121B2 (en) Image processing apparatus and method of same
US6982723B1 (en) Method and apparatus for eliminating unwanted steps at edges in graphic representations in the line raster
US6654020B2 (en) Method of rendering motion blur image and apparatus therefor
US7167171B2 (en) Methods and apparatuses for a polygon binning process for rendering
US7876332B1 (en) Shader that conditionally updates a framebuffer in a computer graphics system
US6961065B2 (en) Image processor, components thereof, and rendering method
US11348308B2 (en) Hybrid frustum traced shadows systems and methods
US8059119B2 (en) Method for detecting border tiles or border pixels of a primitive for tile-based rendering
JP4977712B2 (en) Computer graphics processor and method for rendering stereoscopic images on a display screen
JP2002529871A (en) Shading of 3D computer generated images
US7812837B2 (en) Reduced Z-buffer generating method, hidden surface removal method and occlusion culling method
CN100399358C (en) Image processing apparatus and method of same
JP3349871B2 (en) Image processing device
US20060187220A1 (en) Apparatus and method for performing hidden surface removal and computer program product
US20030043148A1 (en) Method for accelerated triangle occlusion culling
US5786826A (en) Method and apparatus for parallel rasterization
KR100269118B1 (en) Rasterization using quadrangle
US20030122850A1 (en) Method and apparatus for determining bins to be updated for polygons, including triangles
US6972760B2 (en) Area and span based Z-buffer
US7737971B2 (en) Image drawing device, vertex selecting method, vertex selecting program, and integrated circuit
US7224369B2 (en) Image processing apparatus and method of same
US20160321835A1 (en) Image processing device, image processing method, and display device
JP2000268191A (en) Implicit-surface processing method
Lau et al. Accurate Image Generation and Interactive Image Editing with the A‐buffer

Legal Events

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

Payment date: 20080708

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee