KR20060131389A - 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리방법및 그의장치 - Google Patents

3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리방법및 그의장치 Download PDF

Info

Publication number
KR20060131389A
KR20060131389A KR1020050051800A KR20050051800A KR20060131389A KR 20060131389 A KR20060131389 A KR 20060131389A KR 1020050051800 A KR1020050051800 A KR 1020050051800A KR 20050051800 A KR20050051800 A KR 20050051800A KR 20060131389 A KR20060131389 A KR 20060131389A
Authority
KR
South Korea
Prior art keywords
fragment
depth
color
newly input
value
Prior art date
Application number
KR1020050051800A
Other languages
English (en)
Other versions
KR100833842B1 (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 KR1020050051800A priority Critical patent/KR100833842B1/ko
Priority to US11/213,919 priority patent/US7425967B2/en
Publication of KR20060131389A publication Critical patent/KR20060131389A/ko
Application granted granted Critical
Publication of KR100833842B1 publication Critical patent/KR100833842B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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/503Blending, e.g. for anti-aliasing

Landscapes

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

Abstract

3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 방법 및 처리 장치가 제공된다. 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 방법은 프레그먼트 정보들을 입력받는 단계, X축상으로 인접한 지를 확인하는 단계, 기존 프레그먼트의 깊이 값들을 깊이 캐쉬로부터 각각 검출하는 단계, 기존 프레그먼트의 깊이 값들을 비교하는 단계, 비교 결과 기존 프레그먼트의 깊이 값보다 작은 경우, 새로 입력된 다수의 프레그먼트의 깊이 값들을 저장하는 단계, 기존 프레그먼트의 색상 값들을 각각 독출하고, 알파혼합을 각각 수행한 후, 색상 캐쉬에 각각 저장하는 단계를 포함한다. 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 장치는 깊이 독출부, 깊이 캐쉬, 깊이 검사부, 깊이 기입부, 색상 캐쉬, 색상 독출부, 알파 혼합부, 색상 기입부, 프레임메모리를 포함한다.
픽셀 캐쉬, 깊이 검사, 파이프라인

Description

3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리방법 및 그의장치{Method for processing pixel rasterization at 3-dimensions graphic engine and device for processing the same}
도 1은 본 발명의 일 실시예가 적용 대상이 되는 3차원 그래픽 처리과정을 나타낸 블록구성도이다.
도 2는 본 발명의 일 실시예에 따른 픽셀 래스터라이제이션 파이프 라인을 나타내는 블록도이다.
도3은 본 발명의 일 실시예에 따른 픽셀 래스터라이제이션 처리 방법의 플로우 차트이다.
도4는 본 발명의 일 실시예에 따른 픽셀 래스터라이제이션 파이프 라인을 나타내는 블록도이다
(도면의 주요부분에 대한 부호의 설명)
100:API 200: 3차원 그래픽 엔진
300: 기하학 처리 400: 렌더링
410: 텍스쳐 읽기/필터부 420: 텍스쳐 혼합부
430: 알파 검사부 440: 깊이 읽기부
450: 깊이 검사부 460: 깊이 쓰기부
470: 색상 읽기부 480: 알파 혼합부
490: 색상 쓰기부 401: 텍스쳐 캐쉬
402: 픽셀 캐쉬 403: 깊이 캐쉬
404: 색상 캐쉬 405: 프레임 메모리
500: 디스플레이부
본 발명은 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션(Pixel Rasterization)처리 방법 및 처리 장치에 관한 것으로, 보다 상세하게는 하나의 캐쉬(Cache)에 다수의 파이프라인을 두어 3차원 그래픽 처리를 효과적으로 할 수 있는 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 방법 및 처리 장치에 관한 것이다.
3차원 그래픽은 3차원 공간의 물체를 높이, 폭, 길이의 세가지 축을 이용하여 표현하고, 그 영상을 보다 사실적으로 2차원인 모니터 화면에 나타내는 기술이다. 3차원 그래픽 엔진(3-dimensional graphic engine)은 형상 모델러(modeler)에 의해 기술된 기하학 형상을 입력하고, 시점이나 조명과 같은 파라미터를 적용하여 출력함으로써 화상을 생성하는 장치이다.
3차원 그래픽 엔진이 수행하는 일련의 처리를 그래픽 파이프라인이라 하는데, 그래픽스 파이프라인에서의 처리는 어느 한 곳이라도 늦은 부분이 있으면 전체 파이프라인의 속도가 저하되는 특징을 가진다. 그래픽스 파이프라인에서의 처리는 크게 지오메트리(geometry) 처리와 렌더링(rendering) 처리로 나눌 수 있다. 지오메트리 처리에서의 계산량은 처리하는 폴리곤의 정점 수에 비례하고, 렌더링 처리에서의 계산량은 생성하는 화상의 화소 수에 비례한다.
고해상도 모니터에서의 그래픽 처리에 있어서는 화소 수가 증가함에 따라 렌더링 처리를 하는 렌더링 엔진의 처리 속도를 증가시켜야 한다. 이러한 속도 문제를 해결하기 위해 내부 구조를 개선하거나 렌더링 엔진의 수를 증가시켜 병렬화하는 방법을 취하게 된다.
렌더링 엔진의 처리 속도를 높이기 위해서 가장 중요한 요소는 메모리에의 접근, 즉 메모리 대역폭(bandwidth)을 줄이는 것이다. 2차원 화면에 디스플레이하기 위해서는 텍스쳐(texture) 데이터와 픽셀(pixel) 데이터를 처리하여야 하는데, 이러한 데이터는 메모리에 저장되어 있다. 메모리에의 접근(access)을 줄이기 위해서는 그래픽 엔진 내에 캐쉬(cache)를 구비하는 것이 필수적이다.
그러나 종래의 픽셀 래스터라이제이션 처리방법은 하나의 캐쉬에 하나의 파이프라인을 두어 캐쉬들간의 일관성을 유지하기 위한 시스템을 별도로 두어야 하며, 픽셀 래스터라이제이션 처리 속도가 늦어지는 단점이 있었다.
따라서 본 발명이 이루고자 하는 기술적 과제는 하나의 캐쉬(Cache)에 다수개의 파이프라인을 두어 3차원 그래픽 처리를 효과적으로 할 수 있는 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션(Pixel Rasterization)처리 방법을 제공하는 것 이다.
본 발명이 이루고자 하는 다른 기술적 과제는 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션(Pixel Rasterization) 처리 장치를 제공하는 것이다.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리방법은 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리방법에 있어서, (a)새로 입력된 다수의 프레그먼트 정보들을 입력받는 단계, (b)상기 새로 입력된 다수의 프레그먼트 정보들의 좌표들이 X축 상으로 인접한 지를 확인하는 단계, (c)상기 확인 결과, 상기 새로 입력된 다수의 프레그먼트 정보들의 좌표들이 X축 상으로 인접한 경우에 상기 인접한 다수의 프레그먼트 정보들의 좌표들과 동일한 좌표 값을 갖는 다수의 기존 프레그먼트의 깊이 값들을 깊이 캐쉬로부터 각각 검출하는 단계, (d)상기 새로 입력된 프레그먼트의 깊이 값들과 상기 기존 프레그먼트의 깊이 값들을 각각 비교하는 단계, (e) 상기 비교 결과, 상기 새로 입력된 프레그먼트의 깊이 값이 상기 기존 프레그먼트의 깊이 값보다 더 작은 경우, 상기 새로 입력된 다수의 프레그먼트의 깊이 값들을 상기 깊이 캐쉬에 각각 저장하는 단계, (f) 색상 캐쉬로부터 상기 기존 프레그먼트의 색상 값들을 각각 독출하고, 상기 색상 캐쉬로부터 독출된 상기 기존 프레그먼트의 색상 값들과 상기 새로 입력된 다수의 프레그먼트의 색상 값들에 대해서 알파혼합을 각각 수행한 후, 상기 알파 혼합된 색상 값들을 상기 색상 캐쉬에 각각 저장하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 방법은 상기 (c)단계에서, 상기 깊이 캐쉬에 해당 프레그먼트 정보가 존재하지 않는 경우, 프레임 메모리로부터 해당 프레그먼트 정보를 각각 검출하는 것이 바람직하다.
또한, 본 발명의 일 실시예에 따른 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 방법은 상기 (e) 단계에서, 상기 비교 결과, 상기 새로 입력된 프레그먼트의 깊이 값이 상기 기존 프레그먼트의 깊이 값보다 더 큰 경우, 상기 새로 입력되는 프레그먼트 정보는 제거되는 것이 바람직하다.
또한, 본 발명의 일 실시예에 따른 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 방법은 상기 (c) 단계의 확인결과, 상기 새로 입력된 다수의 프레그먼트 정보들의 좌표들이 X축 상으로 인접하지 않은 경우,(g) 상기 새로 입력된 인접하지 않은 프레그먼트 정보의 좌표와 동일한 좌표 값을 갖는 기존 프레그먼트의 깊이 값을 깊이 캐쉬로부터 검출하는 단계,(h) 상기 새로 입력된 프레그먼트의 깊이 값과 상기 기존 프레그먼트의 깊이 값을 비교하는 단계, (i) 상기 비교 결과, 상기 새로 입력된 프레그먼트의 깊이 값이 상기 기존 프레그먼트의 깊이 값보다 더 작은 경우, 상기 새로 입력된 프레그먼트의 깊이 값을 깊이 캐쉬에 저장하는 단계, (j) 색상 캐쉬로부터 상기 기존 프레그먼트의 색상 값을 독출하고, 상기 색상 캐쉬로부터 독출된 상기 기존 프레그먼트의 색상 값과 상기 새로 입력된 프레그먼트의 색상 값에 대해서 알파 혼합을 수행한 후, 상기 알파 혼합된 색상 값을 상기 색상 캐쉬에 저장하는 단계를 포함하는 것이 바람직하다.
또한, 본 발명의 일 실시예에 따른 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 방법은 상기 (g)단계는 상기 깊이 캐쉬에 해당 프레그먼트 정보가 존재하지 않는 경우, 프레임 메모리로부터 해당 프레그먼트 정보를 검출하는 단계를 포함하는 것이 바람직하다.
또한, 본 발명의 일 실시예에 따른 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 방법은 상기 (i) 단계는 상기 비교 결과, 상기 새로 입력된 프레그먼트의 깊이 값이 상기 기존 프레그먼트의 깊이 값보다 더 큰 경우, 상기 새로 입력되는 프레그먼트 정보는 파이프라인에 버려지는 단계를 포함하는 것이 바람직하다.
또한, 본 발명의 일 실시예에 따른 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 방법은 상기 새로 입력된 프레그먼트 정보의 수는 2 내지 8인 것이 바람직하다.
상기 다른 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 장치는 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 장치에 있어서, 새로 입력된 프레그먼트 정보를 입력 받아, 상기 입력된 다수의 프레그먼트 정보의 좌표들과 동일한 좌표 값을 갖는 기 존 프레그먼트 정보를 검출하는 깊이 독출부, 상기 새로운 프레그먼트 정보의 좌표와 동일한 좌표 값을 갖는 기존 프레그먼트 정보를 상기 깊이 독출부에 제공하는 깊이 캐쉬, 상기 새로 입력된 프레그먼트의 깊이 값과 상기 기존 프레그먼트의 깊이 값을 비교하는 깊이 검사부, 상기 새로 입력된 프레그먼트의 깊이 값과 상기 기존 프레그먼트의깊이 값을 비교한 결과, 상기 새로 입력된 프레그먼트의 깊이 값이 상기 기존 프레그먼트의 깊이 값보다 더 작은 경우, 새로 입력된 프레그먼트의 깊이 값을 상기 깊이 캐쉬에 저장하는 깊이 기입부, 상기 기존 프레그먼트의 색상 값을 색상 독출부에 제공하고, 알파 혼합된 색상 값을 저장하는 색상 캐쉬, 상기 기존 프레그먼트의 색상 값을 독출하는 색상 독출부, 상기 기존 프레그먼트의 색상 값과 상기 새로 입력된 프레그먼트의 색상 값에 대해서 알파혼합을 수행하는 알파 혼합부, 상기 알파 혼합된 색상 값들을 상기 색상캐쉬에 저장하는 색상 기입부, 상기 깊이 캐쉬에 해당 프레그먼트 정보가 존재 하지 않는 경우에 해당 프레그먼트 정보를 깊이 독출부에 제공하는 하나의 프레임 메모리 및 상기 깊이 캐쉬는 상기 새로 입력된 프레그먼트의 깊이 값이 상기 기존 프레그먼트의 깊이 값보다 더 작은 경우, 상기 새로 입력된 프레그먼트의 깊이 값을 저장한다.
본 발명의 일 실시예에 따른 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 장치는 상기 새로 입력된 프레그먼트 정보의 수는 2 내지 8인 것이 바람직하다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
도 1을 참조하여, 본 발명의 일 실시예가 적용 대상이 되는 3차원 그래픽 처리 과정을 설명한다. 도 1은 본 발명의 일 실시예의 적용 대상이 되는 3차원 그래픽 처리과정을 나타낸 블록구성도이다.
본 발명의 일 실시예가 적용 대상이 되는 3차원 그래픽 처리과정은 3차원 응용 소프트웨어가 응용 프로그램 인터페이스(application program interface, API, 100)를 통하여 보낸 3차원 그래픽 데이터에 대해 3차원 그래픽 엔진(200)에서 실시간 하드웨어 가속을 수행한 후 디스플레이(500)로 보내지는 단계를 거친다. 3차원 그래픽 엔진(200)은 크게 기하학 처리(300)와 렌더링처리(400)를 수행한다. 기하학 처리(300)는 주로 3차원 좌표계의 물체를 시점에 따라 변환하고, 2차원 좌표계로 투영 처리하는 과정이다. 렌더링처리(400)는 2차원 좌표계의 이미지에 대한 색상값을 결정하여 프레임 메모리(52)에 저장하는 과정이다. 한 개의 프레임에 대하여 입력되는 모든 3차원 데이터에 대한 처리 수행이 끝난 후에 프레임 메모리(52)에 저장된 색상값은 디스플레이(500)로 보내진다.
도 2는 본 발명의 일 실시예에 따른 픽셀 래스터라이제이션 파이프 라인을 나타내는 블록도이다.
도 2를 참조하여 설명하면, 입력되는 프레그먼트(fragment) 정보는 보간을 통하여 생성된 색상값, 3차원 위치 좌표(x, y, z) 그리고 텍스쳐 좌표등이 포함된다. 그러면, 먼저 텍스쳐 독출/필터부(41)는 상기 입력되는 프레그먼트 정보의 텍 스쳐 좌표를 통해 4개 혹은 8개의 텍셀(texel)을 텍스쳐 캐쉬(50)로부터 독출해와 필터링을 수행함으로써, 한 개의 텍셀을 생성한다. 여기에서 상기 텍셀은 텍스쳐 데이터의 최소 단위를 나타낸다.
텍스쳐 혼합부(42)는 상기 생성된 하나의 텍셀을 텍스쳐 캐쉬(50)로부터 독출된 다수 텍셀의 색상값들을 혼합하여 하나의 색상으로 정의한다.
다음으로, 알파 검사부(43)는 새로 입력된 텍셀에 따른 프레그먼트의 알파 값인 투명도를 검사한다.
다음으로, 깊이 독출부(44)와 깊이 검사부(45)에서는 픽셀 캐쉬(51)로부터 현 위치의 프레그먼트의 깊이 값을 독출하고, 독출된 프레그먼트에 대한 깊이 값과 상기 새로 입력되는 프레그먼트의 깊이 값을 비교한다. 상기 비교 결과 새로 입력되는 프레그먼트의 깊이 값이 현재의 프레그먼트의 깊이 값보다 작으면, 상기 새로 입력되는 프레그먼트의 깊이 값이 픽셀 캐쉬(51)에 저장된다.
그리고 상기 비교 결과 새로 입력되는 프레그먼트의 깊이 값이 현재의 프레그먼트의 깊이 값보다 크면, 상기 새로 입력되는 프레그먼트는 파이프라인에 버려지게 된다.
이어 색상 독출부(47)는 상기 픽셀 캐쉬(51)로부터 색상값을 독출하고, 알파 혼합부(48)에서 상기 픽셀 캐쉬(51)로부터 독출된 색상값과 상기 텍스쳐 혼합부(42)에서 혼합된 색상값에 대하여 알파 혼합을 수행한다.
그리고, 최종적으로 색상 기입부(49)는 상기 알파 혼합부(48)에서 알파 혼합된 색상값을 픽셀 캐쉬(51)에 저장하게 된다.
이와 같은 래스터라이제이션 처리는 전체 메모리 전송량의 상당 부분이 픽셀 처리 파이프라인 단계의 텍스쳐 데이터 전송, 깊이 값과 색상 값의 전송 및 프레임 메모리(52) 접근에서 일어나게 되어, 메모리의 대역폭뿐만 아니라 프레임 메모리(52) 접근에 따른 지연도 성능의 중요한 요인이 된다.
본 발명에서는 이 픽셀 래스터라이제이션 처리의 동작을 제안하고 있으므로, 여기서는 상기 픽셀 래스터라이제이션 처리의 동작만을 살펴보도록 한다.
도 3을 참조하여, 본 발명의 일 실시예에 따른 픽셀 래스터라이제이션 처리 방법에 대해서 설명한다. 도 3은 본 발명의 일 실시예에 따른 픽셀 래스터라이제이션 처리 방법의 플로우 차트이다.
먼저, 새로운 다수의 프레그먼트 정보들이 입력(S10)된다. 여기에서, 상기 입력되는 프레그먼트(fragment) 정보들은 보간을 통하여 생성된 색상값, 3차원 위치 좌표(x, y, z) 그리고 텍스쳐 좌표 등이 포함된다.
다음으로, 상기 새로 입력된 다수의 프레그먼트 정보의 x좌표들이 x축상으로 인접한 지를 확인(S20)한다. 이러한 확인 절차를 거치는 것은 상기 삼각형 셋업 처리시 픽셀을 만들어 낼 때, 라인(line)단위로 만들어 낸 다음, 라인(line)내에서 픽셀을 만들어 내기 때문에, 픽셀들이 x축상으로 인접하게 순차적으로 나올 가능성이 많다. 예를 들면, 제 1 파이프라인의 x좌표가 (1, 1)인 경우 제 2, 3, 4 파이프라인의 x좌표들은 (2, 1), (3, 1), (4, 1)로 상기 제 1 파이프라인의 x좌표와 Δ1, Δ2, Δ3을 더한 것과 같은 관계를 갖는다. 따라서, x축 상으로 인접한 프레그먼트 정보들은 동시에 래스터라이제이션 처리를 하게 되는 것이다.
여기에서, 상기 새로 입력된 프레그먼트 정보의 수는 2 내지 8인 것이 바람직하다.
그러면, 텍스쳐 독출/필터부(410)는 상기 새로 입력되는 프레그먼트 정보의 텍스쳐 좌표를 통해 4개 혹은 8개의 텍셀(texel)을 텍스쳐 캐쉬(401)로부터 각각 읽어와 필터링을 수행하여 한 개의 텍셀을 생성한다. 이 때, 상기 텍셀은 텍스쳐 데이터의 최소 단위를 나타낸다.
이어 텍스쳐 혼합부(420)는 상기 생성된 하나의 텍셀을 텍스쳐 캐쉬(401)로부터 읽어진 다수 텍셀의 색상값들을 혼합하여 하나의 색상으로 정의한다.
다음으로 알파 검사부(430)는 새로 입력되 텍셀에 따른 프레그먼트의 알파 값인 투명도를 검사한다.
다음으로, 상기의 확인결과, 깊이 독출부(440)는 상기 새로 입력된 다수의 프레그먼트 정보들의 좌표들이 X축 상으로 인접한 경우에 상기 인접한 다수의 프레그먼트 정보들의 좌표들과 동일한 좌표 값을 갖는 다수의 기존 프레그먼트의 깊이 값들을 깊이 캐쉬(403)로부터 각각 검출(S30)한다.
여기에서, 상기 깊이 캐쉬(403)에 상기 인접한 다수의 프레그먼트 정보들의 좌표들과 동일한 좌표 값을 갖는 다수의 기존 프레그먼트의 깊이 값들이 존재하는 지를 확인(S40)한 후, 상기 깊이 캐쉬(403)에 해당 프레그먼트 정보가 존재하지 않는 경우, 프레임 메모리(405)로부터 해당 프레그먼트 정보를 각각 검출(S50)한다.
다음으로, 깊이 검사부(450)는 상기 입력된 프레그먼트의 깊이 값들과 상기 기존 프레그먼트의 깊이 값들을 각각 비교(S60)한다.
상기 비교 결과, 상기 새로 입력된 프레그먼트의 깊이 값이 상기 기존 프레그먼트의 깊이 값보다 더 작은 경우, 깊이 기입부(460)는 상기 새로 입력된 다수의 프레그먼트의 깊이 값들을 상기 깊이 캐쉬(403)에 각각 저장(S70)한다.
그리고 상기 비교 결과, 상기 새로 입력된 프레그먼트의 깊이 값이 상기 기존 프레그먼트의 깊이 값보다 더 큰 경우, 상기 새로 입력되는 프레그먼트 정보는 제거된다.
다음으로, 색상 독출부(470)는 색상 캐쉬(404)로부터 상기 기존 프레그먼트의 색상 값들을 각각 독출하고, 알파 혼합부(480)는 상기 색상 캐쉬(404)로부터 독출된 상기 기존 프레그먼트의 색상 값들과 상기 새로 입력되 다수의 프레그먼트의 색상 값들에 대해서 알파 혼합을 각각 수행하며, 최종적으로 색상 기입부(490)는 상기 알파 혼합부(480)에서 알파 혼합된 색상 값들을 상기 색상 캐쉬(404)에 각각 저장(S80)한다.
따라서, 상기 x축상으로 인접한 다수의 프레그먼트 정보들을 동시에 래스터라이제이션 처리함으로써, 대표적인 하나의 어드레스만 만들어 보내면 되므로 하나의 캐쉬 시스템만으로 다수의 프레그먼트 정보들의 래스터라이제이션 처리가 가능하며, 각각의 데이터들에 대한 일관성(consistency)을 유지하기 위한 별도의 시스템을 필요로 하지 않게 된다.
한편, 상기 새로 입력된 다수의 프레그먼트 정보의 x좌표들이 x축상으로 인접한 지를 확인(S20)한 결과, 상기 새로 입력된 다수의 프레그먼트 정보들의 좌표들이 X축 상으로 인접하지 않은 경우에는, 인접하지 않은 새로 입력된 프레그먼트 정보만 개별적으로 상기 단계(S30~S80)를 수행한다.
도 4를 참조하여, 본 발명의 일 실시예에 따른 픽셀 래스터라이제이션 처리 장치에 대해서 설명한다. 도 4는 본 발명의 일 실시예에 따른 픽셀 래스터라이제이션 파이프 라인을 나타내는 블록도이다.
본 발명의 일 실시예에 따른 픽셀 래스터라이제이션 처리 장치는 깊이 독출부(440), 깊이 검사부(450), 깊이 기입부(460), 색상 독출부(470), 알파 혼합부(480), 색상 기입부(490), 깊이 캐쉬(402), 색상 캐쉬(404), 프레임 메모리(405)를 포함한다.
깊이 독출부(440)는 새로 입력되는 프레그먼트 정보의 수만큼 깊이 독출부(441~444)가 존재한다. 깊이 독출부(410)는 새로 입력된 프레그먼트 정보를 입력 받아, 상기 입력된 다수의 프레그먼트 정보의 좌표들과 동일한 좌표 값을 갖는 기존 프레그먼트 정보를 검출한다.
깊이 검사부(450)는 새로 입력되는 프레그먼트의 정보의 수만큼 깊이 검사부(451~454)가 존재한다. 깊이 검사부(450)는 새로 입력된 프레그먼트의 깊이 값과 기존 프레그먼트의 깊이 값을 비교한다.
깊이 기입부(460)는 새로 입력되는 프레그먼트의 정보의 수만큼 깊이 기입부(461~464)가 존재한다. 깊이 기입부(460)는 상기 새로 입력된 프레그먼트의 깊이 값과 상기 기존 프레그먼트의깊이 값을 비교하여, 상기 새로 입력된 프레그먼트의 깊이 값이 상기 기존 프레그먼트의 깊이 값보다 더 작은 경우에만, 새로 입력된 프레그먼트의 깊이 값을 상기 깊이 캐쉬에 저장한다.
색상 독출부(470)는 새로 입력된 프레그먼트 정보의 수만큼 색상 독출부(471~474)가 존재한다. 색상 독출부(470)는 상기 기존 프레그먼트의 색상 값을 독출한다.
알파 혼합부(480)는 새로 입력된 프레그먼트 정보의 수만큼 알파 혼합부(481~484)가 존재한다. 알파 혼합부(480)는 상기 기존 프레그먼트의 색상 값과 상기 새로 입력된 프레그먼트의 색상 값에 대해서 알파 혼합을 수행한다.
깊이 캐쉬(402)는 새로 입력된 프레그먼트 정보의 수와 관계없이 하나의 깊이 캐쉬(402)만이 존재한다. 깊이 캐쉬(402)는 상기 새로운 프레그먼트 정보의 좌표와 동일한 좌표 값을 갖는 기존 프레그먼트 정보를 상기 깊이 독출부(441~444)에 각각 제공하고, 상기 새로 입력된 프레그먼트의 깊이 값이 상기 기존 프레그먼트의 깊이 값보다 더 작은 경우에는 상기 새로 입력된 프레그먼트의 깊이 값을 저장한다.
색상 캐쉬(404)는 새로 입력되는 프레그먼트 정보의 수와 관계없이 하나의 색상 캐쉬(404)만이 존재한다. 색상 캐쉬(404)는 기존 프레그먼트의 색상 값을 색상 독출부(471~474)에 각각 제공하고, 알파 혼합된 색상 값들을 저장한다.
이와 같이, 다수의 파이프라인에 하나의 픽셀 캐쉬(402)만을 두어 캐쉬들간의 일관성(consistency)를 유지하기 위한 별도의 시스템을 둘 필요가 없게 된다.
프레임 메모리(405)는 새로 입력된 프레그먼트 정보의 수와 관계없이 하나의 프레임 메모리(405)만 존재한다. 프레임 메모리(405)는 상기 깊이 캐쉬(403)에 해당 프레그먼트 정보가 존재하지 않는 경우에 해당 프레그먼트 정보를 깊이 독출부 (470)에 제공한다.
여기에서, 상기 새로 입력된 프레그먼트 정보의 수는 2 내지 8인 것이 바람직하다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 따라서 이상에서 기술한 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이므로, 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 하며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
상기한 바와 같이 이루어진 본 발명의 일 실시예에 따른 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 장치 및 처리 방법은 하나의 픽셀 캐쉬에 다수의 파이프라인을 두어, 캐쉬들간의 일관성(consistency)를 유지하기 위한 별도의 장치가 필요 없으며, 픽셀 래스터라이제이션 처리 속도가 파이프라인의 수만큼 향상되는 효과가 있다. 또한 상대적으로 고가인 픽셀 캐쉬의 수를 감소시킬 수 있다.

Claims (9)

  1. 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리방법에 있어서,
    (a)새로 입력된 다수의 프레그먼트 정보들을 입력받는 단계;
    (b)상기 새로 입력된 다수의 프레그먼트 정보들의 좌표들이 X축상으로 인접한 지를 확인하는 단계;
    (c)상기 확인 결과, 상기 새로 입력된 다수의 프레그먼트 정보들의 좌표들이 X축 상으로 인접한 경우에 상기 인접한 다수의 프레그먼트 정보들의 좌표들과 동일한 좌표 값을 갖는 다수의 기존 프레그먼트의 깊이 값들을 깊이 캐쉬로부터 각각 검출하는 단계;
    (d)상기 새로 입력된 프레그먼트의 깊이 값들과 상기 기존 프레그먼트의 깊이 값들을 각각 비교하는 단계;
    (e) 상기 비교 결과, 상기 새로 입력된 프레그먼트의 깊이 값이 상기기존 프레그먼트의 깊이 값보다 더 작은 경우, 상기 새로 입력된 다수의 프레그먼트의 깊이 값들을 상기 깊이 캐쉬에 각각 저장하는 단계;
    (f) 색상 캐쉬로부터 상기 기존 프레그먼트의 색상 값들을 각각 독출하고, 상기 색상 캐쉬로부터 독출된 상기 기존 프레그먼트의 색상 값들과 상기 새로 입력된 다수의 프레그먼트의 색상 값들에 대해서 알파혼합을 각각 수행한 후, 상기 알파 혼합된 색상 값들을 상기 색상 캐쉬에 각각 저장하는 단계를 포함하는 것을 특징으로 하는 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 방법.
  2. 제1항에 있어서,
    상기 (c)단계에서, 상기 깊이 캐쉬에 해당 프레그먼트 정보가 존재하지 않는 경우, 프레임 메모리로부터 해당 프레그먼트 정보를 각각 검출하는 것을 특징으로 하는 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 방법.
  3. 제1항에 있어서,
    상기 (e) 단계에서, 상기 비교 결과, 상기 새로 입력된 프레그먼트의 깊이 값이 상기 기존 프레그먼트의 깊이 값보다 더 큰 경우, 상기 새로 입력되는 프레그먼트 정보는 제거되는 것을 특징으로 하는 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 방법.
  4. 제1항에 있어서,
    상기 (c) 단계의 확인결과, 상기 새로 입력된 다수의 프레그먼트 정보들의 좌표들이 X축 상으로 인접하지 않은 경우,
    (g) 상기 새로 입력된 인접하지 않은 프레그먼트 정보의 좌표와 동일한 좌표 값을 갖는 기존 프레그먼트의 깊이 값을 깊이 캐쉬로부터 검출하는 단계;
    (h) 상기 새로 입력된 프레그먼트의 깊이 값과 상기 기존 프레그먼트의 깊이 값을 비교하는 단계;
    (i) 상기 비교 결과, 상기 새로 입력된 프레그먼트의 깊이 값이 상기 기존 프레그먼트의 깊이 값보다 더 작은 경우, 상기 새로 입력된 프레그먼트의 깊이 값을 깊이 캐쉬에 저장하는 단계;
    (j) 색상 캐쉬로부터 상기 기존 프레그먼트의 색상 값을 독출하고, 상기 색상 캐쉬로부터 독출된 상기 기존 프레그먼트의 색상 값과 상기 새로 입력된 프레그먼트의 색상 값에 대해서 알파 혼합을 수행한 후, 상기 알파 혼합된 색상 값을 상기 색상 캐쉬에 저장하는 단계를 포함하는 것을 특징으로 하는 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 방법.
  5. 제3항에 있어서,
    상기 (g)단계는 상기 깊이 캐쉬에 해당 프레그먼트 정보가 존재하지 않는 경우, 프레임 메모리로부터 해당 프레그먼트 정보를 검출하는 단계인 것을 특징으로 하는 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 방법.
  6. 제3항에 있어서,
    상기 (i) 단계는 상기 비교 결과, 상기 새로 입력된 프레그먼트의 깊이 값이 상기 기존 프레그먼트의 깊이 값보다 더 큰 경우, 상기 새로 입력되는 프레그먼트 정보는 파이프라인에 버려지는 단계인 것을 특징으로 하는 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 방법.
  7. 제1항에 있어서,
    상기 새로 입력된 프레그먼트 정보의 수는 2 내지 8인 것을 특징으로 하는 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 방법.
  8. 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 장치에 있어서,
    새로 입력된 프레그먼트 정보를 입력 받아, 상기 입력된 다수의 프레그먼트 정보의 좌표들과 동일한 좌표 값을 갖는 기존 프레그먼트 정보를 검출하는 깊이 독출부;
    상기 새로운 프레그먼트 정보의 좌표와 동일한 좌표 값을 갖는 기존 프레그먼트 정보를 상기 깊이 독출부에 제공하는 깊이 캐쉬;
    상기 새로 입력된 프레그먼트의 깊이 값과 상기 기존 프레그먼트의 깊이 값을 비교하는 깊이 검사부;
    상기 새로 입력된 프레그먼트의 깊이 값과 상기 기존 프레그먼트의깊이 값을 비교한 결과, 상기 새로 입력된 프레그먼트의 깊이 값이 상기 기존 프레그먼트의 깊이 값보다 더 작은 경우, 새로 입력된 프레그먼트의 깊이 값을 상기 깊이 캐쉬에 저장하는 깊이 기입부;
    상기 기존 프레그먼트의 색상 값을 색상 독출부에 제공하고, 알파 혼합된 색상 값을 저장하는 색상 캐쉬;
    상기 기존 프레그먼트의 색상 값을 독출하는 색상 독출부;
    상기 기존 프레그먼트의 색상 값과 상기 새로 입력된 프레그먼트의 색상 값에 대해서 알파 혼합을 수행하는 알파 혼합부;
    상기 알파 혼합된 색상 값들을 상기 색상캐쉬에 저장하는 색상 기입부;
    상기 깊이 캐쉬에 해당 프레그먼트 정보가 존재 하지 않는 경우에 해당 프레그먼트 정보를 깊이 독출부에 제공하는 하나의 프레임 메모리; 및
    상기 깊이 캐쉬는 상기 새로 입력된 프레그먼트의 깊이 값이 상기 기존 프레그먼트의 깊이 값보다 더 작은 경우, 상기 새로 입력된 프레그먼트의 깊이 값을 저장하는 것을 특징으로 하는 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 장치.
  9. 제8항에 있어서,
    상기 새로 입력된 프레그먼트 정보의 수는 2 내지 8인 것을 특징으로 하는 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리 장치.
KR1020050051800A 2005-06-16 2005-06-16 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리방법및 그의장치 KR100833842B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050051800A KR100833842B1 (ko) 2005-06-16 2005-06-16 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리방법및 그의장치
US11/213,919 US7425967B2 (en) 2005-06-16 2005-08-30 Device for processing pixel rasterization and method for processing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050051800A KR100833842B1 (ko) 2005-06-16 2005-06-16 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리방법및 그의장치

Publications (2)

Publication Number Publication Date
KR20060131389A true KR20060131389A (ko) 2006-12-20
KR100833842B1 KR100833842B1 (ko) 2008-06-02

Family

ID=37572906

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050051800A KR100833842B1 (ko) 2005-06-16 2005-06-16 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리방법및 그의장치

Country Status (2)

Country Link
US (1) US7425967B2 (ko)
KR (1) KR100833842B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100072826A (ko) * 2008-12-22 2010-07-01 제일모직주식회사 금속 카바이드의 제조 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8004511B2 (en) 2004-12-02 2011-08-23 Sharp Laboratories Of America, Inc. Systems and methods for distortion-related source light management
US8120570B2 (en) * 2004-12-02 2012-02-21 Sharp Laboratories Of America, Inc. Systems and methods for tone curve generation, selection and application
US7768496B2 (en) 2004-12-02 2010-08-03 Sharp Laboratories Of America, Inc. Methods and systems for image tonescale adjustment to compensate for a reduced source light power level
US8111265B2 (en) 2004-12-02 2012-02-07 Sharp Laboratories Of America, Inc. Systems and methods for brightness preservation using a smoothed gain image
US7839406B2 (en) 2006-03-08 2010-11-23 Sharp Laboratories Of America, Inc. Methods and systems for enhancing display characteristics with ambient illumination input
KR20080014402A (ko) * 2006-08-11 2008-02-14 삼성전자주식회사 컴퓨터 그래픽스 데이터 처리방법과 데이터 처리장치
KR101344495B1 (ko) * 2007-12-28 2013-12-24 삼성전자주식회사 렌더링 방법 및 장치
US9176895B2 (en) 2013-03-16 2015-11-03 Intel Corporation Increased error correction for cache memories through adaptive replacement policies
CN111429339A (zh) * 2020-03-20 2020-07-17 稿定(厦门)科技有限公司 文字栅格化处理方法、介质、设备及装置
CN111179151B (zh) * 2020-04-13 2020-07-10 南京芯瞳半导体技术有限公司 一种提高图形渲染效率的方法、装置及计算机存储介质
US20220414939A1 (en) * 2021-06-28 2022-12-29 Advanced Micro Devices, Inc. Render target compression scheme compatible with variable rate shading

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6856320B1 (en) * 1997-11-25 2005-02-15 Nvidia U.S. Investment Company Demand-based memory system for graphics applications
KR100510131B1 (ko) * 2003-01-29 2005-08-26 삼성전자주식회사 픽셀 캐쉬 및 이를 이용한 3차원 그래픽 가속 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100072826A (ko) * 2008-12-22 2010-07-01 제일모직주식회사 금속 카바이드의 제조 방법

Also Published As

Publication number Publication date
KR100833842B1 (ko) 2008-06-02
US20060284883A1 (en) 2006-12-21
US7425967B2 (en) 2008-09-16

Similar Documents

Publication Publication Date Title
KR100833842B1 (ko) 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리방법및 그의장치
KR100510131B1 (ko) 픽셀 캐쉬 및 이를 이용한 3차원 그래픽 가속 장치 및 방법
KR101349171B1 (ko) 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법
KR102122454B1 (ko) 이전 타일의 이미지를 이용하여 현재 프레임을 렌더링하는 방법 및 장치
JP6778485B2 (ja) レンダリング方法及びその装置
US10140750B2 (en) Method, display adapter and computer program product for improved graphics performance by using a replaceable culling program
US10235793B2 (en) Graphics processing systems
US20050068333A1 (en) Image processing apparatus and method of same
KR20110093404A (ko) 3차원 그래픽스 랜더링 장치 및 그 방법
US20090046098A1 (en) Primitive binning method for tile-based rendering
US20160140688A1 (en) Texture processing method and unit
CN101604454A (zh) 图形处理系统
US9710933B2 (en) Method and apparatus for processing texture
KR20180055446A (ko) 타일 기반 렌더링 방법 및 장치
US20170098294A1 (en) Method and apparatus for executing graphics pipeline
US10432914B2 (en) Graphics processing systems and graphics processors
JP2015531918A (ja) ヒットテスト方法および装置
KR100823373B1 (ko) 3차원 그래픽 서브시스템들에서의 텍스쳐 맵 데이터의프로그램 가능 필터링을 위한 방법 및 메카니즘
EP1519317A1 (en) Apparatus and method for antialiasing based on z buffer or normal vector information
GB2521171A (en) Clipping of graphics primitives
JP2017062789A (ja) グラフィックス処理装置、及びテクスチャリングのためのlodを決定する方法
US20170061682A1 (en) Rendering method and apparatus
US20170330304A1 (en) Graphics processing unit and method of controlling cache bypass thereof
US7724254B1 (en) ISO-surface tesselation of a volumetric description
KR100441080B1 (ko) 3차원 그래픽 가속기에서 픽셀 캐쉬 구조의 동작방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130503

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140402

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee