KR20120034293A - 정점 처리 방법 및 장치 - Google Patents

정점 처리 방법 및 장치 Download PDF

Info

Publication number
KR20120034293A
KR20120034293A KR1020100095752A KR20100095752A KR20120034293A KR 20120034293 A KR20120034293 A KR 20120034293A KR 1020100095752 A KR1020100095752 A KR 1020100095752A KR 20100095752 A KR20100095752 A KR 20100095752A KR 20120034293 A KR20120034293 A KR 20120034293A
Authority
KR
South Korea
Prior art keywords
vertex
information
position information
vertices
location information
Prior art date
Application number
KR1020100095752A
Other languages
English (en)
Other versions
KR101681056B1 (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 KR1020100095752A priority Critical patent/KR101681056B1/ko
Priority to US13/182,716 priority patent/US8810585B2/en
Publication of KR20120034293A publication Critical patent/KR20120034293A/ko
Application granted granted Critical
Publication of KR101681056B1 publication Critical patent/KR101681056B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Abstract

정점 처리 방법 및 장치가 제공된다. 일 측면에 따르면 정점 처리 방법 및 장치는 정점들의 위치정보들을 페칭하고, 페칭된 위치정보들 중 필요한 타겟 위치정보들을 추출하며, 타겟 위치정보들을 타일비닝하며, 이와 함께 타겟 위치정보들과 동일한 인덱스를 가지는 속성정보들을 페칭하여 쉐이딩할 수 있다.

Description

정점 처리 방법 및 장치{Method and Apparatus for Processing Vertex}
기술분야는 정점 처리 방법 및 장치에 관한 것으로서, 선택적으로 정점의 속성정보를 페칭하여 쉐이딩할 수 있는 정점 처리 방법 및 장치에 관한 것이다.
3D(dimension) 그래픽스 구현을 위한 기술 중 하나인 TBR(Tile Based Rendering) 아키텍쳐는 모바일 기기에서부터 정밀한 과학 시뮬레이션에 이르기까지 다양한 분야에서 3D 시각화(Visualization)를 가능하게 한다. TBR 아키텍쳐는 그래픽스 파이프라인의 온칩 메모리인 타일 버퍼에서 프래그먼트 프로세싱을 수행하며, 최종 결과를 그래픽스 파이프라인의 오프칩 메모리로 전송한다. 이를 위해서는, 타일 비닝 과정과 TBR의 결과를 저장하는 씬 버퍼(Scene Buffer)가 추가적으로 필요하다. 이 때, 3D 그래픽의 사실감을 높이기 위하여, 사용되는 정점의 개수를 늘리는 경우, 초기 정점 데이터의 페칭(fetching)에 요구되는 오프칩 메모리의 대역폭과 씬 버퍼에 연계된 오프칩 메모리의 대역폭 요구량이 비약적으로 증가한다. 즉, 오프칩 메모리의 액세스 비용 및 타일 비닝에 따른 오버헤드 비용이 증가하게 된다. 따라서, TBR 아키텍쳐에 수반되는 메모리 대역폭의 유발을 줄임으로써 데이터 처리 성능을 향상시킬 필요가 있다.
일 측면에 있어서, 타일 기반 렌더링을 위한 그래픽스 파이프라인의 정점 처리 방법은, 정점들의 위치정보들을 페칭(fetching)하는 단계; 페칭된 위치정보들 중 뷰포트에 표시되는 프리미티브들에 속하는 타겟 위치정보들을 출력하는 단계; 출력되는 타겟 위치정보들을 타일 비닝하여 타일 비닝 결과를 출력하는 단계; 및 정점들 중 타겟 위치정보들에 대응하는 정점들의 속성정보들을 페칭하여 쉐이딩하는 단계를 포함한다.
타일 비닝 결과를 출력하는 단계와 속성정보들을 쉐이딩하는 단계는 병행 처리될 수 있다.
타일 비닝 결과와 쉐이딩된 속성정보들을 프로세서-그래픽스 파이프라인의 동작을 처리함-와 버스로 연결된 오프 칩 메모리에 동시에 저장할 수 있다.
위치정보들을 페칭하는 단계는, 정점들의 인덱스들을 정점 인덱스 버퍼에 저장하는 단계; 정점들의 위치정보들과 속성정보들을 정점 캐쉬에 캐싱하는 단계; 및 정점 인덱스 버퍼로부터 입력되는 인덱스들에 대응하는 위치정보들을 정점 캐쉬로부터 페칭하는 단계를 포함할 수 있다.
정점의 속성정보는, 정점의 법선 벡터에 대한 정보, 정점의 컬러 정보, 정점의 텍스쳐 좌표 정보들을 포함할 수 있다.
출력되는 타겟 위치정보들은, 페칭된 위치정보들 중 비타겟 위치정보들-화면에 비표시되는 프리미티브에 속하는 위치정보임-을 제거하고 남은 위치정보들이다.
타겟 위치정보들을 출력하는 단계는, Back Face Culling 방식, 뷰포트의 외부에 위치하는 정점을 제거하는 Trivial Accept and Reject Test 방식 및 픽셀 크기 이하의 점으로 표시되는 정점을 제거하는 Zero-Area Triangle Removal 방식 중 적어도 하나를 이용하여 비타겟 위치정보들을 제거할 수 있다.
페칭된 위치정보들을 쉐이딩하여 위치변환하는 단계; 및 출력되는 타겟 위치정보들을 뷰포트에 매핑하는 단계를 더 포함할 수 있다.
다른 측면에 있어서, 타일 기반 렌더링을 위한 정점 처리 장치는, 정점들의 위치정보들 및 정점들의 속성정보들을 선택적으로 페칭(fetching)하는 페칭부; 페칭부에 의해 페칭되는 위치정보들을 뷰포트 상의 좌표계로 변환하는 제1쉐이더; 페칭부에 의해 페칭된 위치정보들 중 뷰포트에 표시되는 프리미티브들에 속하는 타겟 위치정보들을 출력하는 프리미티브 어셈블리부; 및 출력되는 타겟 위치정보들을 타일 비닝하여 타일 비닝 결과를 출력하는 타일 비닝부; 및 정점들 중 타겟 위치정보들에 대응하는 정점들의 속성정보들이 페칭부에 의해 페칭되면, 페칭된 속성정보들을 쉐이딩하는 제2쉐이더를 포함한다.
타일 비닝과 속성정보들을 쉐이딩하는 동작은 병행 처리될 수 있다.
페칭부는, 정점들의 인덱스들을 저장하는 정점 인덱스 버퍼; 정점들의 위치정보들과 속성정보들을 캐싱하는 정점 캐쉬; 및 정점 인덱스 버퍼로부터 입력되는 인덱스들에 대응하는 위치정보들을 정점 캐쉬로부터 페칭하고, 타겟 위치정보들과 동일한 인덱스에 대응하는 속성정보들을 정점 캐쉬로부터 페칭하는 정점 데이터 페칭부를 포함할 수 있다.
프리미티브 어셈블리부는, 페칭된 위치정보들 중 비타겟 위치정보들-화면에 비표시되는 프리미티브에 속하는 위치정보임-을 제거하고 남은 위치정보들을 타겟 위치정보들로서 출력할 수 있다.
출력되는 타겟 위치정보들을 뷰포트에 매핑하는 뷰포트 매핑부와, 페칭부에 의해 선택적으로 페칭되는 위치정보들과 속성정보들을 각각 제1쉐이더 및 제2쉐이더로 제공하는 멀티플렉서를 더 포함할 수 있다.
정점 처리 방법 및 장치에 의하면, 정점의 위치정보와 그 외 속성정보들을 동시에 페칭하여 쉐이딩하지 않으며, 필요한 속성정보만을 선택적으로 페칭하여 쉐이딩함으로써 처리할 정점 데이터를 감소시킬 수 있다. 이로써, 외부메모리의 액세스를 최소화하고 그에 의한 전력소모를 감소시킬 수 있다. 또한, 필요한 위치정보의 기하학 처리와 속성정보의 쉐이딩을 병행함으로써 데이터 처리 성능을 극대화할 수 있다.
도 1은 타일 기반 렌더링을 위한 제1정점 처리 장치의 구성예를 도시한 블록도이다.
도 2는 타일 기반 렌더링을 위한 제2정점 처리 장치의 구성예를 도시한 블록도이다.
도 3은 도 2에 도시된 제2페칭부의 구성예를 도시한 블록도이다.
도 4a 및 도 4b는 Back Face Culling 방식을 설명하기 위한 예시도이다.
도 5는 Trivial Accept and Reject Test 방식을 설명하기 위한 예시도이다.
도 6은 타겟 위치정보와 속성정보를 독립적으로 쉐이딩하는 프로그래밍의 예시도이다.
도 7은 제2정점 처리 장치의 3D 그래픽스 파이프라인에 의해 위치정보와 속성정보를 선택적으로 페칭하여 처리하는 과정을 보여주는 도면이다.
도 8은 타일 기반 렌더링을 위한 그래픽스 파이프라인의 정점 처리 방법을 설명하기 위한 흐름도이다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 타일 기반 렌더링을 위한 제1정점 처리 장치(100)의 구성예를 도시한 블록도이다.
먼저, 도 1에 도시된 제1정점 처리 장치(100) 및 후술할 제2정점 처리 장치(200)는 타일 기반 렌더링을 위한 그래픽스 파이프라인을 기반으로 정점 처리(Vertex Processing) 및 기하학 처리(Geometry Processing)를 수행할 수 있다. 도 1을 참조하면, 제1정점 처리 장치(100)는 제1페칭부(110), 제1쉐이더(120), 제1프리미티브 어셈블리부(130), 제1타일 비닝부(140) 및 제2쉐이더(150)를 포함할 수 있다.
제1페칭부(110)는 제1외부 메모리(10)에 저장된 정점 데이터 중 현재 처리할 정점 데이터를 페칭할 수 있다. 제1외부 메모리(10)는 제1정점 처리 장치(100)와 버스를 통해 연결된 오프 칩 메모리일 수 있다. 정점 데이터는 각 정점의 위치정보와, 각 정점의 속성정보를 포함할 수 있다.
제1쉐이더(120)는 제1페칭부(110)에 의해 페칭되는 정점들의 위치정보들을 쉐이딩하여 뷰포트 상의 좌표계로 위치 변환할 수 있다. 위치 변환에 의해, 제1쉐이더(120)는 뷰어가 정점을 바라보는 각도, 방향 등을 계산할 수 있다.
제1프리미티브 어셈블리부(130)는 제1페칭부(110)에 의해 페칭된 정점들의 위치정보들 중 뷰포트에 표시되는 프리미티브(primitive)에 속하는 타겟 위치정보들을 출력할 수 있다.
제1타일 비닝부(140)는 제1프리미티브 어셈블리부(130)로부터 출력되는 타겟 위치정보들을 타일 비닝하여 타일 비닝 결과를 출력할 수 있다. 타일 비닝 결과는 제1외부 메모리(10)에 업데이트될 수 있다.
한편, 제1프리미티브 어셈블리부(130)에서 출력되는 타겟 위치정보들에 대응하는 정점의 속성정보가 제1페칭부(110)에 의해 페칭되면, 제2쉐이더(150)는 페칭된 속성정보를 쉐이딩할 수 있다. 예를 들어, 제2쉐이더(150)는 법선 벡터 변환, 컬러 변환 및 텍스쳐 좌표 변환 등을 수행할 수 있다.
도 2는 타일 기반 렌더링을 위한 제2정점 처리 장치(200)의 구성예를 도시한 블록도이다.
도 2를 참조하면, 제2정점 처리 장치(200)는 제2페칭부(210), 멀티플렉서(220), 제3쉐이더(230), 제2프리미티브 어셈블리부(240), 뷰포트 매핑부(250), 타일 비닝부(260), 제4쉐이더(270), 스위칭부(280) 및 가산부(290)를 포함할 수 있다.
제2페칭부(210)는 제2외부 메모리(20)에 저장된 정점 데이터 중 현재 처리할 정점 데이터를 페칭(fetching)할 수 있다. 제2외부 메모리(20)는 제2정점 처리 장치(200)와 버스를 통해 연결된 오프 칩 메모리일 수 있다. 페칭되는 정점 데이터는 각 정점의 위치정보와, 각 정점의 속성정보를 포함할 수 있다. 이 때, 제2페칭부(210)는 위치정보와 속성정보를 함께 페칭하지 않고, 선택적으로 페칭할 수 있다. 또한, 제2페칭부(210)는 정점들의 모든 위치정보들은 페칭하며, 속성정보들은 일부만 페칭할 수 있다.
한편, 실질적으로 정점의 위치정보도 속성정보에 포함되나, 이하에서는 설명의 편의상 위치정보를 속성정보와 별도로 기재한다. 정점의 속성정보는 정점의 법선 벡터에 대한 정보(n, normal), 정점의 컬러 정보(c, color), 정점의 텍스쳐 좌표 정보(t, texture coordinate)들 중 적어도 하나를 포함할 수 있다. 속성정보는 정점을 처리하는데 필요한 정보로서 상기 예에 한정되지 않는다.
도 3은 도 2에 도시된 제2페칭부(210)의 구성예를 도시한 블록도이다.
도 3을 참조하면, 제2페칭부(210)는 속성 매니저(211), 정점 인덱스 버퍼(212), 정점 캐쉬(213) 및 정점 데이터 페칭부(214)를 포함할 수 있다.
속성 매니저(211)는 페칭될 위치정보와 속성정보의 특성을, 입력되는 렌더링 문맥 정보(Rendering Context Information)들을 이용하여 설정 및 관리할 수 있다. 위치정보와 속성정보의 특성은, 정점 데이터 페칭부(214)가 정점 캐쉬(213)로부터 보다 정확하게 위치정보와 속성정보를 페칭하기 위해 사용될 수 있다.
위치정보와 속성정보의 특성은 차원(dimension), 데이터 타입, 바이트 단위로 표시된 정점 레코드의 길이를 나타내는 스트라이드(stride), 소스 어드레스, Constant Attribute Values 등의 정보를 포함한다. 아래 [표 1]은 정점의 데이터 타입과 차원의 예를 보여준다.
데이터 타입 차원(dimension)
특성 위치 3차원 또는 4차원
법선 벡터 3차원
컬러 4차원
텍스쳐 좌표 2차원
렌더링 문맥은 상술한 위치정보와 속성정보의 특성들을 포함하며, 하나의 장면을 그리기 위한 모든 파라미터값들을 가지는 데이터 구조이다. 예를 들어, 렌더링 문맥은 OpenGL과 같은 3D 라이브러리와 관련된 파라미터값들을 포함할 수 있다.
속성 매니저(211)는 정점 인덱스 버퍼(212)에게 원 인덱스(Io: Original Index)를 제공하며, 정점 데이터 페칭부(214)에게 위치정보와 속성정보의 특성을 제공한다. 원 인덱스(Io)는 각 정점에게 할당된 인덱스를 의미한다. 속성 매니저(211)는 정점 인덱스 버퍼(212)에게 복수 개의 정점들의 인덱스를 동시에 제공할 수 있다. 예를 들어, 속성 매니저(211)는 n개의 폴리곤 단위로 정점들의 인덱스를 제공할 수 있으며, 폴리곤이 삼각형인 경우, 정점들의 인덱스 3n개를 정점 데이터 페칭부(214)에게 제공한다.
정점 인덱스 버퍼(212)는 속성 매니저(211)로부터 제공받은 정점들의 원 인덱스(Io)들을 저장한다. 정점 인덱스 버퍼(212)는 저장된 원 인덱스(Io)들을 인덱스를 기준으로 순차적으로 정점 데이터 페칭부(214)로 출력할 수 있다. 또한, 정점 인덱스 버퍼(212)는 후술할 제2프리미티브 어셈블리부(240)로부터 입력되는 인덱스(Itp)들을 저장하고, 순차적으로 정점 데이터 페칭부(214)로 출력할 수 있다. 인덱스(Itp)들의 개수는 원 인덱스(Io)들과 동일하거나 적을 수 있다.
정점 캐쉬(213)는 제2외부 메모리(20)로부터 정점들의 정점 데이터를 캐싱(caching)하여 저장한다. 캐싱되는 정점 데이터는 각 정점의 위치정보(p)와 속성정보(n, c, t)를 포함한다.
한편, 정점 캐쉬(213)는 Read-Only Vertex Cache일 수 있으며, 속성정보와 위치정보를 합친 최대 개수 N에 따라 N개의 Direct-Mapped 타입 또는 N-way set Associativity 타입을 갖도록 구성될 수 있다. Direct-Mapped 타입 또는 N-way set Associativity 타입은 주지된 기술이므로, 상세한 설명은 생략한다.
정점 데이터 페칭부(214)는 정점 인덱스 버퍼(212)로부터 입력되는 원 인덱스(Io)에 대응하는 위치정보(p)를 정점 캐쉬(213)로부터 페칭하여, 멀티플렉서(220)로 제공할 수 있다. 또한, 정점 데이터 페칭부(214)는 후술할 타겟 위치정보와 동일한 인덱스에 대응하는 속성정보(n, c, t)를 정점 캐쉬(213)로부터 페칭하여, 멀티플렉서(220)로 제공할 수 있다.
특히, 정점 데이터 페칭부(214)는 보다 정확한 페칭을 위해, 입력되는 인덱스(Io 또는 Itp)를 이용하여 정점 데이터가 저장된 주소값을 계산하고, 계산된 주소값에 해당하는 정점 데이터를 정점 캐쉬(213)로부터 페칭할 수 있다. 정점 데이터 페칭부(214)는 속성 매니저(211)로부터 제공받은 위치정보(p)와 속성정보(n, c, t)의 특성을 이용하여 주소값을 보다 정확히 계산할 수 있다.
다시 도 2를 참조하면, 멀티플렉서(220)는 제2페칭부(210) 또는 정점 데이터 페칭부(214)에 의해 선택적으로 페칭되는 위치정보와 속성정보를 각각 제3쉐이더(230) 및 제4쉐이더(270)로 제공할 수 있다. 즉, 멀티플렉서(220)는 정점 데이터 페칭부(214)로부터 위치정보가 입력되면 위치정보가 제3쉐이더(230)로 제공되도록 멀티플렉싱하며, 속성정보가 입력되는 속성정보가 제4쉐이더(270)로 제공되도록 멀티플렉싱한다.
제3쉐이더(230)는 제2페칭부(210)에 의해 페칭되는 정점의 위치정보를 쉐이딩하여 뷰포트 상의 좌표계로 위치 변환할 수 있다. 예를 들어, 제3쉐이더(230)는 정점의 위치정보를 월드 좌표계, 뷰좌표계 및 프로젝션 좌표계 등으로 변환하여, 시점에 따라 정점의 위치를 결정할 수 있다. 이로써, 제3쉐이더(230)는 뷰어가 정점 또는 프리미티브(primitive)를 바라보는 각도, 방향 등을 계산할 수 있다.
3D 그래픽스 분야에서는 모든 물체를 점(point), 선(line), 폴리곤(polygon) 등의 프리미티브로 표현할 수 있다. 결국, 프리미티브는 하나 이상의 정점으로 표현된다. 또한, 월드 좌표계, 뷰좌표계 및 프로젝션 좌표계는 3D 그래픽스 렌더링 분야에서 주지된 기술이므로, 설명의 편의상 상세한 설명은 생략한다.
제2프리미티브 어셈블리부(240)는 제2페칭부(210)에 의해 페칭된 정점들의 위치정보들 중 뷰포트에 표시되는 프리미티브들에 속하는 타겟 위치정보들을 출력할 수 있다. 즉, 제2프리미티브 어셈블리부(240)는 out-of viewport에 위치하는 비타겟 위치정보들을 제외하고 남은 위치정보들을 타겟 위치정보로서 정하고, 남은 위치정보들의 인덱스 목록을 갱신한 후 갱신된 인덱스 목록을 출력한다. 제2프리미티브 어셈블리부(240)는 페칭된 정점들의 위치정보들 중 비타겟 위치정보들을 제외하고 남은 위치정보들을 타겟 위치정보들로 정할 수 있다. 비타겟 위치정보는 화면 또는 뷰포트에 비표시되는 프리미티브에 속하는 위치정보이다.
제2프리미티브 어셈블리부(240)의 처리 단위가 삼각형인 경우, 제2프리미티브 어셈블리부(240)는 하나의 삼각형을 이루는 3개의 정점들의 위치정보가 모두 입력된 후, 타겟 위치정보들을 출력할 수 있다. 이 때의 타겟 위치정보들의 개수는 3개 이하이다.
한편, 제2프리미티브 어셈블리부(240)는, 후면 컬링(Back Face Culling) 방식, 뷰포트의 외부에 위치하는 정점(또는 삼각형)을 제거하는 Trivial Accept and Reject Test 방식 및 픽셀 크기 이하의 점으로 표시되는 정점(또는 삼각형)을 제거하는 Zero-Area Triangle Removal 방식 중 적어도 하나를 이용하여 비타겟 위치정보들을 제거할 수 있다.
도 4a 및 도 4b는 Back Face Culling 방식을 설명하기 위한 예시도이다.
도 4a를 참조하면, 뷰어(41)는 정점들로 이루어진 구(Sphere, 42)를 바라보고 있으며, 이 때, 구(42)의 전면(Front Face, 43)은 뷰어(41)에게 보이며, 후면(Back Face, 44)는 뷰어(41)에게 보이지 않는다. 즉, 투영(projection) 위치 또는 투영 방향에 따라 뷰어(41)에게 보여지는 구(42)의 면은 달라진다. Back Face Culling 방식은 객체, 즉, 구(42)가 불투명한 경우, 뷰어(41)에게 보이지 않는 후면(44)에 대응하는 기하정보를 도 4b에 도시된 바와 같이, 제거하는 방식이다. 
도 5는 Trivial Accept and Reject Test 방식을 설명하기 위한 예시도이다.
도 5를 참조하면, 삼각형의 타입은 뷰포트의 에지를 기준으로 3가지 타입, 즉, Trivially Accepted Triangle 타입, Clipped Triangle 타입 및 Trivially Rejected Triangle 타입으로 구분된다. Trivially Accepted Triangle 타입은 삼각형이 뷰포트 내에 위치하는 타입이며, Clipped Triangle 타입은 삼각형이 뷰포트에 걸쳐진 형태의 타입이며, Trivially Rejected Triangle 타입은 삼각형이 뷰포트 외부에 위치하는 타입이다. Trivial Accept and Reject Test 방식은, 3가지의 타입들 중 Trivially Rejected Triangle 타입에 해당하는 삼각형을 제거하고, Clipped Triangle 타입의 삼각형은 뷰포트 외부에 위치하는 부분(사선으로 표시됨)을 제거한 후, 뷰포트 에지의 점들(p)을 이용하여 새로운 삼각형을 만드는 방식이다.
Zero-Area Triangle Removal 방식은 뷰어의 위치 및 투영 방향에 따라 선이 되거나 또는 픽셀 크기 이하의 점이 되는 삼각형들을 제거하는 방식이다.
상술한 방식들에 의해, 제2프리미티브 어셈블리부(240)는 뷰포트 매핑부(250)에서 처리될 타겟 위치정보의 개수를 감소시킬 수 있다. 또한, 제2프리미티브 어셈블리부(240)는 뷰포트에 표시되지 않는 위치정보들이 제거되고 남은 타겟 위치정보의 인덱스(Itp)를 정점 인덱스 버퍼(212)에게 제공한다. 따라서, 동일한 정점의 원인덱스(Io)와 제2프리미티브 어셈블리부(240)로부터 입력되는 인덱스(Itp)는 실질적으로 동일하며, 설명에서는 이해의 편의를 위하여 다르게 표시한다.
다시 도 2를 참조하면, 뷰포트 매핑부(250)는 제2프리미티브 어셈블리부(240)로부터 입력되는 타겟 위치정보들을 뷰포트에 매핑할 수 있다. 타겟 위치정보들은 3D 좌표를 가지므로, 뷰포트 매핑부(250)는 3D 좌표의 타겟 위치정보를 2D 좌표로 변환하여 뷰포트에 매핑한다.
타일 비닝부(260)는 뷰포트 매핑부(250)로부터 입력되는 타겟 위치정보들을 타일 비닝하여 타일 비닝 결과를 가산부(290)에게 출력할 수 있다. 타일 비닝은 뷰포트를 타일 단위로 구분하고, 프리미티브가 삼각형인 경우, 삼각형이 속하는 타일들을 확인하는 과정을 포함할 수 있다. 또한, 타일 비닝은 삼각형이 속하는 타일들의 정보와 그 삼각형의 정점 데이터를 씬 버퍼(Scene Buffer)에 저장하는 과정을 포함할 수 있다. 씬 버퍼는 제2외부 메모리(20)에 속하거나 또는 별도의 오프 칩 메모리이다.
한편, 제2페칭부(210)의 정점 인덱스 버퍼(212)는 제2프리미티브 어셈블리부(240)로부터 입력되는 인덱스 목록을 정점 데이터 페칭부(214)로 제공한다. 인덱스 목록은 갱신된 타겟 위치정보들의 인덱스들로 이루어진 목록이다.
정점 데이터 페칭부(214)는 타겟 위치정보(Itp)와 동일한 인덱스를 가지는 속성정보를 제2외부 메모리(20)로부터 페칭하여, 멀티플렉서(220)로 제공할 수 있다.
멀티플렉서(220)는 정점 데이터 페칭부(214)로부터 입력되는 속성정보를 제4쉐이더(270)로 멀티플렉싱한다.
제4쉐이더(270)는 정점의 속성정보가 멀티플렉서(220)로부터 입력되면, 정점의 속성정보를 쉐이딩할 수 있다. 예를 들어, 제4쉐이더(270)는 법선 벡터 변환, 컬러 변환 및 텍스쳐 좌표 변환 등을 수행할 수 있다. 제4쉐이더(270)는 쉐이딩된 속성정보를 스위칭부(280)로 출력할 수 있다.
스위칭부(280)는 가산부(290)와 제4쉐이더(270) 간의 데이터 전송 경로를 제공할 수 있다. 제4쉐이더(270)에서 쉐이딩된 속성정보가 존재하면, 스위칭부(280)는 온(on)되어 가산부(290)와 연결되며, 쉐이딩된 속성정보는 가산부(290)로 제공된다. 또한, 제4쉐이더(270)에서 쉐이딩된 속성정보가 미존재하면, 스위칭부(280)는 오프(off)되어 가산부(290)와의 연결을 종료한다.
가산부(290)는 타일 비닝부(260)로부터 입력되는 타일 비닝 결과와 스위칭부(280)를 통해 입력되는 쉐이딩된 속성정보를 가산하고, 가산 결과를 제2외부 메모리(20)에게 제공할 수 있다. 즉, 가산부(290)는 동일한 인덱스를 가지는 정점의 타겟 위치정보의 변환 결과와 속성정보의 버텍스 쉐이딩 결과를 합쳐 제2외부 메모리(20)에게 제공할 수 있다. 또는, 가산부(290)는 하나의 씬에 속하는 정점들의 타일 비닝과 속성정보 쉐이딩이 완료되면, 완료된 타일 비닝 결과와 쉐이딩된 속성정보를 씬 단위로 제2외부 메모리(20)에게 제공할 수 있다.
한편, 상술한 제3쉐이더(230) 및 제4쉐이더(270)는 하나의 정점 쉐이더를 통해 또는 각각의 정점 쉐이더를 통해 상기 동작을 할 수 있다. 정점 쉐이더는 3D 영상을 제공하기 위해, 데이터에 대한 실시간 처리를 프로그램으로 가능하게 한다. 제3쉐이더(230) 및 제4쉐이더(270)는 도 6에 도시된 바와 같이 독립적인 정점 쉐이더 Compiler Directive 프로그래밍 방식을 이용하여, 위치정보와 속성정보를 독립적으로 쉐이딩할 수 있다.
도 7은 제2정점 처리 장치(200)의 3D 그래픽스 파이프라인에 의해 위치정보와 속성정보를 선택적으로 페칭하여 처리하는 과정을 보여주는 도면이다.
도 2 및 도 7을 참조하면, 오프 칩 메모리는 제2외부 메모리(20)일 수 있으며, 씬 단위로 정점들의 위치정보(p)와 속성정보(n, c, t)를 저장할 수 있다. 먼저, 제2페칭부(210)는 정점의 위치정보를 페칭하며, 제3쉐이더(230)는 페칭된 위치정보를 쉐이딩하여 위치 변환을 수행한다.
제2프리미티브 어셈블리부(240)는 폴리곤 단위로 동작하므로, 폴리곤을 이루는 위치정보들 중 불필요한 위치정보를 컬링 또는 클리핑에 의해 제거하고, 타겟 위치정보를 추출한다. 따라서, 폴리곤을 이루는 위치정보들의 개수는 줄어들 수 있으며, 이러한 경우, 인덱스 역시 줄어든다.
뷰포트 매핑부(250)는 타겟 위치정보를 뷰포트 매핑하며, 타일 비닝부(260)는 뷰포트 매핑된 타겟 위치정보를 타일 비닝한다. 이 때, 제2페칭부(210)는 타겟 위치정보와 동일한 인덱스를 가지는 속성정보를 오프칩 메모리로부터 페칭하고, 제4쉐이더(270)는 속성정보를 쉐이딩한다. 즉, 타겟 위치정보가 뷰포트 매핑부(250)와 타일 비닝부(260)에서 처리되는 과정과, 속성정보가 페칭되어 쉐이딩되는 과정은 병행될 수 있다. 타일 비닝부(260)에서 출력되는 타겟 위치정보의 결과와 제4쉐이더(270)에서 출력되는 쉐이딩된 속성정보는 씬 버퍼, 즉, 오프칩 메모리로 제공된다.
상술한 제1정점 처리 장치(100) 및 제2정점 처리 장치(200)에 의하면, 처음부터 정점들의 위치정보들과 속성정보들을 같이 페칭하지 않는다. 즉, 제1정점 처리 장치(100) 및 제2정점 처리 장치(200)는 위치정보들을 페칭하고, 불필요한 위치정보들은 제거하며, 그 후, 필요한 위치정보들에 대응하는 정점들의 속성정보들을 페칭한다. 이로써, 페칭되는 속성정보들의 양은 감소하며, 결과적으로 메모리 액세스를 위한 대역폭 리소스도 감소된다.
도 8은 타일 기반 렌더링을 위한 그래픽스 파이프라인의 정점 처리 방법을 설명하기 위한 흐름도이다.
도 8의 정점 처리 방법을 수행하는 정점 처리 장치는 도 2를 참조하여 설명한 제2정점 처리 장치(200), 또는 그래픽스 파이프라인의 동작을 처리하는 제2정점 처리 장치(200)의 프로세서(미도시)에 의해 동작될 수 있다.
805단계에서, 정점 처리 장치는 오프 칩 메모리에 저장된 정점 데이터들을 정점 캐쉬에 캐싱하며, 캐싱되는 정점 데이터들에 인덱스가 할당되어 있지 않으면, 810단계에서, 정점 데이터들에 서로 다른 인덱스를 할당한다. 또는, 정점 인덱스가 구비되지 않은 경우, 정점 처리 장치는 오프 칩 메모리에 저장된 정점 데이터들에 인덱스를 할당할 수 있다. 인덱스 할당은, 데이터가 오프 칩 메모리에 순차적으로 입력되는 모드로 동작하므로, 입력되는 순서대로 0부터 n(n은 상수)을 할당함으로써 수행될 수 있다.
815단계에서, 정점 처리 장치는 정점 캐쉬 또는 오프 칩 메모리에 저장된 정점의 위치정보를 페칭한다.
820단계에서, 정점 처리 장치는 페칭된 위치정보를 쉐이딩하여 위치변환한다.
825단계에서, 정점 처리 장치는 폴리곤이라는 처리단위의 위치정보들이 모두 위치 변환될 때까지 대기한다. 예를 들어, 처리단위가 삼각형이면, 정점 처리 장치는 적어도 3개의 위치정보들이 위치변환될 때까지 대기한다.
830단계에서, 정점 처리 장치는 폴리곤에 속하는 위치정보들 중 비타겟 위치정보가 존재하는지 판단한다. 즉, 정점 처리 장치는 페칭된 정점들의 위치정보들 중 뷰포트에 표시되는 프리미티브들에 속하는 타겟 위치정보들을 출력할 수 있다.
이때 805단계부터 835 단계까지 효율을 위해 복수의 프리미티브의 묶음으로 반복 처리할 수 있다.
835단계에서, 정점 처리 장치는 뷰포트의 외부에 위치하는 비타겟 위치정보들을 제외하고, 남은 위치정보들을 타겟 위치정보로서 출력하기 위하여, 남은 위치정보들의 인덱스 목록을 갱신하고 갱신된 인덱스 목록을 출력한다. 정점 처리 장치는 Back Face Culling 방식, Trivial Accept and Reject Test 방식 및 Zero-Area Triangle Removal 방식 중 적어도 하나를 이용하여 비타겟 위치정보들을 제거할 수 있다.
840단계에서, 정점 처리 장치는 갱신된 인덱스 목록에 인덱스들이 남아 있는지 확인한다.
확인 결과, 인덱스 목록에 인덱스들이 잔존하면, 845단계에서, 정점 처리 장치는 835단계에서 갱신된 타겟 위치들의 인덱스의 목록을 이용하여, 인덱스 목록의 인덱스들과 동일한 인덱스를 가지는 속성정보를 정점 캐쉬 또는 오프 칩 메모리로부터 페칭한다.
850단계에서, 정점 처리 장치는 페칭된 속성정보를 쉐이딩한다. 845단계와 850단계는 타겟 위치들의 인덱스와 동일한 인덱스를 가지는 모든 속성정보들이 쉐이딩될 때까지 반복수행될 수 있다.
한편, 845단계와 850단계가 진행되는 동안, 855단계에서, 정점 처리 장치는 타겟 위치들을 뷰포트에 매핑하고, 860단계에서, 뷰포트에 매핑된 타겟 위치들을 타일 비닝한다.
865단계에서, 정점 처리 장치는 타일 비닝 결과와 쉐이딩된 속성정보들을 합하여 출력할 수 있다.
이때 840단계부터 865 단계까지 효율을 위해 복수의 프리미티브의 묶음으로 반복 처리할 수 있다.
870단계에서, 모든 타겟 위치정보들이 타일 비닝되고, 타겟 위치정보들과 동일한 인덱스를 가지는 모든 속성정보들이 쉐이딩되면, 875단계에서, 합해진 정점 처리 장치는 타일 비닝 결과와 쉐이딩된 속성정보들을 오프칩 메모리에 업데이트할 수 있다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
200: 제2정점 처리 장치 210: 제2페칭부
220: 멀티플렉서 230: 제3쉐이더
240: 제2프리미티브 어셈블리부 250: 뷰포트 매핑부
260: 타일 비닝부 270: 제4쉐이더
280: 스위칭부 290: 가산부

Claims (17)

  1. 타일 기반 렌더링을 위한 그래픽스 파이프라인의 정점 처리 방법에 있어서,
    정점들의 위치정보들을 페칭(fetching)하는 단계;
    상기 페칭된 위치정보들 중 뷰포트에 표시되는 프리미티브들에 속하는 타겟 위치정보들을 출력하는 단계;
    상기 출력되는 타겟 위치정보들을 타일 비닝하여 타일 비닝 결과를 출력하는 단계; 및
    상기 정점들 중 상기 타겟 위치정보들에 대응하는 정점들의 속성정보들을 페칭하여 쉐이딩하는 단계
    를 포함하는, 그래픽스 파이프라인의 정점 처리 방법.
  2. 제1항에 있어서,
    상기 타일 비닝 결과를 출력하는 단계와 상기 속성정보들을 쉐이딩하는 단계는 병행 처리되는, 그래픽스 파이프라인의 정점 처리 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 타일 비닝 결과와 상기 쉐이딩된 속성정보들을 프로세서-상기 그래픽스 파이프라인의 동작을 처리함-와 버스로 연결된 오프 칩 메모리에 동시에 저장하는 단계
    를 더 포함하는, 그래픽스 파이프라인의 정점 처리 방법.
  4. 제1항에 있어서,
    상기 위치정보들을 페칭하는 단계는,
    상기 정점들의 인덱스들을 정점 인덱스 버퍼에 저장하는 단계;
    상기 정점들의 위치정보들과 상기 속성정보들을 정점 캐쉬에 캐싱하는 단계; 및
    상기 정점 인덱스 버퍼로부터 입력되는 인덱스들에 대응하는 위치정보들을 상기 정점 캐쉬로부터 페칭하는 단계
    를 포함하는, 그래픽스 파이프라인의 정점 처리 방법.
  5. 제1항에 있어서,
    상기 정점의 속성정보는, 상기 정점의 법선 벡터에 대한 정보, 상기 정점의 컬러 정보, 상기 정점의 텍스쳐 좌표 정보들을 포함하는, 그래픽스 파이프라인의 정점 처리 방법.
  6. 제1항에 있어서,
    상기 출력되는 타겟 위치정보들은, 상기 페칭된 위치정보들 중 비타겟 위치정보들-화면에 비표시되는 프리미티브에 속하는 위치정보임-을 제외한 남은 위치정보들인, 그래픽스 파이프라인의 정점 처리 방법.
  7. 제6항에 있어서,
    상기 타겟 위치정보들을 출력하는 단계는, 후면 컬링(Back Face Culling) 방식, 상기 뷰포트의 외부에 위치하는 정점을 제거하는 Trivial Accept and Reject Test 방식 및 픽셀 크기 이하의 점으로 표시되는 정점을 제거하는 Zero-Area Triangle Removal 방식 중 적어도 하나를 이용하여 상기 비타겟 위치정보들을 제거하는, 그래픽스 파이프라인의 정점 처리 방법.
  8. 제1항에 있어서,
    상기 페칭된 위치정보들을 쉐이딩하여 위치변환하는 단계; 및
    상기 출력되는 타겟 위치정보들을 상기 뷰포트에 매핑하는 단계
    를 더 포함하는, 그래픽스 파이프라인의 정점 처리 방법.
  9. 타일 기반 렌더링을 위한 정점 처리 장치에 있어서,
    정점들의 위치정보들 및 상기 정점들의 속성정보들을 선택적으로 페칭(fetching)하는 페칭부;
    상기 페칭부에 의해 페칭되는 위치정보들을 상기 뷰포트 상의 좌표계로 변환하는 제1쉐이더;
    상기 페칭부에 의해 페칭된 위치정보들 중 뷰포트에 표시되는 프리미티브들에 속하는 타겟 위치정보들을 출력하는 프리미티브 어셈블리부;
    상기 출력되는 타겟 위치정보들을 타일 비닝하여 타일 비닝 결과를 출력하는 타일 비닝부; 및
    상기 정점들 중 상기 타겟 위치정보들에 대응하는 정점들의 속성정보들이 상기 페칭부에 의해 페칭되면, 상기 페칭된 속성정보들을 쉐이딩하는 제2쉐이더
    를 포함하는, 정점 처리 장치.
  10. 제9항에 있어서,
    상기 타일 비닝과 상기 속성정보들을 쉐이딩하는 동작은 병행 처리되는, 정점 처리 장치.
  11. 제9항 또는 제10항에 있어서,
    상기 타일 비닝 결과와 상기 쉐이딩된 속성정보들은 상기 정점 처리 장치와 버스로 연결된 오프 칩 메모리에 동시에 저장되는, 정점 처리 장치.
  12. 제9항에 있어서,
    상기 페칭부는,
    상기 정점들의 인덱스들을 저장하는 정점 인덱스 버퍼;
    상기 정점들의 위치정보들과 상기 속성정보들을 캐싱하는 정점 캐쉬; 및
    상기 정점 인덱스 버퍼로부터 입력되는 인덱스들에 대응하는 위치정보들을 상기 정점 캐쉬로부터 페칭하고, 상기 타겟 위치정보들과 동일한 인덱스에 대응하는 속성정보들을 상기 정점 캐쉬로부터 페칭하는 정점 데이터 페칭부
    를 포함하는, 정점 처리 장치.
  13. 제9항에 있어서,
    상기 정점의 속성정보는, 상기 정점의 법선 벡터에 대한 정보, 상기 정점의 컬러 정보, 상기 정점의 텍스쳐 좌표 정보들을 포함하는, 정점 처리 장치.
  14. 제9항에 있어서,
    상기 프리미티브 어셈블리부는, 상기 페칭된 위치정보들 중 비타겟 위치정보들-화면에 비표시되는 프리미티브에 속하는 위치정보임-을 제외한 남은 위치정보들을 상기 타겟 위치정보들로서 출력하는, 정점 처리 장치.
  15. 제14항에 있어서,
    상기 프리미티브 어셈블리부는, 후면 컬링(Back Face Culling) 방식, 상기 뷰포트의 외부에 위치하는 정점을 제거하는 Trivial Accept and Reject Test 방식 및 픽셀 크기 이하의 점으로 표시되는 정점을 제거하는 Zero-Area Triangle Removal 방식 중 적어도 하나를 이용하여 상기 비타겟 위치정보들을 제거하는, 정점 처리 장치.
  16. 제9항에 있어서,
    상기 출력되는 타겟 위치정보들을 상기 뷰포트에 매핑하는 뷰포트 매핑부
    를 더 포함하는, 정점 처리 장치.
  17. 제9항에 있어서,
    상기 페칭부에 의해 선택적으로 페칭되는 상기 위치정보들과 상기 속성정보들을 각각 상기 제1쉐이더 및 상기 제2쉐이더로 제공하는 멀티플렉서
    를 더 포함하는, 정점 처리 장치.
KR1020100095752A 2010-10-01 2010-10-01 정점 처리 방법 및 장치 KR101681056B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100095752A KR101681056B1 (ko) 2010-10-01 2010-10-01 정점 처리 방법 및 장치
US13/182,716 US8810585B2 (en) 2010-10-01 2011-07-14 Method and apparatus for processing vertex

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100095752A KR101681056B1 (ko) 2010-10-01 2010-10-01 정점 처리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20120034293A true KR20120034293A (ko) 2012-04-12
KR101681056B1 KR101681056B1 (ko) 2016-12-01

Family

ID=45889373

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100095752A KR101681056B1 (ko) 2010-10-01 2010-10-01 정점 처리 방법 및 장치

Country Status (2)

Country Link
US (1) US8810585B2 (ko)
KR (1) KR101681056B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150018953A (ko) * 2013-08-12 2015-02-25 삼성전자주식회사 그래픽스 프로세싱 유닛, 이의 동작 방법, 및 이를 포함하는 장치들
KR20170000190A (ko) * 2015-06-23 2017-01-02 삼성전자주식회사 그래픽스 파이프라인을 수행하는 방법 및 장치

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9280956B2 (en) 2012-11-29 2016-03-08 Qualcomm Incorporated Graphics memory load mask for graphics processing
US10957094B2 (en) * 2013-03-29 2021-03-23 Advanced Micro Devices, Inc. Hybrid render with preferred primitive batch binning and sorting
US10169906B2 (en) 2013-03-29 2019-01-01 Advanced Micro Devices, Inc. Hybrid render with deferred primitive batch binning
US9824412B2 (en) * 2014-09-24 2017-11-21 Intel Corporation Position-only shading pipeline
US10210655B2 (en) 2015-09-25 2019-02-19 Intel Corporation Position only shader context submission through a render command streamer
US10062139B2 (en) 2016-07-25 2018-08-28 Qualcomm Incorporated Vertex shaders for binning based graphics processing
US20180082465A1 (en) * 2016-09-16 2018-03-22 Prasoonkumar Surti Apparatus and method for optimized tile-based rendering
US10235811B2 (en) * 2016-12-29 2019-03-19 Intel Corporation Replicating primitives across multiple viewports
US10628910B2 (en) 2018-09-24 2020-04-21 Intel Corporation Vertex shader with primitive replication
CN116385253A (zh) * 2023-01-06 2023-07-04 格兰菲智能科技有限公司 图元绘制方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070026521A (ko) * 2004-05-24 2007-03-08 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 그래픽 시스템, 버텍스 데이터의 타일 기반 변환 방법 및컴퓨터 프로그램 제품
US20080170079A1 (en) * 2007-01-15 2008-07-17 Microsoft Corporation Spatial Binning of Particles on a GPU
KR20080071475A (ko) * 2007-01-30 2008-08-04 가부시끼가이샤 도시바 3차원 디스플레이용 컴퓨터 그래픽스 화상 생성장치 및생성방법
US20090046098A1 (en) * 2007-08-14 2009-02-19 Stmicroelectronics S.R.L. Primitive binning method for tile-based rendering

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697063B1 (en) 1997-01-03 2004-02-24 Nvidia U.S. Investment Company Rendering pipeline
US7068272B1 (en) 2000-05-31 2006-06-27 Nvidia Corporation System, method and article of manufacture for Z-value and stencil culling prior to rendering in a computer graphics processing pipeline
US6359623B1 (en) 1998-11-12 2002-03-19 Hewlett-Packard Company Method and apparatus for performing scan conversion in a computer graphics display system
US6924801B1 (en) 1999-02-09 2005-08-02 Microsoft Corporation Method and apparatus for early culling of occluded objects
GB2378108B (en) 2001-07-24 2005-08-17 Imagination Tech Ltd Three dimensional graphics system
US20030043148A1 (en) 2001-09-06 2003-03-06 Lin-Tien Mei Method for accelerated triangle occlusion culling
GB2387094B (en) 2002-03-26 2005-12-07 Imagination Tech Ltd 3-D Computer graphics rendering system
FI20030072A (fi) 2003-01-17 2004-07-18 Hybrid Graphics Oy Piiloalueiden poistomenetelmä
US6943797B2 (en) 2003-06-30 2005-09-13 Sun Microsystems, Inc. Early primitive assembly and screen-space culling for multiple chip graphics system
US20070171219A1 (en) 2006-01-20 2007-07-26 Smedia Technology Corporation System and method of early rejection after transformation in a GPU
WO2007095009A2 (en) 2006-02-10 2007-08-23 Nash, Kenneth, L. Methods and compositions for sealing fractures, voids, and pores of subterranean rock formations
US20070279421A1 (en) * 2006-05-30 2007-12-06 Andrew Gruber Vertex Shader Binning
KR100793990B1 (ko) 2006-09-18 2008-01-16 삼성전자주식회사 타일 기반 3차원 렌더링에서의 조기 z 테스트 방법 및시스템
US7746355B1 (en) 2007-01-24 2010-06-29 Vivante Corporation Method for distributed clipping outside of view volume
SE0801742A0 (sv) 2008-07-30 2010-01-31 Intel Corp Förfarande, apparat och datorprogramprodukt för förbättrad grafikprestanda
GB2458488C (en) 2008-03-19 2018-09-12 Imagination Tech Ltd Untransformed display lists in a tile based rendering system
US8436854B2 (en) * 2009-05-29 2013-05-07 Qualcomm Incorporated Graphics processing unit with deferred vertex shading

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070026521A (ko) * 2004-05-24 2007-03-08 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 그래픽 시스템, 버텍스 데이터의 타일 기반 변환 방법 및컴퓨터 프로그램 제품
US20080170079A1 (en) * 2007-01-15 2008-07-17 Microsoft Corporation Spatial Binning of Particles on a GPU
KR20080071475A (ko) * 2007-01-30 2008-08-04 가부시끼가이샤 도시바 3차원 디스플레이용 컴퓨터 그래픽스 화상 생성장치 및생성방법
US20090046098A1 (en) * 2007-08-14 2009-02-19 Stmicroelectronics S.R.L. Primitive binning method for tile-based rendering

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150018953A (ko) * 2013-08-12 2015-02-25 삼성전자주식회사 그래픽스 프로세싱 유닛, 이의 동작 방법, 및 이를 포함하는 장치들
KR20170000190A (ko) * 2015-06-23 2017-01-02 삼성전자주식회사 그래픽스 파이프라인을 수행하는 방법 및 장치

Also Published As

Publication number Publication date
US20120081370A1 (en) 2012-04-05
KR101681056B1 (ko) 2016-12-01
US8810585B2 (en) 2014-08-19

Similar Documents

Publication Publication Date Title
KR101681056B1 (ko) 정점 처리 방법 및 장치
EP3673463B1 (en) Rendering an image from computer graphics using two rendering computing devices
US11880926B2 (en) Hybrid render with deferred primitive batch binning
KR101925292B1 (ko) 비-정규 직교 그리드로의 텍스처 매핑을 위한 그라디언트 조정
US9779536B2 (en) Graphics processing
US7042462B2 (en) Pixel cache, 3D graphics accelerator using the same, and method therefor
US10559054B2 (en) Graphics processing systems
US10055883B2 (en) Frustum tests for sub-pixel shadows
US11954782B2 (en) Hybrid render with preferred primitive batch binning and sorting
CN107392836B (zh) 使用图形处理管线实现的立体多投影
US7616202B1 (en) Compaction of z-only samples
KR102442488B1 (ko) 그래픽 처리 시스템 및 그래픽 프로세서
ITMI20080999A1 (it) Modulo di renderizzazione per grafica a due dimensioni
US10388060B2 (en) System and method for multi-view rendering
US11972518B2 (en) Hybrid binning
EP3504684A1 (en) Hybrid render with preferred primitive batch binning and sorting
KR20220016774A (ko) 작은 프리미티브들에 대한 셰이더 점유를 수행하는 방법
CN113835753A (zh) 用于在纹理处理管线中执行加速的点采样的技术
US9536341B1 (en) Distributing primitives to multiple rasterizers
US20230230197A1 (en) Texture mapping
US20220319091A1 (en) Post-depth visibility collection with two level binning
TW202322043A (zh) 小網格著色圖譜
Barbagallo et al. Techniques for an image space occlusion culling engine

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant