KR101508388B1 - 밉맵 생성 장치 및 방법 - Google Patents

밉맵 생성 장치 및 방법 Download PDF

Info

Publication number
KR101508388B1
KR101508388B1 KR20080127009A KR20080127009A KR101508388B1 KR 101508388 B1 KR101508388 B1 KR 101508388B1 KR 20080127009 A KR20080127009 A KR 20080127009A KR 20080127009 A KR20080127009 A KR 20080127009A KR 101508388 B1 KR101508388 B1 KR 101508388B1
Authority
KR
South Korea
Prior art keywords
mipmap
texel
result
value
coordinates
Prior art date
Application number
KR20080127009A
Other languages
English (en)
Other versions
KR20100068603A (ko
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 KR20080127009A priority Critical patent/KR101508388B1/ko
Publication of KR20100068603A publication Critical patent/KR20100068603A/ko
Application granted granted Critical
Publication of KR101508388B1 publication Critical patent/KR101508388B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

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

Abstract

본 발명은 밉맵 생성 장치 및 방법에 관한 것이다. 본 발명에 따르면, 독출할 밉맵의 양이 많은 경우에도 메모리 액세스로 인한 병목 현상을 줄일 수 있다. 본 발명에 따르면, 메모리 액세스의 병목 현상을 줄여, 텍스쳐 필터링의 속도가 증가하고 전체적인 그래픽 가속 성능이 향상될 수 있다.
밉맵, 텍셀, LOD

Description

밉맵 생성 장치 및 방법{Apparatus and method for generating mipmap}
본 발명은 밉맵 생성 장치 및 방법에 관한 것이다.
3차원 그래픽 시스템에서 보다 현실감 있는 영상을 얻기 위한 방법으로 텍스쳐 맵핑(texture mapping) 기술이 이용된다. 텍스쳐 맵핑이란 3차원 물체의 표면에 질감을 주기 위해 실제 카메라로부터 촬영된 2차원 이미지를 물체 표면에 입히는 것을 말하며, 텍스쳐(texture)란 2차원 이미지를 말하고, 텍스쳐 내의 각 점들은 스크린 상의 픽셀(pixel)에 대응하여 텍셀(texel)이라 부른다.
이 기술을 적용함에 있어서, 계산량을 줄이기 위해 2차원 이미지, 즉 텍스쳐를 3차원 물체의 표면 위에 입힌 후, 2차원의 스크린 위로 투영시키는 것이 아니고 일반적으로 2차원 스크린에 투영된 이미지의 각 픽셀로부터 이들의 3차원 공간상의 물체 표면의 구한 후, 이에 해당하는 2차원 텍스쳐 좌표를 계산해서 해당되는 텍셀을 찾아 스크린 상의 픽셀을 정한다.
이러한 텍스쳐 맵핑 기술은 스크린 상에 표시되는 한 픽셀에 맵핑되는 텍스쳐 공간상의 영역이 정확히 한 텍셀 영역으로 맵핑되지 않기 때문에 화면에 에이리어징 현상을 일으킨다. 예를 들어, 2차원 디스플레이 상으로 투영된 도로와 같은 경우, 관측자에 가까운 픽셀들이 텍스쳐 공간상에 하나의 텍셀로 맵핑된다면, 관측자로부터 먼 영역의 픽셀은 텍스쳐 공간상에서 여러 개의 텍셀 영역으로 맵핑되므로, 이 때 여러 개의 텍셀 값을 대표하는 텍스쳐 값을 가져와 디스플레이 상의 한 픽셀 값으로 맵핑시켜주지 않으면 영상이 일그러지게 된다.
상술한 텍스쳐 필터링은 많은 시간을 요구하므로, 이를 좀 더 빠르게 수행하기 위한 방법으로 밉맵핑 방법을 많이 사용한다.
밉맵핑 방법은 원래 텍스쳐 이미지, 예컨대 LOD(Level Of Detail) 0의 이미지를 프리필터링(prefiltering) 및 서브샘플링(subsampling)하여 여러 LOD 레벨의 텍스쳐(mipmap)을 만들어 두고, 현재 화면상에 뿌려진 픽셀이 텍스쳐 공간으로 맵핑될 때 계산되어지는 LOD 및 그 (u,v) 좌표 값에 의해 밉맵핑 상의 적절한 LOD 레벨들로부터 필요로 하는 텍셀을 가져와 화면에 제공하는 방식이다.
본 발명은 프리필터링을 거친 여러 LOD 레벨의 밉맵을 메모리에 저장하고 밉맵을 사용할 때마다 메모리에서 텍스쳐 캐쉬(texture cache)로 독출함으로써 발생하는 메모리 액세스의 병목 현상(bottleneck)을 줄일 수 있는 밉맵 생성 장치 및 방법을 제공하기 위한 것이다.
본 발명의 일 실시예에 따른 밉맵 생성 장치는 상이한 LOD(Level Of Detail)의 적어도 하나의 밉맵(mipmap)을 저장하는 저장부; 상기 밉맵 중 결과 밉맵의 LOD보다 1단계 낮은 LOD의 기초 밉맵을 검출하는 검출부; 상기 결과 밉맵의 어느 하나의 텍셀(texel) 좌표에 대응하는 상기 기초 밉맵의 다수의 텍셀 좌표를 결정하는 좌표 결정부; 및 상기 기초 밉맵의 다수의 텍셀 좌표의 텍셀값으로부터 상기 결과 밉맵의 텍셀 좌표의 텍셀값을 계산하는 연산부;를 포함한다.
본 발명의 일 실시예에 따른 밉맵 생성 방법은 저장된 밉맵 중 결과 밉맵의 LOD보다 1단계 낮은 LOD의 기초 밉맵을 검출하는 단계; 상기 기초 밉맵이 검출된 경우, 상기 결과 밉맵의 어느 하나의 텍셀 좌표에 대응하는 상기 기초 밉맵의 다수의 텍셀 좌표를 결정하는 단계; 및 상기 기초 밉맵의 다수의 텍셀 좌표의 텍셀값으로부터 상기 결과 밉맵의 텍셀 좌표의 텍셀값을 계산하는 단계;를 포함한다.
상술한 본 발명의 일 실시예에 따른 밉맵 생성 방법은 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 기록될 수 있다.
본 발명에 따르면, 독출할 밉맵의 양이 많은 경우에도 메모리 액세스로 인한 병목 현상을 줄일 수 있다.
본 발명에 따르면, 메모리 액세스의 병목 현상을 줄여, 텍스쳐 필터링의 속도가 증가하고 전체적인 그래픽 가속 성능이 향상될 수 있다.
이하, 첨부한 도면을 참조하여 본 발명의 일 실시예를 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 밉맵 생성 장치(10)의 블럭도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 밉맵 생성 장치(10)는 상이한 LOD의 적어도 하나의 밉맵(mipmap)을 저장하는 저장부(11), 상기 밉맵 중 결과 밉맵의 LOD보다 1단계 낮은 LOD(Level Of Detail)의 기초 밉맵을 검출하는 검출부(12), 상기 결과 밉맵의 어느 하나의 텍셀(texel) 좌표에 대응하는 상기 기초 밉맵의 다수의 텍셀 좌표를 결정하는 좌표 결정부(13). 상기 기초 밉맵의 다수의 텍셀 좌표의 텍셀값으로부터 상기 결과 밉맵의 텍셀 좌표의 텍셀값을 계산하는 연산부(14) 및 상기 계산된 결과 밉맵의 텍셀값 및 외부에 기저장된 결과 밉맵의 텍셀값 중 어느 하나를 선택하는 선택부(15)를 포함한다.
이하, 도 1에 도시된 본 발명의 일 실시예에 따른 밉맵 생성 장치(10)의 동작을 도 6에 도시된 본 발명의 일 실시예에 따른 밉맵 생성 방법을 설명하는 흐름도와 결부시켜 설명하기로 한다.
상기 저장부(11)는 상이한 LOD의 적어도 하나의 밉맵을 저장한다. 상기 저장 부(11)는 동일한 텍스쳐를 나타내는 서로 다른 LOD의 밉맵(예컨대 동일한 문양의 서로 다른 크기에 해당하는 밉맵) 또는 다른 텍스쳐를 나타내는 여러 밉맵(예컨대 다른 문양을 표현하는 서로 다른 밉맵들) 등을 저장한다.
바람직하게, 상기 저장부(11)는 데이터를 독출하는 시간이 짧은 캐쉬 메모리일 수 있다. 이 경우, 상기 저장부(11)는 외부의 별도의 메모리, 예컨대 하드디스크에 저장된 다수의 밉맵으로부터 현재 사용되고 있는 또는 사용할 밉맵을 독출하여 임시적으로 저장할 수 있다.
상기 검출부(12)는 상기 저장부(11)에 저장된 밉맵 중 결과 밉맵의 LOD보다 1단계 낮은 LOD인 기초 밉맵을 검출한다(단계S61).
본 발명의 상세한 설명 전반에 걸쳐 사용하는 용어 "결과 밉맵"은 본 발명의 밉맵 생성 장치(10)가 본 발명의 기술적 특징을 적용하여 최종적으로 생성하고자 하는 밉맵을 의미한다. 즉, 본 발명의 밉맵 생성 장치(10)는 후술할 밉맵 생성 과정을 통해 결과 밉맵을 생성하고, 이를 화면에 밉맵핑시킬 수 있다.
또한, 본 발명의 상세한 설명 전반에 걸쳐 사용하는 용어 "기초 밉맵"은 상기 결과 밉맵을 생성하기 위해 소스로서 사용하는 밉맵을 의미한다. 즉, 본 발명의 밉맵 생성 장치(10) 및 방법은 상기 기초 밉맵으로부터 소정의 데이터를 가져와 상기 결과 밉맵의 데이터를 생성한다.
본 발명의 일 실시예에 따르면, 상기 기초 밉맵은 상기 결과 밉맵보다 LOD가 1단계 낮은 밉맵이다. 즉, 상기 기초 밉맵은 상기 결과 밉맵과 동일한 텍스쳐를 구현하지만, LOD가 1단계 낮아 한 픽셀에 대응되는 텍셀의 수가 결과 밉맵의 텍셀 수 보다 더 작다.
상기 검출부(12)는 생성하고자 하는 결과 밉맵과 동일한 텍스쳐를 구현하며 LOD가 1단계 낮은 밉맵인 기초 밉맵이 저장되어 있는지 검출한다.
상기 검출부(12)가 상기 기초 밉맵을 검출하는 경우(단계S62), 후술하는 바와 같이 좌표 결정부(13) 및 연산부(14)에 의해 결과 밉맵의 데이터를 생성할 수 있다. 하지만, 상기 검출부(12)가 상기 기초 밉맵을 검출하지 못하는 경우, 예를 들어 상기 저장부(11)에 기초 밉맵이 저장되어 있지 않은 경우에는 결과 밉맵 데이터를 생성하지 않고 하드디스크와 같은 외부 저장 매체로부터 필요한 결과 밉맵을 독출하여 사용할 수 있다(단계S64).
상기 좌표 결정부(13)는 상기 결과 밉맵의 어느 하나의 텍셀 좌표에 대응하는 상기 기초 밉맵의 다수의 텍셀 좌표를 결정한다(단계S63). 상기 검출부(12)가 상기 저장부(11)에 기초 밉맵이 저장되어 있음을 검출하는 경우, 상기 좌표 결정부(13)는 생성할 결과 밉맵을 구성하는 어느 하나의 텍셀에 대응하는 상기 기초 밉맵의 텍셀들의 좌표를 결정한다.
상기 기초 밉맵이 상기 결과 밉맵보다 LOD가 낮으므로 상기 결과 밉맵의 텍셀 하나에 대응하는 기초 밉맵의 텍셀은 다수 개일 수 있다.
상기 좌표 결정부(13)가 결정한 상기 기초 밉맵의 다수의 텍셀 좌표를 통해, 해당 좌표의 기초 밉맵의 텍셀값을 독출하고, 그로부터 결과 밉맵의 텍셀값을 계산할 수 있다.
상기 연산부(14)는 상기 좌표 결정부(13)가 결정한 상기 기초 밉맵의 다수의 텍셀 좌표에 대한 텍셀값으로부터 상기 결과 밉맵의 텍셀 좌표의 텍셀값을 계산한다(단계S65). 본 발명의 일 실시예에 따르면, 상기 연산부(14)는 상기 기초 밉맵의 다수의 텍셀 좌표의 텍셀값의 평균을 계산하고, 계산된 평균값을 상기 결과 밉맵의 텍셀 값으로 결정할 수 있다.
실시예에 따라, 상기 연산부(14)는 평균값 대신 중간값을 계산하여 상기 결과 밉맵의 텍셀값을 결정할 수 있다.
이하, 도 2 내지 도 3을 참조하여 본 발명의 일 실시예에 따른 밉맵 생성 과정을 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 결과 밉맵 생성 과정을 설명하는 예시도이다.
도 2에 도시된 바와 같이, 상기 결과 밉맵(21)은 상기 기초 밉맵(22)의 데이터를 기반으로 생성할 수 있다.
상술한 바와 같이, 상기 결과 밉맵(21)과 상기 기초 밉맵(22)은 동일한 텍스쳐를 구현하는 밉맵이며, 도면 상단에 표시된 바와 같이, 상기 기초 밉맵(22)의 LOD(n-1)은 상기 결과 밉맵(21)의 LOD(n)보다 1단계 낮은 LOD 레벨을 가진다.
본 발명의 일 실시예에 따르면, 어느 한 좌표축, 예컨대 가로축인 u축 또는 세로축인 v축에 대한 상기 기초 밉맵(22)의 텍셀 좌표의 수는 상기 결과 밉맵(21)의 텍셀 좌표의 수의 두 배일 수 있다.
예를 들어, 도 2에 도시된 바와 같이, 상기 결과 밉맵(21)은 2X2의 텍셀로 구성될 수 있으며, 상기 기초 밉맵(22)은 4X4의 텍셀로 구성될 수 있다. 즉, 상기 기초 밉맵(22)의 텍셀은 각각 u축과 v축에 대해서 상기 결과 밉맵(21)의 텍셀의 두 배이다.
본 발명의 일 실시예에 따르면, 상기 결과 밉맵(21)의 텍셀 좌표값 및 상기 기초 밉맵(22)의 텍셀 좌표값은 비트값으로 표현될 수 있다.
예를 들어, 도 2에 도시된 바와 같이, 상기 결과 밉맵(21) 및 상기 기초 밉맵(22)을 구성하는 각각의 텍셀의 u,v 좌표값은 비트값으로 표현될 수 있다.
상기 결과 밉맵(21)은 2X2의 텍셀로 구성되므로, 상기 결과 밉맵(21)의 텍셀 좌표는 1 비트로 표현될 수 있다. 도 2에서는 상기 결과 밉맵(21)의 좌측 상단의 텍셀을 원점 (0,0)으로 하여, 그 우측으로 갈수록 u 좌표의 비트값은 증가하며, 아래로 갈수록 v 좌표의 비트값은 증가할 수 있다.
반면, 상기 기초 밉맵(22)은 4X4의 텍셀로 구성되므로, 상기 기초 밉맵(22)의 텍셀 좌표는 2 비트로 표현될 수 있다. 도 2에서는 상기 기초 밉맵(22)의 좌측 상단의 텍셀을 원점 (00,00)으로 하여, 그 우측으로 갈수록 u 좌표의 비트값은 1씩 증가하며, 아래로 갈수록 v 좌표의 비트값은 1씩 증가할 수 있다.
본 발명의 밉맵 생성 장치(10) 및 방법은 상기 검출부(12)가 상기 저장부(11)에 상기 기초 밉맵(22)이 저장되어 있음을 검출하는 경우, 상기 좌표 결정부(13)에 의해, 생성할 상기 결과 밉맵(21)의 어느 하나의 텍셀 좌표에 대응하는 상기 기초 밉맵(22)의 텍셀 좌표를 결정할 수 있다.
예를 들어, 도 2의 상기 결과 밉맵(21)을 생성하기 위해서는 모두 네 개의 텍셀값을 결정해야하며, 이 중 좌표 (1,1)에 해당하는 결과 밉맵(21)의 텍셀(23)의 텍셀값을 결정하는 과정을 설명하기로 한다.
상기 좌표 결정부(13)는 상기 생성할 결과 밉맵(21)의 텍셀인 (1,1) 좌표의 텍셀(23)에 대응하는 기초 밉맵(22)의 텍셀 좌표를 결정한다. 상기 결과 밉맵(21)의 (1,1) 좌표의 텍셀(23)에 대응하는 기초 밉맵(22)의 텍셀은 좌표 (10,10), (11,10), (10,11), (11,11)의 텍셀들(24, 25, 26, 27)이다.
상기 기초 밉맵(22)은 상기 결과 밉맵(21)에 비해 두 배로 스케일링된 밉맵이므로, 결과 밉맵(21)의 어느 하나의 텍셀에 대응하는 기초 밉맵(22)의 텍셀은 총 네 개가 될 수 있다.
본 발명의 일 실시예에 따르면, 상기 좌표 결정부(13)는 상기 결과 밉맵(21)의 텍셀 좌표값에 해당되는 비트값의 뒷자리에 0 또는 1의 비트값을 추가하여 기초 밉맵(22)의 텍셀 좌표값을 결정할 수 있다.
도 3은 본 발명의 일 실시예에 따라 결과 밉맵(21)의 텍셀 좌표값으로부터 기초 밉맵(22)의 텍셀 좌표값을 결정하는 과정을 설명하는 예시도이다.
도 3에 도시된 바와 같이, 도 2의 결과 밉맵(21)의 (1,1)의 텍셀(23)은 u 좌표의 비트값(31)이 1이고 v 좌표의 비트값(32)이 1이다.
본 발명의 일 실시에에 따르면, 상기 좌표 결정부(13)는 상기 결과 밉맵(21)의 u 좌표 비트값(31)과 v 좌표 비트값(32)의 뒷자리에 0 또는 1의 비트값을 추가하여 기초 밉맵(22)의 텍셀 좌표값을 생성할 수 있다.
즉, 상기 결과 밉맵(21)의 텍셀 좌표값을 1 비트 앞으로 시프트하고, 뒷자리에 0 또는 1을 추가하여 총 2 비트의 기초 밉맵(22)의 좌표값을 생성한다.
그 결과, 도 3에 도시된 바와 같이, 기초 밉맵(22)의 텍셀 좌표는 2 비트로 구성되며, 이 중 앞자리 비트(33, 35)는 상기 결과 밉맵(21)의 텍셀 좌표값이 앞으로 시프트된 비트값이고, 뒷자리 비트(34, 36)은 새로 추가된 비트값이다.
상기 좌표 결정부(13)는 0과 1 두 개의 비트값을 각각 추가하므로 생성되는 기초 밉맵(21)의 텍셀 좌표의 개수는 결과 밉맵(21)의 텍셀 좌표의 두 배가 된다.
따라서, 도 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)을 결정한다.
최종적으로 기초 밉맵(22)의 (u,v) 텍셀 좌표값은 상기 결정된 각각의 u 좌표 2개와 v 좌표 2 개를 조합하여 4 개의 (u,v) 좌표값으로 구할 수 있다. 예를 들어, 도 3에서 결정된 기초 밉맵(22)의 (u,v) 텍셀 좌표는 각각 (10,10), (10,11), (11,10), (11,11) 네 개로 구성된다.
상기 구해진 네 개의 텍셀 좌표는 도 2의 기초 밉맵(22)의 네 개의 텍셀(24, 25, 26, 27)에 대응하는 것을 확인할 수 있다.
상술한 과정을 통해 본 발명의 좌표 결정부(13)는 결과 밉맵(21)의 어느 하나의 텍셀에 대응하는 기초 밉맵(22)의 다수의 텍셀의 좌표값을 결정할 수 있다.
상기 연산부(14)는 상기 좌표 결정부(13)에서 결정된 상기 기초 밉맵(22)의 다수의 텍셀 좌표에 해당하는 텍셀의 텍셀값의 평균을 계산할 수 있다. 상기 계산된 평균값은 상기 결과 밉맵(21)의 텍셀값으로 결정된다.
예를 들어, 상기 연산부(14)는 도 2의 결과 밉맵(21)의 (1,1)에 해당하는 텍셀(23)의 텍셀값을 기초 밉맵(22)의 대응하는 다수의 좌표 (10,10), (11,10), (10,11), (11,11)의 텍셀(24, 25, 26, 27)의 텍셀값들의 평균으로 결정할 수 있다.
실시예에 따라, 상기 연산부(14)는 상기 기초 밉맵(22)의 다수의 텍셀 좌표에 해당하는 텍셀의 텍셀값의 중간값을 계산하여, 결과 밉맵(21)의 텍셀값으로 결정할 수 있다.
이러한 과정을 상기 결과 밉맵(21)의 모든 좌표의 텍셀, 예컨대 도 2의 좌표 (0,0), (1,0), (0,1), (1,1)의 텍셀 모두에 대해 수행하여 결과 밉맵(21)을 생성할 수 있다.
그 결과, 본 발명에 따르면, 동일한 텍스쳐에 대한 여러 LOD의 밉맵들을 모두 외부 하드 디스크로부터 독출할 필요 없이 근접한 LOD, 예컨대 1단계 낮은 LOD의 밉맵으로부터 연산을 통해 밉맵을 획득하여, 메모리 액세스에 따른 병목 현상을 방지할 수 있다.
상술한 결과 밉맵(21)의 생성은 LOD가 1단계 낮은 밉맵으로부터 연산을 통해 수행되었지만, 실시예에 따라, 하나 이상의 단계가 낮은 밉맵으로부터 연산을 통해 수행될 수도 있다.
하지만, 과도한 레벨 차이가 나는 기초 밉맵으로부터 연산을 통해 결과 밉맵을 생성하는 경우, 구현되는 텍스쳐가 일그러질 수 있다. 바람직하게, 본 발명의 생성 과정은 LOD가 1단계 낮은 밉맵에 대해 적용하고, 그 이상의 레벨 차이가 나는 밉맵에 대해서는 외부의 하드 디스크로부터 독출하여 사용할 수 있다.
본 발명의 다른 실시예에 따르면, 상기 선택부(15)는 상기 계산된 결과 밉맵(21)의 텍셀값과 외부에 기저장된 결과 밉맵의 텍셀값 중 어느 하나를 선택할 수 있다(단계S66).
예를 들어, 상기 선택부(15)는 상기 계산된 결과 밉맵(21)의 텍셀값이 주변의 다른 텍셀값과 큰 차이가 있어 텍스쳐가 일그러질 수 있는 경우에는 외부에 저장된 기생성된 결과 밉맵의 텍셀값을 직접 독출하여 사용할 수 있다.
도 4 내지 도 5는 본 발명의 일 실시예에 따른 밉맵 생성 방법을 통해 생성할 수 있는 밉맵을 설명하는 예시도이다.
일 실시예에서는, 오브젝트(41)와 관찰자 간의 거리가 멀어짐에 따라 오브젝트(41)에 구현된 도트 무늬의 텍스쳐를 원근감있게 구현하기 위해 보다 높은 LOD의 밉맵이 요구된다.
예를 들어, 도 4의 (a)의 오브젝트(41)의 도트 무늬 질감을 구현하기 위해 LOD(2)의 밉맵이 상기 저장부(11)에 저장되어 사용되고 있었다면, 오브젝트(41)와의 거리가 (a)에서보다 더 멀어진 (b)의 경우를 구현하기 위해 더 높은 LOD인 LOD(3)의 밉맵을 외부 저장매체인 하드디스크로부터 독출해야 한다.
하지만, 본 발명에 따르면 (b)의 오브젝트(42)의 도트 무늬 질감을 구현하기 위해, (a)의 오브젝트(41)에 사용되었던 LOD(2)의 도트 무늬 밉맵의 텍셀값으로부터(즉, 기초 밉맵의 텍셀값) 연산을 통해 LOD(3)의 도트 무늬 밉맵(즉, 결과 밉맵)을 생성할 수 있다.
따라서, LOD가 다른 밉맵을 사용하기 위해 매번 외부 하드디스크로부터 필요 한 밉맵을 독출할 필요가 없어 메모리 액세스에 기인한 병목 현상을 줄일 수 있다.
다른 실시예에 대해서, 본 발명은 관찰자의 시점이 변경되는 대신 서로 다른 거리에 있는 동일한 오브젝트의 구현에 사용될 수 있다.
도 5는 동일한 문양의 벽지가 부착된 복도를 바라본 모습을 나타낸다. 관찰자가 복도의 일 지점에 위치하고 복도의 끝을 바라보고 있는 경우, 관찰자에게 가까운 벽의 무늬(51)에 대해서는 하나의 픽셀에 적은 수의 텍셀이 대응될 수 있다. 하지만, 관찰자로부터 멀어질수록 벽의 무늬(52)는 하나의 픽셀에 보다 많은 텍셀이 대응되며, 그 결과 더 높은 레벨의 LOD의 밉맵이 요구된다.
이 경우, 가까운 벽의 무늬(51)를 구현하기 위해 LOD(4)의 밉맵을 외부 하드 디스크로부터 독출하여 상기 저장부(11)에 저장시킨 후 밉맵핑하여 사용한 경우, 멀리 떨어진 벽의 무늬(52)를 구현하기 위해 별도로 외부 하드 디스크로부터 LOD(5)의 밉맵을 독출하지 않을 수 있다.
즉, 본 발명에 따르면 상기 저장부(11)에 기존재하는 LOD(4)의 밉맵을 기초 밉맵으로 하여 좌표 결정 및 연산을 통해 LOD(5)의 결과 밉맵을 생성하여 이를 밉맵핑할 수 있다.
그 결과 본 발명에 따르면, 1단계 높은 LOD의 밉맵으로부터 새로운 밉맵을 생성하여, 메모리 액세스에 따른 병목 현상을 줄일 수 있으며, 텍스쳐 필터링이 빨라져 전반적인 그래픽 가속 성능이 향상되는 효과가 있다.
이상 실시예를 통해 본 발명을 설명하였으나, 위 실시예는 단지 본 발명의 사상을 설명하기 위한 것이며, 이에 한정되지 않는다. 당업자는 위에 설명한 실시 예에 다양한 변형이 가해질 수 있음을 이해할 것이다. 본 발명의 범위는 첨부된 특허청구범위의 해석을 통해서만 정해진다.
도 1은 본 발명의 일 실시예에 따른 밉맵 생성 장치(10)의 블럭도이다.
도 2는 본 발명의 일 실시예에 따른 결과 밉맵 생성 과정을 설명하는 예시도이다.
도 3은 본 발명의 일 실시예에 따라 결과 밉맵(21)의 텍셀 좌표값으로부터 기초 밉맵(22)의 텍셀 좌표값을 결정하는 과정을 설명하는 예시도이다.
도 4 내지 도 5는 본 발명의 일 실시예에 따른 밉맵 생성 방법을 통해 생성할 수 있는 밉맵을 설명하는 예시도이다.
도 6은 본 발명의 일 실시예에 따른 밉맵 생성 방법을 설명하는 흐름도이다.

