KR101349171B1 - 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법 - Google Patents
3차원 그래픽 가속기 및 그것의 픽셀 분배 방법 Download PDFInfo
- Publication number
- KR101349171B1 KR101349171B1 KR1020070005263A KR20070005263A KR101349171B1 KR 101349171 B1 KR101349171 B1 KR 101349171B1 KR 1020070005263 A KR1020070005263 A KR 1020070005263A KR 20070005263 A KR20070005263 A KR 20070005263A KR 101349171 B1 KR101349171 B1 KR 101349171B1
- Authority
- KR
- South Korea
- Prior art keywords
- pixel
- texture
- information
- polygon
- image conversion
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 22
- 238000013507 mapping Methods 0.000 claims abstract description 21
- 238000002156 mixing Methods 0.000 claims abstract description 16
- 238000012360 testing method Methods 0.000 claims abstract description 16
- 238000001914 filtration Methods 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 claims 10
- 238000012545 processing Methods 0.000 abstract description 9
- 230000004044 response Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 8
- 238000009877 rendering Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000270322 Lepidosauria Species 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
여기에 개시된 3차원 그래픽 가속기는 제어 신호를 중앙처리장치로부터 받아서 저장하는 레지스터; 상기 레지스터로부터 상기 제어신호에 응답하여 폴리곤의 정보를 생성하는 기하학처리부; 상기 기하학처리부로부터 상기 폴리곤의 정보를 입력받아 픽셀을 출력하는 래스터라이져; 그리고 상기 래스터라이져로부터 상기 픽셀을 입력받고, 상기 제어신호에 응답하여 상기 픽셀을 복수의 픽셀세이더에 분배하는 픽셀분배기를 포함하되, 상기 제어 신호는 상기 픽셀이 텍스쳐 맵핑, 뎁스 테스트, 그리고 블렌딩중 하나 이상을 사용하는 경우 활성화된다.
Description
도 1는 3차원 그래픽 시스템의 개략적인 구성을 보여주는 블럭도이다.
도 2는 본 발명에 따른 3차원 그래픽 가속기(10)를 상세히 도시한 블럭도이다.
도 3은 도 2에 도시된 래스터라이져에 의해 생성된 16픽셀을 도시한 도면이다.
도 4는 도 2에 도시된 텍스쳐 캐쉬 블럭을 도시한 블럭도이다.
도 5는 도 2에 도시된 각 픽셀들을 종래의 방법에 의하여 픽셀 셰이더에 분배하는 경우와 본 발명에 따라 픽셀 셰이더에 분배하는 경우를 비교한 표이다.
도 6은 도 2에 도시된 3차원 그래픽 가속기의 동작을 나타내는 순서도이다.
*도면의 주요 부분에 대한 부호의 설명*
10 : 3차원 그래픽 가속기 100 : 기하학처리부
110 : 래스터라이제이션부 111 : 래스터라이져
112 : 픽셀분배기 130 : SFR
113 : 픽셀세이더 114 : 텍스쳐 유닛
115 : 텍스쳐 캐쉬 116 : 픽셀연산기
본 발명은 3차원 그래픽 가속기에 관한 것으로, 좀 더 구체적으로는 래스터라이져에서 생성된 픽셀들을 복수의 픽셀 셰이더에 효과적으로 분배하는 장치에 관한 것이다.
급속한 하드웨어의 발전으로 인해 PC급의 데이터 처리 장치에서도 실시간 렌더링이 가능해짐에 따라, 다양한 분야에서 3차원 그래픽의 활용이 증대되고 있다. 특히, 그래픽 시스템에서 기하학적 연산량을 증가시키지 않고 현실적인 3차원 영상을 제공하기 위해, 텍스쳐 맵핑(texture mapping) 기술이 사용된다. 텍스쳐 맵핑은 그래픽 시스템이 생성한 화소의 컬러를 텍스쳐 이미지의 컬러로 대체하는 기술로서, 적은 개수의 폴리곤(polygon)으로 추상화된 객체를 보다 세밀하고 현실감 있게 만들어 준다.
텍스쳐(Texture)란 3차원 객체의 표면 그래픽들이다. 텍스쳐들이 없다면, 3D 객체는 벌거벗은 폴리곤의 뼈대와 같이 보이게 된다. 텍스쳐들은 사실감을 추가합니다. 벽돌벽, 도마뱀의 피부, 또는 번쩍이는 우주선의 금속표면은 텍스쳐가 적용되어 표현된 것입니다. 3차원 프로그램은 텍스쳐를 그래픽 패턴으로서 저장하고 이것을 폴리곤의 구조로 적용한다.
폴리곤(Polygon)이란 3차원 영상객체의 형태를 만드는 2차원 형태(일반적으로 삼각형 또는 직사각형)를 의미한다. 일반적으로 3차원 객체의 뼈대를 구성하기 위해서는 수백 또는 수천의 폴리곤이 사용된다.
텍스쳐 맵핑 기법은 크게 화면 공간(screen space)을 텍스쳐 공간(texture space)으로 맵핑하는 과정과, 맵핑된 영역에서 화면 화소의 컬러를 결정하는 필터링 과정으로 구분된다. 텍스쳐 공간의 하나의 화소(즉, 텍셀(texel))는 정확히 하나의 화면 화소에 해당되지 않는다. 예를 들면, 여러 개의 텍스쳐 화소가 하나의 화면 화소에 해당하는 경우(즉, 축소)와, 하나의 텍스쳐 화소가 여러 개의 화면 화소에 대응하는 경우(즉, 확대)가 있다. 이 경우, 발생할 수 있는 왜곡현상(aliasing)을 줄이기 위해, 필터링이 수행된다. 필터링은 오브젝트(즉, 폴리곤)에 입혀지는 텍스쳐(즉, 매핑소스)의 품질을 높이기 위한 일반적인 기술들을 통칭하는 것으로, 밉맵핑(Mip mapping) 기법이 가장 널리 사용된다.
텍셀(Texel)이란 TEXture ELement의 줄임말이다. 즉, 텍셀이란 각각의 픽셀이 폴리곤에 적용될때 텍스쳐로서 사용되는 비트맵 그래픽을 구성하는 각각의 픽셀을 의미한다.
3차원 그래픽의 특성상 소프트웨어 유저는 다양한 포맷(format)과 사이즈(size)의 여러가지 텍스쳐를 사용하여 3차원 영상을 랜더링(Rendering)한다. 일반적으로 3차원 그래픽은 폴리곤을 베이스(Base)로 랜더링하고 한 폴리곤안에서는 스캔순서(Scan order)로 래스터라이제이션(Rasterization)을 진행한다. 래스터라이제이션(Rasterization)이란 그래픽을 그에 대응하는 픽셀 패턴 이미지로 변환하는 것을 의미한다.
3차원 그래픽 가속기에서 수행되는 3차원 그래픽 처리는 파이프라인 방식으 로 구성되며, 3차원 그래픽 가속기에서 수행되는 일련의 데이터 처리를 그래픽스 파이프라인(graphics pipeline)이라 한다. 그래픽스 파이프라인의 속도를 개선하기 위해, 텍스쳐 유닛와 외부 메모리 사이에 중간 데이터 저장 매체인 텍스쳐 캐쉬가 사용된다. 따라서, 텍스쳐 캐쉬의 히트율(hit rate)은 3차원 그래픽 가속기의 성능을 결정하는데 중요한 요소이다.
종래의 3차원 그래픽 가속기는 래스터라이져(Rasterizer)가 생성하는 픽셀들을 각 픽셀의 X, Y 좌표값을 이용하여 고정된 방식으로 복수개의 픽셀 셰이더로 분배된다. 즉, 래스터라이져가 생성하는 픽셀은 각 픽셀의 좌표값에 의해 픽셀 쉐이더에 분배된다. 따라서, 종래의 3차원 그래픽 가속기의 하드웨어의 구성은 단순해지는 반면에, 다양한 3차원 그래픽 영상의 특성을 반영하지 못하는 문제점이 존재한다.
본 발명에서는 이러한 문제점을 해결하기 위하여 픽셀의 좌표값 뿐만 아니라 3차원 그래픽 영상의 생성을 위한 다양한 특성들 예를 들면, 텍스쳐 맵핑(Texture Mapping), 뎁스 테스트(Depth Test), 블렌딩(Blending)의 사용 여부를 고려하여 래스터라이져에서 생성된 픽셀들을 복수의 픽셀 셰이더에 분배한다. 따라서, 텍스쳐 캐쉬의 미스율(Cache Miss Rate)을 감소시키고, 랜더링(Rendering) 시간을 단축할 수 있는 3차원 그래픽 가속기를 제공한다.
따라서, 본 발명의 목적은 텍스쳐 캐쉬의 미스율을 감소시킬 수 있는 픽셀분배기를 제공하는데 있다.
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면 여기에 개시된 3차원 그래픽 가속기는 제어 신호를 저장하는 레지스터; 상기 레지스터로부터 상기 제어신호에 응답하여 폴리곤의 정보를 생성하는 기하학처리부; 상기 기하학처리부로부터 상기 폴리곤의 정보를 입력받아 픽셀을 출력하는 래스터라이져; 그리고 상기 래스터라이져로부터 상기 픽셀을 입력받고, 상기 제어신호에 응답하여 상기 픽셀을 복수의 픽셀세이더에 분배하는 픽셀분배기를 포함하되, 상기 제어 신호는 상기 픽셀이 텍스쳐 맵핑, 뎁스 테스트, 그리고 블렌딩중 하나 이상을 사용하는 경우 활성화된다.
(실시예)
이하 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1는 3차원 그래픽 시스템의 개략적인 구성을 보여주는 블럭도이고, 도 2는 본 발명에 따른 3차원 그래픽 가속기를 상세히 도시한 블럭도이다.
도 1과 도 2를 참조하면, 본 발명에 따른 3차원 그래픽 시스템은 시스템 버스(system bus; 15)와, 시스템 버스(15)에 공통으로 연결되어 있는 복수 개의 버스 마스터들(bus masters)과, 복수 개의 버스 슬레이브들(bus slaves)로 구성된다. 버스 마스터는 3차원 그래픽 시스템의 어떤 동작 시점에서 시스템 버스(15)로 인가되는 어드레스 신호와 제어 신호 등의 발생을 제어한다. 버스 마스터로는 CPU(Central Processing Unit ; 11), DMA(Direct Memory Access ; 12), 3차원 그래픽 가속기(3-Dimensional Graphic Accelerator ; 10) 등이 있고, 버스 슬레이브로 는 메모리 컨트롤러(Memory Controller ; 13)등이 있다.
CPU(11)는 3차원 그래픽 시스템의 제반 동작을 제어한다. DMA(12)는 CPU(11)에 의한 프로그램의 실행 없이 3차원 그래픽 시스템에 구비되어 있는 주변장치에게 데이터를 보내는 기능을 수행한다. 즉, CPU(11)는 데이터 전송에 직접적으로 관여하지 않게 되어, 시스템의 전체적인 데이터 전송 성능이 좋아지게 된다. 3차원 그래픽 가속기(10)는 3차원 그래픽 처리를 수행한다. 3차원 그래픽은 3차원 공간의 물체를 높이(hight), 폭(width), 길이(length)의 세가지 축을 이용하여 표현한 뒤, 그 영상을 2차원 모니터 상에 사실적으로 표시하는 기술이다. 3차원 그래픽 가속기(10)는, 수행되는 기능에 따라 크게 기하학 처리부(geometry processing unit ; 100), 래스터라이제이션부(rasterization unit ; 110)와 SFR(Special Function Register ; 130)을 포함한다.
SFR(130)은 특별한 기능을 수행하기 위하여 사용되는 레지스터이다. 프로그래머(Programmer) 또는 소프트웨어 사용자(Software User)는 외부의 인터페이스를 통하여 SFR(130)을 셋팅(setting)할 수 있다.
프로그래머 또는 소프트웨어 사용자는 픽셀이 텍스쳐 맵핑을 사용할 것인지, 뎁스 테스트(Depth Test)를 할 것인지, 그리고 블렌딩(Blending)을 할 것인지를 결정하여 결정된 상태값을 SFR(130)에 저장한다.
뎁스 테스트란 다른 물체에 의해 가려진 부분이 보이지 않도록 랜더링하는 기술이고, 블렌딩이란 투명, 또는 반투명인 객체를 랜더링하는 기술입니다.
기하학 처리부(120)는 3차원 좌표계로 표시된 영상을 2차원 좌표계로 투영하 는 기하학적 변환을 수행한다. 래스터라이제이션부(110)는 기하학 처리부(120)에서 처리된 폴리곤들에 대해 화면에 출력될 최종의 픽셀 값을 결정한다. 래스터라이제이션부(110)는 현실적인 3차원 영상을 제공하기 위해 다양한 종류의 필터링을 수행한다. 이를 위해 래스터라이제이션부(110)는 래스터라이져(111), 픽셀분배기(112), 복수의 픽셀 셰이더(113_1 - 113_n), 복수의 텍스쳐 유닛(texture processing unit ; 114_1 - 114_n), 복수의 텍스쳐 캐쉬(texture cache ; 115_1 - 115_n), 그리고 픽셀 연산기(116)를 구비한다.
래스터라이져(111)는 기하학 처리부(120)로부터 폴리곤에 관한 정보(poly_info)를 입력받아 폴리곤내의 픽셀(pre_pixel)을 생성한다.
픽셀분배기(112)는 래스터라이져(111)로부터 픽셀(pre_pixel)을 입력받아 복수의 픽셀 셰이더(113_1 - 113_n)들에 분배한다. 종래의 픽셀분배기(112)는 픽셀(pre_pixel)의 좌표값(X, Y)만을 고려하여 픽셀셰이더(113_1 - 113_n)에 분배한다. 그러나, 본 발명에 따른 픽셀 분배기(112)는 각 픽셀이 텍스쳐 맵핑을 사용할 것인지, 뎁스 테스트, 블렌딩을 사용할 것인지를 판별하여 복수의 픽셀 셰이더(113_1 - 113_n)에 분배한다.
n개의 픽셀 셰이더들(113_1 - 113_n)은 각각의 텍스쳐 유닛(114_1 - 114_n)들과 텍스쳐 캐쉬(115_1 - 115_n)들을 포함한다.
각각의 텍스쳐 유닛(114_1 - 114_n)들은 기하학 처리부(120)에서 입력된 폴리곤 정보(poly_info)를 근거로 하여 텍스쳐 필터링을 수행한다. 텍스쳐 필터링에 사용될 다양한 종류의 텍스쳐 데이터는 기본적으로 3차원 그래픽 가속기(10)의 외 부에 위치해 있는 외부 메모리(14) 내에 존재하고, 외부 메모리(14)에 저장되어 있는 텍스쳐 데이터 중 일부가 복사되어 n개의 텍스쳐 캐쉬들(115_1 - 115_n)에 저장된다. 폴리곤 정보(poly_info)는 텍스쳐 포맷, 텍스쳐 사이즈, 폴리곤 사이즈, 폴리곤 회전 정보, 그리고 텍스쳐 필터링 방법 등을 포함한다.
픽셀 연산기(116)은 복수의 픽셀 셰이더(113_1 - 113_n)들로부터의 픽셀(post_pixel)을 입력받아 뎁스 테스트 또는 블렌딩을 수행한다.
도 3은 도 2에 도시된 래스터라이져에 의해 생성된 16픽셀을 도시한 도면이고, 도 4는 도 2에 도시된 텍스쳐 캐쉬 블럭을 도시한 블럭도이고, 도 5는 도 2에 도시된 각 픽셀들을 종래의 방법에 의하여 픽셀 셰이더에 분배하는 경우와 본 발명에 따라 픽셀 셰이더에 분배하는 경우를 비교한 표이다.
도 1 내지 도 5를 참조하면, 도 3은 래스터라이즈된 16 픽셀을 나타내고, 각 픽셀들은 텍스쳐 맵핑을 사용한다.
픽셀(0, 1, 4, 5)는 도 4에 도시된 텍스쳐 캐쉬의 컨텐츠(Contents) A를 참조한다. 픽셀(2, 3, 6, 7)는 도 4에 도시된 텍스쳐 캐쉬의 컨텐츠 B를 참조한다. 픽셀(8, 9, 12, 13)는 도 4에 도시된 텍스쳐 캐쉬의 컨텐츠 C를 참조한다. 픽셀(10, 11, 14, 15)는 도 4에 도시된 텍스쳐 캐쉬의 컨텐츠 D를 참조한다.
픽셀분배기(112)는 래스터라이져(111)로부터 픽셀(pre_pixel)을 받아서 복수의 픽셀 셰이더들(113_1 - 113_n)에게 분배한다.
만약 종래의 방법으로 픽셀의 좌표만을 이용하여 픽셀(0 - 15)들을 4개의 픽셀 셰이더(113_1 - 113_4)들에게 분배한다고 가정한다. 픽셀분배기(112)는 픽셀의 X축 좌표 LSB(Least Significant Bit)와 Y축 좌표 LSB를 이용하여 픽셀(0 - 15)들을 픽셀 셰이더들(113_1 - 113_4)에게 분배한다.
픽셀(0,2,8,10)은 제1 픽셀 셰이더(113_1)에 분배되고, 픽셀(1,3,9,11)은 제2 픽셀 셰이더(113_2)에 분배되고, 픽셀(4,6,12,14)은 제3 픽셀 셰이더(113_3)에 분배되고, 픽셀(5,7,13,15)은 제4 픽셀 셰이더(113_4)에 분배된다.
픽셀(0)는 제1 텍스쳐 캐쉬(115_1)의 컨텐츠 A를 참조하므로, 만약 캐쉬 미스가 발생한다면 제1 텍스쳐 캐쉬(115_1)는 외부메모리(14)로부터 컨텐츠 A를 복사한다.
픽셀(2)는 제1 텍스쳐 캐쉬(115_1)의 컨텐츠 B를 참조한다. 하지만, 제1 텍스쳐 캐쉬(115_1)에는 컨텐츠 B가 없기 때문에 캐쉬 미스가 발생한다. 따라서, 제1 텍스쳐 캐쉬(115_1)는 외부메모리(14)로부터 컨텐츠 B를 복사한다.
픽셀(8)는 제1 텍스쳐 캐쉬(115_1)의 컨텐츠 C를 참조한다. 하지만, 제1 텍스쳐 캐쉬(115_1)에는 컨텐츠 C가 없기 때문에 캐쉬 미스가 발생한다. 따라서, 제1 텍스쳐 캐쉬(115_1)는 외부메모리(14)로부터 컨텐츠 C를 복사한다.
픽셀(10)는 제1 텍스쳐 캐쉬(115_1)의 컨텐츠 D를 참조한다. 하지만, 제1 텍스쳐 캐쉬(115_1)에는 컨텐츠 D가 없기 때문에 캐쉬 미스가 발생한다. 따라서, 제1 텍스쳐 캐쉬(115_1)는 외부메모리(14)로부터 컨텐츠 D를 복사한다.
픽셀(1,3,9,11), 픽셀(4,6,12,14), 그리고 픽셀(5,7,13,15)에 대해서는 앞에서 설명한 내용과 동일하므로 이하 생략한다.
따라서, 종래의 기술에 따른 픽셀분배기(112)는 최대 16번의 캐쉬 미스가 발 생한다.
본 발명에 따른 픽셀분배기(112)는 픽셀(pre_pixel)의 좌표와 텍스쳐 맵핑의 사용여부를 판별하여 픽셀(0 - 15)들을 4개의 픽셀 셰이더(113_1 - 113_4)들에게 분배한다고 가정한다. 픽셀분배기(112)는 픽셀의 X축 좌표 MSB(Most Significant Bit)와 Y축 좌표 MSB를 이용하여 픽셀(0 - 15)을 픽셀 셰이더들(113_1 - 113_4)에게 분배한다.
픽셀(0,1,4,5)은 제1 픽셀 셰이더(113_1)에 분배되고, 픽셀(2,3,6,7)은 제2 픽셀 셰이더(113_2)에 분배되고, 픽셀(8,9,12,13)은 제3 픽셀 셰이더(113_3)에 분배되고, 픽셀(10,11,14,15)은 제4 픽셀 셰이더(113_4)에 분배된다.
픽셀(0)는 제1 텍스쳐 캐쉬(115_1)의 컨텐츠 A를 참조하므로, 만약 캐쉬 미스가 발생한다면 외부메모리(14)로부터 제1 텍스쳐 캐쉬(115_1)는 컨텐츠 A를 복사한다.
픽셀(1)는 제1 텍스쳐 캐쉬(115_1)의 컨텐츠 A를 참조한다. 제1 텍스쳐 캐쉬(115_1)에는 컨텐츠 A를 저장하고 있으므로, 캐쉬 히트가 발생한다.
픽셀(4)는 제1 텍스쳐 캐쉬(115_1)의 컨텐츠 A를 참조한다. 제1 텍스쳐 캐쉬(115_1)에는 컨텐츠 A를 저장하고 있으므로, 캐쉬 히트가 발생한다.
픽셀(5)는 제1 텍스쳐 캐쉬(115_1)의 컨텐츠 A를 참조한다. 제1 텍스쳐 캐쉬(115_1)에는 컨텐츠 A를 저장하고 있으므로, 캐쉬 히트가 발생한다.
픽셀(2,3,6,7), 픽셀(8,9,12,13), 그리고 픽셀(10,11,14,15)에 대해서는 앞에서 설명한 내용과 동일하므로 이하 생략한다.
따라서, 본 발명에 따른 픽셀분배기(112)는 최대 4번의 캐쉬 미스가 발생한다.
본 발명에서는 픽셀의 좌표값과 텍스쳐 맵핑(Texture Mapping), 뎁스 테스트(Depth Test), 블렌딩(Blending)의 사용여부를 고려하여 래스터라이져에서 생성된 픽셀들을 복수의 픽셀 셰이더에 분배함으로써, 텍스쳐 캐쉬의 미스율(Cache Miss Rate)을 감소시키고, 랜더링(Rendering) 시간을 단축하여 3차원 그래픽 가속기의 성능을 향상시킨다.
도 6은 도 2에 도시된 3차원 그래픽 가속기의 동작을 나타내는 순서도이다.
도 2 내지 도 6에 따르면, S10 단계에서 픽셀분배기(112)는 래스터라이져(111)로부터 픽셀(pre_pixel)을 전송받는다.
S20 단계에서 픽셀분배기(112)는 SFR(130)의 제어신호(pixel_state)에 따라 픽셀(pre_pixel)을 복수의 픽셀 셰이더(113_1 - 113_n)에 분배한다.
만약 픽셀(pre_pixel)이 텍스쳐 맵핑, 뎁스 테스트, 그리고 블랜딩중 하나 이상을 사용한다면 픽셀분배기(112)는 S40 단계를 수행하고, 그렇지 않은 경우 픽셀분배기(112)는 S30 단계를 수행한다.
S30 단계에서는 픽셀(pre_pixel)이 텍스쳐 맵핑, 뎁스 테스트, 그리고 블랜딩중 어느 하나도 사용하지 않는다면 픽셀분배기(112)는 픽셀의 좌표만을 고려하여 픽셀을 픽셀 셰이더에 분배한다.
S40 단계에서는 픽셀(pre_pixel)이 텍스쳐 맵핑, 뎁스 테스트, 그리고 블랜딩중 하나 이상을 사용한다면 픽셀분배기(112)는 픽셀의 좌표, 텍스쳐 맵핑, 뎁스 테스트, 그리고 블랜딩을 고려하여 픽셀을 픽셀 셰이더에 분배한다.
S50 단계에서 픽셀 연산기(116)은 복수의 픽셀 셰이더(113_1 - 113_n)들로부터의 픽셀(post_pixel)을 입력받아 뎁스 테스트 또는 블렌딩을 수행한다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상과 같은 본 발명에 의하면, 픽셀의 좌표값과 텍스쳐 맵핑, 뎁스 테스트, 블렌딩의 사용여부를 고려하여 래스터라이져에서 생성된 픽셀들을 복수의 픽셀 셰이더에 분배함으로써, 텍스쳐 캐쉬의 미스율을 감소시키고, 랜더링 시간을 단축하여 3차원 그래픽 가속기의 성능을 향상시킨다.
Claims (25)
- 픽셀에 영상변환정보가 사용되는지 여부에 따라 결정된 상태값을 저장하는 레지스터;상기 저장된 상태값에 기초하여 폴리곤의 정보를 생성하는 기하학처리부; 및상기 폴리곤의 정보에 기초하여 화면에 출력될 픽셀 데이터를 결정하는 래스터라이제이션부를 포함하되,상기 래스터라이제이션부는:복수의 픽셀 셰이더;상기 폴리곤의 정보에 기초하여 상기 픽셀 데이터를 생성하는 래스터라이져; 및상기 픽셀 데이터를 제공받고, 상기 저장된 상태값에 기초하여 상기 픽셀 데이터를 상기 복수의 픽셀 셰이더에 분배하는 픽셀분배기를 포함하고,상기 픽셀분배기는:상기 픽셀에 상기 영상변환정보가 사용되는 경우, 상기 영상변환정보에 기초하여 상기 픽셀 데이터를 상기 복수의 픽셀 셰이더에 분배하고,상기 픽셀에 상기 영상변환정보가 사용되지 않는 경우, 상기 픽셀의 좌표에 기초하여 상기 픽셀 데이터를 상기 복수의 픽셀 셰이더에 분배하는 3차원 그래픽 가속기.
- 제 1 항에 있어서,상기 영상변환정보는 텍스쳐 맵핑, 뎁스 테스트, 그리고 블렌딩 중 적어도 하나를 포함하는 3차원 그래픽 가속기.
- 삭제
- 삭제
- 제 1 항에 있어서,상기 폴리곤의 정보는, 텍스쳐 캐쉬의 블럭크기, 텍스쳐 포맷, 텍스쳐 사이즈, 폴리곤 사이즈, 폴리곤 회전 정보, 그리고 텍스쳐 필터링 방법을 포함하는 3차원 그래픽 가속기.
- 삭제
- 제 1 항에 있어서,상기 저장된 상태값은 소프트웨어 사용자에 의해 상기 픽셀에 상기 영상변환정보가 사용되는지 여부가 셋팅되면 결정되는 3차원 그래픽 가속기.
- 삭제
- 제 1 항에 있어서,상기 복수의 픽셀 셰이더와 같은 수의 텍스쳐 유닛 및 텍스쳐 캐쉬를 더 포함하는 3차원 그래픽 가속기.
- 제 9 항에 있어서,상기 텍스쳐 유닛은 상기 픽셀 셰이더로부터 상기 픽셀 데이터를 제공받고, 상기 제공받은 픽셀 데이터에 대응되는 텍스쳐 어드레스를 상기 텍스쳐 캐쉬로 제공하고, 상기 텍스쳐 캐쉬로부터 상기 픽셀 데이터에 대응되는 텍스쳐 데이터를 제공받고, 상기 텍스쳐 데이터를 상기 픽셀 셰이더로 페치하는 3차원 그래픽 가속기.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 복수의 픽셀 셰이더를 포함하는 3차원 그래픽 가속기의 픽셀 데이터 분배 방법에 있어서:픽셀에 영상변환정보가 사용되는지 여부를 판별하는 단계;상기 판별된 결과에 기초하여 폴리곤의 정보를 생성하는 단계;상기 폴리곤의 정보에 기초하여 픽셀 데이터를 생성하는 단계; 및상기 판별된 결과에 기초하여 상기 픽셀 데이터를 상기 복수의 픽셀 셰이더에 분배하는 단계를 포함하되,상기 분배하는 단계에서:상기 픽셀에 상기 영상변환정보가 사용되는 경우, 상기 영상변환정보에 기초하여 상기 픽셀 데이터를 상기 복수의 픽셀 셰이더에 분배하고,상기 픽셀에 상기 영상변환정보가 사용되지 않는 경우, 상기 픽셀의 좌표에 기초하여 상기 픽셀 데이터를 상기 복수의 픽셀 셰이더에 분배하는 3차원 그래픽 가속기의 픽셀 데이터 분배 방법.
- 제 20 항에 있어서,상기 영상변환정보는 텍스쳐 맵핑, 뎁스 테스트, 그리고 블렌딩 중 적어도 하나를 포함하는 3차원 그래픽 가속기의 픽셀 데이터 분배 방법.
- 제 20 항에 있어서,상기 폴리곤의 정보는 텍스쳐 포맷, 텍스쳐 사이즈, 폴리곤 사이즈, 폴리곤 회전 정보, 그리고 텍스쳐 필터링 방법을 포함하는 3차원 그래픽 가속기의 픽셀 데이터 분배 방법.
- 삭제
- 삭제
- 삭제
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070005263A KR101349171B1 (ko) | 2007-01-17 | 2007-01-17 | 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법 |
US11/964,961 US8189007B2 (en) | 2007-01-17 | 2007-12-27 | Graphics engine and method of distributing pixel data |
GB0800350A GB2445845B (en) | 2007-01-17 | 2008-01-09 | Graphics engine and method distributing pixel data |
JP2008005873A JP2008176788A (ja) | 2007-01-17 | 2008-01-15 | 3次元グラフィック加速器及びそのピクセル分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070005263A KR101349171B1 (ko) | 2007-01-17 | 2007-01-17 | 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080067840A KR20080067840A (ko) | 2008-07-22 |
KR101349171B1 true KR101349171B1 (ko) | 2014-01-09 |
Family
ID=39144672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070005263A KR101349171B1 (ko) | 2007-01-17 | 2007-01-17 | 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8189007B2 (ko) |
JP (1) | JP2008176788A (ko) |
KR (1) | KR101349171B1 (ko) |
GB (1) | GB2445845B (ko) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008306512A (ja) * | 2007-06-08 | 2008-12-18 | Nec Corp | 情報提供システム |
GB0823254D0 (en) | 2008-12-19 | 2009-01-28 | Imagination Tech Ltd | Multi level display control list in tile based 3D computer graphics system |
US9948872B2 (en) | 2009-03-02 | 2018-04-17 | Flir Systems, Inc. | Monitor and control systems and methods for occupant safety and energy efficiency of structures |
US9473681B2 (en) | 2011-06-10 | 2016-10-18 | Flir Systems, Inc. | Infrared camera system housing with metalized surface |
USD765081S1 (en) | 2012-05-25 | 2016-08-30 | Flir Systems, Inc. | Mobile communications device attachment with camera |
US9843742B2 (en) | 2009-03-02 | 2017-12-12 | Flir Systems, Inc. | Thermal image frame capture using de-aligned sensor array |
US9986175B2 (en) | 2009-03-02 | 2018-05-29 | Flir Systems, Inc. | Device attachment with infrared imaging sensor |
US10244190B2 (en) | 2009-03-02 | 2019-03-26 | Flir Systems, Inc. | Compact multi-spectrum imaging with fusion |
US9635285B2 (en) | 2009-03-02 | 2017-04-25 | Flir Systems, Inc. | Infrared imaging enhancement with fusion |
US10757308B2 (en) | 2009-03-02 | 2020-08-25 | Flir Systems, Inc. | Techniques for device attachment with dual band imaging sensor |
US9756264B2 (en) | 2009-03-02 | 2017-09-05 | Flir Systems, Inc. | Anomalous pixel detection |
US9235876B2 (en) | 2009-03-02 | 2016-01-12 | Flir Systems, Inc. | Row and column noise reduction in thermal images |
US9674458B2 (en) | 2009-06-03 | 2017-06-06 | Flir Systems, Inc. | Smart surveillance camera systems and methods |
US9208542B2 (en) | 2009-03-02 | 2015-12-08 | Flir Systems, Inc. | Pixel-wise noise reduction in thermal images |
US9517679B2 (en) | 2009-03-02 | 2016-12-13 | Flir Systems, Inc. | Systems and methods for monitoring vehicle occupants |
US9451183B2 (en) | 2009-03-02 | 2016-09-20 | Flir Systems, Inc. | Time spaced infrared image enhancement |
US9998697B2 (en) | 2009-03-02 | 2018-06-12 | Flir Systems, Inc. | Systems and methods for monitoring vehicle occupants |
US9292909B2 (en) | 2009-06-03 | 2016-03-22 | Flir Systems, Inc. | Selective image correction for infrared imaging devices |
US9819880B2 (en) | 2009-06-03 | 2017-11-14 | Flir Systems, Inc. | Systems and methods of suppressing sky regions in images |
US9716843B2 (en) | 2009-06-03 | 2017-07-25 | Flir Systems, Inc. | Measurement device for electrical installations and related methods |
US10091439B2 (en) | 2009-06-03 | 2018-10-02 | Flir Systems, Inc. | Imager with array of multiple infrared imaging modules |
US9756262B2 (en) | 2009-06-03 | 2017-09-05 | Flir Systems, Inc. | Systems and methods for monitoring power systems |
US9843743B2 (en) | 2009-06-03 | 2017-12-12 | Flir Systems, Inc. | Infant monitoring systems and methods using thermal imaging |
KR101271460B1 (ko) * | 2009-12-02 | 2013-06-05 | 한국전자통신연구원 | 영상 복원 장치 및 그 방법 |
US9706138B2 (en) | 2010-04-23 | 2017-07-11 | Flir Systems, Inc. | Hybrid infrared sensor array having heterogeneous infrared sensors |
US9848134B2 (en) | 2010-04-23 | 2017-12-19 | Flir Systems, Inc. | Infrared imager with integrated metal layers |
US9207708B2 (en) | 2010-04-23 | 2015-12-08 | Flir Systems, Inc. | Abnormal clock rate detection in imaging sensor arrays |
US9058653B1 (en) | 2011-06-10 | 2015-06-16 | Flir Systems, Inc. | Alignment of visible light sources based on thermal images |
US10389953B2 (en) | 2011-06-10 | 2019-08-20 | Flir Systems, Inc. | Infrared imaging device having a shutter |
US10841508B2 (en) | 2011-06-10 | 2020-11-17 | Flir Systems, Inc. | Electrical cabinet infrared monitor systems and methods |
US10169666B2 (en) | 2011-06-10 | 2019-01-01 | Flir Systems, Inc. | Image-assisted remote control vehicle systems and methods |
US9143703B2 (en) | 2011-06-10 | 2015-09-22 | Flir Systems, Inc. | Infrared camera calibration techniques |
US10079982B2 (en) | 2011-06-10 | 2018-09-18 | Flir Systems, Inc. | Determination of an absolute radiometric value using blocked infrared sensors |
US9706137B2 (en) | 2011-06-10 | 2017-07-11 | Flir Systems, Inc. | Electrical cabinet infrared monitor |
WO2012170954A2 (en) | 2011-06-10 | 2012-12-13 | Flir Systems, Inc. | Line based image processing and flexible memory system |
US9235023B2 (en) | 2011-06-10 | 2016-01-12 | Flir Systems, Inc. | Variable lens sleeve spacer |
CA2838992C (en) | 2011-06-10 | 2018-05-01 | Flir Systems, Inc. | Non-uniformity correction techniques for infrared imaging devices |
CN109618084B (zh) | 2011-06-10 | 2021-03-05 | 菲力尔***公司 | 红外成像***和方法 |
US9900526B2 (en) | 2011-06-10 | 2018-02-20 | Flir Systems, Inc. | Techniques to compensate for calibration drifts in infrared imaging devices |
US9961277B2 (en) | 2011-06-10 | 2018-05-01 | Flir Systems, Inc. | Infrared focal plane array heat spreaders |
US9509924B2 (en) | 2011-06-10 | 2016-11-29 | Flir Systems, Inc. | Wearable apparatus with integrated infrared imaging module |
US10051210B2 (en) | 2011-06-10 | 2018-08-14 | Flir Systems, Inc. | Infrared detector array with selectable pixel binning systems and methods |
US9811884B2 (en) | 2012-07-16 | 2017-11-07 | Flir Systems, Inc. | Methods and systems for suppressing atmospheric turbulence in images |
US9741154B2 (en) * | 2012-11-21 | 2017-08-22 | Intel Corporation | Recording the results of visibility tests at the input geometry object granularity |
KR102066659B1 (ko) | 2013-08-13 | 2020-01-15 | 삼성전자 주식회사 | 그래픽 프로세싱 유닛, 이를 포함하는 그래픽 프로세싱 시스템 및 이의 동작 방법 |
US9973692B2 (en) | 2013-10-03 | 2018-05-15 | Flir Systems, Inc. | Situational awareness by compressed display of panoramic views |
US11297264B2 (en) | 2014-01-05 | 2022-04-05 | Teledyne Fur, Llc | Device attachment with dual band imaging sensor |
KR102651126B1 (ko) * | 2016-11-28 | 2024-03-26 | 삼성전자주식회사 | 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법 |
CN109643462B (zh) * | 2018-11-21 | 2023-07-04 | 京东方科技集团股份有限公司 | 基于渲染引擎的实时图像处理方法以及显示设备 |
US10803549B1 (en) * | 2019-06-24 | 2020-10-13 | Intel Corporation | Systems and method for avoiding duplicative processing during generation of a procedural texture |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040007242A (ko) * | 2002-07-16 | 2004-01-24 | 마이크로소프트 코포레이션 | 그래픽스 시스템의 중간 타겟들을 제공하기 위한 시스템및 방법 |
KR20040106300A (ko) * | 2002-03-22 | 2004-12-17 | 마이클 에프. 디어링 | 확장가능한 고성능 3d 그래픽 |
US20060055695A1 (en) | 2004-09-13 | 2006-03-16 | Nvidia Corporation | Increased scalability in the fragment shading pipeline |
KR20060094850A (ko) * | 2005-02-25 | 2006-08-30 | 마이크로소프트 코포레이션 | 하드웨어 가속 블렌드 모드 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100269106B1 (ko) | 1996-03-21 | 2000-11-01 | 윤종용 | 멀티프로세서 그래픽스 시스템 |
US6762763B1 (en) | 1999-07-01 | 2004-07-13 | Microsoft Corporation | Computer system having a distributed texture memory architecture |
US6724394B1 (en) | 2000-05-31 | 2004-04-20 | Nvidia Corporation | Programmable pixel shading architecture |
US6825843B2 (en) | 2002-07-18 | 2004-11-30 | Nvidia Corporation | Method and apparatus for loop and branch instructions in a programmable graphics pipeline |
JP2004126676A (ja) | 2002-09-30 | 2004-04-22 | Sony Corp | 画像処理装置およびその方法 |
US7119808B2 (en) * | 2003-07-15 | 2006-10-10 | Alienware Labs Corp. | Multiple parallel processor computer graphics system |
US8872833B2 (en) * | 2003-09-15 | 2014-10-28 | Nvidia Corporation | Integrated circuit configuration system and method |
US7483077B2 (en) * | 2004-01-30 | 2009-01-27 | Broadcom Corporation | Method and system for control of a multi-field deinterlacer including providing visually pleasing start-up and shut-down |
US7385607B2 (en) | 2004-04-12 | 2008-06-10 | Nvidia Corporation | Scalable shader architecture |
US9098932B2 (en) * | 2004-08-11 | 2015-08-04 | Ati Technologies Ulc | Graphics processing logic with variable arithmetic logic unit control and method therefor |
US7821520B1 (en) * | 2004-12-10 | 2010-10-26 | Nvidia Corporation | Fragment processor having dual mode register file |
US7609272B1 (en) * | 2004-12-13 | 2009-10-27 | Nvidia Corporation | Partial texture loads |
US7623132B1 (en) * | 2004-12-20 | 2009-11-24 | Nvidia Corporation | Programmable shader having register forwarding for reduced register-file bandwidth consumption |
JP4266939B2 (ja) * | 2005-02-10 | 2009-05-27 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理装置および描画データ圧縮方法 |
JP4660254B2 (ja) * | 2005-04-08 | 2011-03-30 | 株式会社東芝 | 描画方法及び描画装置 |
US7466318B1 (en) * | 2005-04-13 | 2008-12-16 | Nvidia Corporation | Avoiding unnecessary uncovered texture fetches |
US7728841B1 (en) * | 2005-12-19 | 2010-06-01 | Nvidia Corporation | Coherent shader output for multiple targets |
-
2007
- 2007-01-17 KR KR1020070005263A patent/KR101349171B1/ko active IP Right Grant
- 2007-12-27 US US11/964,961 patent/US8189007B2/en not_active Expired - Fee Related
-
2008
- 2008-01-09 GB GB0800350A patent/GB2445845B/en not_active Expired - Fee Related
- 2008-01-15 JP JP2008005873A patent/JP2008176788A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040106300A (ko) * | 2002-03-22 | 2004-12-17 | 마이클 에프. 디어링 | 확장가능한 고성능 3d 그래픽 |
KR20040007242A (ko) * | 2002-07-16 | 2004-01-24 | 마이크로소프트 코포레이션 | 그래픽스 시스템의 중간 타겟들을 제공하기 위한 시스템및 방법 |
US20060055695A1 (en) | 2004-09-13 | 2006-03-16 | Nvidia Corporation | Increased scalability in the fragment shading pipeline |
KR20060094850A (ko) * | 2005-02-25 | 2006-08-30 | 마이크로소프트 코포레이션 | 하드웨어 가속 블렌드 모드 |
Also Published As
Publication number | Publication date |
---|---|
US8189007B2 (en) | 2012-05-29 |
GB0800350D0 (en) | 2008-02-20 |
GB2445845B (en) | 2011-08-10 |
GB2445845A (en) | 2008-07-23 |
US20080170082A1 (en) | 2008-07-17 |
JP2008176788A (ja) | 2008-07-31 |
KR20080067840A (ko) | 2008-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101349171B1 (ko) | 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법 | |
US9202303B2 (en) | System and method for compositing path color in path rendering | |
KR100510131B1 (ko) | 픽셀 캐쉬 및 이를 이용한 3차원 그래픽 가속 장치 및 방법 | |
EP3008701B1 (en) | Using compute shaders as front end for vertex shaders | |
EP0430501B1 (en) | System and method for drawing antialiased polygons | |
US7307628B1 (en) | Diamond culling of small primitives | |
KR100882842B1 (ko) | 피포를 포스트 버텍스 캐쉬처럼 사용하기 위한 기하학 처리장치와 그 방법 | |
US9230363B2 (en) | System, method, and computer program product for using compression with programmable sample locations | |
KR20190100194A (ko) | 타일식 아키텍처들에서의 포비티드 렌더링 | |
US7551176B2 (en) | Systems and methods for providing shared attribute evaluation circuits in a graphics processing unit | |
US9230362B2 (en) | System, method, and computer program product for using compression with programmable sample locations | |
WO2014058554A2 (en) | Multi-primitive graphics rendering pipeline | |
US20140176529A1 (en) | Tile shader for screen space, a method of rendering and a graphics processing unit employing the tile shader | |
KR20160101949A (ko) | Gpu-가속된 패스 렌더링 | |
KR20210110812A (ko) | 레지던시 맵 디스크립터 | |
US10192348B2 (en) | Method and apparatus for processing texture | |
KR100806345B1 (ko) | 3차원 그래픽 가속기 그리고 텍스쳐 데이터 독출 방법 | |
US6867778B2 (en) | End point value correction when traversing an edge using a quantized slope value | |
US7145570B2 (en) | Magnified texture-mapped pixel performance in a single-pixel pipeline | |
US6819320B2 (en) | Reading or writing a non-super sampled image into a super sampled buffer | |
KR20080064528A (ko) | 3차원 그래픽 가속기 그리고 텍스쳐 데이터 패치 방법 | |
JP6266678B2 (ja) | アビオニクス表示システム | |
EP4220431A1 (en) | Data processing method and related apparatus | |
KR0153664B1 (ko) | 3차원 도형 생성기 | |
JP2005078357A (ja) | 画像処理装置およびその方法 |
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 | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170102 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20191226 Year of fee payment: 7 |