KR101457216B1 - 텍스쳐 상세 레벨을 산출하기 위한 장치 및 방법 - Google Patents

텍스쳐 상세 레벨을 산출하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR101457216B1
KR101457216B1 KR1020080040965A KR20080040965A KR101457216B1 KR 101457216 B1 KR101457216 B1 KR 101457216B1 KR 1020080040965 A KR1020080040965 A KR 1020080040965A KR 20080040965 A KR20080040965 A KR 20080040965A KR 101457216 B1 KR101457216 B1 KR 101457216B1
Authority
KR
South Korea
Prior art keywords
lod
log
texture
component
term
Prior art date
Application number
KR1020080040965A
Other languages
English (en)
Other versions
KR20080097354A (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 비반테 코포레이션
Publication of KR20080097354A publication Critical patent/KR20080097354A/ko
Application granted granted Critical
Publication of KR101457216B1 publication Critical patent/KR101457216B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • 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

Landscapes

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

Abstract

텍스쳐 상세 레벨을 산출하는 그래픽 처리 시스템이 개시된다. 그래픽 처리 시스템의 일 실시예는 메모리 장치, 드라이버, 및 상세 레벨 산출 로직을 포함한다. 메모리 장치는 제1 룩업 테이블을 구현하도록 구성된다. 제1 룩업 테이블은 제1 상세 레벨 성분을 제공하도록 구성된다. 드라이버는 제2 상세 레벨 성분의 로그 값을 계산하도록 구성된다. 상세 레벨 산출 로직은 메모리 장치 및 드라이버에 연결된다. 상세 레벨 산출 로직은, 룩업 테이블로부터의 제1 상세 레벨 성분 및 드라이버로부터의 제2 상세 레벨 성분에 기초하여 텍스쳐 매핑 연산에 대한 상세 레벨을 산출하도록 구성된다. 그래픽 처리 시스템의 실시예들은 승산 연산, 제곱 연산, 및 제곱근 연산이 아닌 연산들을 이용하여 간단한 하드웨어 구현을 용이하게 한다.
텍스쳐 상세 레벨, 룩업 테이블, 텍스쳐 매핑, 그래픽 처리 시스템

Description

텍스쳐 상세 레벨을 산출하기 위한 장치 및 방법{APPARATUS AND METHOD FOR TEXTURE LEVEL OF DETAIL COMPUTATION}
본 발명은 텍스쳐 상세 레벨을 산출하는 그래픽 처리에 관한 것이다.
비디오 그래픽 애플리케이션에서는, 많은 기술을 이용하여 서로 다른 형상 및 크기의 그래픽 이미지들을 렌더링한다. 통상적으로, 그래픽 이미지들은 삼각형과 같은 수천 개 또는 심지어 수백만 개의 원시 형상들로 이루어진다. 각 삼각형은 자신의 꼭지점들의 좌표들에 의해 정의된다. 그래픽 렌더링의 3차원 양상을 향상시키기 위해, 삼각형들 또는 다른 그림 유닛들의 각각에 텍스쳐를 부가할 수 있다. 텍스쳐 좌표들은 오브젝트가 디스플레이 장치상에서 렌더링될 때 텍스쳐 맵들을 각 오브젝트에 할당하는 데 사용된다. 텍스쳐 맵은 텍스쳐의 표준 블록을 형성하도록 결합된 텍스쳐 요소들(즉, 텍셀)의 어레이이다.
텍스쳐를 렌더링된 오브젝트에 매핑하는 것은 렌더링된 신(scene)에서의 다양한 오브젝트들의 심도(즉, 관찰자에 대한 거리)에 의해 복잡할 수 있다. 렌더링된 오브젝트의 배향도, 텍스쳐를 렌더링된 오브젝트에 매핑하는 복잡성에 영향을 끼칠 수 있다. 게다가, 텍스쳐를 단일 오브젝트에 적용하는 것은 이 오브젝트의 심도 및 배향이 디스플레이 장치상에서 가변되는 경우 복잡할 수 있다.
밉매핑(mipmapping)은 서로 다른 텍스쳐 맵들을 이러한 오브젝트들에 적용하는 데 사용되는 하나의 종래 기술이며, 여기서 각 텍스쳐 맵은 대응하는 상세 레벨(level of detail; LOD)을 갖는다. 밉매핑은 텍스쳐 맵을 프리필터링하고 서로 다른 프리필터링된 버전들을 또는 레벨들을 저장하여 텍스쳐 축소 계산의 복잡성을 줄인다. 텍스쳐 축소는, 다수의 텍셀을 단일 픽셀에 상관시키도록 표준 LOD를 이용하여, 프리필터링된 텍스쳐 맵을 최소화하는 것을 가리키며 상관 이유는 렌더링된 오브젝트가 디스플레이 장치상에서 축소되어 더 멀리 있는 것으로 보이기 때문이다. 대조적으로, 텍스쳐 확대는, 텍스쳐 LOD를 디스플레이 장치상에서 확대되어 관찰자에게 상대적으로 가깝게 보이도록 오브젝트에 상관시키는 것을 가리킨다. 그러나, 텍스쳐 필터링은 텍스쳐 확대를 이용할 수도 있으며 그 이유는 픽셀들이 특정한 텍스쳐 맵의 텍셀들에 대하여 오정렬될 수 있기 때문이라는 점에 주목하기 바란다.
텍스쳐 LOD 산출은 텍스쳐를 특정 렌더링된 오브젝트에 적용하는 데 있어서 어떤 텍스쳐 맵을 이용할지를 결정하도록 구현된다. 일반적으로, 보다 큰 상세를 갖는 텍스쳐 맵(때때로 레벨 0으로 지정됨)이 가까운 오브젝트에 대하여 사용되고, 보다 적은 상세를 갖는 텍스쳐 맵(때때로 레벨 1, 레벨 2, 레벨 3 등으로 지정됨)이 보다 멀리 있는 오브젝트에 대하여 사용된다.
종래의 2차원(2D) 텍스쳐 상세 레벨 산출은, 예상값을 계산하기 위해 2개의 로그 항의 각각에 대하여 2개의 승산 연산, 2개의 제곱 연산, 하나의 가산 연산, 및 하나의 제곱근 연산을 구현한다. 마찬가지로, 종래의 3차원(3D) 텍스쳐 상세 레벨 산출은, 3개의 로그 항의 각각에 대하여 3개의 승산 연산, 3개의 제곱 연산, 2개의 가산 연산, 및 하나의 제곱근 연산을 구현한다. 이러한 산출들은 흔히 32비트 부동점 공간에서 수행되므로, 이러한 종래의 텍스쳐 LOD 산출은 하드웨어로 구현시 비용이 많이 든다.
시스템의 실시예들을 설명한다. 일 실시예에서, 시스템은 텍스쳐 LOD를 산출하는 그래픽 처리 시스템이다. 그래픽 처리 시스템의 일 실시예는 메모리 장치, 드라이버, 및 LOD 산출 로직을 포함한다. 메모리 장치는 제1 룩업 테이블을 구현하도록 구성된다. 제1 룩업 테이블은 제1 LOD 성분을 제공하도록 구성된다. 드라이버는 제2 LOD 성분의 로그값을 계산하도록 구성된다. LOD 산출 로직은 메모리 장치 및 드라이버에 연결된다. LOD 산출 로직은, 룩업 테이블로부터의 제1 LOD 성분 및 드라이버로부터의 제2 LOD 성분에 기초하여 텍스쳐 매핑 연산에 대한 LOD를 산출하도록 구성된다. 그래픽 처리 시스템의 실시예들은 승산 연산, 제곱 연산, 제곱근 연산이 아닌 연산들을 이용하여 간단한 하드웨어 구현을 용이하게 한다. 이 시스템의 다른 실시예들도 설명한다.
방법의 실시예들도 설명한다. 일 실시예에서, 이 방법은 텍스쳐 LOD를 산출하는 방법이다. 이 방법의 일 실시예는 제1 다수의 LOD 성분에 기초하여 제1 로그 항을 산출하는 단계를 포함한다. 제1 로그 항은 텍스쳐 맵의 제1 치수에 대응한다. 제1 다수의 LOD 성분은 승산이 아닌 룩업 및 산술 연산을 이용하여 생성된다. 또한, 이 방법은 제2 다수의 LOD 성분에 기초하여 제2 로그 항을 산출하는 단계를 포함한다. 제2 로그 항은 텍스쳐 맵의 제2 치수에 대응한다. 제2 다수의 LOD 성분은 승산이 아닌 룩업 및 산술 연산을 이용하여 생성된다. 또한, 이 방법은 제1 및 제2 로그 항들의 최대값에 따라 LOD를 산출하는 단계를 포함한다. 이 방법의 다른 실시예들도 설명한다.
장치의 실시예들도 설명한다. 일 실시예에서, 이 장치는 텍스쳐 LOD를 산출하는 장치이다. 이 장치의 일 실시예는 승산 연산, 제곱 연산, 및 제곱근 연산이 아닌 연산들을 이용하여 제1 및 제2 로그 항들을 산출하는 수단을 포함한다. 또한, 이 장치는 제1 및 제2 로그 항들에 기초하여 텍스쳐 LOD를 산출하는 수단을 포함한다. 이 장치의 다른 실시예들도 설명한다.
본 발명의 실시예들의 다른 양태들 및 이점들은 본 발명의 원리를 예시하고 있는 첨부 도면과 함께 다음에 따르는 상세한 설명으로부터 명백해질 것이다.
본 발명에 따르면, 텍스쳐 LOD 산출을 하드웨어로 구현시 비용이 많이 들지 않으며, 그래픽 처리 시스템을 간단하게 하드웨어로 구현할 수 있다.
도 1은 컴퓨터 그래픽 시스템(100)의 일 실시예의 개략적인 블록도이다. 컴퓨터 그래픽 시스템(100)은 후술하는 바와 같이 텍스쳐 매핑 및 LOD 산출을 구현할 수 있다. 도 1에 도시한 바와 같이, 컴퓨터 그래픽 시스템(100)은, 집적 프로세서 회로(102), 메모리 장치(104), 및 디스플레이 모니터(106)를 포함하는 고집적 시스템이다. 일 실시예에서, 메모리 장치(104)는 ROM 및 RAM을 포함한다. 다른 실시예들은 서로 다른 유형들의 메모리 장치들을 포함할 수 있다. 고집적 아키텍처는 전력을 절약할 수 있게 한다. 다른 실시예들은 주변 컨트롤러(도시하지 않음)와 같은 다른 컴포넌트들을 포함할 수 있다.
도시한 집적 프로세서 회로(102)는, 메모리 관리 유닛(MMU; 110)과 하나 이상의 명령 및/또는 데이터 캐시(112)를 포함하는 처리 유닛(CPU; 108)을 포함한다. 집적 프로세서 회로(102)는 메모리 장치(104)에 인터페이싱되는 메모리 인터페이스(114)도 포함한다. 집적 프로세서 회로(102)는 텍스쳐 엔진(118)을 포함하는 그래픽 프로세서(116)도 포함한다. 일 실시예에서, 텍스쳐 엔진(118)은 텍스쳐 파이프라인(130)에 관련되며 보다 상세히 후술되는 하나 이상의 텍스쳐 연산을 구현한다. 특히, 텍스쳐 엔진(118)은 하나 이상의 텍스쳐 맵을 하나의 그래픽 오브젝트에 적용할 수 있다. 텍스쳐 엔진(118)은 LOD 계산에 기초하여 어떤 텍스트 맵을 적용할지를 결정한다. 그래픽 프로세서(116)는 버스(120)에 의해 처리 유닛(108) 및 메모리 인터페이스(114)에 연결된다.
직접 메모리 액세스(DMA) 컨트롤러(122)도 버스(120)에 연결된다. DMA 컨트롤러(122)는, 버스(120)를, 인코더/디코더(CODEC) 인터페이스, 병렬 인터페이스, 직렬 인터페이스, 및 입력 장치 인터페이스와 같은 다른 코어 로직 기능 컴포넌트들(도시하지 않음)이 연결될 수 있는 인터페이스(I/F) 버스(124)에 연결한다. 일 실시예에서, DMA 컨트롤러(122)는 메모리 인터페이스(114)를 통해 메모리 장치(104)에 저장된 데이터에 액세스하여 I/F 버스(124)에 연결된 주변 장치들에게 제공한다. 또한, DMA 컨트롤러(122)는 데이터를 주변 장치들로부터 메모리 인터페이스(114)를 통해 메모리 장치(104)에 전송한다.
일 실시예에서, 그래픽 프로세서(116)는 메모리 인터페이스(114)를 통해 메모리 장치(104)로부터 그래픽 데이터를 요청하고 이 데이터에 액세스한다. 이후, 그래픽 프로세서(116)는 이 데이터를 처리하고, 처리한 데이터를 포맷하며, 포맷한 데이터를 디스플레이 장치(106)에 전송한다. 일부 실시예들에서, 디스플레이 장치(106)는 액정 디스플레이(LCD), 음극선관(CRT), 또는 텔레비전(TV) 모니터일 수 있다. 컴퓨터 그래픽 시스템(100)의 다른 실시예들은 몇 개의 컴포넌트들을 포함할 수 있고 몇 개의 연산들을 구현할 수 있다.
도 2는 다수의 LOD에 대응하는 다수의 텍스쳐 맵(130)의 일 실시예의 개략적인 도면이다. 특히, 다수의 텍스쳐 맵(130)은 텍셀들의 16x16 어레이를 포함하는 고 해상도 텍스쳐 맵(132)을 포함한다. 또한, 다수의 텍스쳐 맵(130)은 하나의 텍셀인 저 해상도 텍스쳐 맵(139)을 포함한다. 고 해상도 텍스쳐 맵(132) 및 저 해상도 텍스쳐 맵(139) 사이에는, 해상도가 상이한 여러 개의 중간 텍스쳐 맵들(134, 136, 138)이 존재한다. 예를 들어, 텍스쳐 맵(134)은 텍셀들의 8x8 어레이를 포함하고, 텍스쳐 맵(136)은 텍셀들의 4x4 어레이를 포함하며, 텍스쳐 맵(138)은 텍셀들의 2x2 어레이를 포함한다.
다수의 텍스쳐 맵(130)의 각각은 LOD에 대응하며 그 이유는 텍스쳐 표현의 상세가 다수의 텍스쳐 맵(130) 중에서 가변되기 때문이다. 예를 들어, 고 해상도 텍스쳐 맵(132)은 제1 중간 텍스쳐 맵(134)보다 많은 텍스쳐 상세를 갖는다. 따라서, 고 해상도 텍스쳐 맵(132)은 매우 상세한 텍스쳐들을, 디스플레이 장치(106) 상에서 관찰자에게 가까운 것으로 표현되는 오브젝트에 또는 오브젝트의 일부에 매핑하는 데 사용될 수 있다. 마찬가지로, 제1 중간 텍스쳐 맵(134)은 제2 중간 텍스쳐 맵(136)보다 많은 텍스쳐 상세를 갖고, 제2 중간 텍스쳐 맵(136)은 제3 중간 텍스쳐 맵(138)보다 많은 텍스쳐 상세를 갖고, 제3 중간 텍스쳐 맵(138)은 저 해상도 텍스쳐 맵(139)보다 많은 텍스쳐 상세를 갖는다. 따라서, 저 해상도 텍스쳐 맵(139)은 저 상세 텍스쳐들을 디스플레이 장치(106) 상에서 관찰자로부터 멀리 떨어져 있는 것으로 표현되는 오브젝트에 또는 오브젝트의 일부에 매핑하는 데 사용될 수 있다. 다수의 텍스쳐 맵(130)을 생성하는 것은, 압축, 보간, 필터링 등을 비롯하여 알려져 있는 다양한 텍스쳐 맵 생성 기술들을 이용하여 수행될 수 있다.
고 해상도 텍스쳐 맵(132)은 다수의 텍스쳐 맵(13) 중 가장 상세한 텍스쳐를 나타내기 때문에, 고 해상도 텍스쳐 맵(132)은 레벨 0으로 지정될 수 있다. 마찬가지로, 제1 중간 텍스쳐 맵(134)은 레벨 1로 지정될 수 있고, 제2 중간 텍스쳐 맵(136)은 레벨 2로 지정될 수 있고, 제3 중간 텍스쳐 맵(138)은 레벨 3으로 지정 될 수 있고, 저 해상도 텍스쳐 맵(139)은 레벨 4로 지정될 수 있다. 또한, LOD 산출로부터의 다양한 값들은 레벨들 또는 텍스쳐 맵들의 각각에 대응할 수 있다. 이러한 방식으로, LOD 산출은, 디스플레이 장치(106) 상에서 표현되는 오브젝트 또는 오브젝트의 일부를 텍스쳐링하는 데 사용될 다수의 텍스쳐 맵(130) 중 하나를 선택하는 데 사용될 수 있다.
도 3은 텍스쳐 엔진(118)에서 구현하기 위한 텍스쳐 매핑 파이프라인의 일 실시예의 개략적인 블록도이다. 예시한 텍스쳐 매핑 파이프라인은, 셰이더(140), 텍스쳐 좌표 생성기(142), 텍스쳐 어드레스 생성기(144), 텍스쳐 캐시(146), 및 텍스쳐 필터(148)를 포함한다. 그러나, 텍스쳐 매핑 파이프라인의 다른 실시예들을 텍스쳐 엔진(118)의 다른 실시예들에서 구현할 수 있다. 또한, 여기서 설명하는 스테이지들 중 일부는 그래픽 프로세서(116)의 다른 컴포넌트들에 의해 적어도 부분적으로 구현될 수 있다.
일 실시예에서, 셰이더(140)는 디스플레이 장치(106) 상에서 렌더링될 삼각형(또는 다른 그림 오브젝트)에 대응하는 픽셀 좌표들을 수신한다. 이에 따라, 텍스쳐 좌표 생성기(142)는 픽셀 좌표들에 대응하는 텍스쳐 좌표들을 생성한다. 일 실시예에서, 텍스쳐 좌표 생성기(142)는 후술하는 바와 같이 LOD 산출을 구현한다. 이후, 텍스쳐 어드레스 생성기(144)는 LOD 산출에 대응하는 텍스쳐 맵의 메모리 어드레스를 결정한다. 텍스쳐 어드레스 생성기(144)는 텍스쳐 맵 어드레스를 텍스쳐 캐시(146)에 전송하고, 이 캐시는 요구된 텍스쳐 맵이 캐시 또는 다른 메모리 장치에 저장되어 있는지 여부를 결정한다. 텍스쳐 맵이 다른 메모리 장치에 저장되어 있다면, 텍스쳐 캐시(146)는 메모리 장치로부터 요구된 데이터를 검색하여 텍스쳐 캐시(146)에 저장한다. 이후, 텍스쳐 캐시(146)는 요구된 텍스쳐 맵의 카피를 텍스쳐 필터(148)에 제공한다.
텍스쳐 필터(148)는 텍스쳐 맵의 텍셀들을 디스플레이 장치(106)의 대응하는 픽셀들의 각각에 상관시킨다. 일부 실시예들에서, 텍셀들 및 픽셀들 간에는 크기 및 위치 면에서 일대일의 상관이 존재한다. 다른 방안으로, 텍셀들 및 픽셀들 간에 크기 면에서 일대일 상관이 존재할 수 있지만, 그럼에도 불구하고 텍스쳐 필터(148)는 텍스쳐 필터링을 수행하는데 그 이유는 텍셀들의 위치가 픽셀들의 위치와 정렬되지 않기 때문이다. 다른 실시예들에서, 텍셀 크기들은 픽셀 크기들과 다르며, 이에 따라 텍스쳐 필터(148)는 요구된 텍스쳐 맵의 텍셀들을 디스플레이 장치(106)의 픽셀들에 상관시키도록 확대 또는 축소를 구현한다. 텍스쳐 필터(148)의 다른 실시예들은 다른 유형들의 텍스쳐 필터링을 구현할 수 있다.
도 4는 LOD 산출 아키텍처(150)의 일 실시예의 개략적인 블록도이다. 예시한 LOD 산출 아키텍처(150)는 LOD 산출 로직(152) 및 룩업 로직(154)을 포함한다. 일 실시예에서, 룩업 로직(154)은 적어도 하나의 로그 룩업 테이블(156) 및 적어도 하나의 함수 룩업 테이블(158)을 포함한다. 이러한 룩업 테이블들(156, 158)은 룩업 로직(158) 내로 하드와이어링(hardwire)될 수 있다. 또한, LOD 산출 아키텍처(150)는 드라이버(160) 및 소프트웨어 모듈(162)을 포함한다. 일반적으로, LOD 산출 아키텍처(150)는 LOD 산출을 수행하도록 구성된다.
일 실시예에서, LOD 산출 아키텍처(150)와 관련하여 수행되는 LOD 산출은 종 래의 LOD 산출로부터 유도된 대수 수학식들에 기초한다. 이러한 수학식들을 이용함으로써 종래의 LOD 산출의 덜 복잡한 하드웨어(또는 소프트웨어) 구현을 용이하게 한다. 일 실시예에서, 이러한 개선된 LOD 산출은 정수 가산 및 룩업 연산을 이용하여 구현된다. 또한, 이 LOD 산출의 실시예들은, 승산 연산, 제곱 연산, 또는 제곱근 연산을 이용하지 않고서 구현된다.
다음에 따르는 2차원(2D) LOD 식은 도 4의 LOD 산출 아키텍처(150)에 의해 구현되는 LOD 산출을 유도하는 시작점이다.
Figure 112008031545347-pat00001
이 식은 다음과 같이 작성될 수 있다.
Figure 112008031545347-pat00002
Figure 112008031545347-pat00003
, 여기서,
Figure 112008031545347-pat00004
, 및
Figure 112008031545347-pat00005
이다.
2개의 로그 항(L1, L2)의 각각에 대하여, 2개의 승산 연산, 2개의 제곱 연산, 하나의 가산 연산, 하나의 제곱근 연산이 존재한다. 이러한 연산들은 32비트 부동점 공간에서 구현될 수 있다. 승산 연산, 제곱 연산, 및 제곱근 연산을 제거하기 위해, 다음과 같은 기수법을 사용한다.
Figure 112008031545347-pat00006
, 및
Figure 112008031545347-pat00007
또한,
Figure 112008031545347-pat00008
,
Figure 112008031545347-pat00009
,
Figure 112008031545347-pat00010
라고 가정한다.
따라서, 다음과 같이 된다.
Figure 112008031545347-pat00011
이러한 기법 및 가정을 이용함으로써, 제1 로그 항(L1)에 대한 식은 다음과 같이 재작성될 수 있다.
Figure 112008031545347-pat00012
Figure 112008031545347-pat00013
Figure 112008031545347-pat00014
Figure 112008031545347-pat00015
Figure 112008031545347-pat00016
다시 A 및 B 대하여 치환을 행하게 되면,
Figure 112008031545347-pat00017
Figure 112008031545347-pat00018
Figure 112008031545347-pat00019
원래의 식의 나머지 로그 항(L2)에 대하여 유사한 결과를 얻을 수 있다.
Figure 112008031545347-pat00020
Figure 112008031545347-pat00021
따라서, 원래의 식의 로그 항들(L1, L2) 둘 다는 3개의 성분을 갖는 대수식들로 재작성될 수 있다. 제1 성분은 log(dsdx) 또는 log(dsdy) 성분이다. 제2 성분은 log(width) 성분이다. 그리고, 제3 성분은 함수 성분이라 칭한다. 일 실시예에서, 예상되는 LOD는 고정점 7.5 포맷으로 표현되며 이에 따라 정수부는 7개 비트를 이용하여 표현되고 분수부는 5개의 비트를 이용하여 표현된다. 다른 실시예들은 다른 수치 포맷을 이용할 수 있다.
일 실시예에서, L1 및 L2 식들의 각각의 제1 성분은 로그 룩업 테이블(156)과 같은 룩업 테이블(또는 별도의 룩업 테이블들)로부터 유도될 수 있다. 일 실시 예에서, 로그 룩업 테이블(156)은 6비트 테이블이지만, 다른 실시예들은 다른 유형들의 테이블들을 사용할 수 있다.
L1 및 L2 식들의 각각의 제2 성분은 소프트웨어 모듈(162)에 의해 부분적으로 제공될 수 있다. 일 실시예에서, 제2 성분은 텍스쳐당 속성이며, 이에 따라 로그(width) 성분은 드라이버(160)에 의해 고정점 7.5 포맷으로 될 수 있다. 다른 실시예들은 다른 방식으로 제2 성분을 생성할 수 있다.
L1 및 L2 식들의 각각의 제3 성분은 함수 성분이다. L1 식에 대한 함수 성분을 얻기 위해, 다음과 같이 작성될 수 있다.
Figure 112008031545347-pat00022
Figure 112008031545347-pat00023
Figure 112008031545347-pat00024
= 0.5 x log(1 + (2( log (B)- log (A)))2)
= 0.5 x log(1 + 22*( log (B)- log (A)))
= 0.5 x log(1 + 22*( log ( dtdx * height )- log ( dsdx * width )))
= 0.5 x log(1 + 22*( log ( dtdx )+ log ( height )-( log ( dsdx )+ log ( width ))))
= 0.5 x log(1 + 22*( log ( dtdx )- log ( dsdx )+ log ( height )- log ( width )))
따라서, L1 식의 함수 성분에 대한 식은 다음과 같이 재작성될 수 있다.
Figure 112008031545347-pat00025
, 여기서,
Figure 112008031545347-pat00026
이다.
이러한 기법을 사용함으로써, L1 식은 다음과 같이 재작성될 수 있다.
Figure 112008031545347-pat00027
유사한 수학식 및 기법을 사용함으로써, L2 식은 다음과 같이 재작성될 수 있다.
Figure 112008031545347-pat00028
, 여기서,
Figure 112008031545347-pat00029
, 및
Figure 112008031545347-pat00030
이다.
일 실시예에서, L1 및 L2 식들의 각각의 제3 성분(즉, 함수 성분)은 함수 룩업 테이블(158)과 같은 룩업 테이블(또는 별도의 룩업 테이블)로부터 유도될 수 있다. 함수 룩업 테이블(158)의 일례가 아래에 제공되어 있지만, 다른 실시예들은 다른 함수 룩업 테이블들을 사용할 수 있다.
S12 log_adj_table[64] = {
0x10, 0x0f, 0x0f, 0x0e, 0x0e, 0x0d, 0x0d, 0x0c,
0x0c, 0x0b, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x09,
0x09, 0x09, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07,
0x06, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05,
0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03,
0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02,
0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
};
Figure 112008031545347-pat00031
,
Figure 112008031545347-pat00032
,
Figure 112008031545347-pat00033
이므로, 다음과 같이 된다.
Figure 112008031545347-pat00034
Figure 112008031545347-pat00035
Figure 112008031545347-pat00036
Figure 112008031545347-pat00037
Figure 112008031545347-pat00038
Figure 112008031545347-pat00039
Figure 112008031545347-pat00040
따라서, L1 및 L2 식들의 각각의 함수 성분은 [0.0, 0.5] 범위 내에 있다. 일 실시예에서, 입력이 7.5 고정점 포맷으로 되어 있으며, 함수 룩업 테이블(158)은 6비트 테이블이다. 그러나, 다른 실시예들은 다른 포맷들을 이용할 수 있다.
일 실시예에서는, L1 및 L2 식들의 각각의 전술한 성분들을 이용함으로써 룩업 테이블과 정수 수학식만으로 LOD 산출을 용이하게 수행한다. 따라서, 하드웨어는 반드시 승산 연산, 제곱 연산, 제곱근 연산을 수행하도록 구현될 필요가 없다.
다른 일 실시예에서, 또한, 대수 수학을 이용하여 3차원 LOD 산출에 대한 유사한 식들을 유도할 수 있다. 또한, 3D LOD 산출은 볼륨 텍스쳐 LOD 산출이라 칭할 수 있다. 다음에 따르는 3D LOD 식은 도 4의 LOD 산출 아키텍처(150)에 의해 구현되는 LOD 산출을 유도하는 시작점이다.
Figure 112008031545347-pat00041
Figure 112008031545347-pat00042
Figure 112008031545347-pat00043
, 여기서,
Figure 112008031545347-pat00044
, 및
Figure 112008031545347-pat00045
이다.
3D LOD 산출의 각 성분은, 2D LOD 산출에 대하여 전술한 수학식들과 유사한 수학식들을 이용하여 간략화될 수 있다. 예를 들어, V1 식은 다음과 같이 재작성될 수 있다.
Figure 112008031545347-pat00046
, 여기서,
Figure 112008031545347-pat00047
,
Figure 112008031545347-pat00048
, 및
Figure 112008031545347-pat00049
이다.
추가 치환을 사용함으로써, V1 식은 다음과 같이 재작성될 수 있다.
Figure 112008031545347-pat00050
, 여기서,
Figure 112008031545347-pat00051
이다.
따라서, 다음과 같이 된다.
Figure 112008031545347-pat00052
제1 항에서 D에 대하여 치환을 다시 행하면 다음과 같이 된다.
Figure 112008031545347-pat00053
, 여기서,
Figure 112008031545347-pat00054
, 및
Figure 112008031545347-pat00055
이다.
Figure 112008031545347-pat00056
및 L1 항들이 전술한 2D LOD 산출에 대하여 정의되어 있으므로, V1 식은 다음과 같이 재작성될 수 있다.
V1 = L1 + f(x')
따라서, 3D LOD 산출은 2D LOD 산출과 유사한 연산을 이용하여 수행될 수 있다. 게다가, 일부 실시예들은 전술한 2D 프로세스를 이용하여 L1을 산출하며, 이후 f(x)에서와 같이 동일한 룩업 로직 및 산출법을 이용하여 f(x')를 산출한다. 일 실시예에서, 3D LOD 산출은 룩업 테이블 및 정수 수학식만을 이용하여 수행된다.
도 5는 LOD 산출 방법(170)의 일 실시예의 개략적인 흐름도이다. LOD 산출 방법(170)의 일부 실시예들은 도 4의 LOD 산출 아키텍처(150)에 관련하여 구현될 수 있지만, 다른 실시예들은 다른 LOD 산출 아키텍처에 관련하여 구현될 수 있다. 또한, LOD 산출 방법(170)의 예시한 구현예는 2D LOD 산출에 대응하지만, 다른 실시예들은 3D LOD 산출용으로 구현될 수 있다.
예시한 LOD 산출 방법(170)에서, 룩업 로직(154)은 로그 룩업 테이블(156)을 참조하여 제1 로그 항(L1)의 제1 성분(log(dsdx))을 찾는다(블록 172). 이후, 드라이버(160)는 제1 로그 항(L1)의 제2 성분(log(width))을 제공한다(블록 174). 이 후, 룩업 로직(154)은 함수 룩업 테이블(158)을 참조하여 제1 로그 항(L1)의 함수 성분(f(x))을 찾는다(블록 176). 이러한 3개의 성분을 이용함으로써, LOD 산출 로직(152)은 제1 로그 항(L1)을 산출한다(블록 178).
LOD 산출 로직(152)은 제2 로그 항(L2)에 대하여 유사한 연산들을 사용한다. 룩업 로직(154)은 로그 룩업 테이블(156)을 참조하여 제2 로그 항(L2)의 제1 성분(log(dsdy))을 찾는다(블록 182). 이후, 드라이버(160)는 제2 로그 항(L2)의 제2 성분(log(width))을 제공한다(블록 184). 이후, 룩업 로직(154)은 함수 룩업 테이블(158)을 참조하여 제2 로그 항(L2)의 함수 성분(f(y))을 찾는다(블록 186). 이러한 3개의 성분을 이용함으로써, LOD 산출 로직(152)은 제2 로그 항(L2)을 산출한다(블록 188).
이후, LOD 산출 로직(152)은, 제1 및 제2 로그 항들(L1, L2)의 최대값에 기초하여 LOD를 산출한다(블록 190). 이후, 예시한 LOD 산출 방법(170)이 종료된다.
LOD 산출 방법(170)이 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 일부 조합으로 구현될 수 있다는 점에 주목하기 바란다. 또한, LOD 산출 방법(170)의 일부 실시예들은, 전술한 연산들에 관한 하나 이상의 알고리즘을 나타내는 소프트웨어 또는 하드웨어를 이용하여 구현될 수 있다. 예를 들어, 소프트웨어, 하드웨어, 또는 소프트웨어와 하드웨어의 조합은, 전술한 다양한 항들 또는 성분들의 하나 이상을 산출하도록 구현될 수 있다.
또한, 본 발명의 실시예들은, 중앙 처리 유닛(CPU), 그래픽 처리 유닛(GPU), 또는 마이크로프로세서와 같은 컴퓨터 프로세서에 의해 수행되는 다수의 함수를 포함할 수 있다. 마이크로프로세서는 특정한 작업들을 정의하는 기계 판독가능 소프트웨어 코드를 실행함으로써 그 특정한 작업들을 수행하도록 구성된 특정 또는 전용 마이크로프로세서일 수 있다. 또한, 마이크로프로세서는, 직접 메모리 액세스 모듈, 메모리 저장 장치, 인터넷 관련 하드웨어, 및 데이터 전송에 관한 기타 장치들과 같이 다른 장치들과 함께 동작 및 통신하도록 구성될 수 있다. 소프트웨어 코드는, Java, C++, XML(확장가능 마크업 언어), 및 본 명세서에서 설명한 관련 함수 연산들을 실행하는 데 필요한 장치들의 동작들에 관한 함수들을 정의하는 데 사용될 수 있는 기타 언어와 같은 소프트웨어 포맷을 이용하여 구성될 수 있다. 이 코드는 서로 다른 형태들 및 스타일들로 작성될 수 있고, 이들 중 많은 부분은 당업자에게 알려져 있다. 마이크로프로세서의 연산들을 정의하는 코드를 구성하는 기타 수단 및 소프트웨어 프로그램의 서로 다른 코드 포맷들, 코드 구성들, 스타일들 및 형태들이 구현될 수 있다.
본 발명을 활용하는 컴퓨터 서버와 같이 서로 다른 유형들의 컴퓨터 내에는, 정보를 저장 및 검색하는 한편 본 명세서에서 설명한 함수들의 일부 또는 전부를 수행하는 서로 다른 유형들의 메모리 장치들이 존재한다. 일부 실시예들에서, 데이터가 저장되는 메모리/저장 장치는 프로세서 외부에 있는 별도의 장치일 수 있고, 또는 모놀리식 장치 내에 구성될 수 있으며, 여기서, 메모리/저장 장치는 단일 기판상에 접속된 컴포넌트들과 같이 동일한 집적 회로 상에 위치한다. 캐시 메모 리 장치는 흔히 CPU 또는 GPU에 의해 사용되도록 컴퓨터 내에 자주 저장되고 검색되는 정보의 편리한 저장 위치로서 포함된다. 마찬가지로, 이러한 컴퓨터에서 중앙 처리 유닛에 의해 자주 검색되지만 캐리 메모리와는 달리 영구 메모리 내에서 자주 수정되지 않는 정보를 유지하기 위한 영구적 메모리도 자주 사용된다. 중앙 처리 유닛에 의해 실행될 때 소정의 함수들을 수행하도록 구성된 데이터 및 소프트웨어 애플리케이션과 같이 보다 많은 양의 정보를 저장 및 검색하기 위한 메인 메모리도 일반적으로 포함된다. 이러한 메모리 장치들은, RAM, SRAM, DRAM, 플래시 메모리, 및 정보를 저장 및 검색하도록 중앙 처리 유닛에 의해 액세스될 수 있는 기타 메모리 저장 장치와 같이 구성될 수 있다. 실시예들은, 다양한 메모리 및 저장 장치들에 대하여 정보를 저장 및 검색하기 위한 임의의 공통적으로 사용되는 프로토콜뿐만 아니라 이러한 메모리 장치들을 사용하여 구현될 수 있다.
본 명세서에서는 방법의 연산을 특정 순서로 도시하고 설명하고 있지만 각 방법의 연산들의 순서는 소정의 연산들이 역 순서로 수행되도록 또는 소정의 연산들이 적어도 부분적으로 다른 연산들과 동시에 수행되도록 변경될 수 있다. 다른 일 실시예에서, 개별적인 연산들의 명령 또는 부연산(sub-operation)은 간헐적인 방식 및/또는 교번 방식으로 구현될 수 있다.
본 발명의 특정 실시예들을 설명하고 예시하였지만, 본 발명은 설명 및 예시한 특정 형태나 배치로 한정되지 않는다. 본 발명의 범위는 청구범위 및 그 등가물에 의해서만 한정된다.
도 1은 컴퓨터 그래픽 시스템의 일 실시예의 개략적인 블록도이다.
도 2는 다수의 LOD에 대응하는 다수의 텍스쳐 맵의 일 실시예의 개략적인 도면이다.
도 3은 텍스쳐 엔진에 구현하기 위한 텍스쳐 매핑 파이프라인의 일 실시예의 개략적인 블록도이다.
도 4는 LOD 산출 아키텍처의 일 실시예의 개략적인 블록도이다.
도 5는 LOD 산출 방법의 일 실시예의 개략적인 흐름도이다.

Claims (20)

  1. 텍스쳐 상세 레벨(level of detail; LOD)을 산출하는 그래픽 처리 시스템으로서,
    제1 LOD 성분을 제공하는 제1 룩업 테이블을 구현하는 메모리 장치;
    제2 LOD 성분의 로그값을 계산하는 드라이버; 및
    상기 메모리 장치 및 상기 드라이버에 연결된 LOD 산출 로직을 포함하되,
    상기 LOD 산출 로직은, 상기 룩업 테이블로부터의 상기 제1 LOD 성분 및 상기 드라이버로부터의 상기 제2 LOD 성분에 기초하여 텍스쳐 매핑 연산에 대한 LOD를 산출하고,
    상기 메모리 장치는 제2 룩업 테이블을 구현하도록 더 구성되고, 상기 제1 룩업 테이블은 상기 제1 LOD 성분의 로그 값들을 제공하는 로그 룩업 테이블을 포함하고, 상기 제2 룩업 테이블은 상기 LOD 산출의 함수 성분의 값들을 제공하는 함수 룩업 테이블을 포함하고,
    상기 LOD 산출 로직은 승산 연산이 아닌 산술 연산들을 이용하여 LOD를 산출하도록 더 구성된 그래픽 처리 시스템.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 LOD 산출 로직은 제곱 연산 및 제곱근 연산이 아닌 산술 연산들을 이용하여 LOD를 산출하도록 더 구성된 그래픽 처리 시스템.
  4. 제 1 항에 있어서,
    상기 LOD 산출 로직을 구현한 하드웨어를 더 포함하는 그래픽 처리 시스템.
  5. 제 1 항에 있어서,
    상기 LOD 산출 로직은 제1 로그 항 및 제2 로그 항의 최대값을 결정하도록 더 구성되고, 상기 제1 로그 항은 텍스쳐 맵의 폭 치수에 대응하고, 상기 제2 로그 항은 상기 텍스쳐 맵의 높이 치수에 대응하는 그래픽 처리 시스템.
  6. 삭제
  7. 제 1 항에 있어서,
    상기 LOD 산출은 2차원 LOD 산출을 포함하고, 상기 LOD 산출의 함수 성분은 f(x) = 0.5 x log(1+2(2x)) 식으로 정의되며, 여기서, x = log(dtdx) - log(dsdx) + log(height) + log(width)인 그래픽 처리 시스템.
  8. 제 1 항에 있어서,
    상기 LOD 산출은 3차원 LOD 산출을 포함하는 그래픽 처리 시스템.
  9. 제 1 항에 있어서,
    상기 드라이버에 연결된 소프트웨어 모듈을 더 포함하고, 상기 소프트웨어 모듈은 상기 드라이버에 치수 값을 제공하고, 상기 제2 LOD 성분은 상기 치수 값의 로그 값을 포함하는 그래픽 처리 시스템.
  10. 제 9 항에 있어서,
    상기 치수 값은 폭, 높이, 또는 심도에 대응하는 그래픽 처리 시스템.
  11. 텍스쳐 상세 레벨(LOD)을 산출하는 방법으로서,
    승산이 아닌 룩업 및 산술 연산들을 이용하여 생성된 다수의 LOD 성분에 기초하여 텍스쳐 맵의 제1 치수에 대응하는 제1 로그 항을 산출하는 단계;
    승산이 아닌 룩업 및 산술 연산들을 이용하여 생성된 다수의 LOD 성분에 기초하여 텍스쳐 맵의 제2 치수에 대응하는 제2 로그 항을 산출하는 단계; 및
    상기 제1 로그 항 및 상기 제2 로그 항의 최대값에 따라 상기 LOD를 산출하는 단계를 포함하고,
    로그 룩업 테이블로부터 상기 제1 또는 제2 로그 항의 제1 LOD 성분의 로그 값을 찾는 단계; 및,
    함수 룩업 테이블로부터 상기 제1 또는 제2 로그 항의 제3 LOD 성분을 찾는 단계를 더 포함하고, 상기 제3 LOD 성분은 함수 성분을 포함하는 텍스쳐 LOD 산출 방법.
  12. 삭제
  13. 제 11 항에 있어서,
    소프트웨어 모듈로부터 치수 값을 수신하는 드라이버로부터 상기 제1 로그 항의 제2 LOD 성분을 얻는 단계를 더 포함하는 텍스쳐 LOD 산출 방법.
  14. 삭제
  15. 제 13 항에 있어서,
    상기 제1 로그 항을 산출하도록 상기 제1 LOD 성분, 상기 제2 LOD 성분, 및 상기 제3 LOD 성분의 합을 생성하는 단계를 더 포함하는 텍스쳐 LOD 산출 방법.
  16. 제 11 항에 있어서,
    상기 산술 연산들은 제곱 연산 및 제곱근 연산이 아닌 연산들을 포함하는 텍스쳐 LOD 산출 방법.
  17. 제 16 항에 있어서,
    상기 제1 로그 항 및 상기 제2 로그 항은 L1 = log(dsdx) + log(width) + f(x) 및 L2 = log(dsdy) + log(width) + f(y)을 포함하고, 여기서,
    L1은 상기 제1 로그 항이며, f(x)는 제1 함수 성분이며, L2는 상기 제2 로그 항이며, f(y)는 제2 함수 성분인 텍스쳐 LOD 산출 방법.
  18. 텍스쳐 상세 레벨(LOD)을 산출하는 장치로서,
    승산 연산, 제곱 연산, 제곱근 연산이 아닌 산술연산들을 사용하여 제1 로그 항 및 제2 로그 항을 산출하는 수단; 및
    상기 제1 로그 항 및 상기 제2 로그 항에 기초하여 상기 텍스쳐 LOD를 산출하는 수단을 포함하고,
    상기 제1 로그 항에 대하여 제1 다수의 로그 룩업 값을 구현하는 수단;
    상기 제1 로그 항에 대하여 제1 다수의 함수 룩업 값을 구현하는 수단;
    상기 제2 로그 항에 대하여 제2 다수의 로그 룩업 값을 구현하는 수단; 및
    상기 제2 로그 항에 대하여 제2 다수의 함수 룩업 값을 구현하는 수단을 더 포함하는 텍스쳐 LOD 산출 장치.
  19. 제 18 항에 있어서,
    상기 제1 로그 항 및 제2 로그 항을 산출하는 수단은, 룩업 연산들 및 정수 수학식 연산들만을 사용하여 상기 제1 로그 항 및 상기 제2 로그 항을 산출하도록 더 구성된 텍스쳐 LOD 산출 장치.
  20. 삭제
KR1020080040965A 2007-05-01 2008-05-01 텍스쳐 상세 레벨을 산출하기 위한 장치 및 방법 KR101457216B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/799,710 US8106918B2 (en) 2007-05-01 2007-05-01 Apparatus and method for texture level of detail computation
US11/799,710 2007-05-01

Publications (2)

Publication Number Publication Date
KR20080097354A KR20080097354A (ko) 2008-11-05
KR101457216B1 true KR101457216B1 (ko) 2014-10-31

Family

ID=39717750

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080040965A KR101457216B1 (ko) 2007-05-01 2008-05-01 텍스쳐 상세 레벨을 산출하기 위한 장치 및 방법

Country Status (4)

Country Link
US (2) US8106918B2 (ko)
EP (1) EP1988509B1 (ko)
JP (1) JP5163981B2 (ko)
KR (1) KR101457216B1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8106918B2 (en) * 2007-05-01 2012-01-31 Vivante Corporation Apparatus and method for texture level of detail computation
US8284197B2 (en) * 2008-07-11 2012-10-09 Advanced Micro Devices, Inc. Method and apparatus for rendering instance geometry
US8654124B2 (en) 2012-01-25 2014-02-18 Google Inc. Texture fading for smooth level of detail transitions in a graphics application
TWI528328B (zh) * 2012-04-20 2016-04-01 財團法人資訊工業策進會 依據貼圖影像內容決定選擇細節層次之三維貼圖處理方法、裝置以及儲存其之電腦可讀取記錄媒體
KR102282189B1 (ko) * 2014-07-02 2021-07-27 삼성전자 주식회사 밉맵 생성 방법 및 장치
KR102197064B1 (ko) 2014-10-10 2020-12-30 삼성전자 주식회사 Lod를 조절할 수 있는 그래픽스 프로세싱 유닛, 이의 작동 방법, 및 상기 그래픽스 프로세싱 유닛을 포함하는 장치들
KR102477265B1 (ko) 2015-09-24 2022-12-13 삼성전자주식회사 그래픽스 프로세싱 장치 및 그래픽스 파이프라인의 텍스쳐링을 위한 LOD(level of detail)를 결정하는 방법
US11527523B2 (en) 2018-12-10 2022-12-13 HangZhou HaiCun Information Technology Co., Ltd. Discrete three-dimensional processor
US11080229B2 (en) 2016-02-13 2021-08-03 HangZhou HaiCun Information Technology Co., Ltd. Processor for calculating mathematical functions in parallel
US10848158B2 (en) 2016-02-13 2020-11-24 HangZhou HaiCun Information Technology Co., Ltd. Configurable processor
US10763861B2 (en) 2016-02-13 2020-09-01 HangZhou HaiCun Information Technology Co., Ltd. Processor comprising three-dimensional memory (3D-M) array
US11966715B2 (en) 2016-02-13 2024-04-23 HangZhou HaiCun Information Technology Co., Ltd. Three-dimensional processor for parallel computing
US10445067B2 (en) 2016-05-06 2019-10-15 HangZhou HaiCun Information Technology Co., Ltd. Configurable processor with in-package look-up table
GB201608101D0 (en) * 2016-05-09 2016-06-22 Magic Pony Technology Ltd Multiscale 3D texture synthesis
US10372359B2 (en) 2016-05-10 2019-08-06 Chengdu Haicun Ip Technology Llc Processor for realizing at least two categories of functions
US11734550B2 (en) 2018-12-10 2023-08-22 HangZhou HaiCun Information Technology Co., Ltd. Discrete three-dimensional processor
US11296068B2 (en) 2018-12-10 2022-04-05 HangZhou HaiCun Information Technology Co., Ltd. Discrete three-dimensional processor
CN112465887B (zh) * 2020-10-21 2022-09-06 武汉凌久微电子有限公司 一种纹理细节级别的获取方法及获取装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003157445A (ja) * 2001-11-21 2003-05-30 Sony Corp 画像処理装置および方法、記録媒体、並びにプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953015A (en) * 1996-11-15 1999-09-14 Samsung Electronics Co., Ltd. Determining the level of detail for texture mapping in computer graphics
US6078335A (en) * 1998-06-01 2000-06-20 Ati Technologies, Inc. Method and apparatus for determining level of detail for texture filtering
TW419637B (en) * 1999-03-26 2001-01-21 Ind Tech Res Inst Apparatus and method for texture mapping
JP2000339489A (ja) * 1999-05-27 2000-12-08 Toshiba Corp テクスチャマッピング装置及び方法
US6476813B1 (en) * 1999-11-30 2002-11-05 Silicon Graphics, Inc. Method and apparatus for preparing a perspective view of an approximately spherical surface portion
US6975319B1 (en) * 2000-03-24 2005-12-13 Nvidia Corporation System, method and article of manufacture for calculating a level of detail (LOD) during computer graphics processing
US6975320B1 (en) * 2000-12-12 2005-12-13 Micron Technology, Inc. Method and apparatus for level-of-detail computations
US8106918B2 (en) * 2007-05-01 2012-01-31 Vivante Corporation Apparatus and method for texture level of detail computation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003157445A (ja) * 2001-11-21 2003-05-30 Sony Corp 画像処理装置および方法、記録媒体、並びにプログラム

Also Published As

Publication number Publication date
EP1988509A1 (en) 2008-11-05
JP2008276781A (ja) 2008-11-13
KR20080097354A (ko) 2008-11-05
US20080273042A1 (en) 2008-11-06
US8487948B2 (en) 2013-07-16
JP5163981B2 (ja) 2013-03-13
EP1988509B1 (en) 2017-01-18
US8106918B2 (en) 2012-01-31
US20130002651A1 (en) 2013-01-03

Similar Documents

Publication Publication Date Title
KR101457216B1 (ko) 텍스쳐 상세 레벨을 산출하기 위한 장치 및 방법
US7042462B2 (en) Pixel cache, 3D graphics accelerator using the same, and method therefor
US20230053462A1 (en) Image rendering method and apparatus, device, medium, and computer program product
KR101033779B1 (ko) 확장된 버텍스 캐시를 갖는 그래픽스 프로세싱 유닛을 이용하여 이미지를 프로세싱하는 방법 및 장치
US8300059B2 (en) Method and apparatus for selecting a mip map level based on a min-axis value for texture mapping
KR100547258B1 (ko) 안티-에일리어싱 수퍼샘플링을 위한 방법 및 장치
US6795080B2 (en) Batch processing of primitives for use with a texture accumulation buffer
US9275493B2 (en) Rendering vector maps in a geographic information system
US8009172B2 (en) Graphics processing unit with shared arithmetic logic unit
US9224227B2 (en) Tile shader for screen space, a method of rendering and a graphics processing unit employing the tile shader
US20140071124A1 (en) Image processing apparatus
KR20190030174A (ko) 그래픽 처리
US7492373B2 (en) Reducing memory bandwidth to texture samplers via re-interpolation of texture coordinates
US7525551B1 (en) Anisotropic texture prefiltering
KR101433951B1 (ko) 2의 비멱 텍스쳐 맵을 위한 좌표 산출
US7619635B1 (en) Anisotropic texture sampling for odd ratios
KR20080064528A (ko) 3차원 그래픽 가속기 그리고 텍스쳐 데이터 패치 방법
US7620210B1 (en) Anisotropic optimization for texture filtering
JP2008299852A (ja) プログラム可能なオフセット位置を用いてテクスチャサンプルを処理するための方法及びシステム
JP6132902B1 (ja) コンピュータグラフィック装置
CN117453095A (zh) 一种三维对象选择方法、装置、介质和设备
CN118034687A (zh) 基于Windows的不规则界面开发方法、装置及相关介质

Legal Events

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

Payment date: 20171025

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190911

Year of fee payment: 6