KR101239965B1 - 렌더링 장치 및 방법 - Google Patents

렌더링 장치 및 방법 Download PDF

Info

Publication number
KR101239965B1
KR101239965B1 KR1020060110223A KR20060110223A KR101239965B1 KR 101239965 B1 KR101239965 B1 KR 101239965B1 KR 1020060110223 A KR1020060110223 A KR 1020060110223A KR 20060110223 A KR20060110223 A KR 20060110223A KR 101239965 B1 KR101239965 B1 KR 101239965B1
Authority
KR
South Korea
Prior art keywords
fragment
pixel
value
pipeline
input
Prior art date
Application number
KR1020060110223A
Other languages
English (en)
Other versions
KR20080041958A (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 KR1020060110223A priority Critical patent/KR101239965B1/ko
Priority to US11/889,629 priority patent/US8379050B2/en
Publication of KR20080041958A publication Critical patent/KR20080041958A/ko
Application granted granted Critical
Publication of KR101239965B1 publication Critical patent/KR101239965B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

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

Abstract

본 발명에 의한 렌더링 장치 및 방법은, 프래그먼트가 픽셀로서 표시 가능한지 검사하는 하나 이상의 제2 래스터 작업들 각각을 순차적으로 수행한 뒤, 상기 프래그먼트가 픽셀로서 표시 가능한지 검사하는 제1 래스터 작업들 및 상기 프래그먼트를 픽셀로서 표시하기 위한 제3 래스터 작업들 중 적어도 하나를 각각 순차적으로 수행함으로써, 효율적인 전력 소모와 렌더링의 신속한 완료를 도모하는 효과를 갖는다.

Description

렌더링 장치 및 방법{Rendering apparatus employed in 3D graphic accelerator and method thereof}
도 1은 본 발명에 의한 렌더링 장치를 설명하기 위한 블록도이다.
도 2는 도 1에 도시된 위치 비교부(156)의 세부 블록도이다.
도 3은 본 발명에 의한 렌더링 방법을 설명하기 위한 플로우챠트이다.
본 발명은 렌더링(rendering)에 관한 것으로, 특히, 프로그래머블(programmable)하지 않은 파이프라인(pipeline) 구조 즉, 고정 파이프라인 구조를 지원하는 3차원 그래픽 가속기(graphics accelerator)에 관한 것이다.
고정 파이프라인 구조를 지원하는 종래의 렌더링 장치는 복수의 정점(vertex)들로 구성된 모델을 렌더링(즉, 시각화(visualization))함에 있어서, 정점들이 이루는 평면마다 생성된 복수의 프래그먼트(fragment) 각각에 대해, 고정적인 다수의 그래픽스 연산을 수행한다. 이 때, 그래픽스 연산은 텍스쳐 매핑(texture mapping)과 같이 프래그먼트를 픽셀(pixel)로서 표시하기 위한 작업일 수도 있고, 깊이 검사와 같이 프래그먼트가 픽셀로서 표시 가능한지 검사하는 작업 일 수도 있다. 여기서, 텍스쳐 매핑이란 재질이나 질감을 나타내는 2차원 이미지상의 어느 한 정보를 프래그먼트에 매핑시키는 것을 의미하고, 깊이 검사는 픽셀로서 표시하고자 하는 프래그먼트의 깊이 값이 그 표시하고자 하는 프래그먼트의 표시 가능한 위치에 매칭되어 마련된 깊이 값과 비교함으로써 그 표시하고자 하는 프래그먼트를 픽셀로서 표시할 수 있는지 검사하는 것을 의미한다.
이러한 종래의 렌더링 장치, 특히, OpenGL Architecture Review Board 라는 기구에서 제안한 OpenGL에 따른 고정 파이프라인 구조를 지원하는 종래의 렌더링 장치는, 프래그먼트가 픽셀로서 표시 가능한지 검사하는 그래픽스 연산을 프래그먼트를 픽셀로서 표시하기 위한 하나 이상의 그래픽스 연산들을 수행한 뒤에야 최초로 수행한다. 결국, 종래의 렌더링 장치는 픽셀로서 표시될 수 없다고 검사될 프래그먼트에 대해서도 픽셀로서 표시하기 위한 그래픽스 연산을 불필요하게 수행하므로, 효율적인 전력 소모와 렌더링의 신속한 완료를 도모하기 곤란하다는 문제점을 갖는다. 이러한 문제점은, 종래의 렌더링 장치가 텍스쳐 매핑과 같이 연산량이 큰 그래픽스 연산을 프래그먼트를 픽셀로서 표시하기 위한 그래픽스 연산으로서 수행하는 경우에 두드러진다.
본 발명이 이루고자 하는 기술적 과제는, 픽셀로서 표시될 수 없다고 검사될 프래그먼트에 대해서는 픽셀로서 표시하기 위한 그래픽스 연산을 수행하지 않도록 하는 고정 파이프라인 구조를 지원하는 렌더링 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, 픽셀로서 표시될 수 없다고 검사될 프래그먼트에 대해서는 픽셀로서 표시하기 위한 그래픽스 연산을 수행하지 않도록 하는 고정 파이프라인 구조를 지원하는 렌더링 장치에서 수행되는 렌더링 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 또 다른 기술적 과제는, 픽셀로서 표시될 수 없다고 검사될 프래그먼트에 대해서는 픽셀로서 표시하기 위한 그래픽스 연산을 수행하지 않도록 하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
상기 과제를 이루기 위해, 본 발명에 의한 렌더링 장치는, 프래그먼트가 픽셀로서 표시 가능한지 검사하는 제1 래스터 작업들과 제2 래스터 작업들 중 적어도 하나를 수행하는 검사부; 및 상기 프래그먼트를 픽셀로서 표시하기 위한 제3 래스터 작업들 중 적어도 하나를 수행하는 프래그먼트 처리부를 포함하고, 수행되는 상기 제1, 상기 제2, 및 상기 제3 래스터 작업들 각각은 순차적으로 수행되고, 상기 제2 래스터 작업은 상기 제1 및 상기 제3 래스터 작업보다 먼저 수행되는 것이 바람직하다.
상기 다른 과제를 이루기 위해, 본 발명에 의한 렌더링 방법은, 프래그먼트가 픽셀로서 표시 가능한지 검사하는 하나 이상의 제2 래스터 작업들 각각을 순차적으로 수행하는 (a) 단계; 및 상기 (a) 단계 후에, 상기 프래그먼트가 픽셀로서 표시 가능한지 검사하는 제1 래스터 작업들 및 상기 프래그먼트를 픽셀로서 표시하기 위한 제3 래스터 작업들 중 적어도 하나를 각각 순차적으로 수행하는 (b) 단계 를 포함하는 것이 바람직하다.
상기 또 다른 과제를 이루기 위해, 본 발명에 의한 컴퓨터로 읽을 수 있는 기록매체는, 프래그먼트가 픽셀로서 표시 가능한지 검사하는 하나 이상의 제2 래스터 작업들 각각을 순차적으로 수행하는 (a) 단계; 및 상기 (a) 단계 후에, 상기 프래그먼트가 픽셀로서 표시 가능한지 검사하는 제1 래스터 작업들 및 상기 프래그먼트를 픽셀로서 표시하기 위한 제3 래스터 작업들 중 적어도 하나를 각각 순차적으로 수행하는 (b) 단계를 수행하는 컴퓨터 프로그램을 저장하는 것이 바람직하다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 그 첨부 도면을 설명하는 내용을 참조하여야만 한다.
이하, 본 발명에 의한 렌더링 장치 및 방법을 첨부한 도면들을 참조하여 다음과 같이 설명한다.
도 1은 본 발명에 의한 렌더링 장치를 설명하기 위한 블록도로서, 스캔 컨버젼부(110), 검사부(120), 프래그먼트 처리부(130), 텍스쳐 저장부(146), 및 프레임 저장부(142)를 포함할 수 있다.
여기서, 검사부(120)는 시저 검사부(140), 위치 비교부(156), 스텐실/깊이 검사부(144), 및 알파 검사부(152)를 포함할 수 있다. 이 때, 시저 검사부(140)는 검사부(120)에 선택적으로 마련될 수 있고, 알파 검사부(152)는 검사부(120)에 선택적으로 마련될 수 있다. 이하에서는 설명의 편의상, 검사부(120)는 시저 검사부(140), 위치 비교부(156), 스텐실/깊이 검사부(144), 및 알파 검사부(152)로 이 루어진다고 가정한다.
한편, 프래그먼트 처리부(130)는 텍스쳐 매핑부(148), 포그 연산부(150), 스텐실/깊이 값 기입부(154), 색상정보 연산부(158), 및 색상정보 기입부(160)를 포함할 수 있다. 이 때, 포그 연산부(150)는 프래그먼트 처리부(130)에 선택적으로 마련될 수 있다. 이하에서는 설명의 편의상, 프래그먼트 처리부(130)는 텍스쳐 매핑부(148), 포그 연산부(150), 스텐실/깊이 값 기입부(154), 색상정보 연산부(158), 및 색상정보 기입부(160)로 이루어진다고 가정한다.
본 발명에 의한 렌더링 장치는 도 1에 도시된 바와 같이, 파이프라인 구조를 지원한다. 예컨대, 시저 검사부(140)는 스캔 컨버젼부(110)가 동작한 뒤에야 동작하고, 위치 비교부(156)는 시저 검사부(140)가 동작한 뒤에야 동작하고, 스텐실/깊이 검사부(144)는 위치 비교부(156)가 동작한 뒤에야 동작하고, 텍스쳐 매핑부(148)는 스텐실/깊이 검사부(144)가 동작한 뒤에야 동작하고, 포그 연산부(150)는 텍스쳐 매핑부(148)가 동작한 뒤에야 동작한다. 마찬가지로, 알파 검사부(152)는 포그 연산부(150)가 동작한 뒤에야 동작하고, 스텐실/깊이 값 기입부(154)는 알파 검사부(152)가 동작한 뒤에야 동작하고, 색상정보 연산부(158)는 스텐실/깊이 값 기입부(154)가 동작한 뒤에야 동작하고, 색상정보 기입부(160)는 색상정보 연산부(158)가 동작한 뒤에야 동작한다. 결국, 도 1에 도시된 바에서 시저 검사부(140) 내지 색상정보 기입부(160)는 최대 9개의 단계를 거칠 수 있도록 하는 하나의 파이프라인(이하, '픽셀 파이프라인(pixel pipeline)')을 구성한다. 이 때, 1번째 단계는 시저 검사부(140)의 동작을 의미하고, 9번째 단계는 색상정보 기입부(160)의 동 작을 의미한다.
본 발명에 의한 렌더링 장치가 지원하는 파이프라인 구조는 고정 파이프라인 구조인 것이 바람직하다. 즉, 일단 출시된 본 발명에 의한 렌더링 장치가 지원하는 파이프라인 구조는 더 이상 변경될 수 없는 것이 바람직하다.
스캔 컨버젼(scan conversion)부(110)는 렌더링하고자 하는 그래픽 데이터를 구성하는 정점들이 이루는 평면마다 복수의 프래그먼트들을 생성한다. 여기서, 각각의 정점은 위치 정보, 색상 정보 등을 갖고 있고, 각각의 프래그먼트는 그 프래그먼트에 대응된 픽셀의 화면상에서의 위치에 대한 정보, 그 프래그먼트에 대응된 픽셀의 깊이(depth) 값, 그 프래그먼트에 대응된 픽셀의 색상에 대한 정보, 그 프래그먼트에 대응된 하나 이상의 텍스쳐 좌표에 대한 정보 등을 갖고 있다. 프래그먼트는 후술할 프레임 저장부(frame buffer)(152)에 기입되어야 비로소 픽셀이라 명명되며, 액정 표시 장치(LCD: Liquid Crystal Displayer)와 같은 표시 장치(미 도시)는 그 기입된 프래그먼트를 그 표시 장치에 구비된 화면을 통해 픽셀로서 표시한다. 따라서, 본 명세서에서 프래그먼트에 대응된 픽셀이란, 프래그먼트가 프레임 저장부(142)에 기입된다고 가정했을 경우의 그 프래그먼트에 대응된 픽셀을 의미하고, 화면이란 그 표시 장치에 구비된 화면을 의미하고, 텍스쳐 좌표란 재질이나 질감을 나타내는 2차원 이미지인 텍스쳐 이미지상의 한 좌표를 의미한다.
한편, 이와 같이 생성된 프래그먼트들 각각은 픽셀 파이프라인에 순차적으로 입력된다. 이에 따라, 픽셀 파이프라인의 p(단, p는 자연수)번째 단계가 픽셀 파이프라인에 q(단, q는 자연수)번째 입력된 프래그먼트에 대한 수행을 완료하였다면, 그 p번째 단계는 픽셀 파이프라인에 q+1번째 입력된 프래그먼트에 대해 수행되게 된다. 예컨대, 시저 검사부(140)가 6번째 입력된 프래그먼트에 대해 동작하고 그 동작을 완료하면, 그 6번째 입력된 프래그먼트는 위치 비교부(156)로 입력될 수 있고, 시저 검사부(140)는 7번째 입력된 프래그먼트에 대해 동작하게 된다. 마찬가지로, 텍스쳐 매핑부(148)가 2번째 입력된 프래그먼트에 대해 동작하고 그 동작을 완료하면, 그 2번째 입력된 프래그먼트는 포그 연산부(150)로 입력되고, 텍스쳐 매핑부(148)는 3번째 입력된 프래그먼트에 대해 동작하게 된다.
이러한 픽셀 파이프라인의 세부 동작을 설명하면 다음과 같다.
검사부(120)는 제1 래스터(raster) 작업들과 제2 래스터 작업들 중 적어도 하나를 수행한다. 본 명세서에서, 제1 래스터 작업 또는 제2 래스터 작업은, 프래그먼트가 픽셀로서 표시 가능한지 검사하는 작업을 의미한다. 도 1에 도시된 바에서, 알파 검사부(152)의 동작은 제1 래스터 동작을 의미하고, 시저 검사부(140)의 동작, 위치 비교부(156)의 동작, 또는 스텐실/깊이 검사부(144)의 동작은 제2 래스터 동작을 의미한다.
프래그먼트 처리부(130)는 제3 래스터 작업들 중 적어도 하나를 수행한다. 본 명세서에서, 제3 래스터 작업이란 프래그먼트를 픽셀로서 표시하기 위한 작업을 의미한다. 도 1에 도시된 바에서, 텍스쳐 매핑부(148)의 동작, 포그 연산부(150)의 동작, 스텐실/깊이 값 기입부(154)의 동작, 색상정보 연산부(158)의 동작, 또는 색상정보 기입부(160)의 동작은 제3 래스터 동작을 의미한다.
본 발명에 의한 렌더링 장치는, 제2 래스터 작업을 어떠한 제1 래스터 작업 보다도 우선적으로 수행한다. 이와 비슷하게, 본 발명에 의한 렌더링 장치는, 제2 래스터 작업을 어떠한 제3 래스터 작업보다도 우선적으로 수행한다.
이러한 검사부(120) 및 프래그먼트 처리부(130)에 대한 보다 구체적인 설명은 이하, 시저 검사부(140) 내지 색상정보 기입부(160)의 동작에 대한 설명으로 대체한다.
시저 검사부(140)는 시저 검사부(140)에 입력된 프래그먼트에 대해 시저 검사(scissor test)를 수행한다. 여기서, 시저 검사란 프래그먼트에 대응된 픽셀의 위치가 화면내 미리 지정된 영역내에 존재하는지 검사하는 것을 의미한다. 이 때, 미리 지정된 영역은 픽셀이 표시되는 영역을 의미한다. 즉, 표시 장치(미 도시)는 미리 지정된 영역 외에 위치한 픽셀은 표시하지 않는다. 한편, 시저 검사부(140)에 입력된 프래그먼트는 스캔 컨버젼부(110)로부터 입력된 프래그먼트인 것이 바람직하다. 즉, 시저 검사는 픽셀 파이프라인에서 수행될 여러 단계들 중 첫 번째 단계인 것이 바람직하다.
만일, 프래그먼트에 대응된 픽셀의 위치가 미리 지정된 영역내에 존재한다고 검사되면, 즉, 프래그먼트가 시저 검사를 통과하면, 시저 검사부(140)는 그 입력된 프래그먼트를 위치 비교부(156)로 출력한다.
그에 반해, 프래그먼트에 대응된 픽셀의 위치가 미리 지정된 영역내에 존재하지 않는다고 검사되면, 즉, 프래그먼트가 시저 검사를 통과하지 못하면, 시저 검사부(140)는 그 입력된 프래그먼트를 폐기한다. 본 명세서에서, 프래그먼트를 폐기한다란 프래그먼트를 후술할 프레임 저장부(142)에 기입하지 않는 것 즉, 프래그먼 트를 픽셀로서 표시하지 않는 것을 의미한다.
프레임 저장부(frame buffer)(142)는 화면에 표현 가능한 각 픽셀의 픽셀 정보를 저장한다. 여기서, 픽셀 정보는 스텐실 값일 수도 있고, 깊이 값일 수도 있고, 색상 정보일 수도 있다. 이를 위해, 프레임 저장부(142)는 스텐실 버퍼(Stencil Buffer)(미 도시), 깊이 버퍼(Depth Buffer)(미 도시), 및 컬러 버퍼(Color Buffer)(미 도시)를 포함하는 것이 바람직하다. 이 경우, 스텐실 버퍼(미 도시)는 화면에 표현 가능한 각 픽셀의 스텐실 값을 저장하고, 깊이 버퍼(미 도시)는 화면에 표현 가능한 각 픽셀의 깊이 값을 저장하고, 컬러 버퍼(미 도시)는 화면에 표현 가능한 각 픽셀의 색상 정보를 저장한다. 이러한 픽셀 정보는 프래그먼트로부터 획득 가능한 정보이며, 그 획득된 픽셀 정보가 프레임 저장부(142)에 기입되면, 프래그먼트는 픽셀이라 명명되게 되고, 표시 장치(미 도시)는 그 기입된 픽셀 정보에 따라 픽셀을 표시한다. 결국, 본 명세서에서 '프래그먼트를 픽셀로서 표시한다'란 프래그먼트로부터 픽셀 정보를 획득하여 그 획득된 픽셀 정보를 스텐실 버퍼(미 도시), 깊이 버퍼(미 도시), 또는 컬러 버퍼(미 도시)에 기입하는 것을 의미한다.
스텐실/깊이 검사부(144)는 스텐실/깊이 검사부(144)에 입력된 프래그먼트에 대해 스텐실 검사(stencil test) 및 깊이 검사(depth test) 중 적어도 하나를 수행한다. 설명의 편의상, 스텐실/깊이 검사부(144)는 스텐실 검사와 깊이 검사 모두를 수행할 수 있다고 가정한다.
스텐실 검사란, 스텐실/깊이 검사부(144)에 입력된 프래그먼트와 관련하여 사용자에 의해 지정된 참조값과 스텐실 버퍼(미 도시)에 저장된 스텐실 값을 비교하는 것을 의미한다. 스텐실 검사를 통과한다는 것의 구체적인 의미는 사용자에 의해 설정될 수 있다. 예컨대, 스텐실 검사의 통과는, 참조값이 그 저장된 스텐실 값 초과인 것을 의미할 수도 있고, 참조값이 그 저장된 스텐실 값 미만인 것을 의미할 수도 있다.
만일, 스텐실/깊이 검사부(144)에 입력된 프래그먼트가 스텐실 검사를 통과하는지에 관계없이, 스텐실/깊이 검사부(144)는 스텐실 검사를 수행한 뒤, 깊이 검사를 수행한다.
깊이 검사란, 프래그먼트에 대응된 픽셀의 깊이 값과 깊이 버퍼(미 도시)에 저장된 해당 픽셀의 깊이 값을 비교하는 것을 의미한다. 여기서, 해당 픽셀이란 프래그먼트에 대응된 픽셀의 화면상에서의 위치와 동일한 위치의 픽셀을 의미한다. 깊이 검사를 통과한다는 것의 구체적인 의미는 사용자에 의해 설정될 수 있다. 예컨대, 깊이 검사의 통과는, 프래그먼트에 대응된 픽셀의 깊이 값이 그 저장된 깊이 값 초과인 것을 의미할 수도 있고, 프래그먼트에 대응된 픽셀의 깊이 값이 그 저장된 깊이 값 미만인 것을 의미할 수도 있다.
만일, 스텐실/깊이 검사부(144)에 입력된 프래그먼트가 깊이 검사를 통과한다고 검사되면, 스텐실/깊이 검사부(144)는 그 입력된 프래그먼트를 텍스쳐 매핑부(148)로 출력한다.
그에 반해, 스텐실/깊이 검사부(144)에 입력된 프래그먼트가 깊이 검사를 통과하지 못한다고 검사되면, 스텐실/깊이 검사부(144)는 그 입력된 프래그먼트를 알 파 검사부(152)로 출력하거나 폐기한다. 구체적으로, 그 입력된 프래그먼트가 스텐실 검사는 통과하였으나 깊이 검사는 통과하지 못하였다면, 스텐실/깊이 검사부(144)는 그 입력된 프래그먼트를 알파 검사부(152)로 출력하고, 그 입력된 프래그먼트가 스텐실 검사와 깊이 검사 모두를 통과하지 못하였다면, 스텐실/깊이 검사부(144)는 그 입력된 프래그먼트를 폐기한다.
텍스쳐 저장부(146)는 하나 이상의 텍스쳐 이미지를 저장하고, 텍스쳐 매핑부(148)는 텍스쳐 매핑부(148)에 입력된 프래그먼트마다 하나 이상의 텍스쳐 좌표들을 매핑(mapping)시킨다. 이로써, 그 입력된 프래그먼트에는 하나 이상의 텍스쳐 좌표들의 텍스쳐 이미지 정보들이 매핑된다.
포그 연산부(150)는 포그 연산부(150)에 입력된 프래그먼트에 대해 포그 연산을 수행하고, 포그 연산된 프래그먼트를 알파 검사부(152)로 출력한다. 포그 연산이란, 프래그먼트에 대응된 픽셀의 본래 색상을 다소 뿌옇게 변경시키는 작업을 의미한다. 한편, 포그 연산부(150)에 입력된 프래그먼트는 텍스쳐 매핑부(148)로부터 입력된 프래그먼트인 것이 바람직하다.
알파 검사부(152)는 알파 검사부(152)에 입력된 프래그먼트와 관련하여 사용자에 의해 지정된 참조값과 컬러 버퍼(미 도시)에 저장된 알파 값을 비교하는 것을 의미한다. 여기서, 알파 값이란 색상 정보의 하나로서, 투명도에 관한 정보를 포함한다.
알파 검사를 통과한다는 것의 구체적인 의미는 사용자에 의해 설정될 수 있다. 예컨대, 알파 검사의 통과는, 참조값이 그 저장된 알파 값 초과인 것을 의미할 수도 있고, 참조값이 그 저장된 알파 값 미만인 것을 의미할 수도 있다. 한편, 이러한 알파 검사는, 텍스쳐 매핑부(148)에서 매핑된 텍스쳐 이미지 정보를 고려하여 수행되므로, 텍스쳐 매핑 전에 수행될 수 없다. 따라서, 알파 검사는 제2 래스터 작업이 될 수 없고, 이에 따라 제1 래스터 작업으로 분류되는 것이 바람직하다.
만일, 알파 검사부(152)에 입력된 프래그먼트가 알파 검사를 통과한다고 검사되면, 알파 검사부(152)는 그 입력된 프래그먼트를 스텐실/깊이 값 기입부(154)로 출력한다. 이 경우, 스텐실/깊이 값 기입부(154)는 스텐실/깊이 값 기입부(154)에 입력된 프래그먼트와 관련하여 사용자에 의해 지정된 참조값 또는, 그 입력된 프래그먼트에 대응된 픽셀의 깊이 값을 프레임 저장부(142)에 기입(write)한다. 구체적으로, 스텐실/깊이 검사부(144)에서 그 입력된 프래그먼트가 스텐실 검사와 깊이 검사 모두를 통과한다고 검사되었다면, 스텐실/깊이 값 기입부(154)는 그 참조값을 스텐실 버퍼(미 도시)에 해당 픽셀의 스텐실 값으로서 기입하고, 그 깊이 값을 깊이 버퍼(미 도시)에 해당 픽셀의 깊이 값으로서 기입한다. 이로써, 스텐실 버퍼(미 도시)에 저장된 스텐실 값과 깊이 버퍼(미 도시)에 저장된 깊이 값은 갱신(update)된다. 반면, 스텐실/깊이 검사부(144)에서 그 입력된 프래그먼트가 스텐실 검사는 통과하지 못하고 깊이 검사는 통과한다고 검사되었다면, 스텐실/깊이 값 기입부(154)는 그 깊이 값을 깊이 버퍼(미 도시)에 해당 픽셀의 깊이 값으로서 기입한다. 이로써, 깊이 버퍼(미 도시)에 저장된 깊이 값은 갱신된다. 이와 비슷하게, 스텐실/깊이 검사부(144)에서 그 입력된 프래그먼트가 스텐실 검사는 통과하고 깊이 검사는 통과하지 못한다고 검사되었다면, 스텐실/깊이 값 기입부(154)는 그 참조값을 스텐실 버퍼(미 도시)에 해당 픽셀의 스텐실 값으로서 기입한다. 이로써, 스텐실 버퍼(미 도시)에 저장된 스텐실 값은 갱신된다. 본 발명에 의한 렌더링 장치가 알파 검사를 수행한다면, 스텐실/깊이 값 기입부(154)는 알파 검사가 수행된 이후에 동작해야 한다. 왜냐하면, 스텐실 검사와 깊이 검사를 통과한 프래그먼트라 하더라도, 알파 검사를 통과하지 못하면, 프레임 저장부(142) 어디에도 기입될 수 없어 화면에 표시될 수 없기 때문이다.
그에 반해, 알파 검사부(152)에 입력된 프래그먼트가 알파 검사를 통과하지 못한다고 검사되면, 알파 검사부(152)는 그 입력된 프래그먼트를 폐기한다.
한편, 전술한 바와 같이, 스텐실/깊이 검사부(144)는 스텐실 검사(또는, 깊이 검사)를 수행함에 있어, 프레임 저장부(142)에 저장된 스텐실 값(또는, 깊이 값)을 이용한다. 구체적으로, 스텐실 검사를 수행하고자 하는 스텐실/깊이 검사부(144)는 스텐실/깊이 검사부(144)에 현재 입력된 프래그먼트와 관련하여 사용자에 의해 지정된 참조값을 스텐실 버퍼(미 도시)에 저장된 스텐실 값과 비교한다. 또한, 깊이 검사를 수행하고자 하는 스텐실/깊이 검사부(144)는 스텐실/깊이 검사부(144)에 현재 입력된 프래그먼트에 대응된 픽셀의 깊이 값을 깊이 버퍼(미 도시)에 저장된 깊이 값과 비교한다. 이 때, 비교 대상인 그 저장된 스텐실 값(또는, 깊이 값)은 스텐실/깊이 검사부(144)에 이전에 입력된 모든 프래그먼트들에 대해 픽셀 파이프라인의 모든 동작이 완료된 상태에서의 프레임 저장부(142)에 기록되어 있는 스텐실 값(또는, 깊이 값)을 의미하는 것이 바람직하다.
예컨대, 스텐실/깊이 검사부(144)는 스텐실/깊이 검사부(144)에 8번째 입력 된 프래그먼트에 대해 깊이 검사를 수행하고자 하고, 알파 검사부(152)는 스텐실/깊이 검사부(144)에 5번째 입력된 프래그먼트로서 스텐실/깊이 검사부(144)에서 수행된 스텐실 검사와 깊이 검사 모두를 통과한 프래그먼트에 대해 알파 검사를 수행하고자 하고, 스텐실/깊이 값 기입부(154)는 스텐실/깊이 검사부(144)에 4번째 입력된 프래그먼트로서 스텐실/깊이 검사부(144)에서 수행된 스텐실 검사와 깊이 검사 모두를 통과한 프래그먼트의 깊이 값을 프레임 저장부(142)에 기입하고자 하고, 프레임 저장부(142)는 스텐실/깊이 검사부(144)에 3번째 입력된 프래그먼트에 대응된 픽셀의 깊이 값을 저장하고 있고, 그 8번째 입력된 프래그먼트에 대응된 픽셀의 화면상에서의 위치는 그 5번째 입력된 프래그먼트에 대응된 픽셀의 화면상에서의 위치와는 다르고 그 4번째 입력된 프래그먼트에 대응된 픽셀의 화면상에서의 위치와는 같고 그 3번째 입력된 프래그먼트에 대응된 픽셀의 화면상에서의 위치와도 같다고 가정하자. 이 경우, 스텐실/깊이 검사부(144)는 그 8번째 입력된 프래그먼트에 대응된 픽셀의 깊이 값을 그 3번째 입력된 프래그먼트에 대응된 픽셀의 깊이 값과 비교한다면, 가장 최근의 정보로 갱신되지 않은 프레임 저장부(142)에 저장된 깊이 값을 이용하는 것이므로 바람직하지 않다. 즉, 스텐실/깊이 검사부(144)는 그 8번째 입력된 프래그먼트에 대응된 픽셀의 깊이 값을 그 4번째 입력된 프래그먼트에 대응된 픽셀의 깊이 값과 비교하는 것이 바람직하다.
본 발명에 의한 렌더링 장치는, 스텐실/깊이 검사부(144)가 가장 최근의 정보로 갱신되어 있는 프레임 저장부(142)에 저장된 스텐실 값(또는, 깊이 값)을 이용하여 스텐실 검사(또는, 깊이 검사)를 수행하도록, 위치 비교부(156)를 마련한 다.
위치 비교부(156)는 미리 설정된 제2 래스터 작업(예를 들어, 스텐실 검사 또는, 깊이 검사) 직후의 작업이 수행되는 단계로부터 미리 설정된 제3 래스터 작업(예를 들어, 스텐실 값 기입 또는, 깊이 값 기입)이 수행되는 단계까지의 픽셀 파이프라인에 존재하는 프래그먼트들의 화면상에서의 위치들 중, 위치 비교부(156)에 입력된 프래그먼트에 대응된 픽셀의 화면상에서의 위치가 존재하는지 검사한다. 여기서, 위치 비교부(156)에 입력된 프래그먼트는 시저 검사를 통과하여 시저 검사부(140)로부터 입력된 프래그먼트인 것이 바람직하다.
만일, 위치 비교부(156)에 입력된 프래그먼트에 대응된 픽셀의 화면상에서의 위치가 존재한다고 검사되면, 위치 비교부(156)는 그 미리 설정된 제2 래스터 작업이 더 이상 수행되지 않도록 한다. 예컨대, 위치 비교부(156)는 스텐실/깊이 검사부(144)의 동작을 중지시킨다.
이 후, 위치 비교부(156)는, 미리 설정된 제2 래스터 작업 직후의 작업이 수행되는 단계로부터 미리 설정된 제3 래스터 작업이 수행되는 단계까지의 픽셀 파이프라인에 존재하는 프래그먼트들의 화면상에서의 위치들 중, 위치 비교부(156)에 입력된 프래그먼트에 대응된 픽셀의 화면상에서의 위치가 존재하지 않는다고 검사될 때까지, 상기 검사를 재차 수행한다.
한편, 위치 비교부(156)에 입력된 프래그먼트에 대응된 픽셀의 화면상에서의 위치가 존재하지 않는다고 검사되면, 위치 비교부(156)는 스텐실/깊이 검사부(144)의 동작을 허여한다.
색상정보 연산부(158)는 색상정보 연산부(158)에 입력된 프래그먼트에 대응된 픽셀의 색상 정보에 대해 다양한 그래픽스 연산들을 수행할 수 있다. 블렌딩(blending), 디더링(dithering), 논리연산(logic operation)은 이러한 그래픽스 연산들의 일 례들이다. 블렌딩이란, 프래그먼트에 대응된 픽셀의 색상 정보와 컬러 버퍼(미 도시)에 저장된 색상 정보를 일정 비율로 혼합하는 것을 의미하고, 디더링이란, 프래그먼트에 대응된 픽셀의 가능한 색상 정보의 개수를 늘리는 것을 의미하고, 논리연산이란, 프래그먼트에 대응된 픽셀의 색상 정보를 변경하기 위해 배타적 논리합(XOR: eXclusive OR)과 같은 불리언 알고리즘(Boolean Algorithm)을 수행하는 것을 의미한다. 한편, 색상정보 연산부(158)에 입력된 프래그먼트는 스텐실/깊이 값 기입부(154)로부터 입력된 프래그먼트인 것이 바람직하다. 이를 위해, 스텐실/깊이 값 기입부(154)는 스텐실 값(또는, 깊이 값)을 기입한 프래그먼트를 색상정보 연산부(158)로 출력한다.
색상정보 기입부(160)는 색상정보 기입부(160)에 입력된 프래그먼트에 대응된 픽셀의 색상 정보를 컬러 버퍼(미 도시)에 기입한다. 이로써, 컬러 버퍼(미 도시)에 저장된 색상 정보는 갱신된다.
한편, 본 발명에 의한 렌더링 장치가 지원하는 파이프라인 구조는, 소위 계층적(hierarchical) Z-buffer 구조와 함께 사용될 수 있다. 여기서, 계층적 Z-buffer 구조는 1993년 8월에 간행된 N. Greene, M. Kass, 및 G. Miller 공저의 "Hierarchical z-buffer visibility", Proceedings of SIGGRAPH라는 간행물의 231 내지 238 페이지에 게재되어 있다.
도 2는 도 1에 도시된 위치 비교부(156)의 세부 블록도로서, 제1 비교부(210-1) 내지 제N 비교부(210-N), 파이프라인 제어신호 생성부(220), 및 프래그먼트 저장부(230)로 이루어질 수 있다.
제n 비교부(210-n)(단, n, N은 1≤n≤N인 자연수)는 입력단자 IN 1을 통해 입력된 "위치 비교부(156)에 입력된 프래그먼트"에 대응된 픽셀의 화면상에서의 위치와, 입력단자 IN 2-n을 통해 입력된 "n번째 단계에 존재하는 프래그먼트"에 대응된 픽셀의 화면상에서의 위치가 같은지 비교한다.
구체적으로, n이란 미리 설정된 제2 래스터 작업(예를 들어, 스텐실 검사 또는, 깊이 검사) 직후의 작업이 수행되는 단계로부터 몇 번째 단계인가를 나타내는 수치이고, N이란 미리 설정된 제3 래스터 작업(예를 들어, 스텐실 값 기입 또는, 깊이 값 기입)이 수행되는 단계가 그 미리 설정된 제2 래스터 작업 직후의 작업이 수행되는 단계로부터 몇 번째 단계인가를 나타내는 수치이다. 도 1에 도시된 바에서, N은 4이다.
파이프라인 제어신호 생성부(220)는 제1 비교부(210-1) 내지 제N 비교부(210-N) 모두로부터 그 N개의 비교된 결과들을 입력받는다. 파이프라인 제어신호 생성부(220)는 이러한 N개의 비교된 결과들을 분석하여, 그 미리 설정된 제2 래스터 작업 직후의 작업이 수행되는 단계로부터 그 미리 설정된 제3 래스터 작업이 수행되는 단계까지의 픽셀 파이프라인에 존재하는 프래그먼트들의 화면상에서의 위치들 중, 입력단자 IN 1을 통해 입력된 프래그먼트에 대응된 픽셀의 화면상에서의 위치가 존재하는지 판단한다.
그 결과, 입력단자 IN 1을 통해 입력된 프래그먼트에 대응된 픽셀의 화면상에서의 위치가 존재한다고 판단되면, 파이프라인 제어신호 생성부(220)는 그 미리 설정된 제2 래스터 작업이 더 이상 수행되지 않도록 하는 파이프라인 제어신호를 생성한다. 이 경우, 프래그먼트 저장부(230)는 입력단자 IN 1을 통해 입력된 프래그먼트를 저장한다.
이 후, 제1 비교부(210-1) 내지 제N 비교부(210-N)와 파이프라인 제어신호 생성부(220)는, 그 미리 설정된 제2 래스터 작업 직후의 작업이 수행되는 단계로부터 그 미리 설정된 제3 래스터 작업이 수행되는 단계까지의 픽셀 파이프라인에 존재하는 프래그먼트들의 화면상에서의 위치들 중, 입력단자 IN 1을 통해 입력된 프래그먼트에 대응된 픽셀의 화면상에서의 위치가 존재하지 않는다고 판단될 때까지, 재차 동작한다.
한편, 입력단자 IN 1을 통해 입력된 프래그먼트에 대응된 픽셀의 화면상에서의 위치가 존재하지 않는다고 판단되면, 파이프라인 제어신호 생성부(220)는 그 미리 설정된 제2 래스터 작업의 수행을 허여하는 파이프라인 제어신호를 생성한다.
도 3은 본 발명에 의한 렌더링 방법을 설명하기 위한 플로우챠트로서, 픽셀로서 표시될 수 없다고 검사될 프래그먼트에 대해서는 픽셀로서 표시하기 위한 그래픽스 연산을 수행하지 않도록 하는 단계들(제310~ 346 단계들)을 포함할 수 있다.
픽셀 파이프라인에 프래그먼트가 주어지면(제310 단계), 검사부(120)는 제310 단계에서 주어진 프래그먼트가 시저 검사를 통과하는지 판단한다(제312 단계).
제312 단계에서 통과한다고 판단되면, 검사부(120)는 미리 설정된 제2 래스터 작업(예를 들어, 스텐실 검사 또는, 깊이 검사) 직후의 작업이 수행되는 단계로부터 미리 설정된 제3 래스터 작업(예를 들어, 스텐실 값 기입 또는, 깊이 값 기입)이 수행되는 단계까지의 픽셀 파이프라인에 존재하는 프래그먼트들의 화면상에서의 위치들 중, 제310 단계에서 주어진 프래그먼트에 대응된 픽셀의 화면상에서의 위치가 존재하는지 판단한다(제314 단계).
제314 단계에서 존재한다고 판단되면, 검사부(120)는 그 미리 설정된 제2 래스터 작업의 수행을 중지시키고, 그 제310 단계에서 주어진 프래그먼트를 임시로 저장한다(제316 단계).
반면, 제314 단계에서 존재하지 않는다고 판단되면, 검사부(120)는 제310 단계에서 주어진 프래그먼트가 스텐실 검사를 통과하는지 판단한다(제318 단계).
만일, 제318 단계에서 통과한다고 판단되면, 검사부(120)는 제310 단계에서 주어진 프래그먼트가 깊이 검사를 통과하는지 판단한다(제320 단계). 제320 단계에서 통과한다고 판단되면, 프래그먼트 처리부(130)는 제310 단계에서 주어진 프래그먼트에 대해 텍스쳐 매핑과 포그 연산을 수행한다(제322 단계).
제322 단계 후에, 검사부(120)는 제310 단계에서 주어진 프래그먼트가 알파 검사를 통과하는지 판단한다(제324 단계).
제324 단계에서 통과하지 않는다고 판단되면, 검사부(120)는 제310 단계에서 주어진 프래그먼트를 폐기한다(제326 단계).
반면, 제324 단계에서 통과한다고 판단되면, 프래그먼트 처리부(130)는 스텐 실 버퍼(미 도시)에 저장된 스텐실 값을 갱신하고, 깊이 버퍼(미 도시)에 저장된 깊이 값을 갱신한다(제328 단계). 제328 단계 후에, 프래그먼트 처리부(130)는 컬러 버퍼(미 도시)에 저장된 색상 정보를 갱신한다(제330 단계).
한편, 제320 단계에서 통과하지 않는다고 판단되면, 검사부(120)는 제310 단계에서 주어진 프래그먼트가 알파 검사를 통과하는지 판단한다(제332 단계).
만일, 제332 단계에서 통과한다고 판단되면, 프래그먼트 처리부(130)는 스텐실 버퍼(미 도시)에 저장된 스텐실 값을 갱신하고(제334 단계), 컬러 버퍼(미 도시)에 저장된 색상 정보를 갱신한다(제336 단계). 반면, 제332 단계에서 통과하지 않는다고 판단되면, 제326 단계로 진행한다.
제318 단계에서 통과하지 않는다고 판단되면, 검사부(120)는 제310 단계에서 주어진 프래그먼트가 깊이 검사를 통과하는지 판단한다(제338 단계).
제338 단계에서 통과한다고 판단되면, 프래그먼트 처리부(130)는 제310 단계에서 주어진 프래그먼트에 대해 텍스쳐 매핑과 포그 연산을 수행한다(제340 단계).
제340 단계 후에, 검사부(120)는 제310 단계에서 주어진 프래그먼트가 알파 검사를 통과하는지 판단한다(제342 단계). 제342 단계에서 통과한다고 판단되면, 프래그먼트 처리부(130)는 깊이 버퍼(미 도시)에 저장된 깊이 값을 갱신한 뒤(제344 단계), 제336 단계로 진행한다. 반면, 제342 단계에서 통과하지 않는다고 판단되면, 검사부(120)는 제310 단계에서 주어진 프래그먼트를 폐기한다(제346 단계).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시 스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브 (예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 의한 렌더링 장치 및 방법은, 프래그먼트를 픽셀로서 표시할 수 있는지 검사하는 하나 이상의 제1 래스터 작업들(예를 들어, 시저 검사, 스텐실 검사, 깊이 검사)을 수행한 뒤에야 비로소, 프래그먼트를 픽셀로서 표시하기 위한 하나 이상의 제3 래스터 작업들(예를 들어, 텍스쳐 매핑, 포그 연산)을 수행하므로, 효율적인 전력 소모와 렌더링의 신속한 완료를 도모하는 효과를 갖는다.

Claims (18)

  1. 파이프라인에 순차적으로 입력되는 프래그먼트들을 렌더링하는 방법에 있어서,
    (a) 상기 파이프라인에 입력된 프래그먼트에 대응되는 픽셀의 값과 프레임 버퍼에 저장된 해당 픽셀의 값을 비교하고 상기 비교 결과에 따라 상기 프래그먼트가 픽셀로서 표시 가능한지 검사하는 서로 다른 종류의 하나 이상의 테스트들 각각을 순차적으로 수행하는 단계;
    (b) 상기 하나 이상의 테스트들 중 적어도 하나를 통과한 프래그먼트에 대해 텍스쳐 매핑을 수행하는 단계; 및
    (c) 상기 텍스쳐 매핑을 수행한 프래그먼트에 대하여, 상기 프래그먼트에 대응하는 픽셀의 값을 프레임 버퍼에 기입하는 단계를 포함하고,
    상기 픽셀의 값은 상기 하나 이상의 테스트들에 따라 프레임 버퍼에 저장된 픽셀 정보들 중 하나인 것을 특징으로 하는 렌더링 방법.
  2. 삭제
  3. 제1 항에 있어서,
    (a0) 상기 (a) 단계를 수행하기 전에, 상기 (a) 단계 이후부터 상기 (c) 단계까지의 파이프라인 상의 작업들을 수행하는 프래그먼트들에 대응되는 픽셀들의 위치들 중 상기 파이프라인에 새롭게 입력된 프래그먼트에 대응되는 픽셀의 위치가 존재하는가 판단하는 단계; 및
    (a1) 상기 프래그먼트들에 대응되는 상기 픽셀들의 위치들 중 상기 파이프라인에 새롭게 입력된 프래그먼트에 대응되는 픽셀의 위치가 존재한다고 판단되면, 상기 (a) 단계의 작업들을 중단하고, 상기 프래그먼트들에 대응되는 상기 픽셀들의 위치들 중 상기 파이프라인에 새롭게 입력된 프래그먼트에 대응되는 픽셀의 위치가 존재하지 않는다고 판단될 때까지 상기 (a0) 단계를 반복적으로 수행하는 단계를 더 포함하는 렌더링 방법.
  4. 제3 항에 있어서,
    (a2) 상기 (a) 단계 이후부터 상기 (c) 단계까지의 파이프라인 상의 작업들을 수행하는 프래그먼트들에 대응되는 픽셀들의 위치들 중 상기 파이프라인에 새롭게 입력된 프래그먼트에 대응되는 픽셀의 위치가 존재하지 않는다고 판단되면, (a) 단계의 작업들을 수행하는 단계를 더 포함하는 것을 특징으로 하는 렌더링 방법.
  5. 제1 항에 있어서,
    상기 (a) 단계에서, 상기 하나 이상의 테스트들은 스텐실 검사와 깊이 검사 중 적어도 하나이고, 상기 픽셀의 값은 스텐실 값과 깊이 값 중 적어도 하나인 것을 특징으로 하는 렌더링 방법.
  6. 제1 항에 있어서,
    상기 (a) 단계를 수행하기 전에, 상기 파이프라인에 입력된 프래그먼트엥 대응되는 픽셀의 위치가 화면 상에 디스플레이 되는 소정의 영역 내에 위치하는지 여부를 검사하는 단계; 및 상기 검사 결과에 따라 상기 검사를 통과하지 못한 프래그먼트들을 제거하는 단계;를 더 포함하는 렌더링 방법.
  7. 삭제
  8. 삭제
  9. 파이프라인에 순차적으로 입력되는 프래그먼트들을 렌더링하는 렌더링 장치에 있어서,
    상기 파이프라인에 입력된 프래그먼트에 대응되는 픽셀의 값과 프레임 버퍼에 저장된 해당 픽셀의 값을 비교하고 상기 비교 결과에 따라 상기 프래그먼트가 픽셀로서 표시 가능한지 검사하는 서로 다른 종류의 하나 이상의 테스트들 각각을 순차적으로 수행하는 제 1 검사부;
    상기 하나 이상의 테스트들 중 적어도 하나를 통과한 프래그먼트에 대해 텍스쳐 매핑을 수행하는 프래그먼트 처리부; 및
    상기 텍스쳐 매핑을 수행한 프래그먼트에 대하여, 상기 프래그먼트에 대응하는 픽셀의 값을 프레임 버퍼에 기입하는 픽셀 정보 기입부;를 포함하고,
    상기 픽셀의 값은 상기 하나 이상의 테스트들에 따라 프레임 버퍼에 저장된 픽셀 정보들 중 하나인 것을 특징으로 하는 렌더링 장치.
  10. 삭제
  11. 제9 항에 있어서,
    상기 제 1 검사부에서 상기 하나 이상의 테스트들을 수행하기 전에, 상기 제 1 검사부 이후부터 상기 픽셀 정보 기입부까지의 파이프라인 상의 작업들을 수행하는 프래그먼트들에 대응되는 픽셀들의 위치들 중 상기 파이프라인에 새롭게 입력된 프래그먼트에 대응되는 픽셀의 위치가 존재하는지를 판단하는 위치비교부;
    상기 위치비교부는 상기 프래그먼트들에 대응되는 상기 픽셀들의 위치들 중 상기 파이프라인에 새롭게 입력된 프래그먼트에 대응되는 픽셀의 위치가 존재한다고 판단하는 경우 상기 제 1 검사부의 작업들을 중단하고, 상기 프래그먼트들에 대응되는 상기 픽셀들의 위치들 중 상기 파이프라인에 새롭게 입력된 프래그먼트에 대응되는 픽셀의 위치가 존재하지 않는다고 판단될 때까지 상기 위치비교부의 작업을 반복적으로 수행하는 것을 특징으로 하는 렌더링 장치.
  12. 제9 항에 있어서,
    상기 제 1 검사부에서 상기 하나 이상의 테스트들은 스텐실 검사와 깊이 검사 중 하나이고, 상기 픽셀의 값은 스텐실 값과 깊이 값 중 적어도 하나인 것을 특징으로 하는 렌더링 장치.
  13. 제9 항에 있어서, 상기 렌더링 장치는
    상기 제 1 검사부의 작업들을 수행하기 전에, 상기 파이프라인에 입력된 프래그먼트에 대응되는 픽셀의 위치가 화면 상에 디스플레이 되는 소정의 영역 내에 위치하는지 여부를 검사하고, 상기 검사 결과에 따라 상기 검사를 통과하지 못한 프래그먼트들을 제거하는 제 2 검사부를 더 포함하는 것을 특징으로 하는 렌더링 장치.
  14. 삭제
  15. 삭제
  16. 파이프라인에 순차적으로 입력되는 프래그먼트들을 렌더링하는 방법에 있어서,
    (a) 상기 파이프라인에 입력된 프래그먼트에 대응되는 픽셀의 값과 프레임 버퍼에 저장된 해당 픽셀의 값을 비교하고 상기 비교 결과에 따라 상기 프래그먼트가 픽셀로서 표시 가능한지 검사하는 서로 다른 종류의 하나 이상의 테스트들 각각을 순차적으로 수행하는 단계;
    (b) 상기 하나 이상의 테스트들 중 적어도 하나를 통과한 프래그먼트에 대해 텍스쳐 매핑을 수행하는 단계; 및
    (c) 상기 텍스쳐 매핑을 수행한 프래그먼트에 대하여, 상기 프래그먼트에 대응하는 픽셀의 값을 프레임 버퍼에 기입하는 단계를 포함하고,
    상기 픽셀의 값은 프레임 버퍼에 저장된 픽셀 정보들 중 하나인 것을 특징으로 하는 렌더링 방법을 수행하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록매체.
  17. 제 3 항에 있어서, 상기 (b) 단계는
    (b1) 상기 (a) 단계의 상기 하나 이상의 테스트들 중 적어도 하나를 통과한 프래그먼트에 대해 텍스쳐 매핑을 수행하는 단계;
    (b2) 상기 텍스쳐 매핑을 수행한 프래그먼트에 대하여, 프레임 버퍼에 저장된 알파값에 따라 상기 프래그먼트가 픽셀로서 표시될 수 있는지 여부를 검사하는 단계; 및
    (b3) 상기 검사 결과에 따라, 상기 검사를 통과하지 못한 프래그먼트를 제거하는 단계;를 포함하는 것을 특징으로 하는 렌더링 방법.
  18. 제 11 항에 있어서, 상기 렌더링 장치는
    상기 텍스쳐 매핑을 수행한 프래그먼트에 대하여, 프레임 버퍼에 저장된 알파값에 따라 상기 프래그먼트가 픽셀로서 표시될 수 있는지 여부를 검사하고, 상기 검사 결과에 따라 상기 검사를 통과하지 못한 프래그먼트를 제거하는 제 3 검사부;를 더 포함하는 것을 특징으로 하는 렌더링 장치.
KR1020060110223A 2006-11-08 2006-11-08 렌더링 장치 및 방법 KR101239965B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060110223A KR101239965B1 (ko) 2006-11-08 2006-11-08 렌더링 장치 및 방법
US11/889,629 US8379050B2 (en) 2006-11-08 2007-08-15 Rendering apparatus, method and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060110223A KR101239965B1 (ko) 2006-11-08 2006-11-08 렌더링 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080041958A KR20080041958A (ko) 2008-05-14
KR101239965B1 true KR101239965B1 (ko) 2013-03-06

Family

ID=39359349

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060110223A KR101239965B1 (ko) 2006-11-08 2006-11-08 렌더링 장치 및 방법

Country Status (2)

Country Link
US (1) US8379050B2 (ko)
KR (1) KR101239965B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101344495B1 (ko) * 2007-12-28 2013-12-24 삼성전자주식회사 렌더링 방법 및 장치
KR101719485B1 (ko) * 2010-09-20 2017-03-27 삼성전자주식회사 그래픽 처리 유닛에서의 사전 픽셀 제거를 위한 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456285B2 (en) 1998-05-06 2002-09-24 Microsoft Corporation Occlusion culling for complex transparent scenes in computer generated graphics
JP2004054635A (ja) 2002-07-19 2004-02-19 Sony Corp 画像処理装置およびその方法
KR20050031207A (ko) * 2003-09-29 2005-04-06 삼성전자주식회사 눈에 보이지 않는 프래그먼트를 처리하기 위한 3차원그래픽스 렌더링 엔진 및 그 방법
KR20060082736A (ko) * 2005-01-13 2006-07-19 엘지전자 주식회사 단색광을 이용한 3차원 렌더링 처리 방법 및 그 장치

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5798770A (en) * 1995-03-24 1998-08-25 3Dlabs Inc. Ltd. Graphics rendering system with reconfigurable pipeline sequence
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
US6891533B1 (en) * 2000-04-11 2005-05-10 Hewlett-Packard Development Company, L.P. Compositing separately-generated three-dimensional images
JP3761085B2 (ja) 2001-11-27 2006-03-29 株式会社ソニー・コンピュータエンタテインメント 画像処理装置及びその構成部品、レンダリング処理方法
AU2002347143A1 (en) 2001-11-30 2003-06-10 2007551 Ontario Inc. Variable display sign system
KR100441080B1 (ko) 2002-07-31 2004-07-21 학교법인연세대학교 3차원 그래픽 가속기에서 픽셀 캐쉬 구조의 동작방법
US6930684B2 (en) * 2002-09-27 2005-08-16 Broadizon, Inc. Method and apparatus for accelerating occlusion culling in a graphics computer
KR100519779B1 (ko) 2004-02-10 2005-10-07 삼성전자주식회사 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법 및장치
US20050195198A1 (en) * 2004-03-03 2005-09-08 Anderson Michael H. Graphics pipeline and method having early depth detection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456285B2 (en) 1998-05-06 2002-09-24 Microsoft Corporation Occlusion culling for complex transparent scenes in computer generated graphics
JP2004054635A (ja) 2002-07-19 2004-02-19 Sony Corp 画像処理装置およびその方法
KR20050031207A (ko) * 2003-09-29 2005-04-06 삼성전자주식회사 눈에 보이지 않는 프래그먼트를 처리하기 위한 3차원그래픽스 렌더링 엔진 및 그 방법
KR20060082736A (ko) * 2005-01-13 2006-07-19 엘지전자 주식회사 단색광을 이용한 3차원 렌더링 처리 방법 및 그 장치

Also Published As

Publication number Publication date
US8379050B2 (en) 2013-02-19
KR20080041958A (ko) 2008-05-14
US20080106551A1 (en) 2008-05-08

Similar Documents

Publication Publication Date Title
US10957082B2 (en) Method of and apparatus for processing graphics
KR101286318B1 (ko) 렌더링된 그래픽 엘리먼트들을 위한 성능 메트릭들의 시각적 표현의 디스플레이
US6891533B1 (en) Compositing separately-generated three-dimensional images
US6118452A (en) Fragment visibility pretest system and methodology for improved performance of a graphics system
US10043306B2 (en) Using depth data in a graphics processing system
US9202303B2 (en) System and method for compositing path color in path rendering
KR101349171B1 (ko) 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법
TWI434226B (zh) 影像處理技術
KR100833842B1 (ko) 3차원 그래픽 엔진에서의 픽셀 래스터라이제이션 처리방법및 그의장치
JP2015506018A (ja) グラフィックス処理における直接レンダリングとビニングとの間の切り換え
US9280956B2 (en) Graphics memory load mask for graphics processing
US9519982B2 (en) Rasterisation in graphics processing systems
KR20180060198A (ko) 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법
US20190172213A1 (en) Tile-based low-resolution depth storage
GB2553293A (en) Graphics processing systems and graphics processors
US8525843B2 (en) Graphic system comprising a fragment graphic module and relative rendering method
US20080284780A1 (en) Method for enabling alpha-to-coverage transformation
US10726610B2 (en) Efficient graphics processing using metadata
KR101239965B1 (ko) 렌더링 장치 및 방법
US10997756B2 (en) Processing of primitives in a graphics processor
US10937233B2 (en) Graphics processing systems
US7528839B1 (en) Faster clears for three-dimensional modeling applications
CN111932689B (zh) 一种采用id像素图的三维对象快速选取方法
KR101344495B1 (ko) 렌더링 방법 및 장치
KR20040011918A (ko) 3차원 그래픽 가속기에서 픽셀 캐쉬 구조의 동작방법

Legal Events

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

Payment date: 20160119

Year of fee payment: 4