KR101683556B1 - 타일 기반의 렌더링 장치 및 렌더링 방법 - Google Patents

타일 기반의 렌더링 장치 및 렌더링 방법 Download PDF

Info

Publication number
KR101683556B1
KR101683556B1 KR1020100000762A KR20100000762A KR101683556B1 KR 101683556 B1 KR101683556 B1 KR 101683556B1 KR 1020100000762 A KR1020100000762 A KR 1020100000762A KR 20100000762 A KR20100000762 A KR 20100000762A KR 101683556 B1 KR101683556 B1 KR 101683556B1
Authority
KR
South Korea
Prior art keywords
vertex
vertex data
storage unit
rasterizer
requested
Prior art date
Application number
KR1020100000762A
Other languages
English (en)
Other versions
KR20110080503A (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 KR1020100000762A priority Critical patent/KR101683556B1/ko
Priority to US12/907,502 priority patent/US9013479B2/en
Publication of KR20110080503A publication Critical patent/KR20110080503A/ko
Application granted granted Critical
Publication of KR101683556B1 publication Critical patent/KR101683556B1/ko

Links

Images

Classifications

    • 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
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/08Bandwidth reduction

Landscapes

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

Abstract

타일 기반의 렌더링 장치 및 렌더링 방법이 제공된다.
정점 저장부는 프레임을 이루는 각 삼각형의 정점(vertex)에 대응하는 정점 데이터를 저장할 수 있다.
제1임시 저장부는 정점 저장부에 저장된 정점 데이터들 중 래스터라이저에서 래스터 처리되는 정점 데이터를 임시 저장할 수 있다.
제1임시 저장부는, 래스터라이저로부터 요청된 정점 데이터가 제1임시 저장부에 저장되어 있으면, 제1임시 저장부에 저장된 정점 데이터를 래스터라이저에게 제공할 수 있다.

Description

타일 기반의 렌더링 장치 및 렌더링 방법{APPARATUS AND METHOD FOR TILE-BASED RENDERING}
타일 기반의 렌더링 장치 및 렌더링 방법에 관한 것이며, 정점 데이터를 저장하는 메모리의 대역폭을 절감하여 렌더링 성능을 향상시키는 타일 기반의 렌더링 장치 및 렌더링 방법에 관련된 것이다.
타일 기반의 3D 그래픽 렌더링 장치는 버텍스 데이터를 버퍼에 임시 저장한 후 렌더링을 시작한다. 렌더링 과정을 수행할 때, 렌더링 장치는 장면 버퍼에 저장된 버텍스 데이터를 중복하여 읽는 경우가 발생한다. 예를 들어, 처리해야 할 버텍스가 타일 경계에 위치하는 삼각형의 버텍스인 경우, 렌더링 장치는 동일한 버텍스를 적어도 두 번 읽어와야 한다.
버퍼에 저장되어 있는 버텍스 데이터들 중 동일한 데이터를 반복하여 읽어내는 경우, 버퍼로부터 큰 메모리 대역폭(band width)이 유발된다. 따라서, 버퍼로부터 데이터 읽기에 수반되는 메모리 대역폭의 유발을 줄임으로써 데이터 처리 성능을 향상시킬 필요가 있다.
제안되는 실시예에 따른 타일 기반의 렌더링 장치는, 프레임을 이루는 각 삼각형의 정점(vertex)에 대응하는 정점 데이터를 저장하는 정점 저장부; 및 상기 정점 저장부에 저장된 정점 데이터들 중 래스터라이저에서 래스터 처리되는 정점 데이터를 임시 저장하는 제1임시 저장부를 포함하며, 상기 제1임시 저장부는, 상기 래스터라이저로부터 요청된 정점 데이터가 상기 제1임시 저장부에 저장되어 있으면, 상기 제1임시 저장부에 저장된 정점 데이터들 중 상기 래스터라이저로부터 요청된 정점 데이터를 상기 래스터라이저에게 제공할 수 있다.
상기 제1임시 저장부는, 상기 래스터라이저로부터 요청된 정점 데이터가 상기 제1임시 저장부에 저장되어 있지 않으면, 상기 요청된 정점 데이터를 상기 정점 저장부로부터 제공받아 임시 저장하고, 상기 래스터라이저에게 제공할 수 있다.
상기 제1임시 저장부는 상기 정점 저장부로부터 제공되는 정점 데이터를 선입선출 방식에 의해 저장하며, 상기 저장된 정점 데이터를 상기 선입선출 방식에 의해 삭제할 수 있다.
상기 정점 저장부와 상기 제1임시 저장부 사이의 인터페이스를 제공하며, 상기 정점 저장부로부터 제공되는 정점 데이터를 상기 제1임시 저장부에게 전달하는 제1인터페이스부를 더 포함할 수 있다.
상기 프레임을 이루는 각 삼각형의 정점을 확인하는 정점 처리부; 및 상기 프레임이 표시되는 디스플레이 화면 영역을 타일 단위로 분류하는 타일 분류부를 더 포함하며, 상기 정점 저장부는 상기 확인된 정점의 정점 데이터를 상기 분류된 타일 단위로 저장할 수 있다.
상기 래스터라이저로부터 요청된 정점 데이터가 상기 제1임시 저장부에 저장되어 있지 않으면, 상기 요청된 정점 데이터가 적어도 두 번 래스터 처리되어야 하는 경우, 상기 요청된 정점 데이터를 상기 정점 저장부로부터 제공받아 임시 저장하고, 상기 래스터라이저에게 제공하는 제2임시 저장부를 더 포함할 수 있다.
상기 요청된 정점 데이터의 속성정보로부터 상기 요청된 정점 데이터가 적어도 두 번 래스터 처리되어야 하는지를 판단하는 제2인터페이스부를 더 포함하며, 상기 제2임시 저장부는, 상기 적어도 두 번 래스터 처리되어야 하는 것으로 판단되면, 상기 정점 저장부로부터 제공된 정점 데이터를 임시 저장할 수 있다.
상기 제2인터페이스부에서 상기 요청된 정점 데이터가 한 번 래스터 처리되어야 하는 것으로 판단되면, 상기 제2인터페이스부는 상기 정점 저장부로부터 제공되는 정점 데이터를 상기 제1임시 저장부에게 전달할 수 있다.
상기 적어도 두 번 래스터 처리가 필요한 정점 데이터가 상기 래스터라이저로부터 재요청되면, 상기 제2임시 저장부는 상기 임시 저장된 정점 데이터를 상기 래스터라이저에게 제공할 수 있다.
상기 프레임을 이루는 삼각형들의 정점을 확인하는 정점 처리부; 및 상기 프레임이 표시되는 디스플레이 화면 영역을 타일 단위로 분류하여 상기 삼각형들이 속하는 타일을 판단하는 타일 분류부를 더 포함하며, 상기 정점 저장부는 상기 확인된 정점의 정점 데이터를 상기 분류된 타일 단위로 저장할 수 있다.
상기 요청된 정점 데이터에 대응하는 삼각형이 적어도 두 개의 타일의 경계에 위치하면, 상기 요청된 정점 데이터가 적어도 두 번 래스터 처리되는 것으로 판단할 수 있다.
한편, 제안되는 실시예에 따른 타일 기반의 렌더링 장치는, 프레임을 이루는 각 삼각형의 정점(vertex)에 대응하는 정점 데이터를 저장하는 정점 저장부; 및 래스터라이저로부터 요청된 정점 데이터가 적어도 두 번 래스터 처리되어야 하는 경우, 상기 요청된 정점 데이터를 상기 정점 저장부로부터 제공받아 임시 저장하고, 상기 래스터라이저에게 제공하는 임시 저장부를 포함할 수 있다.
타일 기반의 렌더링 장치는, 프레임을 이루는 각 삼각형의 정점(vertex)에 대응하는 정점 데이터를 저장하는 정점 저장부; 상기 정점 저장부에 저장된 정점 데이터들 중 래스터라이저에서 래스터 처리되는 정점 데이터를 임시 저장하며, 상기 래스터라이저로부터 요청된 정점 데이터가 기저장되어 있으면, 상기 기저장된 정점 데이터를 상기 래스터라이저에게 제공하는 제1임시 저장부; 및 상기 래스터라이저로부터 요청된 정점 데이터가 상기 제1임시 저장부에 기저장되어 있지 않으면, 상기 요청된 정점 데이터가 적어도 두 번 래스터 처리되어야 하는 경우, 상기 요청된 정점 데이터를 상기 정점 저장부로부터 제공받아 임시 저장하고, 상기 래스터라이저에게 제공하는 제2임시 저장부를 포함할 수 있다.
타일 기반의 렌더링 장치는, 프레임을 이루는 각 삼각형의 정점(vertex)에 대응하는 정점 데이터를 정점 저장부에 저장하는 단계; 상기 래스터라이저로부터 읽기가 요청된 정점 데이터가 임시 저장부에 임시 저장되어 있지 않으면, 상기 정점 데이터로부터 상기 요청된 정점 데이터를 읽어와 임시 저장하고, 상기 래스터라이저에게 제공하는 단계; 및 상기 래스터라이저로부터 읽기가 요청된 정점 데이터가 상기 임시 저장부에 임시 저장되어 있으면, 상기 임시 저장부에 임시 저장된 정점 데이터들 중 상기 래스터라이저로부터 요청된 정점 데이터를 상기 래스터라이저에게 제공하는 단계를 포함할 수 있다.
한편, 제안되는 실시예에 따른 타일 기반의 렌더링 방법은, 프레임을 이루는 각 삼각형의 정점(vertex)에 대응하는 정점 데이터를 저장하는 단계; 래스터라이저로부터 요청된 정점 데이터가 적어도 두 번 래스터 처리되어야 하는 경우, 상기 요청된 정점 데이터를 상기 정점 저장부로부터 제공받아 임시 저장하는 단계; 및 상기 임시 저장된 정점 데이터를 상기 래스터라이저에게 제공하는 단계를 포함할 수 있다.
제안되는 실시예에 따르면, 타일 기반의 렌더링을 사용하는 경우, 타일 단위로 분류(sort)된 정점 데이터들은 scene 버퍼에 저장된 후 렌더링된다. 이 때, 정점 데이터들 중 여러 번 렌더링에 사용되는 정점 데이터는 선입선출 방식의 메모리 또는 캐쉬에 임시 저장할 수 있다. 즉, scene 버퍼로부터 여러 번 읽혀질 수 있는 정점 데이터는 다른 메모리에 임시 저장할 수 있다.
이로써, 동일한 정점 데이터를 scene 버퍼로부터 반복적으로 읽어낼 필요가 없으며 대신 추가의 메모리 또는 버퍼로부터 읽음으로써 scene 메모리에서 유발되는 대량의 메모리 대역폭을 없앨 수 있다. 또한, 적은 용량의 FIFO 메모리와 캐쉬 메모리를 사용함으로써 scene 버퍼의 메모리 대역폭 절감에 소요되는 비용을 절약할 수 있다.
도 1은 제안되는 제1실시예에 따른 타일 기반의 렌더링 장치를 도시한 블록도,
도 2는 제안되는 제2실시예에 따른 타일 기반의 렌더링 장치를 도시한 블록도,
도 3은 제안되는 제3실시예에 따른 타일 기반의 렌더링 장치를 도시한 블록도,
도 4는 타일 기반의 렌더링 장치에서, 타일, 삼각형 및 정점의 관계를 설명하기 위한 도면,
도 5는 제안되는 제4실시예에 따른 타일 기반의 렌더링 장치를 도시한 블록도,
도 6은 제안되는 제5실시예에 따른 타일 기반의 렌더링 장치를 도시한 블록도,
도 7은 제안되는 제6실시예에 따른 타일 기반의 렌더링 장치를 도시한 블록도,
도 8은 제안되는 제7실시예에 따른 타일 기반의 렌더링 장치를 도시한 블록도,
도 9는 제안되는 실시예에 따른 타일 기반의 렌더링 방법을 설명하기 위한 흐름도, 그리고,
도 10은 제안되는 다른 실시예에 따른 타일 기반의 렌더링 방법을 설명하기 위한 흐름도이다.
이하, 제안되는 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 제안되는 제1실시예에 따른 타일 기반의 렌더링 장치를 도시한 블록도이다.
도 1에 도시된 렌더링 장치(100)는 정점 저장부(110), 래스터라이저(120) 및 제1임시 저장부(130)를 포함할 수 있다.
정점 저장부(110)는 프레임을 이루는 각 삼각형의 정점(vertex)에 대응하는 정점 데이터를 저장할 수 있다. 각 정점 데이터는 정점의 ID, 좌표, 컬러값, 깊이값 등을 포함할 수 있다. 입력되는 프레임은 3D 그래픽 영상일 수 있다.
래스터라이저(120)는 래스터 처리할 정점에 대응하는 정점 데이터를 제1임시 저장부(130)에게 요청할 수 있다. 래스터라이저(120)는 정점 데이터의 식별정보를 제1임시 저장부(130)에게 출력하여 정점 데이터의 읽기를 요청할 수 있다. 정점 데이터의 식별정보는 예를 들어, 정점의 좌표값일 수 있다.
래스터라이저(120)는 제1임시 저장부(130) 또는 정점 저장부(110)로부터 입력되는 정점 데이터를 대상으로 래스터 처리하여 디스플레이부(미도시)에 그려질 이미지를 생성할 수 있다.
제1임시 저장부(130)는 정점 저장부(110)에 저장된 정점 데이터들 중 래스터라이저(120)에서 래스터 처리되는 정점 데이터를 임시 저장할 수 있다. 제1임시 저장부(130)는 정점 저장부(110)로부터 제공되는 정점 데이터를 선입선출 방식에 의해 저장하며, 저장된 정점 데이터를 선입선출 방식에 의해 새로운 정점 데이터로 교체할 수 있다.
제1임시 저장부(130)는 래스터라이저(120)로부터 요청된 정점 데이터가 제1임시 저장부(130)에 저장되어 있는지 확인할 수 있다. 확인 결과, 저장되어 있지 않으면, 제1임시 저장부(130)는 정점 저장부(110)로부터 정점 데이터를 제공받아 래스터라이저(120)에게 제공하고, 정점 데이터를 제1임시 저장부(130)에 저장할 수 있다. 또한, 제1임시 저장부(130)는 래스터라이저(120)로부터 요청되는 정점 데이터가 제1임시 저장부(130)에 저장되어 있으면, 제1임시 저장부(130)에 저장된 정점 데이터를 래스터라이저(120)에게 제공할 수 있다.
상술한 바에 의하면, 서로 인접한 삼각형에 속하는 정점 데이터의 경우, 래스터라이저(120)는 연속적으로 동일한 정점 데이터를 요청할 수 있으며, 따라서, 제1임시 저장부(130)에는 이전에 요청된 정점 데이터가 저장되어 있을 수 있다. 제1임시 저장부(130)는 기저장된 정점 데이터를 래스터라이저(120)에게 제공함으로써 정점 저장부(110)의 메모리 대역폭을 낮출 수 있다.
도 2는 제안되는 제2실시예에 따른 렌더링 장치를 도시한 블록도이다.
도 2를 참조하면, 렌더링 장치(200)는 정점 저장부(210), 래스터라이저(220, 제1임시 저장부(230) 및 제1인터페이스부(240)를 포함할 수 있다. 도 2에 도시된 정점 저장부(210), 래스터라이저(220) 및 제1임시 저장부(230)는 도 1에 도시된 정점 저장부(110), 래스터라이저(120) 및 제1임시 저장부(130)와 거의 동일하므로 상세한 설명은 생략한다.
다만, 제1임시 저장부(230)는 선입선출 방식에 의해 정점 데이터를 저장하는 모듈로서, 정점 FIFO 버퍼(231) 및 버퍼 컨트롤러(233)를 포함할 수 있다. 정점 FIFO 버퍼(231)는 래스터라이저(220)가 요청하는 정점 데이터를 정점 저장부(210)로부터 제공받아 저장할 수 있다.
정점 FIFO 버퍼(231)가 예를 들어, 5단으로 구성되는 경우, 정점 FIFO 버퍼(231)에는 동시에 5개의 정점 데이터가 저장될 수 있다. 6번째 정점 데이터가 입력되는 경우, 정점 FIFO 버퍼(231)에 가장 먼저 저장된 정점 데이터는 6번째 정점 데이터로 교체된다.
버퍼 컨트롤러(233)는 래스터라이저(220)로부터 요청된 정점 데이터가 정점 FIFO 버퍼(231)에 저장되어 있는지 확인하고, 저장되어 있지 않으면, 제1인터페이스부(240)에게 정점 데이터의 독출을 요청할 수 있다.
제1인터페이스부(240)는 정점 저장부(210)와 제1임시 저장부(230) 사이의 인터페이스를 제공하며, 래스터라이저(220) 또는 버퍼 컨트롤러(233)의 요청에 따라 정점 저장부(210)로부터 해당 정점 데이터를 독출하여 제1임시 저장부(230)에게 전달할 수 있다. 따라서, 제1인터페이스부(240)는 정점 저장부(210)의 데이터를 리딩하는 인터페이스일 수 있다.
도 3은 제안되는 제3실시예에 따른 타일 기반의 렌더링 장치를 도시한 블록도이다.
도 3에 도시된 렌더링 장치(300)는 화면을 타일이라는 작은 단위로 나누어 렌더링하는 타일 기반의 렌더링 방법을 사용하여, 3D 그래픽을 2차원 영상으로 처리할 수 있다. 특히, 제안되는 실시예에에 따른 렌더링 장치(300)는 렌더링시 사용되는 메모리 공간을 효율적으로 사용하기 위하여 멀티 메모리를 사용할 수 있다.
도 3을 참조하면, 렌더링 장치(300)는 정점 처리부(310), 타일 분류부(320), 정점 저장부(330), 래스터라이저(340), 제1임시 저장부(350), 제1인터페이스부(360) 및 픽셀 처리부(370)를 포함할 수 있다.
도 3에 도시된 정점 저장부(330), 래스터라이저(340) 및 제1임시 저장부(350)는 도 1 또는 도 2에 도시된 정점 저장부(110, 210), 래스터라이저(120), 220) 및 제1임시 저장부(130, 230)와 동일하므로 상세한 설명은 생략한다. 또한, 도 3에 도시된 제1인터페이스부(360)는 선택적으로 구비될 수 있으며, 도 2에 도시된 제1인터페이스부(240)와 동일하므로 상세한 설명은 생략한다.
정점 처리부(310)는 복수의 삼각형으로 구성된 프레임을 정점 단위로 처리하여 각 삼각형의 정점을 확인하고, 각 정점의 정점 데이터를 생성할 수 있다. 각 정점의 정점 데이터는 정점의 좌표, 컬러값, 깊이값 등을 포함할 수 있다. 입력되는 프레임은 3D 그래픽 영상일 수 있다.
타일 분류부(320)는 프레임이 표시되는 디스플레이 화면 영역을 타일 단위로 분류할 수 있다. 타일 분류부(320)에서 분류되는 각 타일에는 도 4에 도시된 바와 같이 삼각형이 위치할 수 있다.
도 4는 타일 기반의 렌더링 장치에서, 타일, 삼각형 및 정점의 관계를 설명하기 위한 도면이다.
도 4를 참조하면, 사용자에게 제공할 영상이 표시되는 디스플레이 화면 영역은 복수의 타일로 분할되며, 복수의 타일(T(i, j), T(i, j+1), i와 j는 양수)에 하나의 삼각형(T1))이 걸쳐있거나, 또는 하나의 타일(T(i, j))에 복수의 삼각형들(T2~T8)이 위치할 수 있다. 정점은 삼각형의 꼭지점이며, 인접하는 삼각형들(T2~T8)은 동일한 정점을 공유할 수 있다.
다시 도 3을 참조하면, 타일 분류부(320)는 처리할 모든 삼각형들이 어느 타일에 속하는지를 판단하고, 판단 결과를 기반으로 타일 리스트를 생성하여 래스터라이저(340)에게 제공할 수 있다. 타일 리스트는 각 타일에 속하는 삼각형의 식별정보, 각 타일의 식별정보를 포함할 수 있다. 타일 리스트는 각 삼각형의 정점의 좌표정보 또는 각 삼각형의 속성정보를 더 포함할 수 있다.
또한, 타일 분류부(320)는 각 삼각형의 정점에 대응하는 정점 데이터를 해당 타일의 식별정보 또는 해당 삼각형의 식별정보와 함께 정점 저장부(110)에게 제공할 수 있다. 해당 타일의 식별정보가 제공되는 것은 선택적이다.
삼각형의 식별정보는 삼각형의 ID(Tn, n=1, 2, …)이고, 삼각형의 속성정보는 삼각형이 타일간의 경계에 속하는지를 나타내는 정보이며, 타일의 식별정보는 타일의 ID(T(I, j))일 수 있다.
정점 저장부(330)는 타일 분류부(320)로부터 제공되는 정점 데이터를 분류된 타일 별로 저장할 수 있으며, 예를 들어, scene 버퍼 메모리를 사용할 수 있다. 저장되는 정점 데이터는 각 정점의 좌표, ID, 컬러값, 깊이값 등을 포함할 수 있다.
래스터라이저(340)는 입력되는 타일 리스트로부터 래스터 처리할 삼각형을 확인하고, 삼각형을 이루는 정점에 대응하는 정점 데이터를 제1임시 저장부(350)에게 요청할 수 있다.
제1임시 저장부(350)는 정점 저장부(330)에 저장된 정점 데이터들 중 래스터라이저(340)에서 래스터 처리되는 정점 데이터를 임시 저장할 수 있다. 즉, 제1임시 저장부(350)는 래스터라이저(340)로부터 요청되는 정점 데이터를 정점 저장부(330)로부터 제공받은 후, 제1임시 저장부(350)에게 저장하고, 래스터라이저(340)에게 전달할 수 있다.
정점 데이터를 제1임시 저장부(350)에게 저장하는 이유는, 래스터라이저(340)로부터 요청되는 정점 데이터는 도 4에 도시된 바와 같이 복수의 삼각형(T2~T8)에 속할 수 있으므로, 여러 번 요청될 수 있기 때문이다. 래스터라이저(340)로부터 요청되는 정점 데이터가 제1임시 저장부(350)에 저장되어 있는 경우, 제1임시 저장부(350)는 정점 저장부(330)를 사용하지 않고, 제1임시 저장부(350)에 기저장된 정점 데이터를 래스터라이저(340)에게 제공할 수 있다.
래스터라이저(340)는 제1임시 저장부(350) 또는 정점 저장부(330)로부터 입력되는 정점 데이터를 대상으로 래스터 연산을 수행하여 디스플레이부(30)에 그려질 이미지를 생성할 수 있다.
픽셀 처리부(370)는 래스터 연산된 정점 데이터 또는 정점 데이터로 이루어진 삼각형으로부터 픽셀을 생성할 수 있다. 생성된 픽셀은 디스플레이부(30)에서 이미지로 표시될 수 있다.
도 5는 제안되는 제4실시예에 따른 타일 기반의 렌더링 장치를 도시한 블록도이다.
도 5에 도시된 렌더링 장치(500)는 정점 저장부(510), 래스터라이저(520) 및 제2임시 저장부(530)를 포함할 수 있다. 도 5에 도시된 정점 저장부(510) 및 래스터라이저(520)는 도 1에 도시된 정점 저장부(110) 및 래스터라이저(120)와 동일하므로 상세한 설명은 생략한다.
정점 저장부(510)는 프레임을 이루는 각 삼각형의 정점에 대응하는 정점 데이터를 저장할 수 있다.
래스터라이저(520)는 래스터 처리할 정점에 대응하는 정점 데이터를 제2임시 저장부(530)에게 요청할 수 있다. 래스터라이저(520)는 정점 데이터의 식별정보와 속성정보를 제2임시 저장부(530)에게 출력하여 정점 데이터의 읽기를 요청할 수 있다.
속성정보(v)는 삼각형이 타일 경계에 위치하는지를 나타내는 정보로서, v=true이면 삼각형이 타일 경계에 위치하므로, 현재 정점 데이터는 적어도 두 번 래스터처리될 수 있음을 의미할 수 있다. 반면, v=false이면, 삼각형은 하나의 타일에 위치하므로 현재 정점 데이터는 한 번 래스터처리됨을 의미할 수 있다.
제2임시 저장부(530)는 래스터라이저(520)로부터 요청된 정점 데이터가 적어도 두 번 래스터 처리되어야 하는 경우, 즉, 정점 데이터에 포함된 속성정보 v=true이면, 요청된 정점 데이터를 정점 저장부(510)로부터 제공받아 임시 저장하고, 래스터라이저(520)에게 제공할 수 있다. 따라서, v=true라는 속성정보를 가지는 정점 데이터가 래스터라이저(520)로부터 재요청되면, 제2임시 저장부(530)는 임시 저장된 정점 데이터를 래스터라이저(520)에게 제공할 수 있다. 예를 들어, v=true라는 속성정보를 가지는 정점 데이터는, 도 4의 경우, 타일 경계에 걸쳐 있는 삼각형(T1)의 정점들의 데이터일 수 있다. 제2임시 저장부(530)는 v=true라는 속성정보를 가지는 정점 데이터를 저장하는 캐쉬일 수 있다.
또한, 제2임시 저장부(530)는 래스터라이저(520)로부터 요청된 정점 데이터의 속성정보가 v=false이면, 요청된 정점 데이터를 정점 저장부(510)로부터 제공받아 래스터라이저(520)에게 제공할 수 있다.
상술한 바에 의하면, 타일의 경계에 위치하거나 복수의 타일에 위치하는 삼각형의 경우, 삼각형의 정점 데이터들은 현재 처리 중인 타일 처리가 완료된 후, 다른 타일을 래스터 처리할 때, 다시 읽어낼 가능성이 있으므로, 제2임시 저장부(530)에 저장해 놓을 수 있다. 이로써, 제2임시 메모리가 제공하는 정점 데이터를 재활용함으로써 정점 저장부(510)의 메모리 대역폭을 절감할 수 있다.
도 6은 제안되는 제5실시예에 따른 타일 기반의 렌더링 장치를 도시한 블록도이다.
도 6에 도시된 렌더링 장치(600)는 정점 저장부(610), 래스터라이저(620), 제2인터페이스부(630), 제2임시 저장부(640) 및 제3인터페이스부(650)를 포함할 수 있다. 도 6에 도시된 정점 저장부(610) 및 래스터라이저(620)는 도 5에 도시된 정점 저장부(510) 및 래스터라이저(520)와 동일하므로 상세한 설명은 생략한다.
정점 저장부(610)는 프레임을 이루는 각 삼각형의 정점에 대응하는 정점 데이터를 저장할 수 있다.
래스터라이저(620)는 래스터 처리할 정점에 대응하는 정점 데이터를 제2인터페이스부(630)에게 요청할 수 있다. 래스터라이저(620)는 정점 데이터의 식별정보와 속성정보를 제2인터페이스부(630)에게 출력하여 정점 데이터의 읽기를 요청할 수 있다. 정점 데이터의 식별정보는 예를 들어, 정점의 좌표값이거나 삼각형의 ID일 수 있다. 정점 데이터의 속성정보는 도 5를 참조하여 설명하였으므로 상세한 설명은 생략한다.
제2인터페이스부(630)는 래스터라이저(620)로부터 요청된 정점 데이터의 속성정보로부터 요청된 정점 데이터가 적어도 두 번 래스터 처리되어야 하는지를 판단할 수 있다. 래스터 처리가 적어도 두 번 수행되어야 함은 정점 데이터를 포함하는 삼각형이 타일의 경계에 위치하거나 복수의 타일에 걸쳐있음을 의미할 수 있다.
판단결과, 요청된 정점 데이터가 한 번 래스터 처리될 것으로 판단되면(v=false), 제2인터페이스부(630)는 읽기가 요청된 정점 데이터의 식별정보를 제3인터페이스부(650)에게 출력할 수 있다.
제3인터페이스부(650)는 제2인터페이스부(630)의 요청에 따라 정점 저장부(610)로부터 해당 식별정보에 대응하는 정점 데이터를 읽어와 제2인터페이스부(630)에게 제공할 수 있다. 따라서, 제2인터페이스부(630)는 요청된 정점 데이터가 한 번 래스터 처리되어야 하는 것으로 판단되면, 정점 저장부(610)로부터 제공되는 정점 데이터를 래스터라이저(620)에게 직접 제공할 수 있다.
반면, 판단결과, 요청된 정점 데이터가 적어도 두 번 래스터 처리가 필요한 것으로 판단되면(v=true), 제2인터페이스부(630)는 읽기가 요청된 정점 데이터의 식별정보를 제2임시 저장부(640)에게 출력할 수 있다.
제2임시 저장부(640)는 식별정보에 대응하는 정점 데이터가 제2임시 저장부(640)에 저장되어 있는지 판단하고, 저장되어 있으면, 저장된 정점 데이터를 제2인터페이스부(630)에게 제공할 수 있다. 요청된 정점 데이터가 제2임시 저장부(640)에 저장되어 있음은 동일한 정점 데이터가 이전에 래스터 처리된 이력이 있으며, 따라서, 동일한 정점 데이터가 래스터라이저(620)로부터 재요청되었음을 의미할 수 있다.
또한, 제2임시 저장부(640)는 요청된 정점 데이터가 저장되어 있지 않으면, 제3인터페이스부(650)에게 정점 데이터를 요청할 수 있다. 제3인터페이스부(650)는 제2임시 저장부(640)의 요청에 따라 정점 저장부(610)로부터 해당 정점 데이터를 읽어와 제2임시 저장부(640)에게 제공할 수 있다. 제2임시 저장부(640)는 제3인터페이스부(650)로부터 해당 정점 데이터를 제공받아 임시 저장한 후, 제2인터페이스부(630)에게 정점 데이터를 제공할 수 있다. 따라서, 제2인터페이스부(630)는 제2임시 저장부(640)로부터 제공받은 정점 데이터를 래스터라이저(620)에게 전달한다.
도 7은 제안되는 제6실시예에 따른 타일 기반의 렌더링 장치를 도시한 블록도이다.
도 7을 참조하면, 렌더링 장치(700)는 정점 처리부(710), 타일 분류부(720), 정점 저장부(730), 래스터라이저(740), 제2인터페이스부(750), 제2임시 저장부(760), 제3인터페이스부(770) 및 픽셀 처리부(780)를 포함할 수 있다.
도 7에 도시된 정점 저장부(730), 래스터라이저(740), 제2인터페이스부(750), 제2임시 저장부(760), 제3인터페이스부(770)는 도 5 또는 도 6에 도시된 정점 저장부(510, 610), 래스터라이저(520, 620) 및 제2임시 저장부(530, 630)와 동일하므로 상세한 설명은 생략한다. 또한, 도 7에 도시된 제2 및 제3인터페이스부(750, 770)는 선택적으로 구비될 수 있으며, 도 6에 도시된 제2 및 제3인터페이스부(630, 650)와 동일하므로 상세한 설명은 생략한다.
정점 처리부(710)는 복수의 삼각형으로 구성된 프레임을 정점 단위로 처리하여 각 삼각형의 정점을 확인하고, 각 정점의 정점 데이터를 생성할 수 있다.
타일 분류부(720)는 프레임이 표시되는 디스플레이 화면 영역을 타일 단위로 분류하고, 각 삼각형이 속하는 타일 리스트를 래스터라이저(740)에게 제공할 수 있다. 타일 리스트에는 각 삼각형이 타일의 경계에 위치하거나 복수의 타일에 걸쳐 있으면, v=true라는 속성정보를 포함하며, 그렇지 않으면, v=false라는 속성정보를 포함할 수 있다. 또한, 타일 분류부(720)는 각 삼각형의 정점에 대응하는 정점 데이터를 해당 타일의 식별정보와 함께 정점 저장부(730)에게 제공할 수 있다.
정점 저장부(730)는 타일 분류부(720)로부터 제공되는 정점 데이터를 분류된 타일 별로 저장할 수 있다.
래스터라이저(740)는 타일 분류부(720)로부터 입력되는 타일 리스트로부터 래스터 연산을 수행할 삼각형을 확인하고, 삼각형을 이루는 정점에 대응하는 정점 데이터를 제2인터페이스부(750)에게 요청할 수 있다.
제2인터페이스부(750)는 도 6을 참조하여 설명한 바와 같이, 정점 데이터의 속성정보에 따라 제2임시 저장부(760) 또는 제3인터페이스부(770)로부터 정점 데이터를 입력받아 래스터라이저(740)에게 제공할 수 있다. 또한, 도 7에서 제2 및 제3인터페이스부(770)가 구비되지 않은 경우, 제2임시 저장부(760)는 정점 저장부(7730)로부터 독출한 정점 데이터를 래스터라이저(740)에게 제공하고, 선택적으로 정점 데이터를 임시 저장할 수 있다.
래스터라이저(740)는 제2인터페이스부(750) 또는 제2임시 저장부(760) 로부터 입력되는 정점 데이터를 래스터 처리할 수 있다.
픽셀 처리부(780)는 래스터 처리된 정점 데이터 또는 정점 데이터로 이루어진 삼각형으로부터 픽셀을 생성할 수 있다. 생성된 픽셀은 디스플레이부(70)에서 이미지로 표시될 수 있다.
도 8은 제안되는 제7실시예에 따른 렌더링 장치를 도시한 블록도이다.
도 8을 참조하면, 렌더링 장치(800)는 정점 저장부(810), 래스터라이저(820), 제3임시 저장부(830), 제4인터페이스부(840), 제4임시 저장부(850) 및 제5인터페이스부(860)를 포함할 수 있다.
도 8에 도시된 제3임시 저장부(830)는 도 1 또는 도 2에 도시된 제1임시 저장부(130, 230)와 동일하며, 제4임시 저장부(850)는 도 5 또는 도 6에 도시된 제2임시 저장부(530, 640)와 동일하다. 또한, 렌더링 장치(800)는 도 3 또는 도 7에 도시된 바와 같이, 정점 처리부(310, 710), 타일 분류부(320, 720) 및 픽셀 처리부(370, 780)를 더 포함할 수 있으나, 설명의 편의상 생략한다.
정점 저장부(810)는 프레임을 이루는 각 삼각형의 정점에 대응하는 정점 데이터를 저장할 수 있다.
래스터라이저(820)는 정점 데이터의 식별정보와 속성정보를 제3임시 저장부(830)에게 출력하여 정점 데이터의 읽기를 요청할 수 있다. 정점 데이터의 식별정보는 예를 들어, 정점의 좌표값일 수 있다. 정점 데이터의 속성정보는 도 5를 참조하여 설명하였으므로 상세한 설명은 생략한다.
제3임시 저장부(830)는 선입선출 방식에 의해 정점 데이터를 저장하는 메모리 모듈로서, 요청된 정점 데이터가 저장되어 있지 않으면, 정점 데이터의 식별정보와 속성정보를 제4인터페이스부(840)에게 출력한다.
제4인터페이스부(840)는 요청된 정점 데이터의 속성정보를 확인하여, v=true이면 제4임시 저장부(850)에게 정점 데이터의 식별정보를 제공하여 정점데이터의 읽기를 요청한다. 또한, v=false이면, 제4인터페이스부(840)는 제5인터페이스부(860)에게 정점 데이터의 식별정보를 제공하여 정점데이터의 읽기를 요청한다.
제5인터페이스부(860)는 제4인터페이스부(840)로부터 입력받은 식별정보에 대응하는 정점 데이터를 정점 저장부(810)로부터 읽어와 제4인터페이스부(840)에게 제공할 수 있다.
한편, 제4임시 저장부(850)는 식별정보에 대응하는 정점 데이터가 제4임시 저장부(850)에 저장되어 있는지 판단하고, 저장되어 있으면, 저장된 정점 데이터를 제4인터페이스부(840)에게 제공할 수 있다. 또한, 제4임시 저장부(850)는 요청된 정점 데이터가 저장되어 있지 않으면, 제5인터페이스부(860)에게 정점 데이터의 식별정보를 제공한다.
제5인터페이스부(860)는 제4임시 저장부(850)로부터 입력받은 식별정보에 대응하는 정점 데이터를 읽어와 제4시 저장부(750)에게 제공할 수 있다. 제4임시 저장부(850)는 제5인터페이스부(860)로부터 제공받은 정점 데이터를 임시 저장한 후, 제4인터페이스부(840)에게 제공할 수 있다.
제4인터페이스부(840)는 제4임시 저장부(850) 또는 제5인터페이스부(860)로부터 제공받은 정점 데이터를 제3임시 저장부(830)에게 전달한다.
제3임시 저장부(830)는 제5인터페이스부(860)로부터 제4인터페이스부(840)로 직접 전달된 정점 데이터를 저장한 후 래스터라이저(820)에게 제공할 수 있다. 또한, 제3임시 저장부(830)는 제4임시 저장부(850)로부터 제4인터페이스부(840)로 전달된 정점 데이터는 저장하지 않고 래스터라이저(820)에게 제공할 수 있다. 이는, 제4임시 저장부(850)로부터 전달된 정점 데이터는 제4임시 저장부(850)에 저장되어 있기 때문이다.
이하, 상기와 같이 구성된 방법을 아래에서 도면을 참조하여 설명한다.
도 9는 제안되는 실시예에 따른 타일 기반의 렌더링 방법을 설명하기 위한 흐름도이다.
도 1 및 도 9를 참조하면, 910단계에서, 정점 저장부(110)에는 프레임을 이루는 각 삼각형의 정점에 대응하는 정점 데이터가 저장될 수 있다.
920단계에서, 래스터라이저(120)로부터 정점 데이터의 읽기가 요청되면, 930단계에서 제1임시 저장부(130)는 해당 정점 데이터가 저장되어 있는지 판단한다.
저장되어 있으면, 940단계에서, 제1임시 저장부(130)는 저장된 정점 데이터를 래스터라이저(120)에게 제공할 수 있다.
반면, 930단계에서 제1임시 저장부(130)에 저장되어 있지 않은 것으로 판단되면, 950단계에서, 제1임시 저장부(130)는 정점 저장부(110)로부터 해당 정점 데이터를 읽어와 임시 저장하고, 래스터라이저(120)에게 제공할 수 있다. 이 때, 제1임시 저장부(130)는 선입선출 방식에 의해 정점 데이터를 저장하는 모듈이므로, 제1임시 저장부(130)의 저장 영역이 꽉 차면, 가장 먼저 저장된 정점 데이터를 다음에 저장되는 정점 데이터로 교체할 수 있다.
도 10은 제안되는 다른 실시예에 따른 타일 기반의 렌더링 방법을 설명하기 위한 흐름도이다.
도 5 및 도 10을 참조하면, 1010단계에서, 정점 저장부(510)에는 프레임을 이루는 각 삼각형의 정점에 대응하는 정점 데이터가 저장될 수 있다.
1020단계에서, 래스터라이저(520)로부터 정점 데이터의 읽기가 요청되면, 1030단계에서 제2임시 저장부(530)는 해당 정점 데이터의 속성정보를 확인한다.
1040단계에서, 속성정보가 v=true이면, 제2임시 저장부(530)는 정점 데이터가 제2임시 저장부(530)에 저장되어 있는지 확인할 수 있다.
1050단계에서, 저장되어 있으면, 1060단계에서, 제2임시 저장부(530)는 저장된 정점 데이터를 래스터라이저(520)에게 제공할 수 있다.
1050단계에서 저장되어 있지 않으면, 1070단계에서, 제2임시 저장부(530)는 정점 저장부(510)로부터 해당 정점 데이터를 읽어와 임시 저장하고, 래스터라이저(520)에게 제공할 수 있다.
반면, 1080단계에서 v=false로 확인되면, 1090단계에서 제2임시 저장부(530)는 정점 데이터를 정점 저장부(510)로부터 읽어와 래스터라이저(520)에게 제공할 수 있다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 렌더링 장치 110 : 정점 저장부
120 : 래스터라이저 130 : 제1임시 저장부

