KR100745768B1 - 전력 소비를 감소시키기 위한 lod 값 계산 방법과이것을 이용한 3차원 렌더링 시스템 - Google Patents
전력 소비를 감소시키기 위한 lod 값 계산 방법과이것을 이용한 3차원 렌더링 시스템 Download PDFInfo
- Publication number
- KR100745768B1 KR100745768B1 KR1020060082498A KR20060082498A KR100745768B1 KR 100745768 B1 KR100745768 B1 KR 100745768B1 KR 1020060082498 A KR1020060082498 A KR 1020060082498A KR 20060082498 A KR20060082498 A KR 20060082498A KR 100745768 B1 KR100745768 B1 KR 100745768B1
- Authority
- KR
- South Korea
- Prior art keywords
- value
- fragments
- lod
- polygon
- values
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000009877 rendering Methods 0.000 title claims abstract description 23
- 239000012634 fragment Substances 0.000 claims abstract description 162
- 238000004364 calculation method Methods 0.000 claims abstract description 42
- 238000013507 mapping Methods 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 11
- 238000002156 mixing Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
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
- G06T15/00—3D [Three Dimensional] image rendering
-
- 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/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/02—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
- G09G5/026—Control of mixing and/or overlay of colours in general
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
본 발명은 어떤 물체(object)를 3차원으로 렌더링(rendering)하는 시스템에 관한 것으로, 폴리곤을 구성하는 프래그먼트들 중 소정의 폴리곤의 정점들에 해당하는 프래그먼트들 각각의 LOD(Level Of Detail) 값을 계산하고, 이 LOD 값들로부터 정점들에 해당하는 프래그먼트들을 제외한 나머지 프래그먼트들 각각의 LOD 값을 보간함으로써 LOD 값 계산 과정에서의 연산량을 대폭 감소시킬 수 있고, 그 결과 3차원 렌더링 시스템 전체의 전력 소모를 감소시킬 수 있다.
Description
도 1은 일반적인 폴리곤에 해당하는 삼각형을 구성하는 프래그먼트 각각을 도시한 도면이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 래스터라이저(2)의 구성도이다.
도 3은 도 2에 도시된 스캔 변환부(21)의 상세 구성도이다.
도 4는 본 발명의 바람직한 일 실시예에 따른 3차원 렌더링 방법의 흐름도이다.
도 5는 본 발명의 바람직한 일 실시예에 따른 스캔 변환 방법의 흐름도이다.
도 6은 종래의 LOD 계산 기법에 따른 총 연산 회수를 도시한 도면이다.
도 7은 종래의 다른 LOD 값 계산 기법에 따른 총 연산 회수를 도시한 도면이다.
도 8은 본 발명의 바람직한 일 실시예에 따른 LOD 값 계산 과정에서의 총 연산 회수를 도시한 도면이다.
도 9는 도 7에 도시된 LOD 계산 기법과 본 실시예에 따른 LOD 값 계산 과정 에서의 연산량의 비교 표를 도시한 도면이다.
도 10은 도 9에 도시된 비교 표에서 프래그먼트들의 개수를 25로 가정한 경우의 총 연산 회수를 도시한 도면이다.
본 발명은 어떤 물체(object)를 3차원으로 렌더링(rendering)하는 시스템에 관한 것으로, 특히 3차원 렌더링 과정 중 텍스쳐 매핑에 사용되는 LOD(Level Of Detail) 값을 계산하는 방법 및 장치에 관한 것이다.
어떤 물체에 대한 3차원 그래픽 처리 과정 중 3차원 렌더링 과정은 이 물체에 대한 기하학적 처리(geometry processing) 단계, 이 물체를 구성하는 단위에 해당하는 소정의 폴리곤(polygon)을 광원 모델에 따라 그 내부를 모니터의 스크린의 픽셀에 대응하는 프래그먼트(fragment) 단위로 프래그먼트들 각각의 값을 결정하는 스캔 변환(scan conversion) 단계, 미리 저장된 2차원 이미지에 해당하는 텍스쳐를 이 물체에 입히는 텍스쳐 매핑(texture mapping) 단계, 이상의 과정에서 결정된 값들을 블렌딩함으로써 픽셀들 각각의 최종 값을 결정하는 컬러 블렌딩(color blending) 단계 등으로 구성된다.
도 1은 일반적인 폴리곤에 해당하는 삼각형을 구성하는 프래그먼트 각각을 도시한 도면이다.
물체에 대한 기하학적 처리 과정을 통하여 물체가 소정의 폴리곤, 예를 들면 삼각형들로 분할된다. 도 1에는 물체를 구성하는 삼각형들 중 어느 하나가 도시되어 있다. 특히, 삼각형을 구성하는 하나의 단위를 프래그먼트라고 하며, 이것은 모니터의 스크린 상의 픽셀에 대응되는 개념이다. 3차원 렌더링 과정에서의 프래그먼트의 값이 곧 픽셀의 값은 아니지만, 3차원 렌더링 과정을 통하여 프래그먼트의 값은 계속적으로 수정되어 가면서 최종적으로 프래그먼트의 값이 픽셀의 값이 된다. 또한, 스팬은 삼각형의 두 에지들에 해당하는 프래그먼트들 각각을 종단점으로 하는 프래그먼트들의 가로 집합을 의미하며, 상기된 스팬 변환 단계에서의 처리 단위이다.
밉맵(Mipmap) 방식을 따르는 텍스쳐 매핑 단계에서는 일반적으로 삼각형을 구성하는 모든 프래그먼트들 각각에 대하여 물체 표현의 상세 정도를 나타내는 LOD(Level Of Detail) 값을 다음의 수학식 1을 이용하여 계산하고, 이 LOD 값에 따라 여러 해상도의 텍스쳐들 중 어느 하나를 프래그먼트들 각각에 매핑한다. LOD는 다음과 같이 일반적으로 람다(λ)로 표기된다.
상기된 수학식 1에 나타난 바와 같이, 종래의 LOD 값 계산 기법은 다수의 곱셈 연산들과 나눗셈 연산들을 필요로 하며, 이에 따라 LOD 값을 계산하는 과정에서 많은 전력이 소비된다는 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 폴리곤을 구성하는 프래그먼트 단위로 LOD 값을 계산하는 방식의 3차원 렌더링 시스템에 의한 LOD 값 계산 과정에서의 연산량을 감소시킴으로써 3차원 렌더링 시스템 전체의 전력 소비를 감소시킬 수 있는 방법 및 장치를 제공하는데 있다. 또한, 상기된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
본 발명이 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다. 이것은 본 발명이 속하는 기술 분야에서 통상을 지식을 가진 자들라면 아래의 기재로부터 명확하게 이해될 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 LOD 값 계산 방법은 소정의 폴리곤을 구성하는 프래그먼트들 중 상기 폴리곤의 정점들에 해당하는 프래그먼트들 각각의 LOD 값을 계산하는 단계; 및 상기 계산된 LOD 값들로부터 상기 정점들에 해당하는 프래그먼트들을 제외한 나머지 프래그먼트들 각각의 LOD 값을 보간하는 단계를 포함한다.
상기 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 LOD 값 계산 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 LOD 값 계산 장치는 소정의 폴리곤을 구성하는 프래그먼트들 중 상기 소정의 폴리곤의 정점들에 해당하는 프래그먼트들 각각의 LOD 값을 계산하는 폴리곤 처리부; 상기 폴리곤 처리부에 의해 계산된 LOD 값들을 이용하여 상기 폴리곤의 에지들에 해당하는 프래그먼트들 각각의 LOD 값을 계산하는 에지 처리부; 및 상기 에지 처리부에 의해 계산된 LOD 값들을 이용하여 상기 폴리곤을 구성하는 스팬들 각각에 대해 상기 스팬들 각각을 구성하는 프래그먼트들 각각의 LOD 값을 계산하는 스팬 처리부를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 렌더링 방법은 소정의 폴리곤을 구성하는 프래그먼트들 중 상기 폴리곤의 정점들에 해당하는 프래그먼트들 각각의 LOD 값으로부터 상기 정점들에 해당하는 프래그먼트들을 제외한 나머지 프래그먼트들 각각의 LOD 값을 보간하는 단계; 및 상기 보간된 LOD 값들에 따라 여러 해상도의 텍스쳐들 중 어느 하나를 상기 프래그먼트들 각각에 매핑하는 단계를 포함하는 것을 특징으로 한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 렌더링 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 렌더링 장치는 소정의 폴리곤을 구성하는 프래그먼트들 중 상기 폴리곤의 정점들에 해당하는 프래그먼트들 각각의 LOD 값으로부터 상기 정점들에 해당하는 프래그먼트들을 제외한 나머지 프래그먼트들 각각의 LOD 값을 보간하는 스캔 변환부; 및 상기 스캔 변환부에 의해 보간된 LOD 값들에 따라 여러 해상도의 텍스쳐들 중 어느 하나를 상기 프래그먼트들 각각에 매핑하는 텍스쳐 매핑부를 포함한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 래스터라이저(rasterizer)(2)의 구성도이다.
도 2를 참조하면, 본 실시예에 따른 래스터라이저(2)는 스캔 변환부(scan conversion unit)(21), 텍스쳐 매핑부(texture mapping unit)(22), 알파 테스트부(alpha test unit)(23), 깊이 테스트부(depth test unit)(24), 및 컬러 블렌딩부(color blending unit)(25)로 구성된다. 일반적으로, 래스터라이저(2)는 모니터의 스크린 상에 어떤 물체(object)를 3차원 그래픽으로 렌더링(rendering)하는 3차원 렌더링 시스템의 일부로서 스크린 상의 픽셀들 각각의 값들을 결정하는 장치를 의미한다.
이 래스터라이저(2)의 처리 이전에 물체에 대한 기하학적 처리(geometry processing)가 선행되어야 하는데, 이 기하학적 처리 과정을 통하여 물체가 소정의 폴리곤들로 분할되고, 이 폴리곤들을 구성하는 프래그먼트들 각각의 파라미터들이 결정된다. 이 프래그먼트들 각각의 파라미터들은 소정의 폴리곤의 단위로 분할된 객체를 3차원 그래픽으로 렌더링하기 위한 프래그먼트 단위 정보로서, 폴리곤을 구성하는 프래그먼트들 각각의 깊이 값 (z)과 컬러 값 (r, g, b, a)및 프래그먼트들 각각에 매핑(mapping)될 텍스쳐의 좌표 값 (s, t) 등을 포함한다. 여기에서, r은 빨간색, g는 초록색, b는 파란색, a는 투명도를 의미한다. 또한, s와 t는 텍스쳐의 정규화된 좌표 값을 의미하며, 0 또는 1이다.
일반적으로, 렌더링 계산량을 줄이기 위하여 여러 형태의 폴리곤들 중 가장 단순한 형태인 삼각형이 주로 이용된다. 이하에서는 폴리곤을 삼각형으로 특정하고 본 실시예를 설명하기로 한다. 다만, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 삼각형 이외의 다른 형태의 폴리곤들도 본 실시예에 적용될 수 있음을 이해할 수 있다.
스캔 변환부(21)는 삼각형을 구성하는 프래그먼트들 각각의 파라미터들의 값을 결정한다. 보다 상세하게 설명하면, 스캔 변환부(21)는 정점 버퍼(vertex buffer)(1)로부터 삼각형을 구성하는 프래그먼트들 중 삼각형의 세 정점들의 좌표 값을 입력받고, 상기된 수학식 1을 이용하여 이 삼각형의 세 정점들에 해당하는 프래그먼트들 각각의 파라미터 값을 계산한다. 또한, 스캔 변환부(21)는 이 파라미터 값들로부터 삼각형의 정점들에 해당하는 프래그먼트들을 제외한 나머지 프래그먼트들 각각의 파라미터 값을 보간(interpolate)한다.
특히, 본 실시예에 따르면, 스캔 변환부(21)는 삼각형을 구성하는 프래그먼트들 중 삼각형의 세 정점들에 해당하는 프래그먼트들 각각의 LOD 값을 계산하고, 상기된 기존의 파라미터 값들을 보간하는 기법과 동일한 기법으로 이 LOD 값들로부터 삼각형의 정점들에 해당하는 프래그먼트들을 제외한 나머지 프래그먼트들 각각의 LOD 값을 보간한다. 즉, 스캔 변환부(21)는 상기된 기존의 파라미터 값들을 보간하는 기법에 따라 삼각형의 세 정점들에 해당하는 프래그먼트들 각각의 LOD 값의 변화도(gradient)를 계산하고, 이 LOD 값들의 변화도를 이용하여 프래그먼트들 각각의 LOD 값을 보간한다. 이와 같이, 스캔 변환부(21)는 종래의 스캔 변환 과정과 는 다르게 기존의 파라미터들과 함께 LOD 값 계산도 수행한다. 종래에는 LOD 값 계산을 텍스쳐 매핑 단계에서 수행하였다.
도 3은 도 2에 도시된 스캔 변환부(21)의 상세 구성도이다.
도 3을 참조하면, 도 2에 도시된 스캔 변환부(21)는 폴리곤 처리부(31), 에지 처리부(32), 및 스팬 처리부(33)로 구성된다.
폴리곤 처리부(31)는 삼각형의 세 에지들 중 y 좌표 값이 최소인 정점을 시작으로 하는 두 에지들에 대해 삼각형의 세 정점들에 해당하는 프래그먼트들 각각의 파라미터 값으로부터 삼각형의 x 축 상의 파라미터 값의 변화도와 y 축 상의 파라미터 값의 변화도를 계산한다. 특히, 본 실시예에 따르면, 폴리곤 처리부(31)는 이와 같은 기존 파라미터에 대한 폴리곤 처리 기법과 동일한 기법으로 프래그먼트들 각각의 LOD 값을 계산한다. 즉, 폴리곤 처리부(31)는 삼각형을 구성하는 프래그먼트들 중 삼각형의 세 정점들에 해당하는 프래그먼트들 각각의 LOD 값을 계산하고, 삼각형의 세 에지들 중 y 좌표의 값이 최소인 정점을 시작으로 하는 두 에지들에 대해 삼각형의 세 정점들에 해당하는 프래그먼트들 각각의 LOD 값으로부터 삼각형의 x 축 상의 LOD 값의 변화도와 y 축 상의 LOD 값의 변화도를 계산한다.
예를 들면, 폴리곤 처리부(31)는 다음과 같은 과정을 통하여 삼각형의 x 축 상의 LOD 값의 변화도와 y 축 상의 LOD 값의 변화도를 계산할 수 있다.
Emaj_dλ = Vmax - Vmin;
Ebot_dλ = Vmid - Vmin;
dλ/dx = (Emaj_dλ * Ebot_dy - Emaj_dy * Ebot_dλ)/
(Emaj_dx * Ebot_dy - Emaj_dy * Ebot_dx);
dλ/dy = (Emaj_dx * Ebot_dλ - Emaj_dλ * Ebot_dx) /
(Emaj_dx * Ebot_dy - Emaj_dy * Ebot_dx);
상기된 예로부터 폴리곤 처리 과정의 (+, -, *, /) 연산 회수는 각각 (0, 4, 4, 0)이 됨을 알 수 있다. 여기에서, "Vmax"는 y 좌표 값이 최대인 정점의 LOD 값이고, "Vmid"는 y 좌표 값이 중간인 정점의 LOD 값이고, "Vmin"은 y 좌표 값이 최소인 정점의 LOD 값이다. 또한, "dλ/dx"는 삼각형의 x 축 상의 LOD 값의 변화도이고, "dλ/dy"는 삼각형의 y 축 상의 LOD 값의 변화도이다.
에지 처리부(32)는 삼각형을 구성하는 스팬들 각각에 대해 폴리곤 처리부(31)에 의해 계산된 x 축 상의 파라미터 값의 변화도와 y 축 상의 파라미터 값의 변화도를 이용하여 삼각형의 두 에지들에 해당하는 프래그먼트들 각각의 파라미터 값을 계산하고, 스팬들 각각을 구성하는 프래그먼트들 간의 파라미터 값 차이(difference)를 계산한다. 여기에서, 스팬은 삼각형의 두 에지들에 해당하는 프래그먼트들 각각을 종단점으로 하는 프래그먼트들의 가로 집합을 의미한다.
특히, 본 실시예에 따르면, 에지 처리부(32)는 이와 같은 기존 파라미터에 대한 에지 처리 기법과 동일한 기법으로 삼각형의 두 에지들에 해당하는 프래그먼트들 각각의 LOD 값을 계산하고, 스팬들 각각을 구성하는 프래그먼트들 간의 LOD 값 차이를 계산한다. 즉, 에지 처리부(32)는 삼각형을 구성하는 스팬들 각각에 대해 폴리곤 처리부(31)에 의해 계산된 x 축 상의 LOD 값 변화도와 y 축 상의 LOD 값 변화도를 이용하여 폴리곤의 에지들에 해당하는 프래그먼트들 각각의 LOD 값을 계 산하고, 스팬들 각각을 구성하는 프래그먼트들 간의 LOD 값 차이를 계산한다.
예를 들면, 에지 처리부(32)는 다음과 같은 과정을 통하여 삼각형의 에지에 해당하는 프래그먼트들 각각의 LOD 값을 계산하고, 스팬들 각각을 구성하는 프래그먼트들 간의 LOD 값 차이를 계산한다.
삼각형을 구성하는 스팬들 각각에 대해
{ Compare;
fλ = λ0 + adjx * dλ/dx + adjy * dλ/dy;
fdλOuter = dλ/dy + fdxOuter * dλ/dx;
}
fdλInner = fdλOuter + dλ/dx;
상기된 예로부터 에지 처리 과정의 (+, -, *, /) 연산 회수는 각각 스팬 개수 * {(3, 0, 3, 0) + compare} + (1, 0, 0, 0)가 됨을 알 수 있다. 여기에서, "Compare"는 삼각형의 세 에지들 중 어느 에지를 선택할 것인가를 나타내는 비교 문으로서 이것에 의해 Vmin, Vmid, Vmax 중 어느 하나가 프래그먼트들 각각의 LOD 값 보간의 시작 정점으로 선택된다. 또한, "λ0"은 상기 "Compare" 과정에 의해 선택된 시작 정점의 LOD 값을 의미한다. 또한, "adjx"는 x 축에 대한 시작 정점에 해당하는 프래그먼트의 중심 좌표 값과 시작 정점의 실제 좌표 값의 차이를 의미한다. 또한, "adjy"는 y 축에 대한 시작 정점에 해당하는 프래그먼트의 중심 좌표 값과 시작 정점의 실제 좌표 값의 차이를 의미한다. 따라서, "fλ"는 시작 정점에 해당하는 프래그먼트 중심의 LOD 값이 된다. 이것은 시작 정점의 실제 좌표가 반드시 프래그먼트의 정 중앙에 오지는 않는다는 점을 고려하여 별도로 시작 정점에 해당하는 프래그먼트 중심의 LOD 값을 계산한 것이다.
또한, "fdxOuter"는 현재 계산 중인 에지의 변화도 dx/dy를 의미한다. 따라서, "fdλOuter"는 2 * dλ/dy가 되고, "fdλInner"는 2 * dλ/dy + dλ/dx가 된다. 이 두 값은 현재 계산 중인 스팬에 대해 LOD 계산을 종료하고, 다른 스팬에 대해 LOD 값 계산을 시작하고자 할 때 하기의 스팬 처리 과정에서 이용된다.
스팬 처리부(33)는 삼각형을 구성하는 스팬들 각각에 대해 에지 처리부(32)에 의해 계산된 에지들에 해당하는 프래그먼트들 각각의 파라미터 값 및 스팬들 각각을 구성하는 프래그먼트들 간의 파라미터 값 차이를 이용하여 스팬들 각각을 구성하는 프래그먼트들 각각의 파라미터 값을 계산한다. 특히, 본 실시예에 따르면, 스팬 처리부(33)는 이와 같은 기존 파라미터에 대한 스팬 처리 기법과 동일한 기법으로 스팬들 각각을 구성하는 프래그먼트들 각각의 LOD 값을 계산한다. 즉, 스팬 처리부(33)는 삼각형을 구성하는 스팬들 각각에 대해 에지 처리부(32)에 의해 계산된 에지들에 해당하는 프래그먼트들 각각의 LOD 값 및 스팬들 각각을 구성하는 프래그먼트들 간의 LOD 값 차이를 이용하여 스팬들 각각을 구성하는 프래그먼트들 각각의 LOD 값을 계산한다.
예를 들면, 스팬 처리부(33)는 다음과 같은 두 과정을 통하여 스팬들 각각을 구성하는 프래그먼트들 각각의 LOD 값을 계산한다. 첫 번째 과정은 현재 스팬으로부터 다음 스팬으로 LOD 값 계산이 이동될 때 수행되는 과정을 의미하고, 두 번째 과정은 삼각형을 구성하는 스팬들 각각에 대해 수행되는 과정을 의미한다.
현재 스팬으로부터 다음 스팬으로 LOD 값 계산이 이동될 때
{ ffλend = fdλ + (Right - Left -1) * dλ/dx;
fλ = fλ + fdλOuter 또는 fλ = fλ + fdλInner;
fλ = fλ - ffλend;
}
삼각형을 구성하는 스팬들 각각에 대해
{ fλ = fλ + dλ/dx }
상기된 예로부터 스팬 처리 과정의 (+, -, *, /) 연산 회수는 각각 스팬 개수 * (3, 0, 1, 0) + 프래그먼트 개수 * (1, 0, 0, 0)가 됨을 알 수 있다. 첫 번째 과정에서, "Right - Left"는 현재 스팬을 구성하는 프래그먼트들의 총 개수를 의미한다. 따라서, ffλend는 현재 스팬을 구성하는 프래그먼트들 중 마지막 프래그먼트의 LOD 값이 된다. "fλ" 에 "fdλOuter" 및 "fdλInner" 중 어느 것을 가산할 것인가는 "fdλOuter" 및 "fdλInner" 중 어느 것이 더 큰가에 의해 결정된다. 즉, 이 두 값으로부터 x 축 상의 LOD 값의 변화도 및 y 축 상의 LOD 값의 변화도 중 어느 쪽이 더 큰지를 알 수 있고, x 축 상의 LOD 값의 변화도가 더 크면 "fdλOuter"를 가산하고, y 축 상의 LOD 값의 변화도가 더 크면 "fdλInner"를 가산한다. 이와 같은 선택적 가산 과정을 통하여 다음 스팬의 에지에 해당하는 프래그먼트의 LOD 값 "fλ"가 계산된다. "fλ = fλ - ffλend" 과정은 "fλ" 값이 오버플로(overflow)일 때, 즉 LOD 값에 할당된 소정 비트량을 초과할 때에 수행되는 과정이다.
두 번째 과정은 y 값을 1 씩 증가시키면서 fλ에 단위 변화량에 해당하는 "dλ/dx"를 가산함으로써 어느 하나의 스팬을 구성하는 프래그먼트들 각각의 LOD 값을 계산하는 과정을 의미한다. 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면, 상기된 내용에 기초하여 x 값을 1 씩 증가시키면서 fλ에 단위 변화량에 해당하는 "dλ/dy"를 가산함으로써 프래그먼트들 각각의 LOD 값을 계산하는 방식을 용이하게 구현할 수 있음을 이해할 수 있다.
텍스쳐 매핑부(22)는 밉맵(Mipmap) 방식에 따라 스캔 변환부(21)에 의해 계산 또는 보간된 프래그먼트들 각각의 LOD 값에 따라 여러 해상도의 텍스쳐들 중 어느 하나를 프래그먼트들 각각에 매핑한다. 보다 상세하게 설명하면, 텍스쳐 매핑부(22)는 어떤 프래그먼트의 LOD 값이 높으면 여러 해상도의 텍스쳐들 중 높은 해상도의 텍스쳐를 이 프래그먼트에 매핑하고, 어떤 프래그먼트의 LOD 값이 낮으면 여러 해상도의 텍스쳐들 중 낮은 해상도의 텍스쳐를 이 프래그먼트에 매핑한다. 이와 같은 텍스쳐 매핑 과정을 통하여 물체의 표면에 텍스쳐에 해당하는 이미지가 입혀지게 된다.
알파 테스트부(23)는 스캔 변환부(21)에 의해 계산 또는 보간된 프래그먼트들 각각의 파라미터 값 중 알파 값(a)을 소정의 기준 값과 비교하고, 이 비교 결과에 기초하여 프래그먼트들 각각의 투명 여부를 결정한다.
깊이 테스트부(24)는 스캔 변환부(21)에 의해 계산 또는 보간된 프래그먼트들 각각의 파라미터 값 중 깊이 값(z)이 깊이 버퍼(미 도시)에 저장된 깊이 값보다 작은 경우에 이 깊이 값(z)으로 깊이 버퍼의 값을 갱신한다.
컬러 블렌딩부(25)는 스캔 변환부(21)에 의해 계산 또는 보간된 프래그먼트들 각각의 파라미터 값과 픽셀 버퍼(미 도시)에 저장된 컬러 값들을 섞음으로써 프래그먼트들 각각에 대응하는 스크린 상의 픽셀들 각각의 최종 값을 출력한다. 특히, 컬러 블렌딩부(25)는 텍스쳐 매핑부(22)에 의해 매핑된 텍스쳐, 알파 테스트부(23)에 의해 결정된 투명 여부, 및 깊이 테스트부(24)에 의해 갱신된 깊이 값이 반영된 픽셀들 각각의 최종 값을 프레임 버퍼(3)로 출력한다.
도 4는 본 발명의 바람직한 일 실시예에 따른 3차원 렌더링 방법의 흐름도이다.
도 4를 참조하면, 본 실시예에 따른 3차원 렌더링 방법은 도 2에 도시된 래스터라이저(2)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 2에 도시된 래스터라이저에 관하여 이상에서 기술된 내용은 본 실시예에 따른 3차원 렌더링 방법에도 적용된다.
41 단계에서 래스터라이저(2)는 정점 버퍼(1)로부터 삼각형을 구성하는 프래그먼트들 중 삼각형의 세 정점들의 좌표 값을 입력받고, 상기된 수학식 1을 이용하여 이 삼각형의 세 정점들에 해당하는 프래그먼트들 각각의 파라미터 값과 LOD 값을 계산한다. 또한, 41 단계에서 래스터라이저(2)는 이 파라미터 값들과 LOD 값들로부터 삼각형의 정점들에 해당하는 프래그먼트들을 제외한 나머지 프래그먼트들 각각의 파라미터 값과 LOD 값을 보간한다.
42 단계에서 래스터라이저(2)는 밉맵 방식에 따라 41 단계에서 계산 또는 보간된 프래그먼트들 각각의 LOD 값에 따라 여러 해상도의 텍스쳐들 중 어느 하나를 프래그먼트들 각각에 매핑한다.
43 단계에서 래스터라이저(2)는 41 단계에서 계산 또는 보간된 프래그먼트들 각각의 파라미터 값 중 알파 값(a)을 소정의 기준 값과 비교하고, 이 비교 결과에 기초하여 프래그먼트들 각각의 투명 여부를 결정한다.
44 단계에서 래스터라이저(2)는 41 단계에서 계산 또는 보간된 프래그먼트들 각각의 파라미터 값 중 깊이 값(z)이 깊이 버퍼에 저장된 깊이 값보다 작은 경우에 이 깊이 값(z)으로 깊이 버퍼의 값을 갱신한다.
45 단계에서 래스터라이저(2)는 41 단계에서 계산 또는 보간된 프래그먼트들 각각의 파라미터 값과 픽셀 버퍼에 저장된 컬러 값들을 섞음으로써 42 단계에서 매핑된 텍스쳐, 43 단계에서 결정된 투명 여부, 및 44 단계에서 갱신된 깊이 값이 반영된 픽셀들 각각의 최종 값을 프레임 버퍼(3)로 출력한다.
도 5는 본 발명의 바람직한 일 실시예에 따른 스캔 변환 방법의 흐름도이다.
도 5를 참조하면, 본 실시예에 따른 스캔 변환 방법은 도 5에 도시된 스캔 변환 방법에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 3에 도시된 스캔 변환부(21)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 스캔 변환 방법에도 적용된다.
51 단계에서 스캔 변환부(21)는 삼각형을 구성하는 프래그먼트들 중 삼각형의 세 정점들에 해당하는 프래그먼트들 각각의 LOD 값을 계산한다.
52 단계에서 스캔 변환부(21)는 삼각형의 세 에지들 중 y 좌표 값이 최소인 정점을 시작으로 하는 두 에지들에 대해 삼각형의 세 정점들에 해당하는 프래그먼 트들 각각의 파라미터 값 및 LOD 값으로부터 삼각형의 x 축 상의 파라미터 값의 변화도와 LOD 값의 변화도, y 축 상의 파라미터 값의 변화도와 LOD 값의 변화도를 계산한다.
53 단계에서 스캔 변환부(21)는 삼각형을 구성하는 스팬들 각각에 대해 52 단계에서 계산된 x 축 상의 파라미터 값의 변화도와 LOD 값의 변화도, y 축 상의 파라미터 값의 변화도와 LOD 값의 변화도를 이용하여 삼각형의 두 에지들에 해당하는 프래그먼트들 각각의 파라미터 값 및 LOD 값을 계산하고, 스팬들 각각을 구성하는 프래그먼트들 간의 파라미터 값 차이와 LOD 값 차이를 계산한다.
54 단계에서 스캔 변환부(21)는 삼각형을 구성하는 스팬들 각각에 대해 53 단계에서 계산된 에지들에 해당하는 프래그먼트들 각각의 파라미터 값 및 LOD 값, 스팬들 각각을 구성하는 프래그먼트들 간의 파라미터 값 차이 및 LOD 값 차이를 이용하여 스팬들 각각을 구성하는 프래그먼트들 각각의 파라미터 값 및 LOD 값을 계산한다.
도 6은 종래의 LOD 계산 기법에 따른 총 연산 회수를 도시한 도면이다.
도 6에 도시된 "s"와 "t"는 텍스쳐의 정규화된 좌표 값을 의미하며, 0 또는 1이다. 또한, 도 6에 도시된 "q"는 원근에 따른 교정 데이터를 의미하고, "invQ"는 1/q이다. 또한, 도 6에 도시된 "width"와 "height"는 텍스쳐의 가로 크기 및 세로 크기를 의미한다.
도 6을 참조하면, 종래의 LOD 값 계산 기법에 따른 총 연산 회수는 삼각형을 구성하는 프래그먼트들의 개수 * {(10, 4, 12, 4), 루트 2번, 비교 1번, 로그 1번} 이 된다. (10, 4, 12, 4)는 프래그먼트 당 (+, -, *, /) 연산 회수를 의미한다.
도 7은 종래의 다른 LOD 값 계산 기법에 따른 총 연산 회수를 도시한 도면이다.
도 7을 참조하면, 종래의 LOD 값 계산 기법에 따른 총 연산 회수는 삼각형을 구성하는 프래그먼트들의 개수 * {(8, 4, 6, 4), ABS 4번, 비교 3번, 로그 1번}이 된다. (8, 4, 6, 4)는 프래그먼트 당 (+, -, *, /) 연산 회수를 의미한다.
도 6에 도시된 LOD 값 계산 기법과 도 7에 도시된 LOD 값 계산 기법을 비교해 보면, 도 6에 도시된 LOD 값 계산 기법보다 도 7에 도시된 LOD 값 계산 기법의 연산량이 적다. 따라서, 이하에서는 도 7에 도시된 LOD 계산 기법과 본 실시예에 따른 LOD 값 계산 과정에서의 연산량을 비교해 보도록 하겠다.
도 8은 본 발명의 바람직한 일 실시예에 따른 LOD 값 계산 과정에서의 총 연산 회수를 도시한 도면이다.
도 8을 참조하면, 본 발명의 바람직한 일 실시예에 따른 LOD 값 계산 과정에서의 총 연산 회수는 상기된 폴리곤 처리 과정, 에지 처리 과정, 및 스팬 처리 과정 각각에서의 연산 회수를 모두 합한 값으로서 (87, 3, 13, 0), ABS 12번, 비교 11번, 로그 3번이 된다. (8, 4, 6, 4)는 프래그먼트 당 (+, -, *, /) 연산 회수를 의미한다. 다만, 이 연산 회수는 프래그먼트들의 개수가 52인 경우를 예로 들어 계산한 것이다.
도 9는 도 7에 도시된 LOD 계산 기법과 본 실시예에 따른 LOD 값 계산 과정에서의 연산량의 비교 표를 도시한 도면이다.
도 9에서 "V"는 폴리곤을 구성하는 정점의 개수를 의미하고, "F"는 폴리곤을 구성하는 프래그먼트들의 개수를 의미하고, "S"는 폴리곤을 구성하는 스팬들의 개수를 의미한다.
도 10은 도 9에 도시된 비교 표에서 프래그먼트들의 개수를 25로 가정한 경우의 총 연산 회수를 도시한 도면이다.
도 9에 도시된 비교 표에 프래그먼트들의 개수 "F"를 25로 가정하면, 종래의 LOD 값 계산 기법에 따른 총 연산 회수는 (200, 100, 150, 100), 비교 75번, 로그 25번, 절대값 100번이 된다. 또한, 도 9에 도시된 비교 표에 정점들의 개수 "V"를 3으로, 스팬들의 개수 "S"를 6으로, 프래그먼트들의 개수 "F"를 25로 가정하면, 본 실시예에 따른 LOD 값 계산 과정에서의 총 연산 회수는 (86, 12, 42, 16), 비교 15번, 로그 3번, 절대값 12번이 된다. 따라서, 종래의 LOD 값 계산 기법에 비해 본 실시예에 따른 LOD 값 계산 과정에서의 연산량이 대폭 감소됨을 알 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한 다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, 폴리곤의 정점들에 해당하는 프래그먼트들 각각의 LOD 값을 계산하고, 이 LOD 값들로부터 나머지 프래그먼트들 각각의 LOD 값을 보간함으로써 LOD 값 계산 과정에서의 연산량을 대폭 감소시킬 수 있고, 그 결과 3차원 렌더링 시스템 전체의 전력 소모를 감소시킬 수 있다는 효과가 있다. 특히, 본 발명에 따르면, 기존의 파라미터 값들을 보간하는 기법과 동일한 기법으로 LOD 값을 보간함으로써 LOD 값 계산에 필요한 회로 소자들의 추가를 최소화할 수 있다는 효과가 있다.
Claims (14)
- (a) 소정의 폴리곤을 구성하는 프래그먼트들 중 상기 폴리곤의 정점들에 해당하는 프래그먼트들 각각의 LOD(Level Of Detail) 값을 계산하는 단계; 및(b) 상기 계산된 LOD 값들로부터 상기 정점들에 해당하는 프래그먼트들을 제외한 나머지 프래그먼트들 각각의 LOD 값을 보간하는 단계를 포함하는 것을 특징으로 하는 LOD 값 계산 방법.
- 제 1 항에 있어서,상기 (b) 단계는 상기 정점에 해당하는 프래그먼트들 각각의 LOD 값의 변화도(gradient)를 계산하고, 상기 계산된 LOD 값들의 변화도를 이용하여 상기 프래그먼트들 각각의 LOD 값을 보간하는 것을 특징으로 하는 LOD 값 계산 방법.
- 제 1 항에 있어서,상기 (b) 단계는 상기 소정의 폴리곤의 단위로 분할된 물체를 렌더링하기 위한 정보에 해당하는 상기 프래그먼트들 각각의 파라미터 값들을 보간하는 기법과 동일한 기법으로 상기 LOD 값을 보간하는 것을 특징으로 하는 LOD 값 계산 방법.
- 제 3 항에 있어서,상기 파라미터 값은 상기 소정의 폴리곤을 구성하는 프래그먼트들 각각의 좌 표 값과 컬러 값 및 상기 프래그먼트들 각각에 매핑될 텍스쳐의 좌표 값을 포함하는 것을 특징으로 하는 LOD 값 계산 방법.
- 제 1 항에 있어서,상기 (b) 단계는(b1) 상기 정점들에 해당하는 프래그먼트들 각각의 LOD 값으로부터 상기 폴리곤의 x 축 상의 LOD 값 변화도와 y 축 상의 LOD 값 변화도를 계산하는 단계;(b2) 상기 계산된 x 축 상의 LOD 값 변화도와 y 축 상의 LOD 값 변화도를 이용하여 상기 폴리곤의 에지들에 해당하는 프래그먼트들 각각의 LOD 값을 계산하는 단계; 및(b3) 상기 계산된 에지들 각각에 해당하는 프래그먼트들의 LOD 값을 이용하여 상기 폴리곤을 구성하는 스팬들 각각에 대해 상기 스팬들 각각을 구성하는 프래그먼트들 각각의 LOD 값을 계산하는 단계를 포함하는 것을 특징으로 하는 LOD 값 계산 방법.
- 제 1 항 내지 제 5 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 소정의 폴리곤을 구성하는 프래그먼트들 중 상기 소정의 폴리곤의 정점들에 해당하는 프래그먼트들 각각의 LOD 값을 계산하는 폴리곤 처리부;상기 폴리곤 처리부에 의해 계산된 LOD 값들을 이용하여 상기 폴리곤의 에지들에 해당하는 프래그먼트들 각각의 LOD 값을 계산하는 에지 처리부; 및상기 에지 처리부에 의해 계산된 LOD 값들을 이용하여 상기 폴리곤을 구성하는 스팬들 각각에 대해 상기 스팬들 각각을 구성하는 프래그먼트들 각각의 LOD 값을 계산하는 스팬 처리부를 포함하는 것을 특징으로 하는 LOD 값 계산 장치.
- 제 7 항에 있어서,상기 폴리곤 처리부는 상기 에지들에 해당하는 프래그먼트들 각각의 파라미터 값 및 LOD 값을 계산하고,상기 스팬 처리부는 상기 스팬들 각각을 구성하는 프래그먼트들 각각의 파라미터 값 및 LOD 값을 계산하는 것을 특징으로 하는 LOD 값 계산 장치.
- 제 8 항에 있어서,상기 파라미터 값은 상기 소정의 폴리곤을 구성하는 프래그먼트들 각각의 좌표 값과 컬러 값 및 상기 프래그먼트들 각각에 매핑될 텍스쳐의 좌표 값을 포함하는 것을 특징으로 하는 LOD 값 계산 장치.
- (a) 소정의 폴리곤을 구성하는 프래그먼트들 중 상기 폴리곤의 정점들에 해당하는 프래그먼트들 각각의 LOD 값으로부터 상기 정점들에 해당하는 프래그먼트들을 제외한 나머지 프래그먼트들 각각의 LOD 값을 보간하는 단계; 및(b) 상기 보간된 LOD 값들에 따라 여러 해상도의 텍스쳐들 중 어느 하나를 상기 프래그먼트들 각각에 매핑하는 단계를 포함하는 것을 특징으로 하는 렌더링 방법.
- 제 10 항에 있어서,상기 (a) 단계는 상기 정점들에 해당하는 프래그먼트들 각각의 파라미터 값 및 LOD 값으로부터 상기 정점들에 해당하는 프래그먼트들을 제외한 나머지 프래그먼트들 각각의 파라미터 값 및 LOD 값을 보간하는 것을 특징으로 하는 렌더링 방법.
- 제 11 항에 있어서,상기 파라미터 값은 상기 소정의 폴리곤을 구성하는 프래그먼트들 각각의 좌표 값과 컬러 값 및 상기 프래그먼트들 각각에 매핑될 텍스쳐의 좌표 값을 포함하는 것을 특징으로 하는 렌더링 방법.
- 제 10 항 내지 제 12 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 소정의 폴리곤을 구성하는 프래그먼트들 중 상기 폴리곤의 정점들에 해당하는 프래그먼트들 각각의 LOD 값으로부터 상기 정점들에 해당하는 프래그먼트들을 제외한 나머지 프래그먼트들 각각의 LOD 값을 보간하는 스캔 변환부; 및상기 스캔 변환부에 의해 보간된 LOD 값들에 따라 여러 해상도의 텍스쳐들 중 어느 하나를 상기 프래그먼트들 각각에 매핑하는 텍스쳐 매핑부를 포함하는 것을 특징으로 하는 렌더링 시스템.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060082498A KR100745768B1 (ko) | 2006-08-29 | 2006-08-29 | 전력 소비를 감소시키기 위한 lod 값 계산 방법과이것을 이용한 3차원 렌더링 시스템 |
US11/802,226 US20080055335A1 (en) | 2006-08-29 | 2007-05-21 | Level of detail value calculating method and medium reducing power consumption, and 3-dimensional rendering system |
JP2007217021A JP2008059582A (ja) | 2006-08-29 | 2007-08-23 | 省エネのためのlod値計算方法とこれを利用した3次元レンダリングシステム |
CNA2007101482459A CN101136107A (zh) | 2006-08-29 | 2007-08-29 | 减小功耗的细节级别值计算方法和介质以及3维渲染*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060082498A KR100745768B1 (ko) | 2006-08-29 | 2006-08-29 | 전력 소비를 감소시키기 위한 lod 값 계산 방법과이것을 이용한 3차원 렌더링 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100745768B1 true KR100745768B1 (ko) | 2007-08-02 |
Family
ID=38601791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060082498A KR100745768B1 (ko) | 2006-08-29 | 2006-08-29 | 전력 소비를 감소시키기 위한 lod 값 계산 방법과이것을 이용한 3차원 렌더링 시스템 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20080055335A1 (ko) |
JP (1) | JP2008059582A (ko) |
KR (1) | KR100745768B1 (ko) |
CN (1) | CN101136107A (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170036419A (ko) * | 2015-09-24 | 2017-04-03 | 삼성전자주식회사 | 그래픽스 프로세싱 장치 및 그래픽스 파이프라인의 텍스쳐링을 위한 LOD(level of detail)를 결정하는 방법 |
US10140677B2 (en) | 2014-11-27 | 2018-11-27 | Samsung Electronics Co., Ltd. | Graphics processing unit and device employing tessellation decision |
CN111210498A (zh) * | 2018-11-02 | 2020-05-29 | 辉达公司 | 降低多边形网格的细节水平以减少被渲染几何的复杂度 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663801B (zh) * | 2012-04-19 | 2015-07-01 | 北京天下图数据技术有限公司 | 一种提高三维模型渲染性能的方法 |
KR102329475B1 (ko) | 2014-08-27 | 2021-11-19 | 삼성전자주식회사 | 렌더링 퀄리티 제어 장치 및 방법 |
KR102197064B1 (ko) | 2014-10-10 | 2020-12-30 | 삼성전자 주식회사 | Lod를 조절할 수 있는 그래픽스 프로세싱 유닛, 이의 작동 방법, 및 상기 그래픽스 프로세싱 유닛을 포함하는 장치들 |
US10643381B2 (en) * | 2016-01-12 | 2020-05-05 | Qualcomm Incorporated | Systems and methods for rendering multiple levels of detail |
US10657699B1 (en) * | 2018-12-08 | 2020-05-19 | Arm Limited | Performing texturing operations for sets of plural execution threads in graphics processing systems |
CN112884873B (zh) * | 2021-03-12 | 2023-05-23 | 腾讯科技(深圳)有限公司 | 虚拟环境中虚拟物体的渲染方法、装置、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100313846B1 (ko) | 1996-04-16 | 2001-12-28 | 윤종용 | 바이리니어밉매핑에서의상세도(lod)계산방법및장치 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL72685A (en) * | 1983-08-30 | 1988-08-31 | Gen Electric | Advanced video object generator |
US4692880A (en) * | 1985-11-15 | 1987-09-08 | General Electric Company | Memory efficient cell texturing for advanced video object generator |
US4811245A (en) * | 1985-12-19 | 1989-03-07 | General Electric Company | Method of edge smoothing for a computer image generation system |
JPH09326035A (ja) * | 1996-04-04 | 1997-12-16 | Sony Corp | テクスチャアドレス算出方法及び算出装置並びにレンダリング装置 |
US6005583A (en) * | 1997-04-30 | 1999-12-21 | Hewlett-Packard Company | Precise gradient calculation system and method for a texture mapping system of a computer graphics system |
JP4363667B2 (ja) * | 1997-06-06 | 2009-11-11 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 画像のノイズ圧縮方法 |
US6104407A (en) * | 1997-09-23 | 2000-08-15 | Ati Technologies, Inc. | Method and apparatus for processing fragment pixel information in a three-dimensional graphics processing system |
US6204857B1 (en) * | 1998-04-16 | 2001-03-20 | Real 3-D | Method and apparatus for effective level of detail selection |
US6771264B1 (en) * | 1998-08-20 | 2004-08-03 | Apple Computer, Inc. | Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor |
JP2001092989A (ja) * | 1999-07-21 | 2001-04-06 | Sega Corp | 画像処理方法及びその装置 |
US6954204B2 (en) * | 2002-07-18 | 2005-10-11 | Nvidia Corporation | Programmable graphics system and method using flexible, high-precision data formats |
US6891548B2 (en) * | 2002-08-23 | 2005-05-10 | Hewlett-Packard Development Company, L.P. | System and method for calculating a texture-mapping gradient |
US6987517B1 (en) * | 2004-01-06 | 2006-01-17 | Nvidia Corporation | Programmable graphics processor for generalized texturing |
JP4861978B2 (ja) * | 2004-03-17 | 2012-01-25 | シードラゴン ソフトウェア インコーポレイテッド | イメージをナビゲートするための方法および装置 |
US7079156B1 (en) * | 2004-05-14 | 2006-07-18 | Nvidia Corporation | Method and system for implementing multiple high precision and low precision interpolators for a graphics pipeline |
US7538773B1 (en) * | 2004-05-14 | 2009-05-26 | Nvidia Corporation | Method and system for implementing parameter clamping to a valid range in a raster stage of a graphics pipeline |
US7190366B2 (en) * | 2004-05-14 | 2007-03-13 | Nvidia Corporation | Method and system for a general instruction raster stage that generates programmable pixel packets |
EP1688885B1 (en) * | 2005-02-03 | 2013-06-19 | Samsung Electronics Co., Ltd. | Method, apparatus, and medium for transforming graphic data of an object |
-
2006
- 2006-08-29 KR KR1020060082498A patent/KR100745768B1/ko not_active IP Right Cessation
-
2007
- 2007-05-21 US US11/802,226 patent/US20080055335A1/en not_active Abandoned
- 2007-08-23 JP JP2007217021A patent/JP2008059582A/ja active Pending
- 2007-08-29 CN CNA2007101482459A patent/CN101136107A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100313846B1 (ko) | 1996-04-16 | 2001-12-28 | 윤종용 | 바이리니어밉매핑에서의상세도(lod)계산방법및장치 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10140677B2 (en) | 2014-11-27 | 2018-11-27 | Samsung Electronics Co., Ltd. | Graphics processing unit and device employing tessellation decision |
KR20170036419A (ko) * | 2015-09-24 | 2017-04-03 | 삼성전자주식회사 | 그래픽스 프로세싱 장치 및 그래픽스 파이프라인의 텍스쳐링을 위한 LOD(level of detail)를 결정하는 방법 |
US9898838B2 (en) | 2015-09-24 | 2018-02-20 | Samsung Electronics Co., Ltd. | Graphics processing apparatus and method for determining level of detail (LOD) for texturing in graphics pipeline |
KR102477265B1 (ko) * | 2015-09-24 | 2022-12-13 | 삼성전자주식회사 | 그래픽스 프로세싱 장치 및 그래픽스 파이프라인의 텍스쳐링을 위한 LOD(level of detail)를 결정하는 방법 |
CN111210498A (zh) * | 2018-11-02 | 2020-05-29 | 辉达公司 | 降低多边形网格的细节水平以减少被渲染几何的复杂度 |
CN111210498B (zh) * | 2018-11-02 | 2024-03-01 | 辉达公司 | 降低多边形网格的细节水平以减少被渲染几何的复杂度 |
Also Published As
Publication number | Publication date |
---|---|
US20080055335A1 (en) | 2008-03-06 |
CN101136107A (zh) | 2008-03-05 |
JP2008059582A (ja) | 2008-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100745768B1 (ko) | 전력 소비를 감소시키기 위한 lod 값 계산 방법과이것을 이용한 3차원 렌더링 시스템 | |
EP3129973B1 (en) | Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location | |
US7884825B2 (en) | Drawing method, image generating device, and electronic information apparatus | |
EP0875860B1 (en) | Precise gradient calculation system and method for a texture mapping system of a computer graphics system | |
JP7096661B2 (ja) | キューブマップをテクスチャリングするためのlodを決定する方法、装置、コンピュータプログラム及び記録媒体 | |
US8044971B2 (en) | Methods of and apparatus for processing computer graphics | |
US20050068333A1 (en) | Image processing apparatus and method of same | |
US10699466B2 (en) | Apparatus and method for generating a light intensity image | |
US10134171B2 (en) | Graphics processing systems | |
JP5050786B2 (ja) | 描画処理装置、描画処理方法および描画処理プログラム | |
US20150161814A1 (en) | Clipping of graphics primitives | |
JP3367509B2 (ja) | 画像生成方法及びこれを用いた画像生成装置 | |
JP2016051469A (ja) | レンダリング装置及びその方法 | |
TW201234314A (en) | Micropolygon splatting | |
KR100723421B1 (ko) | 포인트 보간에 의한 렌더링 방법, 포인트 보간에 의한 렌더링 장치 및 기록매체 | |
KR20180048081A (ko) | 텍스쳐 처리 방법 및 장치 | |
JP7460641B2 (ja) | 光強度画像を生成するための装置及び方法 | |
JP4311877B2 (ja) | 副標本化テクスチャ端縁部のアンチエイリアシング | |
US20030030646A1 (en) | Trilinear texture filtering method with proper texel selection | |
KR100633029B1 (ko) | 풋프린트의 분석 및 수정 방법 | |
KR20070113978A (ko) | 원근 보정을 수행하는 3차원 그래픽 처리 방법 및 장치 | |
KR100818286B1 (ko) | 안개 효과를 고려하여 3차원 그래픽스 데이터를 렌더링하는방법 및 장치 | |
KR100927131B1 (ko) | 안티 알리어싱 방법 및 장치 | |
CN114723865A (zh) | 圆角方形框的渲染方法及设备、地图渲染方法 | |
JP2008152743A (ja) | テキスチャーパターンサイズ計算回路 |
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: 20130604 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140711 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150727 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |