KR100914915B1 - A low cost view-volume clipping method and an apparatus therefor - Google Patents

A low cost view-volume clipping method and an apparatus therefor

Info

Publication number
KR100914915B1
KR100914915B1 KR1020070125401A KR20070125401A KR100914915B1 KR 100914915 B1 KR100914915 B1 KR 100914915B1 KR 1020070125401 A KR1020070125401 A KR 1020070125401A KR 20070125401 A KR20070125401 A KR 20070125401A KR 100914915 B1 KR100914915 B1 KR 100914915B1
Authority
KR
South Korea
Prior art keywords
scanning
view
volume
clipping
viewport
Prior art date
Application number
KR1020070125401A
Other languages
Korean (ko)
Other versions
KR20090058687A (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 KR1020070125401A priority Critical patent/KR100914915B1/en
Publication of KR20090058687A publication Critical patent/KR20090058687A/en
Application granted granted Critical
Publication of KR100914915B1 publication Critical patent/KR100914915B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping

Abstract

본 발명은 저비용의 뷰-체적 클리핑 방법을 제공한다. The present invention provides a low cost view-volume clipping method.

본 발명에 따른 뷰-체적 클리핑 방법은 뷰-체적(view-volume)의 원-근 평면에 대하여 원-근 클리핑(far-near clipping)을 행하는 단계; 상기 원-근 클리핑된 뷰-체적의 원-근 투영된 일 평면에서 뷰 포트의 수평 및 수직 좌표 경계를 기준으로 폴리곤을 설정하고 상기 폴리곤 주사화 시작점(xi, yi)을 결정하는 단계; 결정된 상기 시작점(xi, yi)을 기준으로 상기 뷰 포트의 수평 방향 경계까지 상기 시작점과 수평 방향의 정점들을 주사화하는 단계; 및 상기 결정된 시작점(xi, yi)을 기준으로 상기 뷰 포트의 수직 방향 경계까지 상기 시작점과 수직 방향의 정점들을 주사화하는 단계;를 포함한다.The view-volume clipping method according to the present invention comprises the steps of: performing far-near clipping with respect to the far-near plane of the view-volume; Setting a polygon and determining the polygon scanning start point (x i , y i ) based on a horizontal and vertical coordinate boundary of a view port in the one-far projected plane of the near-clipped view-volume; Scanning vertices of the starting point and horizontal vertices to a horizontal boundary of the view port based on the determined starting point (x i , y i ); And scanning the vertices of the starting point and the vertical direction to the vertical boundary of the view port based on the determined starting point (x i , y i ).

상기와 같은 구성에 의하여, 폴리곤 설정 단계에서의 시작점 결정과 주사화 단계에서의 다음 주사화 위치의 결정에 뷰 포트의 경계를 고려함으로써, 클리핑 연산을 원-근 평면에 대해서만 행하고도 뷰-체적 클리핑이 가능하게 된다.With this arrangement, by considering the viewport boundary in determining the starting point in the polygon setting step and determining the next scanning position in the scanning step, the view-volume clipping is performed even if the clipping operation is performed only for the near-far plane. This becomes possible.

따라서, 본 발명에 따른 뷰-체적 클리핑 장치에 의하면, 일반적인 기존에 클리핑에 소요되는 시간 및 하드웨어의 비용을 감소시킬 수 있다. Therefore, according to the view-volume clipping apparatus according to the present invention, it is possible to reduce the time and hardware cost of the conventional conventional clipping.

Description

저비용의 뷰-체적 클리핑 방법 및 장치{A LOW COST VIEW-VOLUME CLIPPING METHOD AND AN APPARATUS THEREFOR}LOW COST VIEW-VOLUME CLIPPING METHOD AND AN APPARATUS THEREFOR}

본 발명은 그래픽 처리(graphics processing) 방법에 관한 것으로, 특히 클리핑(clipping) 처리 방법에 관한 것이다. The present invention relates to a graphics processing method, and more particularly to a clipping processing method.

본 발명은 정보통신부 및 정보통신연구진흥원의 IT 성장 동력 기술 개발 사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-026-01, 과제명: MPCore 플랫폼 기반 다중 포맷 멀티미디어 SoC].The present invention is derived from a study conducted as part of the IT growth engine technology development project of the Ministry of Information and Communication and the Ministry of Information and Communication Research and Development. ].

3차원(three-dimensional : 이하, "3D"라 함) 그래픽 기술은 멀티미디어(multimedia) 기기, 게임기, PC(personal computer) 등 화면을 통해 사용자와 대화하는 각종 기기에 널리 이용되고 있으며, 그 사용 범위가 점차 넓어지고 있는 추세이다. 3D 그래픽 처리 과정은 크게 기하 처리(geometry processing)와 주사선화(rasterization)의 두 단계로 나눌 수 있다. 기하 처리 단계는 변형(transformation), 라이팅(lighting), 클리핑(clipping), 투시 투영(perspective projection) 등의 처리를 포함하고, 주사선화 단계는 인터폴레이션(interpolation), 텍스춰 매핑(texture mapping) 등의 처리를 포함한다. Three-dimensional (hereinafter referred to as "3D") graphics technology is widely used in various devices that communicate with users through a screen such as a multimedia device, a game machine, a personal computer (PC), and the scope of use thereof. Is gradually widening. 3D graphics processing can be divided into two stages: geometry processing and rasterization. Geometry processing includes processing such as transformation, lighting, clipping, perspective projection, etc., and scanning line processing includes processing such as interpolation, texture mapping, and the like. It includes.

이 중 이러한 3D 그래픽 처리의 과정 중 주요 과정을 도 1에 도시하는데, 도 1에는 정점 데이터(vertex data) 그룹에서 장면을 벗어나는 그룹을 삭제하는 클리핑(clipping) 블록과, 해당 시점에서 최종적인 각 정점들의 좌표값을 설정하는 뷰 포트 매핑 블록과, 각 폴리곤들의 외곽선(scanline)을 규정하는 폴리곤 설정 블록, 그리고 해당 폴리곤들을 픽셀화하는 주사화 블록을 도시한다. Among them, a main process of the 3D graphics processing is shown in FIG. 1, which includes a clipping block for deleting a group out of a scene from a vertex data group and final vertices at that time. A viewport mapping block for setting the coordinate values of the polygons, a polygon setting block for defining an outline of each polygon, and a scanning block for pixelating the polygons are shown.

여기서, "클리핑"은 관찰자가 3D 이미지를 보게 되는 가상 3D 공간인 디스플레이 영역에서 도 2에 도시하는 바와 같이 관찰자(220)의 눈의 위치를 꼭지점으로 하는 뷰-체적(view volume; 200a, 200b)의 외부에 있는 이미지는 제외시키고, 뷰-체적(200a, 200b) 내부에 있는 이미지는 포함시키며, 뷰-체적(200)의 경계면에 걸쳐 있는 이미지는 뷰-체적(200) 내부에 들어오는 부분만 남기고 잘라내는 작업을 말한다. Here, "clipping" refers to a view volume (a view of volume 200a, 200b) with the vertex position of the eye of the observer 220 as shown in FIG. 2 in a display area that is a virtual 3D space where the viewer sees a 3D image. Excludes images that are outside of the image, includes images that are inside view-volumes 200a and 200b, and images that span the boundary of view-volume 200, leaving only the portion that enters inside view-volume 200. Say cut work.

이 때 클리핑 처리 대상이 되는 이미지는 뷰-체적 안에 포함된 부분만을 주사화(rasterization)하기 위해 기하학적 단위인 폴리곤(polygon)들로 분해되어 처리되는데, 뷰-체적의 외부에 존재하는 정점(vertex)을 제거하고 이를 대신할 새로운 정점을 생성하는데 상당한 연산부하가 따르게 된다. In this case, the image to be clipped is decomposed into polygons, which are geometric units, in order to rasterize only the parts included in the view volume, and vertices that exist outside the view volume. There is a significant computational load to remove and create new vertices to replace it.

또한, 이러한 상당한 연산부하가 따르는 클리핑 처리를 뷰-체적의 6개의 평면(plane) 각각에 대해 별도 수행해야 하고, 또한, 클리핑 후 얻어지는 정점이 설정된 폴리곤의 연결성(connectivity)을 유지하도록 고려되어야 한다. In addition, the clipping process with this considerable computational load must be performed separately for each of the six planes of the view-volume, and must also be considered to maintain the connectivity of the established polygons after the clipping.

따라서, 이러한 종래의 클리핑 방법은 지연시간(latency) 및 하드웨어 측면에서 높은 비용을 야기하는 문제가 있었다. Therefore, this conventional clipping method has a problem of causing high cost in terms of latency and hardware.

상기와 같은 문제를 해결하기 위하여, 본 발명에서는 클리핑 블록에서 뷰-체적의 6개의 면에 대해 모두 클리핑을 행하는 대신 원-근 클리핑 평면(near-far clipping planes)에 대해서만 클리핑을 수행하고, 폴리곤 설정 블록과 주사화 블록에 간단한 기능을 추가함으로써 뷰-체적 전체의 클리핑의 연산량 및 소요 시간을 감소시키는 방법 및 장치를 제안한다. In order to solve the above problem, in the present invention, instead of clipping all six faces of the view-volume in the clipping block, only clipping is performed on near-far clipping planes, and polygon setting is performed. We propose a method and apparatus for reducing the amount of computation and the time required for clipping the entire view-volume by adding simple functions to blocks and scanning blocks.

따라서, 본 발명에 따른 뷰-체적 클리핑 방법은, 뷰-체적(view-voldume)의 원-근 평면에 대하여 원-근 클리핑(far-near clipping)을 행하는 단계; 상기 원-근 클리핑된 뷰-체적의 원-근 투영된 일 평면에서 뷰 포트의 수평 및 수직 좌표 경계 값을 기준으로 폴리곤을 설정하고 상기 폴리곤 주사화 시작점(xi, yi)을 결정하는 단계; 결정된 상기 시작점(xi, yi)을 기준으로 상기 뷰 포트의 수평 방향 경계까지 상기 시작점과 수평 방향의 정점들을 주사화하는 단계; 및 상기 결정된 시작점(xi, yi)을 기준으로 상기 뷰 포트의 수직 방향 경계까지 상기 시작점과 수직 방향의 정점들을 주사화하는 단계;를 포함하는 것을 특징으로 한다.Thus, the view-volume clipping method according to the present invention comprises the steps of: performing far-near clipping on the far-near plane of the view-voldume; Setting a polygon based on horizontal and vertical coordinate boundary values of the viewport in the one-far projected plane of the near-clipped view-volume and determining the polygon scanning start point (x i , y i ) ; Scanning vertices of the starting point and horizontal vertices to a horizontal boundary of the view port based on the determined starting point (x i , y i ); And scanning the vertices of the starting point and the vertical direction to the vertical boundary of the view port based on the determined starting point (x i , y i ).

또한, 본 발명에 따른 뷰-체적 클리핑 장치(400)는, 정점 데이터 그룹을 입력받아 뷰-체적(view-volume)의 원-근 평면에 대해 원-근 클리핑(far-near clipping)을 행하는 클리핑 수단; 상기 원-근 클리핑된 뷰-체적의 원-근 투영된 평면을 뷰 포트 변환하는 수단; 상기 뷰 포트의 수평 및 수직 좌표 경계를 기준으로 폴리곤을 설정하고 폴리곤 주사화 시작점(xi, yi)을 결정하는 수단; 및 결정된 상기 시작점(xi, yi)을 기준으로 상기 뷰 포트의 수평 또는 수직 방향으로의 주사화 진행 방향을 결정하고 상기 뷰 포트의 수평 또는 수직 좌표 경계까지 상기 폴리곤 정점들을 주사화하는 수단;을 포함하는 것을 특징으로 한다.In addition, the view-volume clipping apparatus 400 according to the present invention receives a vertex data group and performs clipping for far-near clipping on the far-near plane of the view-volume. Way; Means for viewport transforming a perspective-near-projected plane of the perspective-closed view-volume; Means for setting a polygon based on horizontal and vertical coordinate boundaries of the viewport and determining a polygon scanning start point (x i , y i ); And means for determining a scanning progress direction in the horizontal or vertical direction of the viewport relative to the determined starting point (x i , y i ) and scanning the polygon vertices to a horizontal or vertical coordinate boundary of the viewport. Characterized in that it comprises a.

본 발명에 따른 뷰-체적 클리핑 방법에 의하면, 폴리곤 설정 단계에서 시작점 결정과 주사화 하는 단계에서 다음 주사화 위치의 결정에 뷰 포트의 경계를 고려함으로써 원-근 평면에 대한 클리핑 연산 만으로 뷰-체적 클리핑이 가능하게 된다. According to the view-volume clipping method according to the present invention, by determining the starting point in the polygon setting step and the next scanning position in the scanning step, by considering the view port boundary, the view-volume only with the clipping operation for the near-far plane Clipping is now possible.

본 발명에 따른 뷰-체적 클리핑 방법에 의하면, 기존의 클리핑 처리에 소요되던 연산량을 감소시킬 수 있고, 또한 지연시간(latency) 및 하드웨어 측면에서 높은 비용을 야기하는 클리핑을 간단히 구현할 수 있게 된다. According to the view-volume clipping method according to the present invention, it is possible to reduce the amount of computation required for the conventional clipping process, and also to implement clipping which causes high cost in terms of latency and hardware.

도 1은 3차원 그래픽 렌더링 과정의 일부를 개략적으로 도시하는 도면이다. 1 is a diagram schematically showing a part of a three-dimensional graphics rendering process.

도 2a 및 2b는 뷰-체적을 예시하는 도면이다. 2A and 2B are diagrams illustrating the view-volume.

도 3은 본 발명의 일 실시예에 따른 뷰-체적 클리핑 장치의 구성도이다. 3 is a block diagram of a view-volume clipping apparatus according to an embodiment of the present invention.

도 4는 뷰 포트를 예시하는 도면이다. 4 is a diagram illustrating a view port.

도 5는 도 4의 주사화 수단의 동작의 흐름을 예시하는 도면이다. 5 is a diagram illustrating the flow of operation of the scanning means of FIG. 4.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

400 : 클리핑 장치 410 : 클리핑 수단400: clipping device 410: clipping means

420 : 정규화 변환 수단 430 : 뷰 포트 매핑 수단420: normalized conversion means 430: view port mapping means

440 : 폴리곤 설정 수단 450 : 주사화 수단440: polygon setting means 450: scanning means

이하, 첨부된 도 3 내지 도 5의 도면을 참조하여 본 발명에 따른 뷰-체적 클리핑 방법 및 이를 이용하는 뷰-체적 클리핑 장치를 상세히 설명한다. Hereinafter, a view-volume clipping method and a view-volume clipping apparatus using the same will be described in detail with reference to the accompanying drawings of FIGS. 3 to 5.

도 3은 본 발명에 따른 클리핑 장치(300)의 개략적인 구성도를 도시한다. 3 shows a schematic configuration diagram of a clipping apparatus 300 according to the present invention.

본 발명에 따른 그래픽 장치(300)는 클리핑(clipping) 수단(310)과, 벡터 데이터를 정규화하는 정규화 변환 수단(320), 해당 시점에서 최종적인 각 정점들의 좌표값을 설정하는 뷰 포트 매핑 수단(330)과, 각 폴리곤들의 외곽선(scanline)을 규정하는 폴리곤 설정 수단(340), 그리고 해당 폴리곤들을 픽셀화하는 주사화 수단(350)을 포함한다. The graphic apparatus 300 according to the present invention includes a clipping means 310, a normalization transformation means 320 for normalizing vector data, and a viewport mapping means for setting coordinate values of final vertices at a corresponding time point. 330, polygon setting means 340 for defining a scanline of each polygon, and scanning means 350 for pixelating the polygons.

여기서, 클리핑 수단(310)의 입력은 도 3에 도시하는 바와 같이 투영 변환(projection transform) 후 클립 좌표(clip coordinates)로 나타내어지는 정점 데이터(vertex data)이다. 이러한 클립 좌표에서 뷰-체적은 다음과 같이 정의될 수 있다. Here, the input of the clipping means 310 is vertex data represented by clip coordinates after the projection transform as shown in FIG. 3. The view-volume in this clip coordinate can be defined as follows.

-wc ≤ xc ≤ wc -w c ≤ x c ≤ w c

-wc ≤ yc ≤ wc -w c ≤ y c ≤ w c

-wc ≤ zc ≤ wc -w c ≤ z c ≤ w c

(여기서, xc, yc, zc, wc는 실수이며, xc, yc, zc, wc는 투영변환 후의 정점 좌표임)(Where x c , y c , z c , w c are real numbers, and x c , y c , z c , w c are vertex coordinates after the projection transformation)

그러므로, 뷰-체적의 6개의 평면의 방정식은 각각 다음과 같이 정의될 수 있다. Therefore, the equations of the six planes of the view-volume can each be defined as follows.

xc = -wc, xc = wc x c = -w c , x c = w c

yc = -wc, yc = wc y c = -w c , y c = w c

zc = -wc, zc = wc z c = -w c , z c = w c

(여기서, xc, yc, zc, wc는 실수이며, xc, yc, zc, wc는 투영변환 후의 정점 좌표임)(Where x c , y c , z c , w c are real numbers, and x c , y c , z c , w c are vertex coordinates after the projection transformation)

이 중 zc = wc는 근 평면(near plane)에 해당하며 zc = -wc는 뷰-체적의 원 평면(far plane)에 해당한다. 도 2의 (a)와 (b)에 각각 직교 투영(orthogonal projection)의 뷰-체적에서의 원-근 평면(202a, 204a)과 원근 투영(perspective projection)의 뷰-체적에서의 원-근 평면(202b, 204b)을 도시하였다.Of these, z c = w c corresponds to the near plane and z c = -w c corresponds to the far plane of the view-volume. Perspective-plane in the view-volume of the orthogonal projection (202a, 204a) and perspective projection in the view-volume of Fig. 2 (a) and (b) respectively. 202b and 204b are shown.

본 발명에 따른 클리핑 장치의 클리핑 수단(310)은 상기와 같이 원 평면 및 근 평면에 대하여 클리핑 연산을 행한다. The clipping means 310 of the clipping apparatus according to the present invention performs a clipping operation on the circular plane and the near plane as described above.

그리고, 정규화 변환 수단(320)과 뷰 포트 변환 수단(330)은 일반적인 종래의 정규화 변환 수단 및 뷰 포트 변환 수단과 동일한 기능을 수행하며, 이들 수단에 의해 3차원 정점의 좌표가 뷰 포트의 2차원 평면으로 매핑이 된다. In addition, the normalization transforming means 320 and the viewport converting means 330 perform the same functions as general normalization converting means and the viewport converting means, by which the coordinates of the three-dimensional vertices are two-dimensional in the viewport. Mapping to the plane.

도 4에, 이와 같은 뷰 포트를 (0, 0), (0, Hs-1), (Ws-1, Hs-1) 및 (Ws-1, 0) ― 여기서, Ws는 디스플레이 화면의 해상도의 수평 너비, Hs는 디스플레이 화면의 해상도의 수직 높이 ― 의 네 점으로 이루어진 정방형으로 정의되는 것을 도시하는데, 본 발명에 따른 폴리곤 설정 수단(340) 및 주사화 수단(350)에서 상기의 뷰 포트의 경계를 이용하게 된다.In FIG. 4, such view ports are (0, 0), (0, H s -1), (W s -1, H s -1) and (W s -1, 0)-where W s is The horizontal width of the resolution of the display screen, H s, is defined as a square consisting of four points-the vertical height of the resolution of the display screen, in which the polygon setting means 340 and the scanning means 350 according to the invention We will use the bounds of the viewport above.

구체적으로, 폴리곤 설정(polygon setup) 수단(340)은 정점 데이터를 보간(interpolation)하기 위하여 필요한 연산을 행한다. 이 과정에서 폴리곤 설정(polygon setup) 수단(340)은 폴리곤을 이루는 정점들 중 x축 또는 y축 좌표값을 기준으로 화면 좌표(screen coordinates) 상의 주사화 시작점을 결정한다. 종래의 구현에서 주사화 시작점을 결정할 때에는 뷰-체적 6개면 모두에 대하여 클리핑을 행한 후이므로, 뷰 포트의 상, 하, 좌, 우 경계의 바깥쪽에 존재하는 정점들이 없지만, 본 발명에 따른 폴리곤 설정 수단(340)에 입력되는 정점은 원-근 평면에 대한 클리핑만이 행해진 입력값이므로 이들 정점은 뷰 포트 바깥쪽에 존재할 수도 있다. 따라서, 폴리곤 설정(polygon setup) 수단(340)은 뷰 포트의 상, 하, 좌, 우 경계를 고려하여 주사화 시작점을 결정한다. Specifically, polygon setup means 340 performs the necessary operations to interpolate the vertex data. In this process, the polygon setup means 340 determines a scanning start point on screen coordinates based on an x-axis or y-axis coordinate value among the vertices of the polygon. In the conventional implementation, since the scanning start point is determined after clipping for all six view-volumes, there are no vertices outside the upper, lower, left, and right boundaries of the viewport, but the polygon setting according to the present invention is performed. Since the vertices input to the means 340 are input values where only clipping to the perspective plane is done, these vertices may exist outside the viewport. Accordingly, the polygon setup means 340 determines the scanning start point in consideration of the top, bottom, left and right boundaries of the viewport.

보다 상세히, 상기 폴리곤을 '삼각형'으로서 예를 들어 설명하면, 삼각형을 이루는 세 개의 정점을 V0(x0, y0), V1(x1, y1), V2(x2, y2)로 설정하고, y0가 y1과 y2보다 크거나, y1 또는 y2 중 하나와 같고 나머지 하나보다는 크도록 하는 경우, 저비용의 클리핑 장치를 구현하기 위한 주사화 시작점(xi, yi)은 다음과 같이 정의된다.In more detail, when the polygon is described as an example of a 'triangle', three vertices forming a triangle are defined as V 0 (x 0 , y 0 ), V 1 (x 1 , y 1 ), and V 2 (x 2 , y 2 ), and if y 0 is greater than y 1 and y 2 , or equal to one of y 1 or y 2 and greater than the other, then the scanning start point (x i , y i ) is defined as

xi = [x0], if 0 ≤ x0 < Ws x i = [x 0 ], if 0 ≤ x 0 <W s

= 0, if x0 < 0= 0, if x 0 <0

= Ws-1, if x0 ≥ Ws = W s -1, if x 0 ≥ W s

이고, 여기서 대괄호는 소수부분 절사를 나타내는 것으로 n이 정수일 때, n ≤ x < n+1인 모든 x에 대하여 [x]=n이며, Ws는 디스플레이 화면의 해상도의 수평 너비를 나타내고,Where square brackets indicate fractional truncation where [x] = n for all x where n ≦ x <n + 1 when n is an integer, W s represents the horizontal width of the display screen's resolution,

yi = [y0], if 0 ≤ y0 < Hs y i = [y 0 ], if 0 ≤ y 0 <H s

= 0, if y0 < 0= 0, if y 0 <0

= Hs-1, if y0 ≥ Hs = H s -1, if y 0 ≥ H s

이고, 여기서 n ≤ x < n+1인 모든 y에 대하여 [y]=n이며, Hs는 디스플레이 화면의 해상도의 수직 높이를 나타낸다.Where [y] = n for all y where n ≦ x <n + 1, and H s represents the vertical height of the resolution of the display screen.

다음, 주사화 수단(350)은 주사화 즉, 정점 데이터를 보간하여 픽셀 데이터를 생성하는 기능을 수행한다. 주사화 수단(350)은 현재 주사화 위치를 포함하는 라인 상에 존재하는 모든 픽셀을 생성한 후 다음 라인을 개시한다. 여기서는 앞서 기술한 폴리곤 설정 수단(340)과의 일관성을 유지하여 뷰 포트의 위쪽 라인에서 아래쪽 라인으로 내려오면서 주사화하는 주사화 수단을 가정한다. 본 발명의 일 실시예에 따라, 이와 같은 주사화 수단(350)의 동작의 흐름을 도 5에 도시한다. Next, the scanning means 350 performs a function of scanning, that is, generating pixel data by interpolating the vertex data. The scanning means 350 generates all the pixels present on the line containing the current scanning position and then starts the next line. In this case, it is assumed that scanning means maintains consistency with the polygon setting means 340 described above and scans while descending from the upper line to the lower line of the viewport. According to one embodiment of the invention, the flow of operation of such scanning means 350 is shown in FIG.

먼저, 단계(S1)에서, 최초 시작 위치에 해당하는 픽셀 데이터를 계산하고 현재 위치에서 주사화를 수행한다.First, in step S1, pixel data corresponding to the initial start position is calculated and scanning is performed at the current position.

다음으로, 단계(S2)에서 뷰 포트 경계를 고려하여 수평 이동 방향을 판단하한다. 이 때, Next, in step S2, the horizontal movement direction is determined in consideration of the view port boundary. At this time,

1) 현재 주사화 위치가 뷰 포트의 좌 경계 또는 우 경계 상이고, 현재 라인의 주사화가 완료되지 않았을 경우 반대편 진행 방향으로 수평 이동을 행한다; 1) if the current scanning position is on the left boundary or the right boundary of the view port, and the scanning of the current line is not completed, horizontal movement is performed in the opposite traveling direction;

2) 현재 주사화 위치가 뷰 포트의 내부이고 현재 라인의 주사화가 완료되지 않았을 경우 현재 진행 방향으로 수평 이동을 행한다. 그리고, 2) If the current scanning position is inside the viewport and the scanning of the current line is not completed, the horizontal movement is performed in the current progress direction. And,

1) 현재 주사화 위치가 뷰 포트의 좌 경계 또는 우 경계 상이고, 현재 라인의 주사화가 완료되었을 경우; 1) the current scanning position is on the left boundary or the right boundary of the viewport, and the scanning of the current line is completed;

2) 현재 주사화 위치가 뷰 포트의 내부이고 현재 라인의 주사화를 완료한 경우에 해당하면, 수직 이동을 행한다(S3). 2) If the current scanning position is inside the viewport and completes scanning of the current line, vertical movement is performed (S3).

따라서, 단계(S3)에서는 다음 주사화 위치가 뷰 포트의 하 경계를 벗어나거나 폴리곤이 속한 마지막 라인보다 아래인 지를 판단(S4)하여 참이면 해당 폴리곤에 대한 주사화를 완료하며 그렇지 않은 경우에는 다음 위치로 이동(S5)하여 주사화를 계속한다.Therefore, in step S3, it is determined whether the next scanning position is outside the lower boundary of the viewport or below the last line to which the polygon belongs (S4), and if it is true, the scanning for the corresponding polygon is completed. It moves to a position (S5) and continues scanning.

이상 바람직한 실시예를 들어 본 발명을 상세히 설명하였다. 그러나, 해당 기술 분야의 숙련된 당업자라면 하기의 특허 청구의 범위에 기재된 본 발명의 요지의 범위 내에 있어 여러가지 변형 실시가 가능함을 이해할 수 있을 것이다. The present invention has been described in detail with reference to preferred embodiments. However, one of ordinary skill in the art appreciates that various modifications can be made without departing from the spirit of the invention as set forth in the claims below.

Claims (9)