Claims (14)

  1. 상이한 LOD(Level Of Detail)의 적어도 하나의 밉맵(mipmap)을 저장하는 저장부;
    상기 밉맵 중 결과 밉맵의 LOD보다 1단계 낮은 LOD의 기초 밉맵을 검출하는 검출부;
    상기 결과 밉맵의 어느 하나의 텍셀(texel) 좌표에 대응하는 상기 기초 밉맵의 다수의 텍셀 좌표를 결정하는 좌표 결정부;
    상기 기초 밉맵의 다수의 텍셀 좌표의 텍셀값으로부터 상기 결과 밉맵의 텍셀 좌표의 텍셀값을 계산하는 연산부; 및
    상기 계산된 결과 밉맵의 텍셀값 및 기 저장된 결과 밉맵의 텍셀값 중 어느 하나를 선택하는 선택부를 포함하는 밉맵 생성 장치.
  2. 제 1항에 있어서,
    어느 한 좌표축에 대한 상기 기초 밉맵의 텍셀 좌표의 수는 상기 결과 밉맵의 텍셀 좌표의 수의 두 배인 밉맵 생성 장치.
  3. 제 1항에 있어서,
    상기 결과 밉맵의 텍셀 좌표값 및 상기 기초 밉맵의 텍셀 좌표값은 비트값으로 표현되는 밉맵 생성 장치.
  4. 제 3항에 있어서,
    상기 좌표 결정부는 상기 결과 밉맵의 텍셀 좌표값에 해당되는 비트값의 뒷자리에 0 또는 1의 비트값을 추가하여 상기 대응하는 기초 밉맵의 텍셀 좌표값을 결정하는 밉맵 생성 장치.
  5. 제 1항에 있어서,
    상기 연산부는 상기 기초 밉맵의 다수의 텍셀 좌표의 텍셀값의 평균값을 계산하여 상기 결과 밉맵의 텍셀값으로 결정하는 밉맵 생성 장치.
  6. 제 1항에 있어서,
    상기 연산부는 상기 기초 밉맵의 다수의 텍셀 좌표에 해당하는 텍셀의 텍셀값의 중간값을 계산하고, 계산된 중간값을 상기 결과 밉맵의 텍셀값으로 결정하는 밉맵 생성 장치.
  7. 저장된 밉맵 중 결과 밉맵의 LOD보다 1단계 낮은 LOD의 기초 밉맵을 검출하는 단계;
    상기 기초 밉맵이 검출된 경우, 상기 결과 밉맵의 어느 하나의 텍셀 좌표에 대응하는 상기 기초 밉맵의 다수의 텍셀 좌표를 결정하는 단계;
    상기 기초 밉맵의 다수의 텍셀 좌표의 텍셀값으로부터 상기 결과 밉맵의 텍셀 좌표의 텍셀값을 계산하는 단계; 및
    상기 계산된 결과 밉맵의 텍셀값 및 기 저장된 결과 밉맵의 텍셀값 중 어느 하나를 선택하는 단계를 포함하는 밉맵 생성 방법.
  8. 제 7항에 있어서, 상기 기초 밉맵 검출 단계 후,
    상기 기초 밉맵이 검출되지 않은 경우, 외부에 기저장된 결과 밉맵을 독출하여 사용하는 단계를 더 포함하는 밉맵 생성 방법.
  9. 제 7항에 있어서,
    어느 한 좌표축에 대한 상기 기초 밉맵의 텍셀 좌표의 수는 상기 결과 밉맵의 텍셀 좌표의 수의 두 배인 밉맵 생성 방법.
  10. 제 7항에 있어서,
    상기 결과 밉맵의 텍셀 좌표값 및 상기 기초 밉맵의 텍셀 좌표값은 비트값으로 표현되는 밉맵 생성 방법.
  11. 제 10항에 있어서, 상기 기초 밉맵의 텍셀 좌표 결정 단계는
    상기 결과 밉맵의 텍셀 좌표값에 해당되는 비트값의 뒷자리에 0 또는 1의 비트값을 추가하여 상기 대응하는 기초 밉맵의 텍셀 좌표값을 결정하는 단계를 포함하는 밉맵 생성 방법.
  12. 제 7항에 있어서, 상기 결과 밉맵의 텍셀 좌표의 텍셀값 계산 단계는
    상기 기초 밉맵의 다수의 텍셀 좌표의 텍셀값의 평균값을 계산하여 상기 결 과 밉맵의 텍셀값으로 결정하는 단계를 포함하는 밉맵 생성 방법.
  13. 제 7항에 있어서,
    상기 결과 밉맵의 텍셀 좌표의 텍셀값 계산 단계는
    상기 기초 밉맵의 다수의 텍셀 좌표에 해당하는 텍셀의 텍셀값의 중간값을 계산하고, 계산된 중간값을 상기 결과 밉맵의 텍셀값으로 결정하는 단계를 포함하는 포함하는 밉맵 생성 방법.
  14. 제 7항 내지 제 13항 중 어느 한 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록 매체.
KR20080127009A 2008-12-15 2008-12-15 밉맵 생성 장치 및 방법 KR101508388B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20080127009A KR101508388B1 (ko) 2008-12-15 2008-12-15 밉맵 생성 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20080127009A KR101508388B1 (ko) 2008-12-15 2008-12-15 밉맵 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20100068603A KR20100068603A (ko) 2010-06-24
KR101508388B1 true KR101508388B1 (ko) 2015-04-06

Family

ID=42366827

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20080127009A KR101508388B1 (ko) 2008-12-15 2008-12-15 밉맵 생성 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101508388B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103080981B (zh) * 2010-08-27 2016-03-02 矽锂铬艺术有限公司 选择纹理映射水平的方法及利用该方法的材质贴图系统
KR101926570B1 (ko) 2011-09-14 2018-12-10 삼성전자주식회사 포스트 프레그먼트 쉐이더를 사용하는 그래픽 처리 방법 및 장치
KR102282189B1 (ko) * 2014-07-02 2021-07-27 삼성전자 주식회사 밉맵 생성 방법 및 장치
KR102247565B1 (ko) 2014-09-12 2021-05-03 삼성전자 주식회사 렌더링 방법 및 장치
KR102503210B1 (ko) * 2015-10-13 2023-02-23 삼성전자 주식회사 텍스처 필터링하는 방법 및 이를 위한 장치
KR20180048081A (ko) * 2016-11-02 2018-05-10 삼성전자주식회사 텍스쳐 처리 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970017051A (ko) * 1995-09-30 1997-04-28 김광호 그래픽스 시스템의 트라이리니어 텍스쳐 맵핑처리방법 및 장치
KR20010002990A (ko) * 1999-06-19 2001-01-15 윤덕용 3차원 그래픽 텍스쳐 맵핑용 캐쉬 메모리 및 그의 캐쉬 미스페널티 저감방법
KR20020087271A (ko) * 2001-05-15 2002-11-22 한국과학기술원 서브 텍셀 수준의 면적 점유비를 이용한 이방성 텍스춰필터링 방법 및 장치
KR20080108051A (ko) * 2007-06-07 2008-12-11 엔비디아 코포레이션 상주 밉맵 데이터를 이용한 비상주 밉맵 데이터의 보외법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970017051A (ko) * 1995-09-30 1997-04-28 김광호 그래픽스 시스템의 트라이리니어 텍스쳐 맵핑처리방법 및 장치
KR20010002990A (ko) * 1999-06-19 2001-01-15 윤덕용 3차원 그래픽 텍스쳐 맵핑용 캐쉬 메모리 및 그의 캐쉬 미스페널티 저감방법
KR20020087271A (ko) * 2001-05-15 2002-11-22 한국과학기술원 서브 텍셀 수준의 면적 점유비를 이용한 이방성 텍스춰필터링 방법 및 장치
KR20080108051A (ko) * 2007-06-07 2008-12-11 엔비디아 코포레이션 상주 밉맵 데이터를 이용한 비상주 밉맵 데이터의 보외법

Also Published As

Publication number Publication date
KR20100068603A (ko) 2010-06-24

Similar Documents

Publication Publication Date Title
KR101508388B1 (ko) 밉맵 생성 장치 및 방법
JP5437475B2 (ja) 画像における陰影生成方法
US10593096B2 (en) Graphics processing employing cube map texturing
US8330767B2 (en) Method and apparatus for angular invariant texture level of detail generation
US6097397A (en) Anisotropic texture mapping using silhouette/footprint analysis in a computer image generation system
CN100399358C (zh) 图像处理装置及其方法
US7158133B2 (en) System and method for shadow rendering
CN103377486A (zh) 三维贴图处理方法以及装置
CN108154553A (zh) 一种三维模型与监控视频的无缝融合方法及装置
US20080218526A1 (en) System and Method for Image-Based Rendering with Object Proxies
GB2406252A (en) Generation of texture maps for use in 3D computer graphics
US5973701A (en) Dynamic switching of texture mip-maps based on pixel depth value
TWI417808B (zh) 可重建幾何陰影圖的方法
US20170061682A1 (en) Rendering method and apparatus
US7050066B2 (en) Image processing apparatus and image processing program
US6348917B1 (en) Dynamic switching of texture mip-maps based on depth
JP3959862B2 (ja) テクスチャマッピング方法及びその装置
CN108022282B (zh) 纹理处理方法和单元
US6326976B1 (en) Method for determining the representation of a picture on a display and method for determining the color of a pixel displayed
JP2003233836A (ja) モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法
KR101227155B1 (ko) 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법
EP2908289B1 (en) Information processing apparatus, generation method, program, and storage medium
KR100848687B1 (ko) 3차원 그래픽 처리 장치 및 그것의 동작 방법
EP1988510B1 (en) Coordinate Computations for Non-Power of 2 Texture Maps
CN111506680B (zh) 地形数据生成、渲染方法及装置、介质、服务器、终端

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