KR20100068603A - Apparatus and method for generating mipmap - Google Patents
Apparatus and method for generating mipmap Download PDFInfo
- Publication number
- KR20100068603A KR20100068603A KR1020080127009A KR20080127009A KR20100068603A KR 20100068603 A KR20100068603 A KR 20100068603A KR 1020080127009 A KR1020080127009 A KR 1020080127009A KR 20080127009 A KR20080127009 A KR 20080127009A KR 20100068603 A KR20100068603 A KR 20100068603A
- Authority
- KR
- South Korea
- Prior art keywords
- mipmap
- texel
- value
- coordinate
- coordinates
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Abstract
Description
본 발명은 밉맵 생성 장치 및 방법에 관한 것이다. The present invention relates to a mipmap generation apparatus and method.
3차원 그래픽 시스템에서 보다 현실감 있는 영상을 얻기 위한 방법으로 텍스쳐 맵핑(texture mapping) 기술이 이용된다. 텍스쳐 맵핑이란 3차원 물체의 표면에 질감을 주기 위해 실제 카메라로부터 촬영된 2차원 이미지를 물체 표면에 입히는 것을 말하며, 텍스쳐(texture)란 2차원 이미지를 말하고, 텍스쳐 내의 각 점들은 스크린 상의 픽셀(pixel)에 대응하여 텍셀(texel)이라 부른다.Texture mapping technology is used as a method for obtaining a more realistic image in a 3D graphics system. Texture mapping refers to the application of two-dimensional images taken from a real camera onto the surface of an object to give a texture to the surface of a three-dimensional object. Texture refers to a two-dimensional image, and each point in the texture is a pixel on the screen. Is called a texel.
이 기술을 적용함에 있어서, 계산량을 줄이기 위해 2차원 이미지, 즉 텍스쳐를 3차원 물체의 표면 위에 입힌 후, 2차원의 스크린 위로 투영시키는 것이 아니고 일반적으로 2차원 스크린에 투영된 이미지의 각 픽셀로부터 이들의 3차원 공간상의 물체 표면의 구한 후, 이에 해당하는 2차원 텍스쳐 좌표를 계산해서 해당되는 텍셀을 찾아 스크린 상의 픽셀을 정한다. In applying this technique, to reduce computation, two-dimensional images, or textures, are coated on the surface of three-dimensional objects and then not projected onto two-dimensional screens, but rather from each pixel of the image projected on a two-dimensional screen. After finding the surface of the object in three-dimensional space of, calculate the corresponding two-dimensional texture coordinates to find the corresponding texel to determine the pixel on the screen.
이러한 텍스쳐 맵핑 기술은 스크린 상에 표시되는 한 픽셀에 맵핑되는 텍스쳐 공간상의 영역이 정확히 한 텍셀 영역으로 맵핑되지 않기 때문에 화면에 에이리어징 현상을 일으킨다. 예를 들어, 2차원 디스플레이 상으로 투영된 도로와 같은 경우, 관측자에 가까운 픽셀들이 텍스쳐 공간상에 하나의 텍셀로 맵핑된다면, 관측자로부터 먼 영역의 픽셀은 텍스쳐 공간상에서 여러 개의 텍셀 영역으로 맵핑되므로, 이 때 여러 개의 텍셀 값을 대표하는 텍스쳐 값을 가져와 디스플레이 상의 한 픽셀 값으로 맵핑시켜주지 않으면 영상이 일그러지게 된다. This texture mapping technique causes an aliasing phenomenon on the screen because an area on the texture space mapped to one pixel displayed on the screen is not mapped to exactly one texel area. For example, in the case of a road projected onto a two-dimensional display, if pixels close to the viewer are mapped to one texel in texture space, pixels in an area far from the viewer are mapped to multiple texel regions in texture space. At this time, the image is distorted unless the texture values representing the multiple texel values are taken and mapped to one pixel value on the display.
상술한 텍스쳐 필터링은 많은 시간을 요구하므로, 이를 좀 더 빠르게 수행하기 위한 방법으로 밉맵핑 방법을 많이 사용한다. Since the above-described texture filtering requires a lot of time, the mipmapping method is frequently used as a method for performing this faster.
밉맵핑 방법은 원래 텍스쳐 이미지, 예컨대 LOD(Level Of Detail) 0의 이미지를 프리필터링(prefiltering) 및 서브샘플링(subsampling)하여 여러 LOD 레벨의 텍스쳐(mipmap)을 만들어 두고, 현재 화면상에 뿌려진 픽셀이 텍스쳐 공간으로 맵핑될 때 계산되어지는 LOD 및 그 (u,v) 좌표 값에 의해 밉맵핑 상의 적절한 LOD 레벨들로부터 필요로 하는 텍셀을 가져와 화면에 제공하는 방식이다. The mipmapping method prefilters and subsamples an original texture image, such as an image of LOD (Level Of Detail) 0, to create a mipmap of several LOD levels, and the pixels currently scattered on the screen It is a method of bringing the required texels from the appropriate LOD levels on mipmapping and providing them to the screen by the LOD and the (u, v) coordinate values calculated when mapping into the texture space.
본 발명은 프리필터링을 거친 여러 LOD 레벨의 밉맵을 메모리에 저장하고 밉맵을 사용할 때마다 메모리에서 텍스쳐 캐쉬(texture cache)로 독출함으로써 발생하는 메모리 액세스의 병목 현상(bottleneck)을 줄일 수 있는 밉맵 생성 장치 및 방법을 제공하기 위한 것이다. The present invention provides a mipmap generation apparatus that can reduce bottlenecks of memory access caused by storing pre-filtered mipmaps of various LOD levels in memory and reading them from the memory into the texture cache each time the mipmap is used. And to provide a method.
본 발명의 일 실시예에 따른 밉맵 생성 장치는 상이한 LOD(Level Of Detail)의 적어도 하나의 밉맵(mipmap)을 저장하는 저장부; 상기 밉맵 중 결과 밉맵의 LOD보다 1단계 낮은 LOD의 기초 밉맵을 검출하는 검출부; 상기 결과 밉맵의 어느 하나의 텍셀(texel) 좌표에 대응하는 상기 기초 밉맵의 다수의 텍셀 좌표를 결정하는 좌표 결정부; 및 상기 기초 밉맵의 다수의 텍셀 좌표의 텍셀값으로부터 상기 결과 밉맵의 텍셀 좌표의 텍셀값을 계산하는 연산부;를 포함한다.An apparatus for generating mipmaps according to an embodiment of the present invention includes a storage unit for storing at least one mipmap of different LODs (Level Of Detail); A detection unit for detecting an elementary mipmap of LODs one step lower than the LOD of the resulting mipmap among the mipmaps; A coordinate determination unit that determines a plurality of texel coordinates of the base mipmap corresponding to any one texel coordinate of the result mipmap; And a calculation unit for calculating a texel value of the texel coordinates of the resultant mipmap from the texel values of the plurality of texel coordinates of the base mipmap.
본 발명의 일 실시예에 따른 밉맵 생성 방법은 저장된 밉맵 중 결과 밉맵의 LOD보다 1단계 낮은 LOD의 기초 밉맵을 검출하는 단계; 상기 기초 밉맵이 검출된 경우, 상기 결과 밉맵의 어느 하나의 텍셀 좌표에 대응하는 상기 기초 밉맵의 다수의 텍셀 좌표를 결정하는 단계; 및 상기 기초 밉맵의 다수의 텍셀 좌표의 텍셀값으로부터 상기 결과 밉맵의 텍셀 좌표의 텍셀값을 계산하는 단계;를 포함한다.A mipmap generation method according to an embodiment of the present invention includes detecting a base mipmap of an LOD which is one step lower than an LOD of a resultant mipmap among stored mipmaps; If the underlying mipmap is detected, determining a plurality of texel coordinates of the underlying mipmap corresponding to any one texel coordinate of the resulting mipmap; And calculating a texel value of the texel coordinates of the resultant mipmap from the texel values of the plurality of texel coordinates of the base mipmap.
상술한 본 발명의 일 실시예에 따른 밉맵 생성 방법은 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 기록될 수 있다.The mipmap generation method according to an embodiment of the present invention described above may be recorded in a computer-readable recording medium having a program for executing in a computer.
본 발명에 따르면, 독출할 밉맵의 양이 많은 경우에도 메모리 액세스로 인한 병목 현상을 줄일 수 있다. According to the present invention, even when the amount of mipmaps to be read is large, the bottleneck caused by memory access can be reduced.
본 발명에 따르면, 메모리 액세스의 병목 현상을 줄여, 텍스쳐 필터링의 속도가 증가하고 전체적인 그래픽 가속 성능이 향상될 수 있다.According to the present invention, the bottleneck of memory access can be reduced, so that the speed of texture filtering can be increased and the overall graphic acceleration performance can be improved.
이하, 첨부한 도면을 참조하여 본 발명의 일 실시예를 상세하게 설명한다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 밉맵 생성 장치(10)의 블럭도이다. 1 is a block diagram of a
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 밉맵 생성 장치(10)는 상이한 LOD의 적어도 하나의 밉맵(mipmap)을 저장하는 저장부(11), 상기 밉맵 중 결과 밉맵의 LOD보다 1단계 낮은 LOD(Level Of Detail)의 기초 밉맵을 검출하는 검출부(12), 상기 결과 밉맵의 어느 하나의 텍셀(texel) 좌표에 대응하는 상기 기초 밉맵의 다수의 텍셀 좌표를 결정하는 좌표 결정부(13). 상기 기초 밉맵의 다수의 텍셀 좌표의 텍셀값으로부터 상기 결과 밉맵의 텍셀 좌표의 텍셀값을 계산하는 연산부(14) 및 상기 계산된 결과 밉맵의 텍셀값 및 외부에 기저장된 결과 밉맵의 텍셀값 중 어느 하나를 선택하는 선택부(15)를 포함한다. As shown in FIG. 1, the
이하, 도 1에 도시된 본 발명의 일 실시예에 따른 밉맵 생성 장치(10)의 동작을 도 6에 도시된 본 발명의 일 실시예에 따른 밉맵 생성 방법을 설명하는 흐름도와 결부시켜 설명하기로 한다. Hereinafter, the operation of the
상기 저장부(11)는 상이한 LOD의 적어도 하나의 밉맵을 저장한다. 상기 저장 부(11)는 동일한 텍스쳐를 나타내는 서로 다른 LOD의 밉맵(예컨대 동일한 문양의 서로 다른 크기에 해당하는 밉맵) 또는 다른 텍스쳐를 나타내는 여러 밉맵(예컨대 다른 문양을 표현하는 서로 다른 밉맵들) 등을 저장한다.The
바람직하게, 상기 저장부(11)는 데이터를 독출하는 시간이 짧은 캐쉬 메모리일 수 있다. 이 경우, 상기 저장부(11)는 외부의 별도의 메모리, 예컨대 하드디스크에 저장된 다수의 밉맵으로부터 현재 사용되고 있는 또는 사용할 밉맵을 독출하여 임시적으로 저장할 수 있다. Preferably, the
상기 검출부(12)는 상기 저장부(11)에 저장된 밉맵 중 결과 밉맵의 LOD보다 1단계 낮은 LOD인 기초 밉맵을 검출한다(단계S61). The
본 발명의 상세한 설명 전반에 걸쳐 사용하는 용어 "결과 밉맵"은 본 발명의 밉맵 생성 장치(10)가 본 발명의 기술적 특징을 적용하여 최종적으로 생성하고자 하는 밉맵을 의미한다. 즉, 본 발명의 밉맵 생성 장치(10)는 후술할 밉맵 생성 과정을 통해 결과 밉맵을 생성하고, 이를 화면에 밉맵핑시킬 수 있다.The term "result mipmap" used throughout the detailed description of the present invention means the mipmap that the
또한, 본 발명의 상세한 설명 전반에 걸쳐 사용하는 용어 "기초 밉맵"은 상기 결과 밉맵을 생성하기 위해 소스로서 사용하는 밉맵을 의미한다. 즉, 본 발명의 밉맵 생성 장치(10) 및 방법은 상기 기초 밉맵으로부터 소정의 데이터를 가져와 상기 결과 밉맵의 데이터를 생성한다. In addition, the term "basal mipmap" used throughout the detailed description of the invention refers to the mipmap that is used as the source to generate the resulting mipmap. That is, the
본 발명의 일 실시예에 따르면, 상기 기초 밉맵은 상기 결과 밉맵보다 LOD가 1단계 낮은 밉맵이다. 즉, 상기 기초 밉맵은 상기 결과 밉맵과 동일한 텍스쳐를 구현하지만, LOD가 1단계 낮아 한 픽셀에 대응되는 텍셀의 수가 결과 밉맵의 텍셀 수 보다 더 작다. According to an embodiment of the present invention, the base mipmap is a mipmap that is one step lower in LOD than the resulting mipmap. That is, the base mipmap implements the same texture as the resulting mipmap, but the LOD is one step lower than the number of texels corresponding to one pixel is smaller than the number of texels of the resulting mipmap.
상기 검출부(12)는 생성하고자 하는 결과 밉맵과 동일한 텍스쳐를 구현하며 LOD가 1단계 낮은 밉맵인 기초 밉맵이 저장되어 있는지 검출한다. The
상기 검출부(12)가 상기 기초 밉맵을 검출하는 경우(단계S62), 후술하는 바와 같이 좌표 결정부(13) 및 연산부(14)에 의해 결과 밉맵의 데이터를 생성할 수 있다. 하지만, 상기 검출부(12)가 상기 기초 밉맵을 검출하지 못하는 경우, 예를 들어 상기 저장부(11)에 기초 밉맵이 저장되어 있지 않은 경우에는 결과 밉맵 데이터를 생성하지 않고 하드디스크와 같은 외부 저장 매체로부터 필요한 결과 밉맵을 독출하여 사용할 수 있다(단계S64).When the
상기 좌표 결정부(13)는 상기 결과 밉맵의 어느 하나의 텍셀 좌표에 대응하는 상기 기초 밉맵의 다수의 텍셀 좌표를 결정한다(단계S63). 상기 검출부(12)가 상기 저장부(11)에 기초 밉맵이 저장되어 있음을 검출하는 경우, 상기 좌표 결정부(13)는 생성할 결과 밉맵을 구성하는 어느 하나의 텍셀에 대응하는 상기 기초 밉맵의 텍셀들의 좌표를 결정한다. The
상기 기초 밉맵이 상기 결과 밉맵보다 LOD가 낮으므로 상기 결과 밉맵의 텍셀 하나에 대응하는 기초 밉맵의 텍셀은 다수 개일 수 있다. Since the base mipmap has a lower LOD than the result mipmap, there may be a plurality of texels of the base mipmap corresponding to one texel of the result mipmap.
상기 좌표 결정부(13)가 결정한 상기 기초 밉맵의 다수의 텍셀 좌표를 통해, 해당 좌표의 기초 밉맵의 텍셀값을 독출하고, 그로부터 결과 밉맵의 텍셀값을 계산할 수 있다. Through the plurality of texel coordinates of the base mipmap determined by the
상기 연산부(14)는 상기 좌표 결정부(13)가 결정한 상기 기초 밉맵의 다수의 텍셀 좌표에 대한 텍셀값으로부터 상기 결과 밉맵의 텍셀 좌표의 텍셀값을 계산한다(단계S65). 본 발명의 일 실시예에 따르면, 상기 연산부(14)는 상기 기초 밉맵의 다수의 텍셀 좌표의 텍셀값의 평균을 계산하고, 계산된 평균값을 상기 결과 밉맵의 텍셀 값으로 결정할 수 있다.The calculating
실시예에 따라, 상기 연산부(14)는 평균값 대신 중간값을 계산하여 상기 결과 밉맵의 텍셀값을 결정할 수 있다. According to an embodiment, the
이하, 도 2 내지 도 3을 참조하여 본 발명의 일 실시예에 따른 밉맵 생성 과정을 설명하기로 한다.Hereinafter, a mipmap generation process according to an embodiment of the present invention will be described with reference to FIGS. 2 to 3.
도 2는 본 발명의 일 실시예에 따른 결과 밉맵 생성 과정을 설명하는 예시도이다. 2 is an exemplary view illustrating a result mipmap generation process according to an embodiment of the present invention.
도 2에 도시된 바와 같이, 상기 결과 밉맵(21)은 상기 기초 밉맵(22)의 데이터를 기반으로 생성할 수 있다. As shown in FIG. 2, the
상술한 바와 같이, 상기 결과 밉맵(21)과 상기 기초 밉맵(22)은 동일한 텍스쳐를 구현하는 밉맵이며, 도면 상단에 표시된 바와 같이, 상기 기초 밉맵(22)의 LOD(n-1)은 상기 결과 밉맵(21)의 LOD(n)보다 1단계 낮은 LOD 레벨을 가진다. As described above, the
본 발명의 일 실시예에 따르면, 어느 한 좌표축, 예컨대 가로축인 u축 또는 세로축인 v축에 대한 상기 기초 밉맵(22)의 텍셀 좌표의 수는 상기 결과 밉맵(21)의 텍셀 좌표의 수의 두 배일 수 있다. According to one embodiment of the invention, the number of texel coordinates of the
예를 들어, 도 2에 도시된 바와 같이, 상기 결과 밉맵(21)은 2X2의 텍셀로 구성될 수 있으며, 상기 기초 밉맵(22)은 4X4의 텍셀로 구성될 수 있다. 즉, 상기 기초 밉맵(22)의 텍셀은 각각 u축과 v축에 대해서 상기 결과 밉맵(21)의 텍셀의 두 배이다. For example, as shown in FIG. 2, the resulting
본 발명의 일 실시예에 따르면, 상기 결과 밉맵(21)의 텍셀 좌표값 및 상기 기초 밉맵(22)의 텍셀 좌표값은 비트값으로 표현될 수 있다. According to an embodiment of the present invention, the texel coordinate value of the
예를 들어, 도 2에 도시된 바와 같이, 상기 결과 밉맵(21) 및 상기 기초 밉맵(22)을 구성하는 각각의 텍셀의 u,v 좌표값은 비트값으로 표현될 수 있다. For example, as shown in FIG. 2, the u and v coordinate values of each of the texels constituting the
상기 결과 밉맵(21)은 2X2의 텍셀로 구성되므로, 상기 결과 밉맵(21)의 텍셀 좌표는 1 비트로 표현될 수 있다. 도 2에서는 상기 결과 밉맵(21)의 좌측 상단의 텍셀을 원점 (0,0)으로 하여, 그 우측으로 갈수록 u 좌표의 비트값은 증가하며, 아래로 갈수록 v 좌표의 비트값은 증가할 수 있다. Since the
반면, 상기 기초 밉맵(22)은 4X4의 텍셀로 구성되므로, 상기 기초 밉맵(22)의 텍셀 좌표는 2 비트로 표현될 수 있다. 도 2에서는 상기 기초 밉맵(22)의 좌측 상단의 텍셀을 원점 (00,00)으로 하여, 그 우측으로 갈수록 u 좌표의 비트값은 1씩 증가하며, 아래로 갈수록 v 좌표의 비트값은 1씩 증가할 수 있다.On the other hand, since the
본 발명의 밉맵 생성 장치(10) 및 방법은 상기 검출부(12)가 상기 저장부(11)에 상기 기초 밉맵(22)이 저장되어 있음을 검출하는 경우, 상기 좌표 결정부(13)에 의해, 생성할 상기 결과 밉맵(21)의 어느 하나의 텍셀 좌표에 대응하는 상기 기초 밉맵(22)의 텍셀 좌표를 결정할 수 있다.In the
예를 들어, 도 2의 상기 결과 밉맵(21)을 생성하기 위해서는 모두 네 개의 텍셀값을 결정해야하며, 이 중 좌표 (1,1)에 해당하는 결과 밉맵(21)의 텍셀(23)의 텍셀값을 결정하는 과정을 설명하기로 한다. For example, in order to generate the
상기 좌표 결정부(13)는 상기 생성할 결과 밉맵(21)의 텍셀인 (1,1) 좌표의 텍셀(23)에 대응하는 기초 밉맵(22)의 텍셀 좌표를 결정한다. 상기 결과 밉맵(21)의 (1,1) 좌표의 텍셀(23)에 대응하는 기초 밉맵(22)의 텍셀은 좌표 (10,10), (11,10), (10,11), (11,11)의 텍셀들(24, 25, 26, 27)이다. The coordinate
상기 기초 밉맵(22)은 상기 결과 밉맵(21)에 비해 두 배로 스케일링된 밉맵이므로, 결과 밉맵(21)의 어느 하나의 텍셀에 대응하는 기초 밉맵(22)의 텍셀은 총 네 개가 될 수 있다.Since the
본 발명의 일 실시예에 따르면, 상기 좌표 결정부(13)는 상기 결과 밉맵(21)의 텍셀 좌표값에 해당되는 비트값의 뒷자리에 0 또는 1의 비트값을 추가하여 기초 밉맵(22)의 텍셀 좌표값을 결정할 수 있다. According to an embodiment of the present invention, the coordinate
도 3은 본 발명의 일 실시예에 따라 결과 밉맵(21)의 텍셀 좌표값으로부터 기초 밉맵(22)의 텍셀 좌표값을 결정하는 과정을 설명하는 예시도이다. 3 is an exemplary diagram illustrating a process of determining a texel coordinate value of the
도 3에 도시된 바와 같이, 도 2의 결과 밉맵(21)의 (1,1)의 텍셀(23)은 u 좌표의 비트값(31)이 1이고 v 좌표의 비트값(32)이 1이다.As shown in FIG. 3, the
본 발명의 일 실시에에 따르면, 상기 좌표 결정부(13)는 상기 결과 밉맵(21)의 u 좌표 비트값(31)과 v 좌표 비트값(32)의 뒷자리에 0 또는 1의 비트값을 추가하여 기초 밉맵(22)의 텍셀 좌표값을 생성할 수 있다.According to one embodiment of the present invention, the coordinate
즉, 상기 결과 밉맵(21)의 텍셀 좌표값을 1 비트 앞으로 시프트하고, 뒷자리에 0 또는 1을 추가하여 총 2 비트의 기초 밉맵(22)의 좌표값을 생성한다. In other words, the texel coordinate value of the
그 결과, 도 3에 도시된 바와 같이, 기초 밉맵(22)의 텍셀 좌표는 2 비트로 구성되며, 이 중 앞자리 비트(33, 35)는 상기 결과 밉맵(21)의 텍셀 좌표값이 앞으로 시프트된 비트값이고, 뒷자리 비트(34, 36)은 새로 추가된 비트값이다. As a result, as shown in FIG. 3, the texel coordinate of the
상기 좌표 결정부(13)는 0과 1 두 개의 비트값을 각각 추가하므로 생성되는 기초 밉맵(21)의 텍셀 좌표의 개수는 결과 밉맵(21)의 텍셀 좌표의 두 배가 된다. The coordinate
따라서, 도 3에 도시된 바와 같이, 상기 좌표 결정부(13)는 결과 밉맵(21)의 u 좌표 1(31)로부터 기초 밉맵(22)의 대응하는 u 좌표 10(37)과 u 좌표 11(38)을 결정한다. 마찬가지로, 상기 좌표 결정부(13)는 결과 밉맵(21)의 v 좌표 1(32)로부터 기초 밉맵(22)의 대응하는 v 좌표 10(39)과 v 좌표 11(40)을 결정한다. Thus, as shown in FIG. 3, the coordinate
최종적으로 기초 밉맵(22)의 (u,v) 텍셀 좌표값은 상기 결정된 각각의 u 좌표 2개와 v 좌표 2 개를 조합하여 4 개의 (u,v) 좌표값으로 구할 수 있다. 예를 들어, 도 3에서 결정된 기초 밉맵(22)의 (u,v) 텍셀 좌표는 각각 (10,10), (10,11), (11,10), (11,11) 네 개로 구성된다.Finally, the (u, v) texel coordinate values of the
상기 구해진 네 개의 텍셀 좌표는 도 2의 기초 밉맵(22)의 네 개의 텍셀(24, 25, 26, 27)에 대응하는 것을 확인할 수 있다. It can be seen that the four texels coordinates obtained correspond to the four
상술한 과정을 통해 본 발명의 좌표 결정부(13)는 결과 밉맵(21)의 어느 하나의 텍셀에 대응하는 기초 밉맵(22)의 다수의 텍셀의 좌표값을 결정할 수 있다.Through the above-described process, the coordinate
상기 연산부(14)는 상기 좌표 결정부(13)에서 결정된 상기 기초 밉맵(22)의 다수의 텍셀 좌표에 해당하는 텍셀의 텍셀값의 평균을 계산할 수 있다. 상기 계산된 평균값은 상기 결과 밉맵(21)의 텍셀값으로 결정된다. The
예를 들어, 상기 연산부(14)는 도 2의 결과 밉맵(21)의 (1,1)에 해당하는 텍셀(23)의 텍셀값을 기초 밉맵(22)의 대응하는 다수의 좌표 (10,10), (11,10), (10,11), (11,11)의 텍셀(24, 25, 26, 27)의 텍셀값들의 평균으로 결정할 수 있다. For example, the
실시예에 따라, 상기 연산부(14)는 상기 기초 밉맵(22)의 다수의 텍셀 좌표에 해당하는 텍셀의 텍셀값의 중간값을 계산하여, 결과 밉맵(21)의 텍셀값으로 결정할 수 있다. According to an embodiment, the
이러한 과정을 상기 결과 밉맵(21)의 모든 좌표의 텍셀, 예컨대 도 2의 좌표 (0,0), (1,0), (0,1), (1,1)의 텍셀 모두에 대해 수행하여 결과 밉맵(21)을 생성할 수 있다. This process is performed for the texels of all coordinates of the resulting
그 결과, 본 발명에 따르면, 동일한 텍스쳐에 대한 여러 LOD의 밉맵들을 모두 외부 하드 디스크로부터 독출할 필요 없이 근접한 LOD, 예컨대 1단계 낮은 LOD의 밉맵으로부터 연산을 통해 밉맵을 획득하여, 메모리 액세스에 따른 병목 현상을 방지할 수 있다. As a result, according to the present invention, a mipmap is obtained through a calculation from a mipmap of an adjacent LOD, for example, a low level LOD, without having to read all the mipmaps of several LODs for the same texture from an external hard disk, thereby causing a bottleneck due to memory access. The phenomenon can be prevented.
상술한 결과 밉맵(21)의 생성은 LOD가 1단계 낮은 밉맵으로부터 연산을 통해 수행되었지만, 실시예에 따라, 하나 이상의 단계가 낮은 밉맵으로부터 연산을 통해 수행될 수도 있다. As a result of the above-described generation of the
하지만, 과도한 레벨 차이가 나는 기초 밉맵으로부터 연산을 통해 결과 밉맵을 생성하는 경우, 구현되는 텍스쳐가 일그러질 수 있다. 바람직하게, 본 발명의 생성 과정은 LOD가 1단계 낮은 밉맵에 대해 적용하고, 그 이상의 레벨 차이가 나는 밉맵에 대해서는 외부의 하드 디스크로부터 독출하여 사용할 수 있다. However, if the resulting mipmap is generated from a base mipmap with excessive level differences, the implemented texture may be distorted. Preferably, the generation process of the present invention may be applied to mipmaps having a low LOD level and a mipmap having a higher level difference may be read and used from an external hard disk.
본 발명의 다른 실시예에 따르면, 상기 선택부(15)는 상기 계산된 결과 밉맵(21)의 텍셀값과 외부에 기저장된 결과 밉맵의 텍셀값 중 어느 하나를 선택할 수 있다(단계S66). According to another embodiment of the present invention, the
예를 들어, 상기 선택부(15)는 상기 계산된 결과 밉맵(21)의 텍셀값이 주변의 다른 텍셀값과 큰 차이가 있어 텍스쳐가 일그러질 수 있는 경우에는 외부에 저장된 기생성된 결과 밉맵의 텍셀값을 직접 독출하여 사용할 수 있다. For example, the
도 4 내지 도 5는 본 발명의 일 실시예에 따른 밉맵 생성 방법을 통해 생성할 수 있는 밉맵을 설명하는 예시도이다. 4 to 5 are exemplary views illustrating mipmaps that can be generated through a mipmap generation method according to an embodiment of the present invention.
일 실시예에서는, 오브젝트(41)와 관찰자 간의 거리가 멀어짐에 따라 오브젝트(41)에 구현된 도트 무늬의 텍스쳐를 원근감있게 구현하기 위해 보다 높은 LOD의 밉맵이 요구된다. In one embodiment, as the distance between the
예를 들어, 도 4의 (a)의 오브젝트(41)의 도트 무늬 질감을 구현하기 위해 LOD(2)의 밉맵이 상기 저장부(11)에 저장되어 사용되고 있었다면, 오브젝트(41)와의 거리가 (a)에서보다 더 멀어진 (b)의 경우를 구현하기 위해 더 높은 LOD인 LOD(3)의 밉맵을 외부 저장매체인 하드디스크로부터 독출해야 한다. For example, if the mipmap of the LOD 2 was stored and used in the
하지만, 본 발명에 따르면 (b)의 오브젝트(42)의 도트 무늬 질감을 구현하기 위해, (a)의 오브젝트(41)에 사용되었던 LOD(2)의 도트 무늬 밉맵의 텍셀값으로부터(즉, 기초 밉맵의 텍셀값) 연산을 통해 LOD(3)의 도트 무늬 밉맵(즉, 결과 밉맵)을 생성할 수 있다. However, according to the present invention, in order to realize the dot pattern texture of the
따라서, LOD가 다른 밉맵을 사용하기 위해 매번 외부 하드디스크로부터 필요 한 밉맵을 독출할 필요가 없어 메모리 액세스에 기인한 병목 현상을 줄일 수 있다. Thus, the LOD does not have to read the mipmap needed from an external hard disk each time to use a different mipmap, thereby reducing the bottleneck caused by memory access.
다른 실시예에 대해서, 본 발명은 관찰자의 시점이 변경되는 대신 서로 다른 거리에 있는 동일한 오브젝트의 구현에 사용될 수 있다. For other embodiments, the present invention can be used to implement the same object at different distances instead of changing the viewpoint of the observer.
도 5는 동일한 문양의 벽지가 부착된 복도를 바라본 모습을 나타낸다. 관찰자가 복도의 일 지점에 위치하고 복도의 끝을 바라보고 있는 경우, 관찰자에게 가까운 벽의 무늬(51)에 대해서는 하나의 픽셀에 적은 수의 텍셀이 대응될 수 있다. 하지만, 관찰자로부터 멀어질수록 벽의 무늬(52)는 하나의 픽셀에 보다 많은 텍셀이 대응되며, 그 결과 더 높은 레벨의 LOD의 밉맵이 요구된다. 5 shows a view of a hallway to which a wallpaper of the same pattern is attached. If the viewer is located at a point in the hallway and looking at the end of the hallway, a small number of texels may correspond to one pixel for the
이 경우, 가까운 벽의 무늬(51)를 구현하기 위해 LOD(4)의 밉맵을 외부 하드 디스크로부터 독출하여 상기 저장부(11)에 저장시킨 후 밉맵핑하여 사용한 경우, 멀리 떨어진 벽의 무늬(52)를 구현하기 위해 별도로 외부 하드 디스크로부터 LOD(5)의 밉맵을 독출하지 않을 수 있다. In this case, when the mipmap of the LOD 4 is read from an external hard disk to be stored in the
즉, 본 발명에 따르면 상기 저장부(11)에 기존재하는 LOD(4)의 밉맵을 기초 밉맵으로 하여 좌표 결정 및 연산을 통해 LOD(5)의 결과 밉맵을 생성하여 이를 밉맵핑할 수 있다. That is, according to the present invention, the mipmap of the LOD 4 existing in the
그 결과 본 발명에 따르면, 1단계 높은 LOD의 밉맵으로부터 새로운 밉맵을 생성하여, 메모리 액세스에 따른 병목 현상을 줄일 수 있으며, 텍스쳐 필터링이 빨라져 전반적인 그래픽 가속 성능이 향상되는 효과가 있다. As a result, according to the present invention, by generating a new mipmap from the first-level high LOD mipmap, the bottleneck due to memory access can be reduced, texture filtering is faster, the overall graphics acceleration performance is improved.
이상 실시예를 통해 본 발명을 설명하였으나, 위 실시예는 단지 본 발명의 사상을 설명하기 위한 것이며, 이에 한정되지 않는다. 당업자는 위에 설명한 실시 예에 다양한 변형이 가해질 수 있음을 이해할 것이다. 본 발명의 범위는 첨부된 특허청구범위의 해석을 통해서만 정해진다.Although the present invention has been described through the above embodiments, the above embodiments are merely intended to illustrate the spirit of the present invention, and the present invention is not limited thereto. Those skilled in the art will appreciate that various modifications may be made to the embodiments described above. The scope of the invention is defined only by the interpretation of the appended claims.
도 1은 본 발명의 일 실시예에 따른 밉맵 생성 장치(10)의 블럭도이다. 1 is a block diagram of a
도 2는 본 발명의 일 실시예에 따른 결과 밉맵 생성 과정을 설명하는 예시도이다. 2 is an exemplary view illustrating a result mipmap generation process according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따라 결과 밉맵(21)의 텍셀 좌표값으로부터 기초 밉맵(22)의 텍셀 좌표값을 결정하는 과정을 설명하는 예시도이다. 3 is an exemplary diagram illustrating a process of determining a texel coordinate value of the
도 4 내지 도 5는 본 발명의 일 실시예에 따른 밉맵 생성 방법을 통해 생성할 수 있는 밉맵을 설명하는 예시도이다. 4 to 5 are exemplary views illustrating mipmaps that can be generated through a mipmap generation method according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 밉맵 생성 방법을 설명하는 흐름도이다.6 is a flowchart illustrating a mipmap generation method according to an embodiment of the present invention.
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20080127009A KR101508388B1 (en) | 2008-12-15 | 2008-12-15 | Apparatus and method for generating mipmap |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20080127009A KR101508388B1 (en) | 2008-12-15 | 2008-12-15 | Apparatus and method for generating mipmap |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100068603A true KR20100068603A (en) | 2010-06-24 |
KR101508388B1 KR101508388B1 (en) | 2015-04-06 |
Family
ID=42366827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20080127009A KR101508388B1 (en) | 2008-12-15 | 2008-12-15 | Apparatus and method for generating mipmap |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101508388B1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101447552B1 (en) * | 2010-08-27 | 2014-10-08 | 주식회사 실리콘아츠 | Method for selecting mip-map level and system for texture mapping using same |
US8952962B2 (en) | 2011-09-14 | 2015-02-10 | Samsung Electronics Co., Ltd. | Graphics processing method and apparatus using post fragment shader |
KR20160004096A (en) * | 2014-07-02 | 2016-01-12 | 삼성전자주식회사 | Mipmap Generation Method and apparatus |
KR20170043367A (en) * | 2015-10-13 | 2017-04-21 | 삼성전자주식회사 | The method and apparatus for texture filtering |
CN108022282A (en) * | 2016-11-02 | 2018-05-11 | 三星电子株式会社 | Texture Processing Methods and unit |
US10438317B2 (en) | 2014-09-12 | 2019-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus for rendering |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100272093B1 (en) * | 1995-09-30 | 2000-11-15 | 윤종용 | Trilinear texture mapping processing apparatus of graphics system |
KR100291628B1 (en) * | 1999-06-19 | 2001-05-15 | 윤덕용 | Cache memory for 3D graphic texture and its cache miss penalty reducing method |
KR100393086B1 (en) * | 2001-05-15 | 2003-07-31 | 한국과학기술원 | Anisotropic texture filtering method and apparatus using area coverage weight of sub-texel precision |
US7948500B2 (en) * | 2007-06-07 | 2011-05-24 | Nvidia Corporation | Extrapolation of nonresident mipmap data using resident mipmap data |
-
2008
- 2008-12-15 KR KR20080127009A patent/KR101508388B1/en active IP Right Grant
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101447552B1 (en) * | 2010-08-27 | 2014-10-08 | 주식회사 실리콘아츠 | Method for selecting mip-map level and system for texture mapping using same |
US8952962B2 (en) | 2011-09-14 | 2015-02-10 | Samsung Electronics Co., Ltd. | Graphics processing method and apparatus using post fragment shader |
KR20160004096A (en) * | 2014-07-02 | 2016-01-12 | 삼성전자주식회사 | Mipmap Generation Method and apparatus |
US10438317B2 (en) | 2014-09-12 | 2019-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus for rendering |
KR20170043367A (en) * | 2015-10-13 | 2017-04-21 | 삼성전자주식회사 | The method and apparatus for texture filtering |
CN108022282A (en) * | 2016-11-02 | 2018-05-11 | 三星电子株式会社 | Texture Processing Methods and unit |
Also Published As
Publication number | Publication date |
---|---|
KR101508388B1 (en) | 2015-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10055893B2 (en) | Method and device for rendering an image of a scene comprising a real object and a virtual replica of the real object | |
US9177414B2 (en) | Apparatus and method for rendering point cloud using voxel grid | |
US7167171B2 (en) | Methods and apparatuses for a polygon binning process for rendering | |
TWI528328B (en) | 3d texture mapping method, apparatus with function for selecting level of detail by image content and computer readable storage medium storing the method | |
US20100188404A1 (en) | Single-pass bounding box calculation | |
US8072456B2 (en) | System and method for image-based rendering with object proxies | |
KR101508388B1 (en) | Apparatus and method for generating mipmap | |
EP2674918B1 (en) | Integration cone tracing | |
CN108154553A (en) | The seamless integration method and device of a kind of threedimensional model and monitor video | |
CN107808388B (en) | Image processing method and device containing moving object and electronic equipment | |
US20130314420A1 (en) | Ray tracing core and method for processing ray tracing | |
Lecocq et al. | Sub-pixel shadow mapping | |
KR102477265B1 (en) | Graphics processing apparatus and method for determining LOD (level of detail) for texturing of graphics pipeline thereof | |
TWI417808B (en) | Reconstructable geometry shadow mapping method | |
KR20170025099A (en) | Method and apparatus for rendering | |
US6346939B1 (en) | View dependent layer ordering method and system | |
US10176600B2 (en) | Texture processing method and unit | |
KR101227155B1 (en) | Graphic image processing apparatus and method for realtime transforming low resolution image into high resolution image | |
Kunert et al. | Efficient point cloud rasterization for real time volumetric integration in mixed reality applications | |
EP2908289B1 (en) | Information processing apparatus, generation method, program, and storage medium | |
KR100848687B1 (en) | 3-dimension graphic processing apparatus and operating method thereof | |
Tan et al. | RTSDF: Real-time signed distance fields for soft shadow approximation in games | |
US7372466B2 (en) | Image processing apparatus and method of same | |
CN101620743A (en) | Graphics processing with hidden surface removal | |
CN110738719A (en) | Web3D model rendering method based on visual range hierarchical optimization |
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 | ||
FPAY | Annual fee payment |
Payment date: 20190214 Year of fee payment: 5 |