KR100621867B1 - A method and appratus for transformation processing of 3_dimension graphic - Google Patents
A method and appratus for transformation processing of 3_dimension graphic Download PDFInfo
- Publication number
- KR100621867B1 KR100621867B1 KR1020050031805A KR20050031805A KR100621867B1 KR 100621867 B1 KR100621867 B1 KR 100621867B1 KR 1020050031805 A KR1020050031805 A KR 1020050031805A KR 20050031805 A KR20050031805 A KR 20050031805A KR 100621867 B1 KR100621867 B1 KR 100621867B1
- Authority
- KR
- South Korea
- Prior art keywords
- feature point
- shared
- vertex
- polygon
- output
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
Abstract
본 발명은 3차원 객체를 나타내는 적어도 하나의 폴리곤을 변환 처리하는 방법에 있어서-상기 폴리곤은 복수의 특징점을 포함함-, 폴리곤의 복수의 특징점을 입력받는 단계, 각각의 특징점에 대하여 공유 특징점인지를 확인하는 단계, 각각의 특징점이 공유 특징점이 아닌 경우에, 월드 변환 처리 및 투영 변환 처리를 하여 출력 특징점을 산출하는 단계, 각각의 특징점이 공유 특징점인 경우에, 공유 특징점에 상응하는 미리 변환 완료된 출력 특징점을 추출하는 단계 및 산출된 출력 특징점 또는 추출된 출력 특징점을 저장하는 단계를 포함하는 3차원 그래픽 변환 처리 방법을 제공할 수 있다.The present invention relates to a method for transforming at least one polygon representing a three-dimensional object, the polygon comprising a plurality of feature points, receiving a plurality of feature points of the polygon, and whether each feature point is a shared feature point. Checking, if each feature point is not a shared feature point, calculating output feature points by performing a world transform process and a projection transform process; and if each feature point is a shared feature point, a pre-converted output corresponding to the shared feature point The method may include extracting a feature point and storing the calculated output feature point or the extracted output feature point.
3차원 그래픽, 가속 장치, 변환 장치, 변환 처리 장치 3D graphics, accelerators, converters, converters
Description
도 1은 종래 기술에 따른 3차원 그래픽 변환 처리 장치를 나타내는 도면.BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram showing a three-dimensional graphic transformation processing apparatus according to the prior art.
도 2는 종래 기술에 따른 3차원 그래픽 변환 처리 과정을 설명하기 위한 도면.2 is a view for explaining a three-dimensional graphics conversion process according to the prior art.
도 3은 종래 기술에 따른 3차원 그래픽 변환 처리 과정을 나타내는 순서도.3 is a flow chart showing a three-dimensional graphics transformation process according to the prior art.
도 4는 본 발명의 바람직한 실시예에 따른 3차원 그래픽 변화 처리 장치를 나타내는 도면.4 illustrates a three-dimensional graphic change processing apparatus according to a preferred embodiment of the present invention.
도 5는 본 발명의 바람직한 실시예에 따른 3차원 그래픽 변환 처리 과정을 나타내는 순서도.5 is a flow chart showing a three-dimensional graphics transformation process according to a preferred embodiment of the present invention.
본 발명은 3차원 그래픽 변환 처리 방법 및 장치에 관한 것이다. The present invention relates to a three-dimensional graphics conversion processing method and apparatus.
최근 출시되는 거의 모든 게임이나 영상은 3차원 그래픽을 이용하여 구현된 다. 얼마전까지만 하여도 이러한 3차원 그래픽 영상은 소프트웨어적으로 구현되었기 때문에 웬만한 컴퓨터 성능이 되어도 640×480 256 컬러 모드 이상의 실행이 힘들었고 그래픽 화질이나 색감도 그리 좋은 편이 아니었다. 그러나 3차원 그래픽 가속 기능이 그래픽 프로세서에 내장되면서 CPU로 처리하는 것에 비하여 수십에서 수백배의 빠른 속도로 그래픽을 구현할 수 있게 되었으며 뛰어난 화질과 현실감으로 빠른 속도로 컴퓨터나 이동 통신 단말 등에 보급이 되어 이제는 기본적인 기능이 되고 있다.Almost every game or video released recently is implemented using 3D graphics. Until recently, these three-dimensional graphic images were implemented in software, so even at moderate computer performance, it was difficult to execute more than 640 × 480 256 color mode, and graphics quality and color were not good either. However, with 3D graphics acceleration built into the graphics processor, graphics can be realized at speeds of tens to hundreds of times faster than those processed by the CPU.It is now widely used in computers and mobile communication terminals with high image quality and realism. It is becoming a basic function.
3차원 가속 기능은 X, Y, Z 축으로 구성된 다각형을 이용하여 객체를 표현하고 이것을 2차원 평면인 컴퓨터나 이동 통신 단말 등의 디스플레이 상에 나타낼 수 있도록 2차원 그래픽으로 변환하는 처리를 하게 된다. 이 때 각종 그래픽 처리 기법이 동원되어 보다 현실감 있는 그래픽을 구현하게 된다.The 3D acceleration function expresses an object using a polygon composed of X, Y, and Z axes, and converts it into 2D graphics so that it can be displayed on a display such as a computer or a mobile communication terminal that is a 2D plane. At this time, various graphic processing techniques are mobilized to realize more realistic graphics.
3차원 그래픽 처리는 다음과 같은 과정으로 이루어진다. 먼저 삼각형으로 표현되어 있는 3차원 객체를 시점의 위치와 화면의 위치에 따라서 회전시키거나 수평 이동시키는 변환 작업이 수행된 후, 삼각형을 컴퓨터로 처리할 수 있도록 디지털화된 픽셀 단위로 분리시키는 작업이 이루어진다. 다음으로 픽셀에 텍스쳐를 입히고 밝기와 음영 정보를 부여하는 랜더링 작업이 이루어진다. 이렇게 모든 처리가 끝난 픽셀은 그래픽 메모리에 저장되고 램댁(RAMDAC; Random Access Memory Digital-Analog Converter)에 의해 디스플레이 상에 출력되는 것이다. Three-dimensional graphics processing consists of the following process. First, a transformation is performed to rotate or horizontally move a three-dimensional object represented by a triangle according to the position of the viewpoint and the position of the screen, and then separate the triangle into digitized pixels for computer processing. . Next, a rendering operation is performed to texture the pixels and provide brightness and shadow information. All processed pixels are stored in graphics memory and output on the display by a RAMDAC (Random Access Memory Digital-Analog Converter).
본 발명은 상기 그래픽 처리 과정 중 변환 과정에 관한 것이다.The present invention relates to a conversion process of the graphic processing.
종래 그래픽 변환 처리 과정에 대하여 도면을 참조하여 설명하기로 한다.A conventional graphic conversion process will be described with reference to the drawings.
도 1은 종래 기술에 따른 3차원 그래픽 변환 처리 장치를 나타내는 도면이다. 도 1을 참조하면, 종래 기술에 따른 그래픽 변환 처리 장치는 입력 정점 레지스터(103), 월드 변환 행렬 곱셈 장치(105), 투영 변환 행렬 곱셈 장치(107), 출력 정점 레지스터(109)를 포함한다. 3차원 객체를 나타내는 삼각형이 입력(101)되면 삼각형의 각 정점이 입력 정점 레지스터(103)에 저장된다. 이 때 각 정점의 공간 좌표는 로컬(Local) 좌표계를 사용한다.1 is a view showing a three-dimensional graphics conversion processing apparatus according to the prior art. Referring to FIG. 1, the graphic transformation processing apparatus according to the prior art includes an
월드 변환 행렬 곱셈 장치(105)는 입력 레지스터(103)에 입력되어 있는 각 정점의 좌표를 로컬 좌표계에서 월드 좌표계로 변환해 주는 기능을 하는 장치이다. 월드 변환 행렬 곱셈 장치(105)에 적용되는 수식은 다음과 같다.The world
여기서 mij는 월드 변환 행렬의 각 성분을 나타내며, Vxo는 입력 정점의 X 좌표를, Vyo는 입력 정점의 Y좌표를, Vzo는 입력 정점의 Z좌표를 나타낸다. Vwo는 RHW(Reciprocal Homogeneous W) 값으로 동치 좌표(homogeneous coordinates)를 일반적인 좌표로 변환하는데 사용되는 변수이며, 일반적으로 입력 정점의 W값은 1로 설정된다. 각 행렬의 곱셈 연산을 통하여 월드 변환된 정점의 좌표가 생성되며, Vxm은 월드 변환된 정점의 X 좌표를, Vym은 월드 변환된 정점의 Y좌표를, Vzm은 월 드 변환된 정점의 Z좌표를, Vwm은 월드 변환된 정점의 W좌표를 나타낸다.Where m ij represents each component of the world transformation matrix, Vxo represents the X coordinate of the input vertex, Vyo represents the Y coordinate of the input vertex, and Vzo represents the Z coordinate of the input vertex. Vwo is a Reciprocal Homogeneous W (RHW) variable used to convert homogeneous coordinates to normal coordinates. In general, the W value of the input vertex is set to one. The multiplication operation of each matrix generates the coordinates of the world-converted vertex, Vxm is the X-coordinate of the world-converted vertex, Vym is the Y-coordinate of the world-converted vertex, and Vzm is the Z-coordinate of the world-converted vertex. , Vwm represents the W coordinate of the world transformed vertex.
투영 변환 행렬 곱셈 장치(107)는 월드 변환된 좌표를 실제 디스플레이 상에 출력하는 경우 원근감이 나타나도록 변환해 주는 기능을 하는 장치이다. 투영 변환 행렬 장치(107)에 적용되는 수식은 다음과 같다.The projection
여기서 pij는 투영 변환 행렬의 각 성분을 나타내며, Vxm은 월드 변환된 정점의 X 좌표를, Vym은 월드 변환된 정점의 Y좌표를, Vzm은 월드 변환된 정점의 Z좌표를, Vwm은 월드 변환된 정점의 W좌표를 나타낸다. 각 행렬의 곱셈 연산을 통하여 출력 정점이 생성되며 Vxp는 출력 정점의 X 좌표를, Vyp는 출력 정점의 Y 좌표를, Vzp는 출력 정점의 Z 좌표를, Vwp는 출력 정점의 W좌표를 나타낸다. Where p ij represents each component of the projection transformation matrix, Vxm represents the X coordinate of the world transformed vertex, Vym represents the Y coordinate of the world transformed vertex, Vzm represents the Z coordinate of the world transformed vertex, and Vwm represents the world transform It represents the W coordinate of the vertex. The output vertex is generated through the multiplication operation of each matrix, and Vxp represents the X coordinate of the output vertex, Vyp represents the Y coordinate of the output vertex, Vzp represents the Z coordinate of the output vertex, and Vwp represents the W coordinate of the output vertex.
출력 정점 레지스터(109)는 월드 변환 행렬 곱셈 장치(105)와 투영 변환 행렬 곱셈 장치(107)를 적용하여 산출된 출력 정점을 저장하는 기능을 하는 장치이다. 앞서 설명한 바와 같이 변환 처리 과정을 거친 삼각형은 컴퓨터로 처리할 수 있도록 디지털화된 픽셀 단위로 분리시키는 작업이 이루어진 다음, 픽셀에 텍스쳐를 입히고 밝기와 음영 정보를 부여하는 랜더링 작업이 이루지며, 모든 처리가 끝난 픽셀은 그래픽 메모리에 저장되고 램댁에 의해 모니터에 출력되는데 이를 위하여 변환 처리된 출력 정점을 저장하는 것이다.The
도 2는 종래 기술에 따른 3차원 그래픽 변환 처리 과정을 설명하기 위한 도면이다. 도 2를 참조하면, 3차원 그래픽에서의 객체는 3개의 정점으로 이루어진 삼각형들의 모임으로 구성된다. 이 삼각형들의 모임은 도시된 바와 같이 대부분 삼각형들 간에 1개 또는 2개의 정점을 공유하는 삼각형 스트립(200) 또는 삼각형 부채꼴의 형태(210)이다. 2 is a view for explaining a three-dimensional graphics conversion process according to the prior art. Referring to FIG. 2, an object in three-dimensional graphics consists of a collection of triangles consisting of three vertices. This collection of triangles is in the form of a
도 3은 이러한 삼각형 스트립(도 2의 200) 또는 삼각형 부채꼴의 형태(210)를 예로 하는 종래 기술에 따른 3차원 그래픽 변환 처리 과정을 나타내는 순서도이다.FIG. 3 is a flow chart illustrating a three-dimensional graphics transformation process according to the prior art taking such a triangular strip (200 of FIG. 2) or
도 3을 참조하면, 먼저 삼각형이 입력되면, 삼각형의 세 입력 정점을 입력 정점 레지스터에 저장(단계 311)한다. 다음으로 입력 정점 레지스터에 저장된 입력 정점 1에 대하여 월드 변환 처리(단계 313)-통상 월드 변환 행렬과 입력 정점의 곱셈으로 이루어진다-를 한다. 월드 변환 처리가 끝난 정점에 대하여 투영 변환 처리(단계 315)-통상 투영 변환 행렬과 월드 변환 처리가 된 정점의 곱셈으로 이루어진다-를 한다. 마지막으로 변환 처리가 완료된 정점(출력 정점1)을 출력 정점 레지스터에 저장(단계 317)함으로써 입력 정점 1에 대한 변환 처리가 종료된다. 다음으로 입력 정점 2에 대하여 월드 변환 처리(단계 319), 투영 변환 처리(단계 321)를 한 후, 출력 정점 레지스터에 저장(단계 323)함으로써 입력 정점 2에 대한 변환 처리가 종료된다. 이러한 과정은 입력 정점 3에 대하여도 동일하게 적용(단계 325, 단계 327, 단계 329)된다.Referring to FIG. 3, when a triangle is input first, three input vertices of the triangle are stored in an input vertex register (step 311). Next, the input vertex 1 stored in the input vertex register is subjected to a world transform process (step 313), which is usually a multiplication of the world transform matrix and the input vertex. Projection transform processing (step 315) is performed on the vertices that have been subjected to the world transform processing (usually by multiplication of the projection transform matrix and the world transform processed vertex). Finally, the conversion process for input vertex 1 is terminated by storing the vertex (output vertex 1) on which the conversion process is completed (step 317) in the output vertex register. Next, after the world transform process (step 319) and the projection transform process (step 321) are performed on the input vertex 2, the process of converting the input vertex 2 is completed by storing it in the output vertex register (step 323). This process is the same for input vertex 3 (
이와 같이 종래 기술에 따른 3차원 그래픽 변환 처리 방법에 의하여 도 2의 삼각형 스트립(200)을 처리할 경우, 3차원 그래픽 변환 처리 장치는 삼각형 1의 변환 처리 과정에서 변환 처리가 완료된 정점 2와 정점 3을 삼각형 2의 변환 처리 과정에서 다시 월드 변환 처리 및 투영 변환 처리를 하게 된다. 이는 다음으로 입력되는 삼각형 3, 삼각형 4 등의 변환 처리 과정에서도 마찬가지이다. 따라서 종래 기술에 따른 3차원 그래픽 변환 처리 과정에 따르면 적게는 1개에서 많게는 2개의 정점에 대하여 변환 과정을 반복 처리하는 결과를 낳는다. As described above, when the
결과적으로 변환 처리 과정이 변환 정방 행렬과 정점의 공간 좌표를 나타내는 행렬의 곱셈 연산으로 5~10번의 반복 수행이 필요한 점을 고려하면, 이와 같은 공유 정점의 반복 변환 처리는 불필요한 연산을 반복하게 함으로써 그래픽 처리 속도를 저해하게 되는 것이다. As a result, considering that the transformation process requires 5 to 10 iterations as a multiplication operation of the transformation square matrix and the matrix representing the spatial coordinates of the vertices, such an iterative transformation process of the shared vertices causes the graphics to be repeatedly executed. It will slow down the processing speed.
본 발명의 일 목적은 공유 정점의 변환 처리를 방지하기 위한 3차원 그래픽 변환 처리 방법 및 장치를 제공하는데 있다.An object of the present invention is to provide a three-dimensional graphics transformation processing method and apparatus for preventing the transformation process of the shared vertices.
본 발명의 다른 목적은 그래픽 변환 처리 장치 내 연산 횟수 및 연산 순서를 최적화함으로써 그래픽 가속 장치의 속도를 향상시킬 수 있는 3차원 그래픽 변환 처리 방법 및 장치를 제공하는데 있다.Another object of the present invention is to provide a method and apparatus for converting a 3D graphic which can improve the speed of the graphic accelerator by optimizing the number of operations and the order of operations in the graphic conversion processing apparatus.
상술한 목적을 달성하기 위하여 본 발명의 일 측면에 따르면, 3차원 객체를 나타내는 적어도 하나의 폴리곤을 변환 처리하는 방법에 있어서-상기 폴리곤은 복수의 특징점을 포함함-, 상기 폴리곤의 상기 복수의 특징점을 입력받는 단계, 상기 각각의 특징점에 대하여 공유 특징점인지를 확인하는 단계, 상기 각각의 특징점이 공유 특징점이 아닌 경우에, 월드 변환 처리 및 투영 변환 처리를 하여 출력 특징점을 산출하는 단계, 상기 각각의 특징점이 공유 특징점인 경우에, 상기 공유 특징점에 상응하는 미리 변환 완료된 출력 특징점을 추출하는 단계 및 상기 산출된 출력 특징점 또는 상기 추출된 출력 특징점을 저장하는 단계를 포함하는 3차원 그래픽 변환 처리 방법을 제공할 수 있다.According to an aspect of the present invention to achieve the above object, in the method for transforming at least one polygon representing a three-dimensional object, the polygon comprises a plurality of feature points, the plurality of feature points of the polygon Receiving input, determining whether each feature point is a shared feature point, and if each feature point is not a shared feature point, calculating an output feature point by performing a world transform process and a projection transform process, respectively If the feature point is a shared feature point, extracting a pre-converted output feature point corresponding to the shared feature point; and storing the calculated output feature point or the extracted output feature point. can do.
바람직한 실시예에 있어서, 상기 입력된 복수의 특징점을 저장하는 단계를 더 포함하는 것을 특징으로 할 수 있다. 또한 상기 입력된 폴리곤의 모든 입력 특징점이 변환되었는지를 확인하는 단계를 더 포함하는 것을 특징으로 할 수 있다. 또한 상기 폴리곤은 삼각형인 것 을 특징으로 할 수 있으며, 상기 각각의 특징점은 상기 폴리곤의 꼭지점인 것을 특징으로 할 수 있다.In a preferred embodiment, the method may further include storing the input plurality of feature points. The method may further include checking whether all input feature points of the input polygon are converted. In addition, the polygon may be characterized in that the triangular, each feature point may be characterized in that the vertex of the polygon.
본 발명의 다른 측면에 따르면, 3차원 객체를 나타내는 적어도 하나의 폴리곤을 변환 처리하는 장치에 있어서-상기 폴리곤은 복수의 특징점을 포함함-, 상기 폴리곤의 상기 복수의 특징점을 입력받는 수단, 상기 각각의 특징점에 대하여 공유 특징점인지를 확인하는 수단, 상기 각각의 특징점이 공유 특징점이 아닌 경우에, 월드 변환 처리 및 투영 변환 처리를 하여 출력 특징점을 산출하는 수단, 상기 각각의 특징점이 공유 특징점인 경우에, 상기 공유 특징점에 상응하는 미리 변환 완료된 출력 특징점을 추출하는 수단 및 상기 산출된 출력 특징점 또는 상기 추출된 출력 특징점을 저장하는 수단을 포함하는 3차원 그래픽 변환 처리 장치를 제공할 수 있다.According to another aspect of the invention, there is provided an apparatus for transforming at least one polygon representing a three-dimensional object, the polygon comprising a plurality of feature points, means for receiving the plurality of feature points of the polygon, each Means for confirming whether the feature points are shared feature points; if each feature point is not a shared feature point; means for calculating an output feature point by performing world transform processing and projection transform processing; and when each feature point is a shared feature point. And a means for extracting a pre-converted output feature point corresponding to the shared feature point, and a means for storing the calculated output feature point or the extracted output feature point.
본 발명의 또 다른 측면에 따르면, 3차원 객체를 나타내는 적어도 하나의 폴리곤을 변환 처리하는 시스템에 있어서-상기 폴리곤은 복수의 특징점을 포함함-, 프로그램이 저장되어 있는 메모리, 상기 메모리에 결합되어 상기 프로그램을 실행하는 프로세서를 포함하되, 상기 프로세서는 상기 프로그램에 의해, 상기 폴리곤의 상기 복수의 특징점을 입력받는 단계, 상기 각각의 특징점에 대하여 공유 특징점인지를 확인하는 단계, 상기 각각의 특징점이 공유 특징점이 아닌 경우에, 월드 변환 처리 및 투영 변환 처리를 하여 출력 특징점을 산출하는 단계, 상기 각각의 특징점이 공유 특징점인 경우에, 상기 공유 특징점에 상응하는 미리 변환 완료된 출력 특징점을 추출하는 단계 및 상기 산출된 출력 특징점 또는 상기 추출된 출력 특징점을 저장하는 단계를 실행하는 것을 특징으로 하는 3차원 그래픽 변환 처리 시스템을 제공할 수 있다.According to another aspect of the present invention, in a system for transforming at least one polygon representing a three-dimensional object, the polygon includes a plurality of feature points, a memory in which a program is stored, coupled to the memory and A processor for executing a program, wherein the processor receives, by the program, the plurality of feature points of the polygon, checking whether each feature point is a shared feature point, and wherein each feature point is a shared feature point If not, calculating output feature points by performing world transform processing and projection transform processing; extracting pre-converted output feature points corresponding to the shared feature points when each feature point is a shared feature point; and calculating Storing the extracted output feature point or the extracted output feature point A three-dimensional graphic transformation processing system can be provided.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예에 따른 3차원 그래픽 변환 처리 방법에 대하여 상세히 설명하기로 한다.Hereinafter, a three-dimensional graphic transformation processing method according to a preferred embodiment of the present invention with reference to the drawings will be described in detail.
도 4는 본 발명의 바람직한 실시예에 따른 3차원 그래픽 변화 처리 장치를 나타내는 도면이다. 도 4를 참조하면, 본 발명의 바람직한 실시예에 따른 3차원 그래픽 처리 장치는 입력 정점 레지스터(403), 공유 정점 확인 장치(405), 월드 변환 행렬 곱셈 장치(407), 투영 변환 행렬 곱셈 장치(409), 출력 정점 레지스터(411), 출력 정점 추출 장치(413)를 포함한다. 4 is a diagram illustrating a three-dimensional graphic change processing apparatus according to a preferred embodiment of the present invention. Referring to FIG. 4, a three-dimensional graphics processing apparatus according to a preferred embodiment of the present invention includes an
입력 정점 레지스터(403)는 입력되는 삼각형의 각 정점의 공간 좌표를 저장하는 기능을 하는 장치이다. 이는 산술적/논리적 연산이나 정보 해석, 전송 등을 할 수 있는 일정 길이의 2진 정보를 저장하는 3차원 그래픽 변환 처리 장치 내의 기억 장치로서 변환될 정점의 좌표를 일시적으로 저장하는 역할을 한다. 입력 정점 레지스터(403)에 저장된 정점의 공간 좌표는 로컬 좌표계를 사용한다.The input vertex register 403 is a device that stores a spatial coordinate of each vertex of an input triangle. This is a storage device in the three-dimensional graphics conversion processing apparatus that stores binary information of a certain length capable of performing arithmetic / logical operations, information interpretation, transmission, and the like, and temporarily stores coordinates of vertices to be converted. The spatial coordinates of the vertices stored in the input vertex register 403 use the local coordinate system.
공유 정점 확인 장치(405)는 새로 입력된 삼각형의 입력 정점이 종전에 입력된 삼각형의 입력 정점과 같은 정점을 나타내고 있는지 여부, 즉 공유 정점인지 여부를 확인하는 장치이다. 공유 정점 확인 장치(405)는 공유 정점에 대하여는 출력 정점 추출 장치에 공유 정점 확인 신호를 전송하고, 공유 정점이 아닌 정점에 대하여는 종전과 같은 변환 처리를 행하도록 한다.The shared
월드 변환 행렬 곱셈 장치(407)는 입력 레지스터(403)에 입력된 각 입력 정점의 좌표를 로컬 좌표계에서 월드 좌표계로 변환해 주는 기능을 하는 장치이다. 월드 변환 행렬 곱셈 장치(407)에 적용되는 수식은 상기 [수학식 1]과 같을 수 있으나 이에 한정하지 않는다.The world transformation
투영 변환 행렬 곱셈 장치(409)는 월드 변환된 좌표를 실제 디스플레이 상에 출력하는 경우 원근감이 나타나도록 변환해 주는 기능을 하는 장치이다. 투영 변환 행렬 곱셈 장치(409)에 적용되는 수식은 [수학식 2]와 같을 수 있으나 이에 한정하지 않는다.The projection
출력 정점 레지스터(411)는 월드 변환 행렬 장치(417)와 투영 변환 행렬 곱셈 장치(419)를 적용하여 출력된 출력 정점을 저장하는 기능을 하는 장치이다. 이는 산술적/논리적 연산이나 정보 해석, 전송 등을 할 수 있는 일정 길이의 2진 정보를 저장하는 3차원 그래픽 변환 처리 장치 내의 기억 장치로서 변환될 정점의 좌표를 일시적으로 저장하는 역할을 하며, 출력 정점 레지스터에 저장된 출력 정점 좌표는 관점(ViewPoint) 좌표계를 사용한다. The output vertex register 411 is a device having a function of storing the output vertex output by applying the world transformation matrix apparatus 417 and the projection transformation matrix multiplication apparatus 419. It is a storage device in the three-dimensional graphics conversion processing device that stores binary information of a certain length capable of performing arithmetic / logical operations, information interpretation, transmission, etc., and temporarily stores the coordinates of the vertices to be converted. The output vertex coordinates stored in the register use the ViewPoint coordinate system.
출력 정점 추출 장치(413)는 공유 정점 확인 장치로부터 입력 정점이 종전에 변환 처리가 완료된 공유 정점임을 확인하는 신호가 수신되면, 그 공유 정점에 상응하는 출력 정점의 출력 정점 레지스터의 좌표를 그 공유 정점의 출력 정점이 저장될 위치에 저장하는 기능을 하는 장치이다. 이에 의하여 종전 변환 처리된 출력 정점을 공유 정점의 출력 정점 저장 위치에 저장함으로써 공유 정점의 반복적인 변환 처리 없이 삼각형의 모든 입력 정점에 대하여 변환된 출력 정점을 획득할 수 있다.When the output
도 5는 본 발명의 바람직한 실시예에 따른 3차원 그래픽 변환 처리 과정을 나타내는 순서도이다. 도 5를 참조하면, 본 발명의 바람직한 실시예에 따른 3차원 그래픽 변환 처리 과정은 입력된 삼각형의 공유 정점 여부를 판단하여, 공유 정점 이 아닌 경우에는 종래와 같이 변환 처리를 행하고, 공유 정점인 경우에는 출력 정점 레지스터의 위치만을 교환해 주는 것으로 행해진다.5 is a flow chart showing a three-dimensional graphics transformation process according to a preferred embodiment of the present invention. Referring to FIG. 5, the three-dimensional graphic transformation process according to the present invention determines whether a shared vertex of an input triangle is determined, and if the shared vertex is not a shared vertex, the transformation process is performed as in the prior art. Is done by swapping only the positions of the output vertex registers.
먼저, 입력된 삼각형의 세 개의 입력 정점을 입력 정점 레지스터에 저장(단계 501)한다. 세 개의 입력 정점 중 하나의 입력 정점에 대하여 공유 정점인지 여부를 판단(단계 503)한다. 이러한 판단은 공유 정점 확인 장치에 의하여 수행되며, 입력 정점의 저장과 공유 정점의 확인은 그 순서가 바뀌어도 무방하다. First, three input vertices of the input triangle are stored in the input vertex register (step 501). It is determined whether one of the three input vertices is a shared vertex (step 503). This determination is performed by the shared vertex checking apparatus, and the order of storing the input vertex and confirming the shared vertex may be changed.
입력 정점이 공유 정점이 아닌 것으로 판단된 경우 즉 새로운 입력 정점의 경우, 그 정점의 좌표에 대하여 월드 변환(모델/뷰 변환) 처리(단계 505)를 한다. 월드 변환 처리에 의하여 로컬 좌표계의 각 정점 좌표가 월드 좌표계로 변환됨은 앞서 설명한 바와 같다. 월드 변환 처리 단계가 완료되면, 그 출력 좌표에 대하여 투영 변환 처리(단계 507)를 한다. 상기 투영 변화 처리에 의하여 3차원 좌표가 디스플레이 상에 출력될 수 있는 2차원 좌표계로 변환됨은 앞서 설명한 바와 같다. 변환이 완료된 출력 정점의 좌표를 출력 정점 레지스터에 저장(단계 509)한다.If it is determined that the input vertex is not a shared vertex, that is, a new input vertex, a world transform (model / view transform) process (step 505) is performed on the coordinates of the vertex. As described above, each vertex coordinate of the local coordinate system is converted into the world coordinate system by a world transformation process. When the world transform processing step is completed, the projection transform process (step 507) is performed on the output coordinates. As described above, the 3D coordinates are converted into a 2D coordinate system which may be output on the display by the projection change process. The coordinates of the output vertex in which the conversion is completed are stored in the output vertex register (step 509).
입력 정점이 공유 정점으로 판단된 경우, 그 공유 정점에 대하여 종전 변환 처리되었던 출력 정점의 좌표를 상기 공유 정점에 대한 출력 정점의 좌표로 교환(단계 511)한다. 상기 교환된 출력 정점을 출력 정점 레지스터에 저장(단계 513)함으로써 공유 정점에 대한 변환 처리 없이 출력 정점을 획득할 수 있다. If the input vertex is determined to be a shared vertex, the coordinates of the output vertices that have been previously transformed with respect to the shared vertices are exchanged with the coordinates of the output vertices for the shared vertices (step 511). By storing the exchanged output vertices in an output vertex register (step 513), the output vertices can be obtained without conversion processing for the shared vertices.
하나의 입력 정점에 대한 변환 처리가 완료되면, 모든 입력 정점에 대한 처리가 완료되었는지를 여부를 판단(단계 515)하여 남은 입력 정점이 있는 경우, 공유 정점인지 여부를 판단하는 단계(단계 503)부터 출력 정점을 저장하는 단계(단계 509 또는 단계 513)를 반복한다. 남은 입력 정점이 없는 경우 삼각형을 출력함으로써 변화 처리 과정을 종료한다. When the conversion processing for one input vertex is completed, it is determined whether the processing for all the input vertices is completed (step 515), and if there are remaining input vertices, it is determined whether it is a shared vertex (step 503). The step of storing the output vertex (step 509 or step 513) is repeated. If there are no remaining input vertices, the change process is terminated by outputting a triangle.
본 발명의 바람직한 실시예에 따른 3차원 그래픽 처리 장치에 의할 경우 삼각형 간의 공유 정점을 반복 처리하지 않음으로써 변환 처리 수행 시간을 단축시킬 수 있다. 종전에 처리된 삼각형과 현재 입력 삼각형의 정점들 중 2개가 공유된 경우 본 발명에 따른 3차원 그래픽 변환 처리 장치는 종래 기술에 따른 3차원 그래픽 변환 처리 장치보다 약 60% 이상의 수행 시간을 단축시킬 수 있으며, 1개의 정점이 공유된 경우 약 30% 이상의 수행 시간을 단축시킬 수 있다.According to the 3D graphic processing apparatus according to the preferred embodiment of the present invention, the execution time of the transformation process can be shortened by not repeatedly processing the shared vertices between the triangles. When two of the previously processed triangles and the vertices of the current input triangle are shared, the 3D graphic transformation processing apparatus according to the present invention can shorten the execution time by about 60% or more than the 3D graphic transformation processing apparatus according to the prior art. If one vertex is shared, the execution time of about 30% or more can be shortened.
뿐만 아니라 이러한 3차원 그래픽 변환 처리 장치는 3차원 그래픽 가속 장치의 가장 앞부분에 해당하므로 변환 처리 장치의 수행 시간 성능이 삼각형을 컴퓨터로 처리할 수 있도록 디지털화된 픽셀 단위로 분리시키는 장치 및 픽셀에 텍스쳐를 입히고 밝기와 음영 정보를 부여하는 랜더링 장치의 수행 성능에 큰 영향을 미쳐 결과적으로 3차원 그래픽 가속 장치의 수행 시간을 단축시키는 결과를 가져온다.In addition, since the 3D graphics conversion processing unit is the front end of the 3D graphics accelerator, the processing time performance of the conversion processing unit separates the texture into pixels and devices that separate the triangles into digitized pixels for computer processing. This greatly affects the performance of the rendering device, which is coated and gives brightness and shadow information, resulting in shortening the execution time of the 3D graphics accelerator.
본 발명의 상세한 설명에서는 편리한 설명을 위하여 3차원 객체를 삼각형으로 나타내는 경우의 변환 처리 과정에 대하여 설명하였으나 이에 한정되지 아니하며, 3차원 객체를 나타낼 수 있는 임의의 폴리곤에 대하여도 본 발명의 기술을 적용할 수 있음은 자명한 사실이다.In the detailed description of the present invention, for the sake of convenience, the conversion process in the case where the 3D object is represented by a triangle has been described. However, the present invention is not limited thereto. It is obvious that it can be done.
또한, 본 발명은 설명의 편의를 위하여 변환 처리를 위하여 입력되는 데이터 를 삼각형의 세 정점으로 하였으나 이에 한정하지 아니하며, 객체의 특성을 나타낼 수 있는 한 임의의 폴리곤의 임의의 정점 또는 동점(이하 "특징점"이라 한다)에 대하여도 본 발명의 기술을 적용할 수 있음은 자명한 사실이다.For convenience of explanation, the present invention uses three vertices of a triangle as input data, but the present invention is not limited thereto. Any vertices or ties of an arbitrary polygon can be expressed as long as the characteristics of an object can be represented. It is obvious that the technique of the present invention can also be applied to "."
본 발명에 의하면, 공유 정점의 변환 처리를 방지한 3차원 그래픽 변환 처리 방법 및 장치를 제공할 수 있다.According to the present invention, it is possible to provide a three-dimensional graphic transformation processing method and apparatus which prevented the transformation processing of shared vertices.
또한 본 발명에 의하면, 그래픽 변환 처리 장치 내 연산 횟수 및 연산 순서를 최적화함으로써 그래픽 가속 장치의 속도를 향상시킨 3차원 그래픽 변환 처리 방법 및 장치를 제공할 수 있다.According to the present invention, it is possible to provide a three-dimensional graphics conversion processing method and apparatus which improves the speed of the graphics acceleration device by optimizing the number of calculations and the calculation order in the graphics conversion processing apparatus.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050031805A KR100621867B1 (en) | 2005-04-18 | 2005-04-18 | A method and appratus for transformation processing of 3_dimension graphic |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050031805A KR100621867B1 (en) | 2005-04-18 | 2005-04-18 | A method and appratus for transformation processing of 3_dimension graphic |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100621867B1 true KR100621867B1 (en) | 2006-09-19 |
Family
ID=37631388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050031805A KR100621867B1 (en) | 2005-04-18 | 2005-04-18 | A method and appratus for transformation processing of 3_dimension graphic |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100621867B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5651106A (en) | 1995-06-08 | 1997-07-22 | Hewlett-Packard Company | Method and apparatus for vertex sorting in a computer graphics system |
KR100207664B1 (en) | 1996-04-02 | 1999-07-15 | 윤종용 | Three-dimensional data storing method for parallel access of vertex data |
KR19990085657A (en) * | 1998-05-20 | 1999-12-15 | 윤종용 | Method and device for compressing connectivity information of graphic modeling data |
JP2001175879A (en) | 1999-12-14 | 2001-06-29 | Nec Corp | Method and device for three-dimensional graphics drawing process |
-
2005
- 2005-04-18 KR KR1020050031805A patent/KR100621867B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5651106A (en) | 1995-06-08 | 1997-07-22 | Hewlett-Packard Company | Method and apparatus for vertex sorting in a computer graphics system |
KR100207664B1 (en) | 1996-04-02 | 1999-07-15 | 윤종용 | Three-dimensional data storing method for parallel access of vertex data |
KR19990085657A (en) * | 1998-05-20 | 1999-12-15 | 윤종용 | Method and device for compressing connectivity information of graphic modeling data |
JP2001175879A (en) | 1999-12-14 | 2001-06-29 | Nec Corp | Method and device for three-dimensional graphics drawing process |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6563048B2 (en) | Tilt adjustment of texture mapping for multiple rendering targets with different resolutions depending on screen position | |
JP5232358B2 (en) | Rendering outline fonts | |
KR101145260B1 (en) | Apparatus and method for mapping textures to object model | |
EP1004988A2 (en) | Method, apparatus and computer program product for generating perspective corrected data from warped information | |
US8878849B2 (en) | Horizon split ambient occlusion | |
JP2018106712A (en) | Fast rendering of quadrics and marking of silhouettes thereof | |
JP2005100176A (en) | Image processor and its method | |
RU2680355C1 (en) | Method and system of removing invisible surfaces of a three-dimensional scene | |
CN115512025A (en) | Method and device for detecting model rendering performance, electronic device and storage medium | |
CN111583398A (en) | Image display method and device, electronic equipment and computer readable storage medium | |
CN112149383B (en) | Text real-time layout method based on GPU, electronic device and storage medium | |
CN111950057A (en) | Loading method and device of Building Information Model (BIM) | |
KR100621867B1 (en) | A method and appratus for transformation processing of 3_dimension graphic | |
KR101227155B1 (en) | Graphic image processing apparatus and method for realtime transforming low resolution image into high resolution image | |
CN111667393B (en) | Method and terminal for simulating raining in virtual scene | |
KR100848687B1 (en) | 3-dimension graphic processing apparatus and operating method thereof | |
CN110689606B (en) | Method and terminal for calculating raindrop falling position in virtual scene | |
CN114020390A (en) | BIM model display method and device, computer equipment and storage medium | |
US6856325B2 (en) | Information processing method and apparatus | |
CN115803782A (en) | Augmented reality effect of perception geometry with real-time depth map | |
CN114494384B (en) | Building shadow analysis method, device, equipment and storage medium | |
JP7368950B2 (en) | Method and apparatus for efficient building footprint identification | |
CN111882631B (en) | Model rendering method, device, equipment and storage medium | |
JP4106719B2 (en) | Image processing device | |
JP3745152B2 (en) | Image display device |
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: 20120710 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20130826 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140827 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150728 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170829 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20180823 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20190826 Year of fee payment: 14 |