Claims (21)

  1. 프레임을 이루는 복수의 삼각형들의 정점들에 대응하는 정점 데이터를 저장하는 정점 저장부; 및
    상기 정점 저장부에 저장된 정점 데이터들 중 래스터라이저에서 래스터 처리되도록 상기 래스터라이저에 의해 요청되는 정점 데이터를 임시 저장하고, 상기 래스터라이저로 상기 임시 저장된 정점 데이터를 제공하는 제1임시 저장부
    를 포함하며,
    상기 제1임시 저장부는, 상기 래스터라이저로부터 재요청된, 상기 래스터라이저로 제공되었던 제1 정점 데이터가 상기 제1임시 저장부에 저장되어 있으면, 상기 재요청된 제1 정점 데이터를 상기 래스터라이저에게 다시 제공하고,
    상기 정점들 중 적어도 하나는 상기 복수의 삼각형들 중에서 인접한 삼각형들에 의해 공유되는 정점인,
    타일 기반의 렌더링 장치.
  2. 제1항에 있어서,
    상기 제1임시 저장부는, 상기 래스터라이저로부터 요청된 정점 데이터가 상기 제1임시 저장부에 저장되어 있지 않으면, 상기 요청된 정점 데이터를 상기 정점 저장부로부터 제공받아 임시 저장하고, 상기 래스터라이저에게 제공하는 타일 기반의 렌더링 장치.
  3. 제1항 또는 제2항에 있어서,
    상기 제1임시 저장부는 상기 정점 저장부로부터 제공되는 정점 데이터를 선입선출 방식에 의해 저장하며, 상기 저장된 정점 데이터를 상기 선입선출 방식에 의해 삭제하는 타일 기반의 렌더링 장치.
  4. 제1항 또는 제2항에 있어서,
    상기 정점 저장부와 상기 제1임시 저장부 사이의 인터페이스를 제공하며, 상기 정점 저장부로부터 제공되는 정점 데이터를 상기 제1임시 저장부에게 전달하는 제1인터페이스부
    를 더 포함하는 타일 기반의 렌더링 장치.
  5. 제1항에 있어서,
    상기 프레임을 이루는 각 삼각형의 정점을 확인하는 정점 처리부; 및
    상기 프레임이 표시되는 디스플레이 화면 영역을 타일 단위로 분류하는 타일 분류부
    를 더 포함하며,
    상기 정점 저장부는 상기 확인된 정점의 정점 데이터를 상기 분류된 타일 단위로 저장하는 타일 기반의 렌더링 장치.
  6. 제1항에 있어서,
    상기 래스터라이저로부터 요청된 정점 데이터가 상기 제1임시 저장부에 저장되어 있지 않으면, 상기 요청된 정점 데이터가 적어도 두 번 래스터 처리되어야 하는 경우, 상기 요청된 정점 데이터를 상기 정점 저장부로부터 제공받아 임시 저장하고, 상기 래스터라이저에게 제공하는 제2임시 저장부
    를 더 포함하는 타일 기반의 렌더링 장치.
  7. 제6항에 있어서,
    상기 요청된 정점 데이터의 속성정보로부터 상기 요청된 정점 데이터가 적어도 두 번 래스터 처리되어야 하는지를 판단하는 제2인터페이스부
    를 더 포함하며,
    상기 제2임시 저장부는, 상기 적어도 두 번 래스터 처리되어야 하는 것으로 판단되면, 상기 정점 저장부로부터 제공된 정점 데이터를 임시 저장하는 타일 기반의 렌더링 장치.
  8. 제7항에 있어서,
    상기 제2인터페이스부에서 상기 요청된 정점 데이터가 한 번 래스터 처리되어야 하는 것으로 판단되면, 상기 제2인터페이스부는 상기 정점 저장부로부터 제공되는 정점 데이터를 상기 제1임시 저장부에게 전달하는 타일 기반의 렌더링 장치.
  9. 제6항 또는 제7항에 있어서,
    상기 적어도 두 번 래스터 처리가 필요한 정점 데이터가 상기 래스터라이저로부터 재요청되면, 상기 제2임시 저장부는 상기 임시 저장된 정점 데이터를 상기 래스터라이저에게 제공하는 타일 기반의 렌더링 장치.
  10. 제6항에 있어서,
    상기 프레임을 이루는 삼각형들의 정점을 확인하는 정점 처리부; 및
    상기 프레임이 표시되는 디스플레이 화면 영역을 타일 단위로 분류하여 상기 삼각형들이 속하는 타일을 판단하는 타일 분류부
    를 더 포함하며,
    상기 정점 저장부는 상기 확인된 정점의 정점 데이터를 상기 분류된 타일 단위로 저장하는 타일 기반의 렌더링 장치.
  11. 제10항에 있어서,
    상기 요청된 정점 데이터에 대응하는 삼각형이 적어도 두 개의 타일의 경계에 위치하면, 상기 요청된 정점 데이터가 적어도 두 번 래스터 처리되는 것으로 판단하는 타일 기반의 렌더링 장치.
  12. 프레임을 이루는 복수의 삼각형들의 정점들에 대응하는 정점 데이터를 저장하는 정점 저장부; 및
    래스터라이저로부터 요청된 정점 데이터를 상기 정점 저장부로부터 제공받고, 상기 제공받은 정점 데이터를 임시 저장하며, 상기 래스터라이저에게 상기 임시 저장된 정점 데이터를 제공하고, 상기 래스터라이저로 이전에 제공되었던 상기 임시 저장된 정점 데이터 중에서 제1 정점 데이터를 상기 래스터라이저가 재요청하는 경우 상기 래스터라이저로 상기 재요청된 제1 정점 데이터를 다시 제공하는 임시 저장부
    를 포함하고,
    상기 정점들 중 적어도 하나는 상기 복수의 삼각형들 중 인접한 삼각형들에 의해 공유되는 정점인,
    타일 기반의 렌더링 장치.
  13. 제12항에 있어서,
    상기 요청된 정점 데이터의 속성정보로부터 상기 요청된 정점 데이터가 적어도 두 번 래스터 처리되어야 하는지를 판단하는 인터페이스부
    를 더 포함하며,
    상기 인터페이스부에서 상기 요청된 정점 데이터가 상기 적어도 두 번 래스터 처리가 필요한 것으로 판단되면, 상기 임시 저장부는 상기 정점 저장부로부터 제공되는 정점 데이터를 임시 저장하는 타일 기반의 렌더링 장치.
  14. 제13항에 있어서,
    적어도 두 번 래스터 처리가 필요한 것으로 판단된 정점 데이터가 상기 래스터라이저로부터 재요청되면, 상기 임시 저장부는 상기 임시 저장된 정점 데이터를 상기 래스터라이저에게 제공하는 타일 기반의 렌더링 장치.
  15. 제13항에 있어서,
    상기 인터페이스부는 상기 요청된 정점 데이터가 한 번 래스터 처리되어야 하는 것으로 판단되면, 상기 정점 저장부로부터 제공되는 정점 데이터를 상기 래스터라이저에게 제공하는 타일 기반의 렌더링 장치.
  16. 제12항에 있어서,
    상기 프레임을 이루는 삼각형들의 정점을 확인하는 정점 처리부; 및
    상기 정점이 확인된 프레임을 타일 단위로 분류하여 상기 삼각형들이 속하는 타일을 판단하는 타일 분류부
    를 더 포함하며,
    상기 정점 저장부는 상기 확인된 정점의 정점 데이터를 상기 분류된 타일 단위로 저장하는 타일 기반의 렌더링 장치.
  17. 제16항에 있어서,
    상기 요청된 정점 데이터에 대응하는 삼각형이 적어도 두 개의 타일의 경계에 위치하면, 상기 요청된 정점 데이터가 적어도 두 번 래스터 처리되는 것으로 판단하는 타일 기반의 렌더링 장치.
  18. 프레임을 이루는 복수의 삼각형들의 정점들에 대응하는 정점 데이터를 저장하는 정점 저장부;
    상기 정점 저장부에 저장된 정점 데이터들 중 래스터라이저에서 래스터 처리되는 정점 데이터를 임시 저장하고, 상기 래스터라이저로 상기 임시 저장된 정점 데이터를 제공하며, 상기 래스터라이저로 이전에 제공되었던 상기 임시 저장된 정점 데이터 중에서 제1 정점 데이터가 상기 래스터라이저로부터 재요청되는 경우 상기 임시 저장된 제1 정점 데이터를 상기 래스터라이저에게 다시 제공하는 제1임시 저장부; 및
    상기 요청된 정점 데이터를 상기 정점 저장부로부터 제공받고, 상기 요청된 정점 데이터가 상기 제1 임시 저장부로부터 상기 래스터라이저로 제공된 후에 상기 제공받은 정점 데이터를 임시 저장하며, 상기 요청된 정점 데이터가 상기 제1임시 저장부에 저장되어 있지 않고 상기 요청된 정점 데이터가 다시 래스터 처리되어야 하는 경우 상기 임시 저장된 정점 데이터를 상기 래스터라이저로 다시 제공하는 제2임시 저장부
    를 포함하고,
    상기 정점들 중 적어도 하나는 상기 복수의 삼각형들 중 인접한 삼각형들에 의해 공유되는 정점인,
    타일 기반의 렌더링 장치.
  19. 프레임을 이루는 복수의 삼각형들의 정점들에 대응하는 정점 데이터를 정점 저장부에 저장하는 단계;
    래스터라이저로부터 요청된 정점 데이터를 상기 정점 저장부로부터 제공받아 임시 저장부에 상기 제공받은 정점 데이터를 임시 저장하는 단계;
    상기 래스터라이저에게 상기 임시 저장된 정점 데이터를 제공하는 단계; 및
    현재 타일에 대해 상기 래스터라이저로부터 동일한 정점 데이터가 재요청된 경우, 상기 래스터라이저로 상기 제공받은 정점 데이터 중에서 제1 정점 데이터를 상기 래스터라이저에게 다시 제공하는 단계
    를 포함하고,
    상기 정점들 중 적어도 하나는 상기 복수의 삼각형들 중 인접한 삼각형들에 의해 공유되는 정점인,
    타일 기반의 렌더링 방법.
  20. 프레임을 이루는 복수의 삼각형들의 정점들에 대응하는 정점 데이터를 저장하는 단계;
    정점 데이터가 래스터라이저로부터 요청된 경우 상기 정점 데이터를 정점 저장부로부터 제공받아 상기 래스터라이저로 상기 제공받은 정점 데이터를 제공하는 단계;
    상기 제공받은 정점 데이터 중에서 제1 정점 데이터가 상기 래스터라이저에 의해 재요청될 경우, 상기 재요청될 제1 정점 데이터를 임시 저장하는 단계; 및
    상기 재요청될 제1 정점 데이터가 상기 래스터라이저에 의해 재요청되면 상기 임시 저장된 제1 정점 데이터를 상기 래스터라이저에게 제공하는 단계
    를 포함하고,
    상기 정점들 중 적어도 하나는 상기 복수의 삼각형들 중 인접한 삼각형들에 의해 공유되는 정점인,
    타일 기반의 렌더링 방법.
  21. 제19항 및 제20항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체.
KR1020100000762A 2010-01-06 2010-01-06 타일 기반의 렌더링 장치 및 렌더링 방법 KR101683556B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100000762A KR101683556B1 (ko) 2010-01-06 2010-01-06 타일 기반의 렌더링 장치 및 렌더링 방법
US12/907,502 US9013479B2 (en) 2010-01-06 2010-10-19 Apparatus and method for tile-based rendering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100000762A KR101683556B1 (ko) 2010-01-06 2010-01-06 타일 기반의 렌더링 장치 및 렌더링 방법

Publications (2)

Publication Number Publication Date
KR20110080503A KR20110080503A (ko) 2011-07-13
KR101683556B1 true KR101683556B1 (ko) 2016-12-08

Family

ID=44224470

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100000762A KR101683556B1 (ko) 2010-01-06 2010-01-06 타일 기반의 렌더링 장치 및 렌더링 방법

Country Status (2)

Country Link
US (1) US9013479B2 (ko)
KR (1) KR101683556B1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101511273B1 (ko) * 2008-12-29 2015-04-10 삼성전자주식회사 멀티 코어 프로세서를 이용한 3차원 그래픽 렌더링 방법 및시스템
KR101862785B1 (ko) * 2011-10-17 2018-07-06 삼성전자주식회사 타일 기반 렌더링을 위한 캐쉬 메모리 시스템 및 캐슁 방법
CN104025181B (zh) * 2011-12-30 2016-03-23 英特尔公司 用于去耦合采样的基于分类的块延迟着色体系结构
EP2820562B1 (en) * 2012-02-27 2017-08-09 Intel Corporation Using cost estimation to improve performance of tile rendering for image processing
KR20140073951A (ko) * 2012-12-07 2014-06-17 삼성전자주식회사 베이지어 커브를 렌더링하는 장치 및 방법
US9336561B2 (en) * 2012-12-19 2016-05-10 Intel Corporation Color buffer caching
US10521939B2 (en) * 2013-05-16 2019-12-31 Analog Devices Global Unlimited Company System, method and recording medium for processing macro blocks for overlay graphics
KR102188543B1 (ko) 2014-02-07 2020-12-08 삼성전자주식회사 그래픽 처리 장치
KR102354989B1 (ko) * 2015-04-14 2022-01-24 삼성전자주식회사 경로 렌더링을 위한 타일 비닝을 수행하는 방법 및 장치.
US10212481B2 (en) * 2015-09-04 2019-02-19 Samsung Electronics Co., Ltd. Home menu interface for displaying content viewing options
CN109509139B (zh) * 2017-09-14 2023-06-27 龙芯中科技术股份有限公司 顶点数据处理方法、装置及设备
CN109992198B (zh) * 2017-12-29 2020-07-24 深圳云天励飞技术有限公司 神经网络的数据传输方法及相关产品
US11010954B2 (en) * 2018-12-11 2021-05-18 Samsung Electronics Co., Ltd. Efficient redundant coverage discard mechanism to reduce pixel shader work in a tile-based graphics rendering pipeline

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080170066A1 (en) * 2007-01-12 2008-07-17 Stmicroelectronics S.R.L. Graphic rendering method and system comprising a graphic module
US20090201307A1 (en) * 2008-02-11 2009-08-13 Stmicroelectronics S.R.L. Rasterizing method

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909562A (en) * 1997-05-01 1999-06-01 Hewlett-Packard Co. Backup FIFO in-line storage
US6608625B1 (en) 1998-10-14 2003-08-19 Hitachi, Ltd. Three dimensional graphic processor
JP2003529860A (ja) 2000-03-31 2003-10-07 インテル・コーポレーション タイル型グラフィックス・アーキテクチャ
US6819321B1 (en) * 2000-03-31 2004-11-16 Intel Corporation Method and apparatus for processing 2D operations in a tiled graphics architecture
US6885378B1 (en) * 2000-09-28 2005-04-26 Intel Corporation Method and apparatus for the implementation of full-scene anti-aliasing supersampling
US6812928B2 (en) * 2002-01-30 2004-11-02 Sun Microsystems, Inc. Performance texture mapping by combining requests for image data
US6812929B2 (en) * 2002-03-11 2004-11-02 Sun Microsystems, Inc. System and method for prefetching data from a frame buffer
US6836272B2 (en) * 2002-03-12 2004-12-28 Sun Microsystems, Inc. Frame buffer addressing scheme
KR100840011B1 (ko) 2006-07-11 2008-06-20 엠텍비젼 주식회사 3차원 그래픽 연산을 위한 캐쉬 메모리 장치 및 3차원그래픽 연산 처리 방법
KR100882842B1 (ko) 2007-02-26 2009-02-17 삼성전자주식회사 피포를 포스트 버텍스 캐쉬처럼 사용하기 위한 기하학 처리장치와 그 방법
US20090046098A1 (en) * 2007-08-14 2009-02-19 Stmicroelectronics S.R.L. Primitive binning method for tile-based rendering
KR101440106B1 (ko) * 2007-09-14 2014-09-17 삼성전자주식회사 정점 데이터 처리 장치 및 방법
US8059119B2 (en) * 2007-12-05 2011-11-15 Stmicroelectronics S.R.L. Method for detecting border tiles or border pixels of a primitive for tile-based rendering

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080170066A1 (en) * 2007-01-12 2008-07-17 Stmicroelectronics S.R.L. Graphic rendering method and system comprising a graphic module
US20090201307A1 (en) * 2008-02-11 2009-08-13 Stmicroelectronics S.R.L. Rasterizing method

Also Published As

Publication number Publication date
KR20110080503A (ko) 2011-07-13
US9013479B2 (en) 2015-04-21
US20110164038A1 (en) 2011-07-07

Similar Documents

Publication Publication Date Title
KR101683556B1 (ko) 타일 기반의 렌더링 장치 및 렌더링 방법
US11880926B2 (en) Hybrid render with deferred primitive batch binning
US9904977B2 (en) Exploiting frame to frame coherency in a sort-middle architecture
CN101620724B (zh) 图形处理***
KR102276909B1 (ko) 렌더링 방법 및 장치
KR102122454B1 (ko) 이전 타일의 이미지를 이용하여 현재 프레임을 렌더링하는 방법 및 장치
CN111062858B (zh) 高效的提前渲染方法、装置及计算机存储介质
US11393165B2 (en) Method and system for multisample antialiasing
US11954782B2 (en) Hybrid render with preferred primitive batch binning and sorting
KR101692460B1 (ko) 압축된 슈퍼타일 이미지들의 디스플레이
US7483035B2 (en) Texture cache control using a data dependent slot selection scheme
CN103793893A (zh) 采用限缓冲区处理的世界和屏幕空间管线间基元重新排序
US9639971B2 (en) Image processing apparatus and method for processing transparency information of drawing commands
CN112801855B (zh) 基于图元的渲染任务调度的方法、装置及存储介质
WO2014087572A1 (ja) 領域分割描画装置及び領域分割描画方法
KR20180038793A (ko) 영상 데이터 처리 방법 및 장치
KR20220148814A (ko) 효율적인 다중 뷰 래스터화를 위한 방법들 및 장치
US20150029203A1 (en) Filtering Mechanism for Render Target Line Modification
JP2006092217A (ja) メモリ制御方法、グラフィックプロセッサおよび情報処理装置
US20130083046A1 (en) Drawing device and drawing method
US8041903B2 (en) Processor and method for controlling memory
KR102479395B1 (ko) 선호된 프리미티브 배치 비닝 및 분류를 갖는 하이브리드 렌더
US20160180539A1 (en) Graphic Processing Circuit With Binning Rendering And Pre-Depth Processing Method Thereof
US20210295586A1 (en) Methods and apparatus for decoupled shading texture rendering
US20160292906A1 (en) Apparatus and method for managing commands

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant