KR101046553B1 - 픽셀 마스크를 채용한 그래픽스 시스템 - Google Patents

픽셀 마스크를 채용한 그래픽스 시스템 Download PDF

Info

Publication number
KR101046553B1
KR101046553B1 KR1020097004383A KR20097004383A KR101046553B1 KR 101046553 B1 KR101046553 B1 KR 101046553B1 KR 1020097004383 A KR1020097004383 A KR 1020097004383A KR 20097004383 A KR20097004383 A KR 20097004383A KR 101046553 B1 KR101046553 B1 KR 101046553B1
Authority
KR
South Korea
Prior art keywords
pixel
mask
primitive
pixels
covered
Prior art date
Application number
KR1020097004383A
Other languages
English (en)
Other versions
KR20090040454A (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 퀄컴 인코포레이티드
Publication of KR20090040454A publication Critical patent/KR20090040454A/ko
Application granted granted Critical
Publication of KR101046553B1 publication Critical patent/KR101046553B1/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
    • G06T1/00General purpose image data processing

Landscapes

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

Abstract

시스템은 바운드 프리미티브를 프리미티브 픽셀의 선택물로 래스터화하는 바운드 프리미티브 래스터화기를 포함한다. 프리미티브 픽셀의 선택물은 스크린으로 렌더링될 형상을 바운딩한다. 시스템은 또한 형상에 대한 픽셀 마스크를 생성하는 픽셀 마스크 생성기를 포함한다. 픽셀 마스크는 프리미티브 픽셀 중 하나에 각각 대응하는 마스크 픽셀을 포함한다. 마스크 픽셀은 형상이 적어도 마스크 픽셀의 임계 부분을 커버하는 경우에는 커버된 픽셀이고, 형상이 마스크 픽셀을 커버하지 않는 경우에는 커버되지 않은 픽셀이다. 시스템은 또한 커버된 마스크 픽셀에 대응하는 프리미티브 픽셀을 보유하고 커버되지 않은 마스크 픽셀에 대응하는 프리미티브 픽셀을 폐기하도록 구성된 픽셀 선별기를 포함한다.
바운드 프리미티브, 프리미티브 픽셀, 픽셀 마스크, 마스크 픽셀

Description

픽셀 마스크를 채용한 그래픽스 시스템{GRAPHICS SYSTEM EMPLOYING PIXEL MASK}
배경기술
기술분야
본 발명은 일반적으로 이미지를 렌더링하는 그래픽스 시스템에 관한 것으로, 더 상세하게는 그래픽스 소프트웨어 인터페이스에 관한 것이다.
배경기술
그래픽스 시스템은 종종 상이한 형상을 픽셀로 래스터화한다. 래스터화 중에, 그래픽스 시스템은 어떤 픽셀이 그 형상 내에 있는지를 식별한다. 형상 내에 있는 픽셀을 식별하는 프로세스는 형상이 더욱 복잡해질 수록 더욱 어려워진다. 형상의 복잡도에 기여할 수 있는 특징은 평활한 곡선 (smooth curve), 오목 형상 (concave geometry), 자기-교차 (self-intersection), 및 홀 (hole) 을 포함한다. 그래픽스 시스템은 형상을 더욱 단순한 다중의 형상으로 변환함으로써 또는 복잡한 형상을 직접 래스터화함으로써 이들 복잡한 형상을 취급할 수 있다. 이들 해결책은 비효율적이고 하드웨어에서 구현하는 것이 어려울 수 있다. 이러한 이유로, 향상된 그래픽스 시스템에 대한 요구가 있다.
개요
그래픽스 시스템은 픽셀 마스크로부터의 대응하는 픽셀이 커버된 픽셀인 경 우에 래스터화된 바운드 프리미티브의 픽셀을 보유하도록 구성된다. 이 그래픽스 시스템은 또한 대응하는 픽셀이 커버되지 않은 픽셀인 경우에 픽셀을 폐기하도록 구성된다. 대응하는 픽셀은, 바운드 프리미티브에 의해 바운딩된 형상이 적어도 대응하는 픽셀의 임계 부분을 커버하는 경우에는 커버된 픽셀이다. 대응하는 픽셀은, 이 형상이 대응하는 픽셀을 커버하지 않는 경우에는 커버되지 않은 픽셀이다.
이 그래픽스 시스템의 실시형태는 바운드 프리미티브를 프리미티브 픽셀의 선택물로 래스터화하는 바운드 프리미티브 래스터화기를 포함한다. 프리미티브 픽셀의 선택물은 스크린으로 렌더링될 형상을 바운딩한다. 이 그래픽스 시스템은 또한 형상에 대한 픽셀 마스크를 생성하는 픽셀 마스크 생성기를 포함한다. 픽셀 마스크는 프리미티브 픽셀 중 하나에 각각 대응하는 마스크 픽셀을 포함한다. 마스크 픽셀은, 형상이 적어도 마스크 픽셀의 임계 부분을 커버하는 경우에는 커버된 픽셀이고, 형상이 마스크 픽셀의 임계 부분보다 작게 커버하는 경우에는 커버되지 않은 픽셀이다. 이 그래픽스 시스템은 또한 커버된 마스크 픽셀에 대응하는 프리미티브 픽셀을 보유하고 커버되지 않은 마스크 픽셀에 대응하는 프리미티브 픽셀을 폐기하도록 구성된 픽셀 선별기 (screener) 를 포함한다. 이 그래픽스 시스템은 또한 보유된 픽셀에 대한 픽셀 속성을 생성하고 폐기된 픽셀에 대한 픽셀 속성을 생성하는 것을 삼가는 픽셀 속성 생성기를 포함한다.
도면의 간단한 설명
도 1 은 그래픽스 시스템의 박스 다이어그램이다.
도 2 는 그래픽스 시스템을 통한 데이터의 진행을 도시한 것이다.
도 3 은 스크린 형상으로부터의 픽셀 마스크의 생성을 도시한 것이다. 픽셀 마스크는, 각 마스크 픽셀이 2 개 이상의 픽셀 영역으로 분할되도록 스크린 형상을 마스크 픽셀로 래스터화함으로써 생성되었다.
도 4 는 그래픽스 시스템을 동작시키는 방법을 도시한 것이다.
도 5 는 그래픽스 시스템을 동작시키는 논리 모듈을 도시한 논리 흐름도이다.
상세한 설명
그래픽스 시스템은 형상을 픽셀 마스크로 래터화하도록 구성된다. 픽셀 마스크는 디스플레이 스크린 상의 픽셀에 각각 대응하는 복수의 마스크 픽셀을 가진다. 각 마스크 픽셀은 커버된 픽셀 또는 커버되지 않은 픽셀이다. 형상이 적어도 마스크 픽셀의 임계 부분을 커버하는 경우에 마스크 픽셀은 커버된 픽셀이고, 형상이 마스크 픽셀을 커버하지 않는 경우에 마스크 픽셀은 커버되지 않은 픽셀이다. 그래픽스 시스템은 또한 형상을 바운딩하는 프리미티브 픽셀의 선택물로 바운드 프리미티브를 래스터화하도록 구성된다. 각 프리미티브 픽셀은 디스플레이 스크린 상의 픽셀 그리고 그 결과 마스크 픽셀에 대응한다. 이 그래픽스 시스템은 커버된 마스크 픽셀에 대응하는 프리미티브 픽셀을 보유하고, 커버되지 않은 마스크 픽셀에 대응하는 프리미티브 픽셀을 폐기한다. 이 그래픽스 시스템은 보유된 픽셀에 대한 픽셀 속성을 생성하고 폐기된 픽셀에 대한 픽셀 속성을 생성하는 것을 삼갈 수 있다.
그래픽스 시스템은 소프트웨어 및/또는 펌웨어를 채용하여 픽셀 마스크를 생성할 수 있으며, 하드웨어를 채용하여 바운드 프리미티브를 래스터화하고 프리미티브 픽셀을 선별 (screen) 할 수 있다. 소프트웨어 및/또는 펌웨어는 하드웨어보다 복잡한 형상 내에 있는 픽셀을 식별하는데 더욱 적절하다. 그 결과, 소프트웨어 및/또는 펌웨어를 채용하여 픽셀 마스크를 생성하는 것은 더욱 효율적인 리소스를 채용하여 형상 내에 있는 픽셀을 식별하고, 다른 애플리케이션에 대한 하드웨어를 해방시킨다. 따라서, 소프트웨어 및/또는 펌웨어를 채용하여 픽셀 마스크를 생성하는 것은 더 효율적인 그래픽스 시스템을 제공한다.
도 1 은 디스플레이 스크린 (12) 과 통신하는 일렉트로닉스 (10) 를 포함하는 그래픽스 시스템을 도시한다. 일렉트로닉스 (10) 는 디스플레이 (12) 상에 이미지를 렌더링하도록 구성된다. 적절한 디스플레이 (12) 는 액정 디스플레이 (LCD), 및 브라운관 (CRT) 디스플레이를 포함하지만, 이에 한정되지 않는다.
일렉트로닉스 (10) 는 또한 하나 이상의 사용자 인터페이스 (14) 와 통신한다. 적절한 사용자 인터페이스 (14) 는 버튼, 노브 (knob), 키, 키패드, 키보드, 및 마우스를 포함하지만, 이에 한정되지 않는다. 그래픽스 시스템의 사용자는 하나 이상의 사용자 인터페이스를 채용하여 커맨드를 일렉트로닉스 (10) 에 제공할 수 있다. 일렉트로닉스 (10) 는 커맨드를 실행하고 디스플레이 (12) 상에 커맨드의 결과를 디스플레이할 수 있다. 커맨드의 예는 이미지가 보이는 시점의 변화를 포함한다. 따라서, 일렉트로닉스 (10) 는 시점의 변화에 의해 요구되는 대로 디스플레이 상의 이미지를 변화시킬 수 있다. 커맨드를 실행함에 있어, 일렉트로닉스 (10) 는, OpenGL (Open Graphics Library), OpenGLES, 및 Direct3D 등을 포함하지만 이에 한정되지 않는 소프트웨어 인터페이스에 따라 완전히 또는 부분적으로 시스템을 동작시킬 수 있다. OpenGL 은 2004년 10월 22일자 버전 2.0 의 "The OpenGL® Graphics System: A Specification"이라는 명칭의 문서에 기재된다.
일렉트로닉스 (10) 는 컨트롤러 (16) 를 포함한다. 적절한 컨트롤러 (16) 는 범용 프로세서, DSP (digital signal processor), ASIC (application specific integrated circuit), FPGA (field programmable gate array) 또는 다른 프로그램가능 논리 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트, 또는 일렉트로닉스 (10) 및/또는 컨트롤러 (16) 에 속하는 기능을 수행하도록 설계된 이들의 임의의 조합을 포함하지만, 이에 한정되지 않는다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다른 방법으로는, 컨트롤러 (16) 는 임의의 종래의 프로세서, 마이크로컨트롤러, 또는 상태 머신을 포함할 수도 있거나 이로 구성될 수도 있다. 컨트롤러 (16) 는 또한 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 결합된 하나 이상의 마이크로프로세서, 또는 이러한 임의의 다른 구성으로 구현될 수도 있다.
일렉트로닉스 (10) 는 컨트롤러 (16) 와 통신하는 메모리 (18) 를 포함한다. 일렉트로닉스 (10) 는 메모리 (18) 에 이미지에 대한 데이터 및 이미지를 렌더링하기 위한 데이터를 저장할 수 있다. 메모리 (18) 는 판독/기록 동작에 적절 한 임의의 메모리 디바이스 또는 메모리 디바이스의 조합일 수 있다.
몇몇 경우에, 일렉트로닉스 (10) 는 컨트롤러 (16) 와 통신하는 컴퓨터-판독가능 매체 (20) 를 포함한다. 컴퓨터-판독가능 매체 (20) 는 컨트롤러 (16) 에 의해 실행될 일 세트의 명령을 가질 수 있다. 컨트롤러 (16) 는 컴퓨터-판독가능 매체 상에 포함된 명령들을 판독 및 실행할 수 있다. 컨트롤러는 일렉트로닉스 (10) 가 사용자에 의해 제공된 커맨드를 실행하는 것과 같이 원하는 기능을 수행하도록 명령들을 실행한다. 컴퓨터-판독가능 매체 (20) 가 메모리 (18) 와 상이한 것으로 도시되었지만, 컴퓨터-판독가능 매체 (20) 는 메모리 (18) 와 동일할 수 있다. 적절한 컴퓨터-판독가능 매체는 CD 와 같은 광학 디스크, 자기 저장 디스켓, Zip 디스크, 자기 테이프, RAM, 및 ROM 을 포함하지만, 이에 한정되지 않는다.
이하 더 상술하는 바와 같이, 일렉트로닉스의 몇몇 기능은 하드웨어를 사용하여 실행될 수도 있지만, 다른 기능은 펌웨어 및/또는 소프트웨어를 사용하여 실행된다. 일렉트로닉스가 펌웨어 및/또는 소프트웨어를 사용하여 기능을 구현하는 경우, 일렉트로닉스는 프로세서를 채용하여 컴퓨터-판독가능 매체 상의 명령들을 실행한다. 예를 들어, 일렉트로닉스는 RAM 상에 기록된 소프트웨어를 판독하는 프로세서를 채용하여 기능을 구현할 수 있다. 반대로, 일렉트로닉스가 하드웨어로 기능을 구현하는 경우, 하드웨어는 컴퓨터-판독가능 매체 상의 명령들을 실행하지 않는다.
몇몇 경우에, 그래픽스 시스템은 네트워크와 무선으로 통신하도록 구성된다. 따라서, 컨트롤러 (16) 는 선택적으로 트랜시버 (22) 와 통신할 수 있다. 컨트롤러 (16) 는 트랜시버를 채용하여 네트워크에 대해 메시지를 전송 및/또는 수신할 수 있다. 트랜시버의 대안으로서, 일렉트로닉스 (10) 는 수신기 및 송신기와 통신할 수 있다. 그래픽스 시스템이 네트워크와 무선으로 통신하도록 구성되는 경우, 일렉트로닉스 (10) 는 코드 분할 다중 접속 (CDMA), GSM (Global System for Mobile Communications) 과 같은 시분할 다중 접속과 같은 무선 통신 표준, 또는 일부 다른 무선 통신 표준에 따라 동작시킬 수 있다.
적절한 그래픽스 시스템은, 핸드폰, 액세스 단말기, 핸드셋, 개인 휴대 정보 단말기 (PDA), 랩탑 컴퓨터, 비디오 게임 유닛, 및 개인용 컴퓨터를 포함하지만, 이에 한정되지 않는다. 도 1 이 임의의 경우에 단일 디바이스로 통합 위치된 일렉트로닉스 (10), 디스플레이 (12), 및 하나 이상의 사용자 인터페이스를 도시하였지만, 일렉트로닉스 (10), 디스플레이 (12), 및/또는 하나 이상의 사용자 인터페이스는 상이한 디바이스에 포함될 수 있고/있거나 서로 멀리 위치할 수 있다. 추가적으로 또는 다른 방법으로, 일렉트로닉스 (10) 의 상이한 컴포넌트는 상이한 디바이스에 포함될 수 있다.
도 2 는 그래픽스 시스템을 통한 데이터의 진행을 도시한다. 메모리는 디스플레이 스크린 상에 디스플레이될 형상에 대한 형상 디스크립션을 포함한다. A 로 라벨링된 다이어그램은 묘사된 형상을 도시한다. 형상 디스크립션은 2 차원 이상으로 될 수 있다. 예를 들어, 형상 디스크립션은 3차원일 수 있다. 적절한 형상 디스크립셥은 하나 이상의 수학식을 포함할 수 있다. 예를 들 어, 원 또는 구에 대한 수학식이 공지되어 있다. 형상의 복잡도는 수학식을 추가하고, 수학식을 빼고/빼거나 수학식에 대해 다른 연산을 수행함으로써 증가될 수 있다. 형상 디스크립션은 수학식에 추가하여 또는 수학식 이외의 방법을 이용하여 이루어질 수 있다. 따라서, 형상 디스크립션은 수학식을 제외할 수 있다.
텍스처 유형은 형상에 걸쳐 동일할 수 있다. 예를 들어, 전체 형상은 특정 유형의 텍스처로 커버될 수 있다. 텍스처의 예는 나무 텍스처, 벽돌 텍스처, 및 돌 텍스처를 포함하지만, 이에 한정되지 않는다.
몇몇 경우에, 그래픽스 시스템은 형상 디스크립션을 스크린 좌표로 변환한다. 따라서, 도 2 에서 B 로 라벨링된 다이어그램은 스크린 좌표에서의 스크린 형상을 도시한다. 스크린 좌표로의 변환은 하나 이상의 변환을 포함할 수 있다. 예를 들어, 형상 디스크립션이 3 차원으로 된 경우, 그래픽스 시스템은 오브젝트 형상 디스크립션을 세계 좌표로, 세계 좌표에서 눈 좌표로, 눈 좌표에서 동차 투시 눈 좌표 (homogeneous perspective eye coordinate) 로, 동차 분할 (homogeneous divide) 을 통한 이 표현으로부터 스크린 좌표로 변환할 수 있고, 마지막으로 스크린 좌표로부터의 뷰포트 변환은 일부 인메모리 레이아웃에 직접 매핑되는 디바이스-특정 좌표에 이들 좌표를 맵핑한다. 형상 디스크립션에서 세계 좌표로의 변환은 효과적으로 모든 형상을 공통 세계에 배치할 수 있다. 눈 좌표는 계산된 시점에 대한 3D 객체의 좌표이다. 통상적으로, 세계 좌표로, 그 후 눈 좌표로의 형상의 변환은 단일 모델뷰 매트릭스 변환을 통해 행해질 수 있는 단일 변환으로서 수행된다. 눈 좌표계에서 동차 눈 좌표계로의 변환은 시점으 로부터 더 멀리 있는 객체로 하여금 동차 분할 후에 더 가까운 객체보다 더 작게 나타나도록 한다. 눈 좌표에서 스크린 좌표로의 변환은 일반적으로 투영 매트릭스를 통해 행해질 수 있고, 동차 분할은 암시적 (implicit) 일 수 있고 하드웨어로 설계될 수 있다. 숨은 면 및 원근 보정 보간 계산을 위해 일부 3D 정보가 보유될 수 있더라도, 동차 정규화가 수행된 후에 스크린 좌표계는 명목상 2D 계이다. 디바이스 좌표는 스크린 상에 렌더링되는 이미지의 직접 맵핑을 나타낸다. 몇몇 경우에, 디바이스 좌표는 스크린 좌표의 역할을 할 수 있고/있거나 스크린 좌표는 디바이스 좌표의 역할을 한다. 형상 디스크립션이 2 차원으로 되는 경우, 상기 변환 중 하나 이상이 요구되지 않을 수도 있다. 예를 들어, 형상 디스크립션이 2 차원인 경우, 눈 좌표 및 원근 눈 좌표로의 변환은 요구되지 않을 수도 있다.
일렉트로닉스는 스크린 좌표를 이용하여 스크린 형상을 바운딩하는 바운드 프리미티브를 생성한다. 설명을 목적으로, C 로 라벨링된 다이어그램은 파선으로 도시된 형상 및 실선으로 된 바운드 프리미티브의 경계선을 도시한다. 실선은 스크린 좌표 내의 형상을 바운딩한다. 바운드 프리미티브는 프리미티브에 의해 보통 채용되는 형상을 가질 수 있다. 예를 들어, 바운드 프리미티브는 삼각형, 정사각형 또는 직사각형과 같은 다각형일 수 있다. 바운드 프리미티브는 프리미티브의 각 꼭지점과 관련된 데이터에 의해 정의될 수 있다. 각 꼭지점은 포지션, 컬러 값 및 텍스처 좌표와 같은 다양한 속성에 대한 데이터와 관련될 수 있다. 컬러 속성은 일반적으로 레드 값, 그린 값, 및 블루 값 (r, g, b) 에 의 해 특정된다. 텍스처 좌표는 일반적으로 텍스처 맵 상의 수평 및 수직 좌표 (s 및 t) 에 의해 특정된다. 스크린 좌표에서, 포지션 속성은 일반적으로 수평 좌표 및 수직 좌표 (x, y) 로 특정되지만, 또한 숨은 면 제거에 이용하기 위해 깊이 좌표 (z) 를 선택적으로 포함할 수 있다.
일렉트로닉스는 바운드 프리미티브를 프리미티브 픽셀로 래스터화한다. 도 2 에서 D 로 라벨링된 다이어그램은 프리미티브 픽셀로 래스터화된 스크린 형상을 도시한다. 따라서, 다이어그램 D 는 프리미티브 래스터화를 나타낸다. 각 프리미티브 픽셀은 스크린 상의 픽셀에 대응한다.
일렉트로닉스는 또한 스크린 형상을 이용하여 픽셀 마스크를 생성한다. 각 마스크 픽셀이 하나 이상의 픽셀 영역으로 분할되도록 일렉트로닉스는 스크린 형상을 마스크 픽셀로 래스터화함으로써 픽셀 마스크를 생성한다. 설명을 목적으로, 도 2 에서 E 로 라벨링된 다이어그램은 각 마스크 픽셀이 단일 픽셀 영역을 포함하도록 마스크 픽셀로 래스터화된 스크린 형상을 도시한다. 그 결과, 마스크 픽셀 및 픽셀 영역은 동일하다.
마스크 픽셀은 스크린 상의 픽셀에 대응한다. 따라서, 마스크 픽셀의 적어도 일부는 프리미티브 픽셀에 각각 대응하고, 프리미티브 픽셀의 적어도 일부는 픽셀 마스크로부터의 하나 이상의 픽셀 영역와 각각 관련된다. 몇몇 경우에, 프리미티브 픽셀의 각각은 픽셀 마스크로부터의 하나 이상의 픽셀 영역과 각각 관련된다. 몇몇 경우에, 마스크 픽셀의 각각은 프리미티브 픽셀에 각각 대응하고, 프리미티브 픽셀의 각각은 마스크 픽셀에 대응한다.
일렉트로닉스는 하나 이상의 커버리지 기준을 채용하여, 각 픽셀 영역이 커버된 영역 또는 커버되지 않은 영역인지 여부를 표시하는 영역 커버리지 데이터를 생성할 수 있다. 적절한 커버리지 기준의 예는 스크린 형상의 어떤 부분이라도 픽셀 영역 내에 있는지 여부이다. 예를 들어, 스크린 형상의 일부가 픽셀 영역의 내부에 있는 경우에 픽셀 영역은 커버된 영역일 수 있고, 스크린 형상이 전체적으로 픽셀 영역의 외부에 있는 경우에 픽셀 영역은 커버되지 않은 영역일 수 있다. 예시적인 커버리지 기준은 도 2 에서의 다이어그램 E 에 적용되었다. 커버되지 않은 영역은 흰색으로 도시되는 한편, 커버된 영역은 그레이로 도시된다. 따라서, 픽셀 마스크는 커버된 영역 및 커버되지 않은 영역을 포함한다.
다른 테스트 기준이 채용될 수 있다. 예를 들어, 테스트 기준은 커버리지 임계 퍼센트를 채용할 수 있다. 스크린 형상이 픽셀 영역의 임계 퍼센트보다 많이 커버하면 픽셀 영역은 커버된 영역이고, 스크린 형상이 픽셀 영역의 임계 퍼센트보다 적게 커버하면 픽셀 영역은 커버되지 않은 영역이다.
일렉트로닉스는 하나 이상의 부수적인 커버리지 기준을 채용하여, 마스크 픽셀이 커버된 픽셀 또는 커버되지 않은 픽셀인지 여부를 표시하는 픽셀 커버리지 데이터를 생성할 수 있다. 예를 들어, 커버된 영역인 마스크 픽셀에 대한 픽셀 영역의 수가 영역 임계값과 적어도 동일한 경우에, 일렉트로닉스는 그 마스크 픽셀을 커버된 픽셀로 분류할 수 있다. 마스크 픽셀에 대한 커버된 영역의 수가 영역 임계값보다 아래인 경우에, 일렉트로닉스는 그 마스크 픽셀을 커버되지 않은 영역으로 분류할 수 있다. 적절한 영역 임계값은 1 을 포함하지만, 이에 한정되 지 않는다.
하나 이상의 부수적인 커버리지 기준의 적용은 선택적이다. 예를 들어, 마스크 픽셀이 단일 픽셀 영역을 포함하는 경우, 하나 이상의 부수적인 커버리지 기준의 적용은 채용될 필요가 없다. 예를 들어, 커버된 영역은 선별을 위해 커버된 픽셀로 분류되고, 커버되지 않은 영역은 선별의 목적으로 커버되지 않은 픽셀로 분류된다. 추가적으로, 하나 이상의 부수적인 커버리지 기준의 적용은 하나 이상의 기준의 적용과 결합될 수 있다. 예를 들어, 커버된 영역의 수가 영역 임계값으로 상승할 때까지 일렉트로닉스는 마스크 픽셀에 대한 커버된 영역을 식별할 수 있다. 일단 커버된 영역의 수가 영역 임계값과 만나면, 마스크 픽셀은 커버된 픽셀로 분류되고, 마스크 픽셀에 대한 커버된 영역의 총수가 영역 임계값 아래이면, 마스크 픽셀은 커버되지 않은 픽셀로 분류된다.
커버리지 기준 및 부수적인 커버리지 기준은 적어도 각 커버된 픽셀의 임계 부분이 형상에 의해 커버되게 한다. 예를 들어, 커버리지 기준 및 부수적인 커버리지 기준은, 적어도 임계수의 픽셀 영역이 커버된 픽셀이 될 마스크 픽셀에 대한 커버된 영역이라는 것을 보장하고, 적어도 커버리지 임계 퍼센트의 픽셀 영역이 마스크 픽셀이 커버된 픽셀이 되도록 커버된다고 보장할 수 있다. 커버리지 기준 및 부수적인 커버리지 기준은 또한 커버되지 않은 픽셀이 형상에 의해 커버되지 않는다는 것을 보장할 수 있다. 추가적으로, 커버리지 기준 및 부수적인 커버리지 기준은 각 커버되지 않은 픽셀의 임계 부분 보다 적은 부분이 형상에 의해 커버된다는 것을 보장할 수 있다.
일렉트로닉스는 픽셀 마스크를 채용하여 추가 프로세싱을 위해 프리미티브 픽셀을 선별한다. 예를 들어, 일렉트로닉스는 추가 프로세싱을 위해 마스크 픽셀에 대응하는 프리미티브 픽셀의 각각을 고려한다. 마스크 픽셀에 대응하는 각 프리미티브 픽셀은 대응하는 마스크 픽셀과 비교된다. 대응하는 마스크 픽셀이 커버되지 않은 픽셀인 경우, 프리미티브 픽셀은 스크린 상에 형상의 일부를 나타내지 않고, 따라서 추가로 프로세싱되지 않는 폐기된 픽셀이다. 대응하는 마스크 픽셀이 커버된 픽셀인 경우, 프리미티브 픽셀은 스크린 상에 형상의 일부를 나타낼 수도 있고, 따라서 추가 프로세싱되는 보유된 픽셀이다. 몇몇 경우에, 보유된 픽셀이 스크린 상에 형상의 일부를 나타내는지 여부는 보유된 픽셀의 후속 프로세싱의 결과이다.
보유된 픽셀의 추가 프로세싱의 예는 픽셀 속성의 결정을 포함한다. 각 보유된 픽셀은 일 세트의 픽셀 속성과 관련될 수 있다. 픽셀 속성의 예는 컬러 값 및 텍스처 좌표를 포함한다. 예를 들어, 보유된 픽셀은 컬러 값 R, G, 및 B 와 및/또는 s 및 t 와 같은 텍스처 좌표와 각각 관련될 수 있다. 픽셀 속성을 생성하는 적절한 방법은 바운드 프리미티브의 꼭지점들 사이의 보간을 포함한다. 예를 들어, 텍스처 좌표 및 컬러 값은 바운드 프리미티브의 꼭지점들 사이에서 보간될 수 있다. 바운드 프리미티브 꼭지점의 각각은 R, G, B, s, t 와 같은 일 세트의 꼭지점 속성과 관련될 수 있다. 픽셀 속성은 꼭지점들 사이를 보간함으로써 생성될 수 있다. 몇몇 경우에, 보간은 텍스처 좌표의 공간 그래디언트를 보간하는 것을 포함한다. 텍스처 좌표의 공간 그래디언트의 예는 편도 함 수 ds/dx 이고, 여기서 ds 는 각각의 텍스처 좌표의 변화이고, dx 는 픽셀 좌표에서의 x 방향으로의 이동이다. 따라서, 이들 그래디언트는 픽셀 좌표에 대한 텍스처 좌표의 변화율을 반영한다. 적절한 보간 기술은 구면 선형 보간 (spherical linear interpolation), 양선형 보간 (bi-linear interpolation), 삼선형 보간 (tri-linear interpolation), 최근린 보간 (nearest neighbor interpolation), 및 퐁 보간 (Phong interpolation) 을 포함하지만, 이에 한정되지 않는다.
몇몇 경우에, 일렉트로닉스는 보간을 수행하기 전과 선별을 수행하기 전 및/또는 보간을 수행하기 전과 선별을 수행한 후에 셋업 프로세싱을 수행한다. 셋업 프로세싱 중에, 일렉트로닉스는 컬러 및/또는 텍스처와 같은 속성의 후속 보간을 위한 파라미터를 생성할 수 있다. 예를 들어, 일렉트로닉스는 보간에 이용되는 수학식의 계수를 생성할 수 있다. 몇몇 경우에, 일렉트로닉스는 셋업 프로세싱 중에 텍스처 좌표의 공간 그래디언트를 생성한다.
몇몇 경우에, 보유된 픽셀에 대해 수행될 수 있는 추가 프로세싱은 텍스처 맵핑을 포함한다. 텍스처 좌표의 공간 그래디언트는 텍스처 맵핑에서 채용될 수 있다. 예를 들어, 각 텍스처는 텍스처의 상이한 해상도를 각각 갖는 복수의 MIP (multum in parvo) 맵과 관련될 수 있다. 텍스처 좌표의 공간 그래디언트는 특정 프리미티브 픽셀에 대해 또는 프리미티브 픽셀의 특정 선택물에 대해 정확한 MIP 맵을 식별하는데 이용될 수 있다.
보유된 픽셀에 대해 수행될 수 있는 추가 프로세싱은 또한 블렌딩을 포함할 수 있다. 브렌딩은 에일리어싱 방지 (anti-aliasing) 을 포함할 수 있다. 블렌딩 후에, 일렉트로닉스는 디스플레이 스크린 상에 이미지를 렌더링할 수 있다.
몇몇 경우에, 일렉트로닉스는 하드웨어로 데이터의 일부를 프로세싱하고, 소프트웨어 및/또는 펌웨어를 사용하여 데이터의 다른 부분을 프로세싱한다. 예를 들어, 일렉트로닉스는 소프트웨어 및/또는 펌웨어를 채용하여 형상 디스크립션을 스크린 좌표로 변환하고, 픽셀 마스크를 생성하고, 바운드 프리미티브를 생성하면서, 하드웨어를 채용하여 바운드 프리미티브를 래스터화하고, 셋업 프로세싱을 수행하고, 픽셀 선별을 수행하고, 보간을 수행한다. 일 실시예에서, 일렉트로닉스는 소프트웨어 및/또는 펌웨어를 채용하여 픽셀 마스크를 생성하면서, 하드웨어를 채용하여 바운드 프리미티브를 래스터화하고 프리미티브 픽셀을 선별한다.
소프트웨어 및/또는 펌웨어를 사용하여 픽셀 마스크가 생성되고 하드웨어를 사용하여 프리미티브 픽셀이 선별되는 경우, 하드웨어를 사용하거나 소프트웨어 및/또는 펌웨어를 사용하여 픽셀 커버리지 데이터가 생성될 수 있다. 예를 들어, 소프트웨어 및/또는 펌웨어는 픽셀 영역을 고려하여 커버된 픽셀 및 커버되지 않은 픽셀을 식별하는데 이용될 수 있고, 각 픽셀과 관련된 비트를 하드웨어에 전송할 수 있다. 비트는 픽셀이 커버된 픽셀 또는 커버되지 않은 픽셀인지 여부를 표시할 수 있다. 하드웨어는 이후 프리미티브 픽셀을 선별함에 있어 이 비트를 고려할 수 있다. 다른 방법으로는, 소프트웨어 및/또는 펌웨어는 마스크 픽셀에 대한 픽셀 영역의 각각과 관련된 단일 비트를 하드웨어에 전송하는데 이용될 수 있다. 비트는 픽셀 영역이 커버된 영역 또는 커버되지 않은 영역인지 여부를 표시할 수 있다. 하드웨어는 마스크 픽셀이 커버된 픽셀 또는 커버되지 않은 픽셀인지 여부를 결정하기 위해 픽셀 영역 중 하나 이상에 대해 이 비트를 고려할 수 있다. 다른 방법으로는, 소프트웨어 및/또는 펌웨어는 마스크 픽셀에 대한 커버된 픽셀 영역의 수를 카운트하는데 이용될 수 있고, 마스크 픽셀에 대한 커버된 영역의 수를 표시하는 비트를 하드웨어에 전송할 수 있다. 하드웨어는 이 비트를 채용하여 마스크 픽셀이 커버된 픽셀 또는 커버되지 않은 픽셀인지 여부를 결정할 수 있다. 다른 방법으로는, 소프트웨어 및/또는 펌웨어는 마스크 픽셀에 대한 커버되지 않은 픽셀 영역의 수를 카운트하는데 이용될 수 있고, 마스크 픽셀에 대한 커버되지 않은 픽셀의 수를 표시하는 비트를 하드웨어에 전송할 수 있다. 하드웨어는 이 비트를 채용하여 마스크 픽셀이 커버된 픽셀 또는 커버되지 않은 픽셀인지 여부를 결정할 수 있다. 커버된 영역 또는 커버되지 않은 영역의 수를 하드웨어에 전송하는 것은 하드웨어에 전송되어야 하는 비트의 수를 감소시킴으로써 하드웨어에 대한 데이터 전달의 효율을 증가시킬 수 있다. 예를 들어, 커버된 영역의 수는 n 비트로 표시될 수 있으며, 여기서 2n 은 마스크 픽셀에서 픽셀 영역의 수이다. 그 결과, 커버된 영역의 수가 하드웨어에 전송되는 경우, 2n 이라기 보다는 n 비트만이 하드웨어에 전송될 필요가 있다.
소프트웨어 및/또는 펌웨어는 하드웨어에 데이터의 블록을 전달하도록 구성될 수 있다. 많은 경우에, 블록의 데이터량은 단일 마스크 픽셀과 관련된 데이터량을 초과한다. 따라서, 단일 픽셀에 대한 데이터를 하드웨어에 전송하는 것 은 하드웨어에 대한 데이터의 전달이 비효율적이게 할 수 있다. 그 결과, 픽셀 마스크는 타일로 분할될 수 있다. 각 타일은 복수의 마스크 픽셀을 포함하고, 동일한 치수 (n 픽셀 × m 픽셀) 를 가진다. 각 타일에 대한 데이터가 블록 중 하나에서 하드웨어로 전달될 수 있도록 타일 사이즈가 정의될 수 있다. 그 결과, 타일은 하드웨어로의 효율적인 데이터 전달을 허용한다.
픽셀 마스크가 소프트웨어 및/또는 펌웨어를 사용하여 생성되고 프리미티브 픽셀이 하드웨어를 사용하여 선별되는 경우, 마스크 픽셀에 대한 데이터는 하드웨어가 프리미티브 픽셀을 선별하는 것과 동일한 시퀀스로 하드웨어로 전송된다. 그 결과, 하드웨어로의 데이터 전달의 시퀀스는, 하드웨어가 대응하는 마스크 픽셀에 대한 데이터를 채용하는 프리미티브 픽셀을 하드웨어가 선별하는 것을 보증한다. 픽셀 마스크가 타일로 분할되는 경우, 하드웨어로의 타일에 대한 데이터 전달이 결과적으로 정확한 시퀀스로 하드웨어가 픽셀 마스크에 대한 데이터를 수신하도록, 타일 치수가 선택될 수 있다.
픽셀 마스크가 소프트웨어 및/또는 펌웨어를 사용하여 생성되고 프리미티브 픽셀이 하드웨어를 사용하여 선별되는 경우, 소프트웨어는 꼭지점의 위치와 함께 하드웨어에 바운드 프리미티브의 꼭지점에 대한 속성을 제공할 수 있다. 소프트웨어는 또한 꼭지점에서의 속성을 결정하도록 채용될 수 있다. 예를 들어, 속성은 OpenGL API 와 같은 API (Application Programming Interface) 를 통해 인터페이스된 소프트웨어 애플리케이션에 의해 생성될 수 있다. 다른 방법으로는, 속성은 전역적으로 특정된 기능으로 계수를 이용한 텍스처 포지션, 컬러 및 속 성 정보를 설정할 수 있는 프로그램가능 셰이더 (shader) 에 의해 생성될 수 있다. 속성은 좌표를 선별하기 위해 형상 디스크립션을 변환하는 프로세스의 일부로서 컴퓨팅된다.
일렉트로닉스는 각 픽셀을 복수의 픽셀 영역으로 분할함으로써 스크린 형상에 의해 커버된 마스크 픽셀의 부분을 근접시킬 수 있다. 예를 들어, 일렉트로닉스는 마스크 픽셀의 커버리지 분율 (fractional coverage) 을 결정할 수 있거나 각 마스크 픽셀의 커버리지 분율을 표시하는 하나 이상의 파라미터를 결정할 수 있다. 도 3 은 각 마스크 픽셀이 4 개의 픽셀 영역으로 분할되도록 래스터화된 도 2 의 스크린 형상을 도시한다. 도 3 에서 B 로 라벨링된 다이어그램은 단일 마스크 픽셀을 도시한다. D 로 라벨링된 다이어그램은 4 개의 픽셀 영역으로 분할된 다이어그램 B 의 마스크 픽셀을 도시한다. 도 3 에서 F 로 라벨링된 다이어그램은 16 개 픽셀 영역으로 분할된 다이어그램 B 의 마스크 픽셀을 도시한다. 각 픽셀 영역은 동일한 형상 및 사이즈를 가진다. 형상의 일부는 다이어그램 B, 다이어그램 D, 및 다이어그램 F 에서 도시된 픽셀을 커버하는 것으로 도시된다. 상술한 바와 같이, 각 픽셀 영역은 커버된 영역 또는 커버되지 않은 영역일 수 있다. 일렉트로닉스는 특정 마스크 픽셀과 관련된 커버된 영역의 수를 카운트할 수 있다. 커버된 영역인 픽셀 영역의 수는 마스크 픽셀당 픽셀 영역의 총수가 알려진 경우에 마스크 픽셀의 커버리지 분율을 표시한다. 예를 들어, 커버된 픽셀인 마스크 영역의 수는 커버리지 분율에서 분자이며, 마스크 픽셀당 마스크 영역의 총수는 분모의 역할을 한다.
커버리지 분율을 표시하는 데이터는 에일리어싱 방지에 채용될 수 있다. 예를 들어, 커버리지 분율은 포터 더프 블렌딩 (Porter Duff blending) 과 같은 블렌딩 동작에서 채용될 수 있다.
픽셀 마스크가 소프트웨어 및/또는 펌웨어를 사용하여 생성되고 프리미티브 픽셀이 하드웨어를 사용하여 선별되는 경우, 소프트웨어 및/또는 펌웨어는 커버리지 분율을 표시하는 데이터를 결정하는데 이용될 수 있고, 그 데이터는 하드웨어로 전달될 수 있다. 예를 들어, 상술한 바와 같이, 소프트웨어 및/또는 펌웨어는 마스크 픽셀에 대한 커버된 픽셀 영역의 수를 카운트하는데 이용될 수 있고, 마스크 픽셀에 대한 커버된 영역의 수를 표시하는 비트를 하드웨어에 전송할 수 있다. 하드웨어는 이 비트를 채용하여 마스크 픽셀이 커버된 픽셀 또는 커버되지 않은 픽셀인지 여부를 결정할 수 있다. 다른 방법으로는, 소프트웨어 및/또는 펌웨어는 마스크 픽셀에 대한 커버되지 않은 픽셀 영역의 수를 카운트하는데 이용될 수 있고, 마스크 픽셀에 대한 커버되지 않은 영역의 수를 표시하는 비트를 하드웨어에 전송할 수 있다. 다른 방법으로는, 하드웨어는 커버리지 분율을 표시하는 데이터를 결정하는데 사용될 수 있다. 예를 들어, 상술한 바와 같이, 소프트웨어 및/또는 펌웨어는 마스크 픽셀에 대한 픽셀 영역의 각각과 관련된 단일 비트를 하드웨어에 전송하는데 이용될 수 있다. 이 비트는 픽셀 영역이 커버된 영역 또는 커버되지 않은 영역인지 여부를 표시할 수 있다. 하드웨어는 이후 커버된 영역인 픽셀 영역의 수를 카운트할 수 있다.
도 4 는 그래픽스 시스템을 동작시키는 방법을 도시한다. 프로세스 블록 100 에서, 일렉트로닉스는 형상 디스크립션을 스크린 좌표로 변환한다. 따라서, 일렉트로닉스는 형상 디스크립션에서 묘사된 형상을 스크린 형상으로 변환한다. 프로세스 블록 102 에서, 일렉트로닉스는 스크린 형상을 채용하여 바운드 프리미티브를 생성한다. 바운드 프리미티브는 스크린 형상을 바운딩한다. 프로세스 블록 104 에서, 각 프리미티브 픽셀이 스크린 상의 픽셀에 대응하도록 일렉트로닉스는 바운드 프리미티브를 프리미티브 픽셀로 래스터화한다.
프로세스 블록 106 에서, 일렉트로닉스는 스크린 형상을 채용하여 픽셀 마스크를 생성한다. 픽셀 마스크를 생성하는 것은 각 마스크 픽셀이 하나 이상의 픽셀 영역으로 분할되도록 스크린 형상을 마스크 픽셀로 래스터화하는 것을 포함한다. 픽셀 마스크를 생성하는 것은 커버된 영역 및 커버되지 않은 영역을 식별하는 픽셀 커버리지 데이터를 생성하는 것을 포함할 수 있다. 프로세스 블록 108 에서, 일렉트로닉스는 마스크 픽셀의 커버리지 분율을 표시하는 하나 이상의 파라미터를 선택적으로 생성할 수 있다.
프로세스 블록 110 에서, 일렉트로닉스는 프리미티브 픽셀을 선택한다. 판정 블록 112 에서, 선택된 프리미티브 픽셀이 폐기된 픽셀 또는 보유된 픽셀인지 여부에 관한 판정이 이루어진다. 선택된 픽셀이 커버된 픽셀인 마스크 픽셀인 경우, 선택된 픽셀은 보유된 픽셀이다. 대응하는 마스크 픽셀이 커버되지 않은 픽셀인 경우, 선택된 픽셀은 폐기된 픽셀이다. 따라서, 일렉트로닉스는 판정 블록 112 를 실행하는 경우에 프로세스 블록 106 으로부터의 데이터에 액세스한다.
선택된 픽셀이 보유된 픽셀이라고 일렉트로닉스가 결정하는 경우, 블록 114 에서 일렉트로닉스는 선택된 픽셀에 대한 속성을 결정한다. 픽셀 속성은 보유된 픽셀에 대한 컬러 및 텍스처를 포함할 수 있다. 예를 들어, 일렉트로닉스는 바운드 프리미티브의 꼭지점에 대한 컬러 속성과 텍스처 속성 사이에서 선택된 픽셀에 대한 컬러 및 텍스터 속성을 보간할 수 있다. 프로세스 블록 116 에서, 일렉트로닉스는 보유된 픽셀에 대한 텍스처 맵핑을 수행할 수 있다.
일렉트로닉스는 프로세스 블록 116 에서 판정 블록 118 로 진행한다. 추가적으로, 프로세스 블록 112 에서 일렉트로닉스가 선택된 픽셀이 폐기된 픽셀이라고 결정하는 경우에 일렉트로닉스는 판정 블록 118 로 진행한다. 판정 블록 118 에서, 일렉트로닉스는 프리미티브 픽셀의 각각이 선택되었는지 여부에 관해 판정한다. 판정이 부정적인 경우, 일렉트로닉스는 프로세스 블록 110 으로 복귀한다. 판정이 긍정적인 경우, 일렉트로닉스는 프로세스 블록 120 에서 블렌딩을 수행한다. 블렌딩은 커버리지 분율을 표시하는 파라미터를 채용하여 에일리어싱 방지를 수행하는 것을 포함할 수 있다. 예를 들어, 커버리지 분율을 표시하는 파라미터는 포터 더프 블렌딩에서 채용될 수 있다. 따라서, 일렉트로닉스는 프로세스 블록 120 을 실행하는 경우에 프로세스 블록 108 로부터의 데이터에 액세스할 수 있다. 프로세스 블록 122 에서 이미지는 스크린 상에 렌더링된다.
도 5 는 그래픽스 시스템을 동작시키는 논리 모듈을 도시한 논리 흐름도이다. 일렉트로닉스는 형상 디스크립션을 스크린 좌표로 변환하는 스크린 형상 컨버터 (140) 를 포함한다. 스크린 좌표로 변환된 형상 디스크립션은 스크린 형상의 역할을 한다. 일렉트로닉스는 또한 스크린 형상으로부터 바운드 프리미 티브를 생성하는 바운드 프리미티브 생성기 (142) 를 포함한다. 일렉트로닉스는 또한 바운드 프리미티브를 프리미티브 픽셀로 래스터화하는 바운드 프리미티브 래스터화기 (144) 를 포함한다.
일렉트로닉스는 스크린 좌표로부터 픽셀 마스크를 생성하는 픽셀 마스크 생성기 (146) 를 포함한다. 각 마스크 픽셀이 하나 이상의 픽셀 영역을 포함하도록 픽셀 마스크는 마스크 픽셀로 래스터화된다. 픽셀 마스크는 또한 어떤 마스크 픽셀이 커버된 픽셀인지 그리고 어떤 픽셀이 커버되지 않은 픽셀인지를 식별할 수 있다. 각 프리미티브 픽셀은 마스크 픽셀에 대응한다.
일렉트로닉스는 보유된 픽셀 및 폐기된 픽셀에 대한 프리미티브 픽셀을 선별하도록 구성된 픽셀 선별기 (148) 를 포함한다. 프리미티브 픽셀이 커버된 픽셀인 마스크 픽셀에 대응하는 경우, 프리미티브 픽셀은 보유된 픽셀이다. 대응하는 마스크 픽셀이 커버되지 않은 픽셀인 경우, 프리미티브 픽셀은 폐기된 픽셀이다.
일렉트로닉스는 보유된 픽셀에 대한 속성을 생성하는 픽셀 속성 생성기 (150) 를 포함한다. 픽셀 속성은 보유된 픽셀에 대한 컬러 및 텍스처를 포함할 수 있다.
일렉트로닉스는 이미지의 에일리어싱 방지를 제공하도록 구성될 수 있는 블렌딩 모듈 (152) 을 포함한다. 블렌딩 모듈은 보유된 픽셀에 대한 커버리지 분율 데이터를 선택적으로 채용할 수 있다. 따라서, 일렉트로닉스는 보유된 픽셀의 커버리지 분율을 추정하도록 구성된 커버리지 분율 추정기 (154) 를 선택적으로 포함할 수 있다. 일렉트로닉스는 스크린 상에 이미지를 렌더링하는 이미지 렌더링 모듈 (156) 을 포함한다.
일렉트로닉스는 도시된 모듈에 추가하여 모듈을 포함할 수 있다. 예를 들어, 일렉트로닉스는 z-버퍼 모듈을 포함할 수 있다. z-버퍼 모듈은 이미지에서 오버랩핑 형상이 정확히 오버랩하는 것을 보장할 수 있다. 예를 들어, z-버퍼 모듈은 이미지의 정면에 가장 가까운 형상이 실제로 스크린 상에서 뷰잉되는 이미지인 것을 보증할 수 있다. z-버퍼 모듈은 형상 디스크립션이 3 차원인 경우에 가장 유용하고, 형상 디스크립션이 2 차원인 경우에 요구되지 않을 수도 있다.
개시물이 2 차원 디스플레이 스크린인 목적지의 내용 내에 있더라도, 발명의 원리는 더 높은 차원의 목적지에 적용될 수 있다. 예를 들어, 발명의 원리는 3 차원 모델링 기술에 적용될 수 있다.
상기에서 설명한 하나 이상의 방법의 전부 또는 일부는 그래픽스 시스템 및/또는 그래픽스 시스템 내의 일렉트로닉스에 의해 실행될 수 있다. 또한, 컨트롤러는 일렉트로닉스 및/또는 그래픽스 시스템으로 하여금 상기의 방법 중 하나 이상의 전부 또는 일부를 실행하게 할 수 있다. 일렉트로닉스가 컴퓨터-판독가능 매체를 포함하는 경우, 컨트롤러는 컴퓨터-판독가능 매체 상의 명령들을 실행할 수 있다. 명령들은 컨트롤러로 하여금 상기에서 개시된 하나 이상의 방법의 전부 또는 일부를 실행하게 할 수 있다. 추가적으로, 상기 방법 중 하나 이상의 전부 또는 일부는 그래픽스 시스템 이외의 시스템 및 디바이스에 의해 실행될 수 있다.
당업자는, 각종 상이한 기술 및 테크닉 중 어떤 것을 이용해도 정보 및 신호를 나타낼 수 있다는 것을 이해한다. 예를 들어, 상기 상세한 설명 전체를 통해 참조될 수도 있는 데이터 및 명령은 전압, 전류, 전자기파, 자계 또는 자기 입자, 광학 필드 또는 광입자, 그 임의의 조합에 의해 나타낼 수도 있다.
당업자는 또한 본 명세서에서 개시된 실시형태와 관련하여 설명된 다양한 예시적인 논리 블록, 회로, 및 방법 단계가 전자 하드웨어, 컴퓨터 소프트웨어, 또는 둘의 조합으로 구현될 수도 있다는 것을 알 것이다. 하드웨어와 소프트웨어의 호환성을 명확히 설명하기 위해, 다양한 예시적인 컴포넌트, 블록, 논리, 모듈, 회로, 및 단계는 일반적으로 그 기능성의 관점에서 상술되었다. 이러한 기능성이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약에 따른다. 당업자는 각각의 특정 애플리케이션에 대해 방법을 달리하여 설명한 기능성을 구현할 수도 있지만, 이러한 구현 결정은 본 발명의 범위를 벗어나는 것으로 해석되어서는 안된다.
본 명세서에서 개시된 실시형태와 관련하여 설명한 다양한 예시적인 논리 블록, 논리, 모듈, 및 회로는 범용 프로세서, DSP (digital signal processor), ASIC (application specific integrated circuit), FPGA (field programmable gate array) 또는 다른 프로그램가능 논리 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트, 또는 여기서 설명한 기능을 수행하도록 설계된 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다른 방법으로는, 프로세서는 종래의 프로세서, 컨트롤러, 마이크 로컨트롤러, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 결합된 하나 이상의 마이크로프로세서, 또는 임의의 다른 구성으로 구현될 수도 있다.
본 명세서에서 개시된 실시형태와 관련하여 설명한 방법의 단계는 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 둘의 조합에서 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 컴퓨터-판독가능 매체에 상주할 수도 있다. 대표적인 저장 컴퓨터-판독가능 매체는 프로세서가 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있도록 프로세서에 연결된다. 다른 방법으로는, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 ASIC 에 상주할 수도 있다. ASIC 는 사용자 단말기에 상주할 수도 있다. 다른 방법으로는, 프로세서 및 저장 매체는 사용자 단말기에 이산 컴포넌트로서 상주할 수도 있다.
개시된 실시형태의 이전 설명은 당업자가 본 발명을 제조 또는 이용할 수 있게 제공된다. 이들 실시형태의 다양한 변형이 당업자에게 손쉽게 명백하고, 여기서 정의된 일반 원리는 발명의 범위 또는 사상을 벗어나지 않고 다른 실시형태에 적용될 수도 있다. 따라서, 본 발명은 여기서 나타낸 실시형태에 제한될 의도가 아니며, 여기서 개시된 원리 및 신규한 특징에 일관된 최광의 범위에 따른다.

Claims (31)

  1. 삭제
  2. 삭제
  3. 형상 디스크립션을 스크린 형상을 정의하는 스크린 좌표로 변환하도록 구성된 스크린 형상 컨버터;
    상기 스크린 형상으로부터 바운드 프리미티브를 생성하도록 구성된 바운드 프리미티브 생성기로서, 상기 바운드 프리미티브는 스크린 형상을 바운딩하는 것인, 상기 바운드 프리미티브 생성기;
    상기 바운드 프리미티브를 복수의 프리미티브 픽셀로 레스터화하도록 구성된 바운드 프리미티브 래스터화기로서, 각각의 프리미티브 픽셀은 스크린 픽셀에 대응하는 것인, 상기 바운드 프리미티브 래스터화기;
    상기 스크린 형상을 복수의 마스크 픽셀로 레스터화하도록 구성된 픽셀 마스크 생성기로서, 각각의 마스크 픽셀은 하나 이상의 픽셀 영역으로 분할되고, 각각의 마스크 픽셀은 상기 프리미티브 픽셀 중 하나에 대응하며, 각각의 픽셀 영역은 커버리지 기준에 따라 커버된 영역 또는 커버되지 않은 영역으로 분류되고, 각각의 마스크 픽셀은 부수적인(secondary) 커버리지 기준에 따라 커버된 마스크 픽셀 또는 커버되지 않은 마스크 픽셀로 분류되는 것인, 상기 픽셀 마스크 생성기; 및
    커버된 마스크 픽셀에 대응하는 프리미티브 픽셀을 보유하고, 커버되지 않은 마스크 픽셀에 대응하는 프리미티브 픽셀을 폐기하도록 구성된 픽셀 선별기 (screener) 를 포함하는, 장치.
  4. 제 3 항에 있어서,
    상기 보유된 프리미티브 픽셀에 대한 픽셀 속성을 생성하도록 구성되고, 상기 폐기된 프리미티브 픽셀에 대한 픽셀 속성을 생성하지 않도록 구성되는 속성 생성기를 더 포함하는, 장치.
  5. 제 4 항에 있어서,
    상기 픽셀 속성은 상기 바운드 프리미티브의 꼭지점과 관련된 속성들 사이를 보간함으로써 생성되는, 장치.
  6. 제 4 항에 있어서,
    상기 픽셀 속성은 컬러 값을 포함하는, 장치.
  7. 제 3 항에 있어서,
    상기 픽셀 선별기는 하드웨어로 구현되고,
    상기 픽셀 마스크 생성기는 컴퓨터-판독가능 매체 상의 명령들을 실행하는 프로세서로 구현되는, 장치.
  8. 제 7 항에 있어서,
    상기 바운드 프리미티브 래스터화기는 하드웨어로 구현되는, 장치.
  9. 제 3 항에 있어서,
    상기 마스크 픽셀의 커버리지 분율 (fractional coverage) 을 표시하는 하나 이상의 변수를 생성하도록 구성된 커버리지 분율 추정기를 더 포함하며,
    상기 커버리지 분율은 상기 형상에 의해 커버되는 마스크 픽셀의 부분인, 장치.
  10. 제 9 항에 있어서,
    상기 픽셀 마스크 생성기는, 상기 스크린 형상의 일부가 상기 픽셀 영역의 내부에 있는 경우 상기 픽셀 영역을 커버된 영역으로 분류하고, 상기 스크린 형상이 전체적으로 상기 픽셀 영역의 외부에 있는 경우 상기 픽셀 영역을 커버되지 않은 영역으로 분류하는, 장치.
  11. 제 10 항에 있어서,
    상기 마스크 픽셀의 커버리지 분율을 표시하는 하나 이상의 변수를 생성하는 것은 커버된 영역인 상기 마스크 픽셀에서의 픽셀 영역의 수를 결정하는 것을 포함하는, 장치.
  12. 제 11 항에 있어서,
    상기 형상을 에일리어싱 방지 (anti-aliasing) 하는데 있어서 상기 커버리지 분율을 표시하는 하나 이상의 변수를 채용하도록 구성된 블렌딩 모듈을 더 포함하는, 장치.
  13. 삭제
  14. 그래픽스 시스템을 동작시키는 방법에 있어서, 상기 방법은 컴퓨터 또는 프로세서에 의해서 실행되며,
    형상 디스크립션을 스크린 형상을 정의하는 스크린 좌표로 변환하는 단계;
    상기 스크린 형상으로부터 바운드 프리미티브를 생성하는 단계로서, 상기 바운드 프리미티브는 스크린 형상을 바운딩하는 것인, 상기 바운드 프리미티브를 생성하는 단계;
    상기 바운드 프리미티브를 복수의 프리미티브 픽셀로 레스터화하는 단계로서, 각각의 프리미티브 픽셀은 스크린 픽셀에 대응하는 것인, 상기 복수의 프리미티브 픽셀로 레스터화하는 단계;
    상기 스크린 형상을 복수의 마스크 픽셀로 레스터화하는 단계로서, 각각의 마스크 픽셀은 하나 이상의 픽셀 영역으로 분할되고, 각각의 마스크 픽셀은 상기 프리미티브 픽셀 중 하나에 대응하며, 각각의 픽셀 영역은 커버리지 기준에 따라 커버된 영역 또는 커버되지 않은 영역으로 분류되고, 각각의 마스크 픽셀은 부수적인(secondary) 커버리지 기준에 따라 커버된 마스크 픽셀 또는 커버되지 않은 마스크 픽셀로 분류되는 것인, 상기 복수의 마스크 픽셀로 레스터화하는 단계; 및
    커버된 마스크 픽셀에 대응하는 프리미티브 픽셀을 보유하고, 커버되지 않은 마스크 픽셀에 대응하는 프리미티브 픽셀을 폐기함으로써 상기 프리미티브 픽셀을 선별 (screen) 하는 단계를 포함하는, 그래픽스 시스템을 동작시키는 방법.
  15. 제 14 항에 있어서,
    상기 보유된 프리미티브 픽셀에 대한 픽셀 속성을 생성하고, 상기 폐기된 프리미티브 픽셀에 대한 픽셀 속성을 생성하는 것을 삼가는 단계를 더 포함하는, 그래픽스 시스템을 동작시키는 방법.
  16. 제 15 항에 있어서,
    상기 픽셀 속성은, 상기 바운드 프리미티브의 꼭지점과 관련된 속성들 사이를 보간함으로써 생성되는, 그래픽스 시스템을 동작시키는 방법.
  17. 제 16 항에 있어서,
    상기 픽셀 속성은 컬러 값을 포함하는, 그래픽스 시스템을 동작시키는 방법.
  18. 제 14 항에 있어서,
    상기 바운드 프리미티브는 하드웨어로 래스터화되고,
    상기 픽셀 마스크는 컴퓨터-판독가능 매체 상의 명령을 실행하는 프로세서에 의해 생성되며,
    상기 프리미티브 픽셀은 하드웨어로 선별되는, 그래픽스 시스템을 동작시키 는 방법.
  19. 제 14 항에 있어서,
    상기 마스크 픽셀의 커버리지 분율 (fractional coverage) 을 표시하는 하나 이상의 변수를 생성하는 단계를 더 포함하며,
    상기 커버리지 분율은 상기 형상에 의해 커버되는 마스크 픽셀의 부분인, 그래픽스 시스템을 동작시키는 방법.
  20. 제 19 항에 있어서,
    상기 픽셀 영역은, 상기 스크린 형상의 일부가 상기 픽셀 영역의 내부에 있는 경우 커버된 영역으로 분류되고, 상기 스크린 형상이 전체적으로 상기 픽셀 영역의 외부에 있는 경우 커버되지 않은 영역으로 분류되며,
    상기 마스크 픽셀의 커버리지 분율을 표시하는 하나 이상의 변수를 생성하는 단계는, 커버된 영역인 마스크 픽셀에서의 픽셀 영역의 수를 결정하는 단계를 포함하는, 그래픽스 시스템을 동작시키는 방법.
  21. 컴퓨터-판독가능 명령의 세트를 갖는 컴퓨터-판독가능 매체로서,
    상기 컴퓨터-판독가능 명령의 세트는,
    형상 디스크립션을 스크린 형상을 정의하는 스크린 좌표로 변환하는 단계;
    상기 스크린 형상으로부터 바운드 프리미티브를 생성하는 단계로서, 상기 바운드 프리미티브는 스크린 형상을 바운딩하는 것인, 상기 바운드 프리미티브를 생성하는 단계;
    상기 바운드 프리미티브를 복수의 프리미티브 픽셀로 레스터화하는 단계로서, 각각의 프리미티브 픽셀은 스크린 픽셀에 대응하는 것인, 상기 복수의 프리미티브 픽셀로 레스터화하는 단계;
    상기 스크린 형상을 복수의 마스크 픽셀로 레스터화하는 단계로서, 각각의 마스크 픽셀은 하나 이상의 픽셀 영역으로 분할되고, 각각의 마스크 픽셀은 상기 프리미티브 픽셀 중 하나에 대응하며, 각각의 픽셀 영역은 커버리지 기준에 따라 커버된 영역 또는 커버되지 않은 영역으로 분류되고, 각각의 마스크 픽셀은 부수적인(secondary) 커버리지 기준에 따라 커버된 마스크 픽셀 또는 커버되지 않은 마스크 픽셀로 분류되는 것인, 상기 복수의 마스크 픽셀로 레스터화하는 단계; 및
    커버된 마스크 픽셀에 대응하는 프리미티브 픽셀을 보유하고, 커버되지 않은 마스크 픽셀에 대응하는 프리미티브 픽셀을 폐기함으로써 상기 프리미티브 픽셀을 선별 (screen) 하는 단계를 포함하는, 컴퓨터-판독가능 매체.
  22. 형상 디스크립션을 스크린 형상을 정의하는 스크린 좌표로 변환하는 수단;
    상기 스크린 형상으로부터 바운드 프리미티브를 생성하는 수단으로서, 상기 바운드 프리미티브는 스크린 형상을 바운딩하는 것인, 상기 바운드 프리미티브를 생성하는 수단;
    상기 바운드 프리미티브를 복수의 프리미티브 픽셀로 레스터화하는 수단으로서, 각각의 프리미티브 픽셀은 스크린 픽셀에 대응하는 것인, 상기 복수의 프리미티브 픽셀로 레스터화하는 수단;
    상기 스크린 형상을 복수의 마스크 픽셀로 레스터화하는 수단으로서, 각각의 마스크 픽셀은 하나 이상의 픽셀 영역으로 분할되고, 각각의 마스크 픽셀은 상기 프리미티브 픽셀 중 하나에 대응하며, 각각의 픽셀 영역은 커버리지 기준에 따라 커버된 영역 또는 커버되지 않은 영역으로 분류되고, 각각의 마스크 픽셀은 부수적인(secondary) 커버리지 기준에 따라 커버된 마스크 픽셀 또는 커버되지 않은 마스크 픽셀로 분류되는 것인, 상기 복수의 마스크 픽셀로 레스터화하는 수단; 및
    커버된 마스크 픽셀에 대응하는 프리미티브 픽셀을 보유하고, 커버되지 않은 마스크 픽셀에 대응하는 프리미티브 픽셀을 폐기함으로써 상기 프리미티브 픽셀을 선별 (screen) 하는 수단을 포함하는, 장치.
  23. 제 22 항에 있어서,
    상기 보유된 프리미티브 픽셀에 대한 픽셀 속성을 생성하고, 상기 폐기된 프리미티브 픽셀에 대한 픽셀 속성을 생성하는 것을 삼가는 수단을 더 포함하는, 장치.
  24. 제 23 항에 있어서,
    상기 픽셀 속성은 상기 바운드 프리미티브의 꼭지점과 관련된 속성들 사이를 보간함으로써 생성되는, 장치.
  25. 제 22 항에 있어서,
    상기 바운드 프리미티브를 래스터화하는 수단은 하드웨어이고,
    상기 픽셀 마스크를 생성하는 수단은 컴퓨터-판독가능 매체 상의 명령을 실행하는 프로세서이며,
    상기 프리미티브 픽셀을 선별하는 수단은 하드웨어인, 장치.
  26. 제 22 항에 있어서,
    상기 마스크 픽셀의 커버리지 분율 (fractional coverage) 을 표시하는 하나 이상의 변수를 생성하는 수단을 더 포함하며,
    상기 커버리지 분율은 상기 형상에 의해 커버되는 마스크 픽셀의 부분인, 장치.
  27. 제 9 항에 있어서,
    상기 픽셀 마스크 생성기는, 상기 스크린 형상이 상기 픽셀 영역을 임계 퍼센트보다 많이 커버하는 경우 상기 픽셀 영역을 커버된 영역으로 분류하고, 상기 스크린 형상이 상기 픽셀 영역을 임계 퍼센트보다 적게 커버하는 경우 상기 픽셀 영역을 커버되지 않은 영역으로 분류하는, 장치.
  28. 제 27 항에 있어서,
    상기 마스크 픽셀의 커버리지 분율을 표시하는 하나 이상의 변수를 생성하는 것은, 커버된 영역인 마스크 픽셀에서의 픽셀 영역의 수를 결정하는 것을 포함하는, 장치.
  29. 제 28 항에 있어서,
    커버리지 분율을 나타내는 하나 이상의 변수를 형상의 에일리어싱을 방지하는데 채용하도록 구성된 블렌딩 모듈을 더 포함하는, 장치
  30. 제 9 항에 있어서,
    상기 픽셀 마스크 생성기는, 커버된 영역인 상기 마스크 픽셀에 대한 픽셀 영역의 수가 영역 임계값 이상인 경우 상기 마스크 픽셀을 커버된 것으로 분류하고, 상기 영역 임계값은 1 이상인, 장치.
  31. 제 19 항에 있어서,
    상기 픽셀 영역은, 상기 스크린 형상이 상기 픽셀 영역을 임계 퍼센트보다 많이 커버하는 경우 커버된 영역으로 분류되고, 상기 스크린 형상이 상기 픽셀 영역을 임계 퍼센트보다 적게 커버하는 경우 커버되지 않은 영역으로 분류되며,
    상기 마스크 픽셀의 커버리지 분율을 표시하는 하나 이상의 변수를 생성하는 단계는, 커버된 영역인 마스크 픽셀에서의 픽셀 영역의 수를 결정하는 단계를 포함하는 그래픽스 시스템을 동작시키는 방법.
KR1020097004383A 2006-08-03 2007-08-02 픽셀 마스크를 채용한 그래픽스 시스템 KR101046553B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/499,200 US7652677B2 (en) 2006-08-03 2006-08-03 Graphics system employing pixel mask
US11/499,200 2006-08-03
PCT/US2007/075135 WO2008017058A2 (en) 2006-08-03 2007-08-02 Graphics system employing pixel mask

Publications (2)

Publication Number Publication Date
KR20090040454A KR20090040454A (ko) 2009-04-24
KR101046553B1 true KR101046553B1 (ko) 2011-07-05

Family

ID=38870355

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097004383A KR101046553B1 (ko) 2006-08-03 2007-08-02 픽셀 마스크를 채용한 그래픽스 시스템

Country Status (6)

Country Link
US (1) US7652677B2 (ko)
EP (1) EP2047428A2 (ko)
JP (2) JP2009545827A (ko)
KR (1) KR101046553B1 (ko)
CN (1) CN101496065B (ko)
WO (1) WO2008017058A2 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7944442B2 (en) * 2006-09-26 2011-05-17 Qualcomm Incorporated Graphics system employing shape buffer
US8547395B1 (en) 2006-12-20 2013-10-01 Nvidia Corporation Writing coverage information to a framebuffer in a computer graphics system
US8004522B1 (en) * 2007-08-07 2011-08-23 Nvidia Corporation Using coverage information in computer graphics
US8325203B1 (en) 2007-08-15 2012-12-04 Nvidia Corporation Optimal caching for virtual coverage antialiasing
KR101415064B1 (ko) * 2007-12-11 2014-07-04 엘지디스플레이 주식회사 액정표시장치의 구동 제어 장치 및 방법
US8269775B2 (en) * 2008-12-09 2012-09-18 Qualcomm Incorporated Discarding of vertex points during two-dimensional graphics rendering using three-dimensional graphics hardware
KR20110110433A (ko) 2010-04-01 2011-10-07 삼성전자주식회사 영상 표시 장치 및 영상 표시 방법
KR102059578B1 (ko) * 2012-11-29 2019-12-27 삼성전자주식회사 3차원 그래픽스 렌더링 시스템에서 프리미티브 처리 장치 및 방법
US9582847B2 (en) * 2013-04-22 2017-02-28 Intel Corporation Color buffer compression
US10127700B2 (en) * 2014-03-31 2018-11-13 Samsung Display Co., Ltd. Generation of display overlay parameters utilizing touch inputs
US9478042B1 (en) 2014-08-12 2016-10-25 Google Inc. Determining visibility of rendered content
US9804709B2 (en) * 2015-04-28 2017-10-31 Samsung Display Co., Ltd. Vector fill segment method and apparatus to reduce display latency of touch events
US10269154B2 (en) 2015-12-21 2019-04-23 Intel Corporation Rasterization based on partial spans
US10051191B1 (en) 2017-03-31 2018-08-14 Qualcomm Incorporated Systems and methods for improved exposures when panning
CN107391073B (zh) * 2017-07-26 2020-07-10 北京小米移动软件有限公司 显示模组及电子设备
WO2021102772A1 (en) * 2019-11-28 2021-06-03 Qualcomm Incorporated Methods and apparatus to smooth edge portions of an irregularly-shaped display
US11308646B2 (en) 2020-05-13 2022-04-19 Walmart Apollo, Llc Extracting color from item images

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020097241A1 (en) 2000-08-18 2002-07-25 Mccormack Joel James System and method for producing an antialiased image using a merge buffer
US20020130886A1 (en) * 2001-02-27 2002-09-19 3Dlabs Inc., Ltd. Antialias mask generation
US20020171665A1 (en) 2001-05-18 2002-11-21 Sun Microsystems, Inc. Efficient antialiased dot rasterization

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0750515B2 (ja) * 1987-11-27 1995-05-31 株式会社日立製作所 三次元図形塗り潰し表示装置
US5321770A (en) * 1991-11-19 1994-06-14 Xerox Corporation Method for determining boundaries of words in text
JP3223617B2 (ja) * 1992-11-30 2001-10-29 富士ゼロックス株式会社 描画装置及び描画方法
US5613052A (en) * 1993-09-02 1997-03-18 International Business Machines Corporation Method and apparatus for clipping and determining color factors for polygons
JP3255549B2 (ja) * 1995-01-31 2002-02-12 松下電器産業株式会社 図形処理方法
JPH10191020A (ja) * 1996-12-20 1998-07-21 Canon Inc 被写体画像切出し方法及び装置
JP2957511B2 (ja) * 1997-03-28 1999-10-04 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィック処理装置
JP4332934B2 (ja) * 1999-06-17 2009-09-16 株式会社セガ アンチエイリアシング方法及びこれを用いた画像処理装置
GB9921777D0 (en) * 1999-09-16 1999-11-17 Koninkl Philips Electronics Nv Method and apparatus for handling translucency in 3d graphics
US6768491B2 (en) * 2001-12-21 2004-07-27 Ati Technologies Inc. Barycentric centroid sampling method and apparatus
EP1447774B1 (en) 2003-02-13 2018-03-07 ATI Technologies Inc. Method and apparatus for sampling on a non-power-of-two pixel grid
US7006110B2 (en) * 2003-04-15 2006-02-28 Nokia Corporation Determining a coverage mask for a pixel
JP4327105B2 (ja) * 2005-01-25 2009-09-09 株式会社ソニー・コンピュータエンタテインメント 描画方法、画像生成装置、および電子情報機器
US7456846B1 (en) * 2005-06-03 2008-11-25 Nvidia Corporation Graphical processing system, graphical pipeline and method for implementing subpixel shifting to anti-alias texture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020097241A1 (en) 2000-08-18 2002-07-25 Mccormack Joel James System and method for producing an antialiased image using a merge buffer
US20020130886A1 (en) * 2001-02-27 2002-09-19 3Dlabs Inc., Ltd. Antialias mask generation
US20020171665A1 (en) 2001-05-18 2002-11-21 Sun Microsystems, Inc. Efficient antialiased dot rasterization

Also Published As

Publication number Publication date
CN101496065B (zh) 2012-05-23
CN101496065A (zh) 2009-07-29
JP2009545827A (ja) 2009-12-24
EP2047428A2 (en) 2009-04-15
WO2008017058A2 (en) 2008-02-07
US20080030522A1 (en) 2008-02-07
KR20090040454A (ko) 2009-04-24
US7652677B2 (en) 2010-01-26
WO2008017058A3 (en) 2008-12-24
JP2012230689A (ja) 2012-11-22

Similar Documents

Publication Publication Date Title
KR101046553B1 (ko) 픽셀 마스크를 채용한 그래픽스 시스템
US7944442B2 (en) Graphics system employing shape buffer
US11682159B2 (en) Systems and methods for soft shadowing in 3-D rendering casting multiple rays from ray origins
CN101116111B (zh) 使用3d光栅化算法的2d/3d线条渲染
US11734879B2 (en) Graphics processing using directional representations of lighting at probe positions within a scene
JP5518967B2 (ja) グラフィック・パフォーマンス改善のための方法、装置およびコンピュータ・プログラム・プロダクト
US11348308B2 (en) Hybrid frustum traced shadows systems and methods
US20080068375A1 (en) Method and system for early Z test in title-based three-dimensional rendering
CN108734624A (zh) 用于处理图形的方法和装置
GB2476140A (en) Shadow rendering using stencil and depth buffers
Lengyel Voxel-based terrain for real-time virtual simulations
KR20170005033A (ko) 감소된 픽셀 쉐이딩을 위한 기술
Hertel et al. A Hybrid GPU Rendering Pipeline for Alias-Free Hard Shadows.
EP1926052B1 (en) Method, medium, and system rendering 3 dimensional graphics data considering fog effect

Legal Events

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

Payment date: 20140529

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 8