뷰-체적(view-volume)의 원-근 평면에 대하여 원-근 클리핑(far-near clipping)을 행하는 단계;Performing far-near clipping on the far-near plane of the view-volume; 상기 원-근 클리핑된 뷰-체적의 원-근 투영된 일 평면에서 뷰 포트의 수평 및 수직 좌표 경계를 기준으로 폴리곤을 설정하고 상기 폴리곤의 주사화 시작점(xi, yi)을 결정하는 단계;Setting a polygon based on a horizontal and vertical coordinate boundary of the viewport in the one-far projected plane of the near-clipped view-volume and determining a scanning start point (x i , y i ) of the polygon ; 결정된 상기 시작점(xi, yi)을 기준으로 상기 뷰 포트의 수평 방향 경계까지 상기 시작점과 수평 방향의 정점들을 주사화하는 단계; 및Scanning vertices of the starting point and horizontal vertices to a horizontal boundary of the view port based on the determined starting point (x i , y i ); And 상기 결정된 시작점(xi, yi)을 기준으로 상기 뷰 포트의 수직 방향 경계까지 상기 시작점과 수직 방향의 정점들을 주사화하는 단계;Scanning vertices in the vertical direction and the starting point to a vertical boundary of the viewport based on the determined starting point (x i , y i ); 를 포함하는 것을 특징으로 하는 뷰-체적 클리핑 방법.View-volume clipping method comprising a. 제 1 항에 있어서,The method of claim 1, 상기 폴리곤 주사화 시작점(xi, yi)은 :The polygon scanning starting point (x i , y i ) is: xi = [x0], if 0 ≤ x0 < Ws x i = [x 0 ], if 0 ≤ x 0 <W s = 0, if x0 < 0= 0, if x 0 <0 = Ws-1, if x0 ≥ Ws = W s -1, if x 0 ≥ W s (여기서 n이 정수일 때, n ≤ x < n+1인 모든 x에 대하여 [x]=n이며, Ws는 디스플레이 화면의 해상도의 수평 너비를 나타냄)로서, 그리고(Where n is an integer, [x] = n for all x where n ≤ x <n + 1 and W s represents the horizontal width of the display screen's resolution), and yi = [y0], if 0 ≤ y0 < Hs y i = [y 0 ], if 0 ≤ y 0 <H s = 0, if y0 < 0= 0, if y 0 <0 = Hs-1, if y0 ≥ Hs = H s -1, if y 0 ≥ H s (여기서 n이 정수일 때, n ≤ x < n+1인 모든 y에 대하여 [y]=n이며, Hs는 디스플레이 화면의 해상도의 수직 높이를 나타냄)로서 정의되는 것을 특징으로 하는 뷰-체적 클리핑 방법.View-volume clipping, where n is an integer, where [y] = n for all y where n ≦ x <n + 1 and H s represents the vertical height of the display screen's resolution Way. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 시작점(xi, yi)을 기준으로 상기 뷰 포트의 수평 방향 경계까지 상기 시작점과 수평 방향의 정점들을 주사화하는 상기 단계는,The scanning of the vertex in the horizontal direction and the starting point to the horizontal boundary of the view port with respect to the starting point (x i , y i ), ㄱ) 현재 주사화 위치가 상기 뷰 포트의 좌 경계 또는 우 경계 상이고, 현재 라인의 주사화가 완료되지 않았을 경우 현재 주사화 진행 방향 반대 방향으로 수평 이동을 행하는 단계와, A) horizontally moving in a direction opposite to the current scanning progress direction when the current scanning position is on the left boundary or the right boundary of the viewport and the scanning of the current line is not completed; ㄴ) 현재 주사화 위치가 상기 뷰 포트의 내부이고 현재 라인의 주사화가 완료되지 않았을 경우 현재 주사화 진행 방향으로 수평 이동을 행하는 단계B) when the current scanning position is inside the viewport and the scanning of the current line is not completed, performing horizontal movement in the current scanning progress direction 를 포함하는 것을 특징으로 하는 뷰-체적 클리핑 방법.View-volume clipping method comprising a. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 결정된 시작점(xi, yi)을 기준으로 상기 뷰 포트의 수직 방향 경계까지 상기 시작점과 수직 방향의 정점들을 주사화하는 상기 단계는,The scanning of the vertices in the vertical direction and the starting point to the vertical boundary of the view port based on the determined starting point (x i , y i ), 현재 주사화 위치가 상기 뷰 포트의 좌 경계 또는 우 경계 상이고, 현재 라인의 주사화가 완료되었거나, 현재 주사화 위치가 상기 뷰 포트의 내부이고 현재 라인의 주사화를 완료한 경우에 해당하면, 수직 이동을 행하는 단계If the current scanning position is on the left boundary or the right boundary of the viewport, and the scanning of the current line is completed, or the current scanning position is inside the viewport and the scanning of the current line is completed, the vertical shift is performed. Steps to do 를 포함하는 것을 특징으로 하는 뷰-체적 클리핑 방법.View-volume clipping method comprising a. 제 4 항에 있어서,The method of claim 4, wherein 상기 수직 이동을 행하는 단계는 다음 주사화 위치가 뷰 포트의 하 경계를 벗어나거나 폴리곤이 속한 마지막 라인보다 아래인 지를 판단하여 참이면 해당 폴리곤에 대한 주사화를 완료하고, 그렇지 않은 경우에는 다음 위치로 이동하여 주사화를 계속하는 단계를 포함하는 것을 특징으로 하는 뷰-체적 클리핑 방법.The vertical movement may be performed by determining whether the next scanning position is out of the lower boundary of the viewport or below the last line to which the polygon belongs. If true, the scanning of the corresponding polygon is completed. Moving to continue scanning; view-volume clipping method. 정점 데이터 그룹을 입력받아 뷰-체적(view-volume)의 원-근 평면에 대해 원-근 클리핑(far-near clipping)을 행하는 클리핑 수단; Clipping means for receiving a group of vertex data and performing far-near clipping with respect to a far-near plane of a view-volume; 상기 원-근 클리핑된 뷰-체적의 원-근 투영된 평면을 뷰 포트 변환하는 수단;Means for viewport transforming a perspective-near-projected plane of the perspective-closed view-volume; 상기 뷰 포트의 수평 및 수직 좌표 경계를 기준으로 폴리곤을 설정하고 폴리곤 주사화 시작점(xi, yi)을 결정하는 수단; 및Means for setting a polygon based on horizontal and vertical coordinate boundaries of the viewport and determining a polygon scanning start point (x i , y i ); And 결정된 상기 시작점(xi, yi)을 기준으로 상기 뷰 포트의 수평 또는 수직 방향으로의 주사화 진행 방향을 결정하고 상기 뷰 포트의 수평 또는 수직 좌표 경계까지 상기 폴리곤 정점들을 주사화하는 수단;Means for determining a scanning progress direction in the horizontal or vertical direction of the viewport relative to the determined starting point (x i , y i ) and scanning the polygon vertices to a horizontal or vertical coordinate boundary of the viewport; 을 포함하는 것을 특징으로 하는 뷰-체적 클리핑 장치.View-volume clipping device comprising a. 제 6 항에 있어서,The method of claim 6, 상기 폴리곤 주사화 시작점(xi, yi)은 :The polygon scanning starting point (x i , y i ) is: xi = [x0], if 0 ≤ x0 < Ws x i = [x 0 ], if 0 ≤ x 0 <W s = 0, if x0 < 0= 0, if x 0 <0 = Ws-1, if x0 ≥ Ws = W s -1, if x 0 ≥ W s (여기서 n이 정수일 때, n ≤ x < n+1인 모든 x에 대하여 [x]=n이며, Ws는 디스플레이 화면의 해상도의 수평 너비를 나타냄)으로서, 그리고(Where n is an integer, [x] = n for all x where n ≦ x <n + 1 and W s represents the horizontal width of the display screen's resolution), and yi = [y0], if 0 ≤ y0 < Hs y i = [y 0 ], if 0 ≤ y 0 <H s = 0, if y0 < 0= 0, if y 0 <0 = Hs-1, if y0 ≥ Hs = H s -1, if y 0 ≥ H s (여기서 n이 정수일 때, n ≤ x < n+1인 모든 y에 대하여 [y]=n이며, Hs는 디스플레이 화면의 해상도의 수직 높이를 나타냄)로서 정의되는 것을 특징으로 하는 뷰-체적 클리핑 장치.View-volume clipping, where n is an integer, where [y] = n for all y where n ≦ x <n + 1 and H s represents the vertical height of the display screen's resolution Device. 제 6 항 또는 제 7 항에 있어서,The method according to claim 6 or 7, 상기 주사화 수단은:Said scanning means is: 현재 주사화 위치가 상기 뷰 포트의 좌 경계 또는 우 경계 상이고, 현재 라인의 주사화가 완료되지 않았을 경우 현재 주사화 진행 방향과 반대편 진행 방향으로 수평 이동을 행하고, If the current scanning position is on the left boundary or the right boundary of the view port, and the scanning of the current line is not completed, horizontal movement is performed in a direction opposite to the current scanning progress direction, 현재 주사화 위치가 상기 뷰 포트의 내부이고 현재 라인의 주사화가 완료되지 않았을 경우 현재 주사화 진행 방향으로 수평 이동을 행하며,When the current scanning position is inside the viewport and the scanning of the current line is not completed, horizontal movement is performed in the current scanning progress direction. 현재 주사화 위치가 상기 뷰 포트의 좌 경계 또는 우 경계 상이고, 현재 라인의 주사화가 완료되었을 경우 또는 현재 주사화 위치가 뷰 포트의 내부이고 현재 라인의 주사화를 완료한 경우이면 수직 이동을 행하도록 하여 상기 주사화 진행 방향을 결정하는 것을 특징으로 하는 뷰-체적 클리핑 장치.If the current scanning position is on the left boundary or the right boundary of the view port and the scanning of the current line is completed, or the current scanning position is inside the view port and the scanning of the current line is completed, the vertical movement is performed. To determine the scanning progress direction. 제 6 항에 있어서,The method of claim 6, 상기 뷰 포트의 수평 및 수직 좌표 경계를 기준으로 폴리곤을 설정하고 폴리곤 주사화 시작점(xi, yi)을 결정하는 수단에 입력되는 정점은 뷰 포트 바깥쪽에 존재하는 정점들을 포함하는 것을 특징으로 하는 뷰-체적 클리핑 장치.Vertices input to the means for setting a polygon based on horizontal and vertical coordinate boundaries of the viewport and determining a polygon scanning start point (x i , y i ) include vertices that exist outside the view port. View-volume clipping device.
KR1020070125401A 2007-12-05 2007-12-05 A low cost view-volume clipping method and an apparatus therefor KR100914915B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070125401A KR100914915B1 (en) 2007-12-05 2007-12-05 A low cost view-volume clipping method and an apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070125401A KR100914915B1 (en) 2007-12-05 2007-12-05 A low cost view-volume clipping method and an apparatus therefor

Publications (2)

Publication Number Publication Date
KR20090058687A KR20090058687A (en) 2009-06-10
KR100914915B1 true KR100914915B1 (en) 2009-08-31

Family

ID=40989025

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070125401A KR100914915B1 (en) 2007-12-05 2007-12-05 A low cost view-volume clipping method and an apparatus therefor

Country Status (1)

Country Link
KR (1) KR100914915B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100927131B1 (en) * 2009-06-08 2009-11-18 주식회사 넥서스칩스 Method and system of anti-aliasing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990081418A (en) * 1998-04-29 1999-11-15 윤종용 Clipping method in graphic processing
JP2002015337A (en) * 2000-06-28 2002-01-18 Victor Co Of Japan Ltd Three-dimensional image drawing device
JP2002208028A (en) * 2001-01-12 2002-07-26 Fujitsu Ltd Geometry clipping device for polygon
KR100710620B1 (en) * 2005-12-22 2007-04-24 엠텍비젼 주식회사 Apparatus and method for clipping

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990081418A (en) * 1998-04-29 1999-11-15 윤종용 Clipping method in graphic processing
JP2002015337A (en) * 2000-06-28 2002-01-18 Victor Co Of Japan Ltd Three-dimensional image drawing device
JP2002208028A (en) * 2001-01-12 2002-07-26 Fujitsu Ltd Geometry clipping device for polygon
KR100710620B1 (en) * 2005-12-22 2007-04-24 엠텍비젼 주식회사 Apparatus and method for clipping

Also Published As

Publication number Publication date
KR20090058687A (en) 2009-06-10

Similar Documents

Publication Publication Date Title
US11748840B2 (en) Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters
US10438319B2 (en) Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport
KR101916341B1 (en) Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location
CN107193372B (en) Projection method from multiple rectangular planes at arbitrary positions to variable projection center
KR101922482B1 (en) Varying effective resolution by screen location by changing active color sample count within multiple render targets
US8059119B2 (en) Method for detecting border tiles or border pixels of a primitive for tile-based rendering
US8179399B2 (en) Rasterizing method
KR100381817B1 (en) Generating method of stereographic image using Z-buffer
JPH11161819A (en) Image processor, its method and recording medium recording image processing program
KR100914915B1 (en) A low cost view-volume clipping method and an apparatus therefor
JP6802928B2 (en) Image generator and image generation method
KR101227155B1 (en) Graphic image processing apparatus and method for realtime transforming low resolution image into high resolution image
JP2005165283A (en) Map display device
EP2390843B1 (en) Visualization processing method and apparatus
KR101227183B1 (en) Apparatus and method for stereoscopic rendering 3-dimension graphic model
KR20080064523A (en) 3-dimension graphic processing apparatus and operating method thereof
JP2011186930A (en) Drawing control device, drawing control method, computer program of the same, and recording medium with the program recorded thereon
JP5941207B1 (en) User interface program and computer mounting method
JP2021064334A (en) Image processing apparatus, image processing method, and program
JP2006331062A (en) Solid image generation method and solid image generation device
JP2005346604A (en) Face image expression change processor

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
LAPS Lapse due to unpaid annual fee