KR20020001518A - 데이타 처리 시스템 내에서 전화면 안티알리아싱을 위한방법 및 장치 - Google Patents

데이타 처리 시스템 내에서 전화면 안티알리아싱을 위한방법 및 장치 Download PDF

Info

Publication number
KR20020001518A
KR20020001518A KR1020010029643A KR20010029643A KR20020001518A KR 20020001518 A KR20020001518 A KR 20020001518A KR 1020010029643 A KR1020010029643 A KR 1020010029643A KR 20010029643 A KR20010029643 A KR 20010029643A KR 20020001518 A KR20020001518 A KR 20020001518A
Authority
KR
South Korea
Prior art keywords
image
data processing
processing system
desired size
graphics engine
Prior art date
Application number
KR1020010029643A
Other languages
English (en)
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 KR20020001518A publication Critical patent/KR20020001518A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/20Function-generator circuits, e.g. circle generators line or curve smoothing circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/12Indexing scheme for image data processing or generation, in general involving antialiasing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

이미지를 안티알리아싱하기 위한 데이타 처리 시스템 내의 방법 및 장치가 제공된다. 이미지는 원하는 크기보다 큰 크기의 오프스크린 메모리 내에 렌더링된다. 도시된 예에서, 이 크기는 원하는 크기의 적어도 2배이다. 이미지는 데이타 처리 시스템 내의 하드웨어 그래픽 엔진 내에서 원하는 크기로 재조절된다. 이미지는 원하는 크기로 디스플레이된다.

Description

데이타 처리 시스템 내에서 전화면 안티알리아싱을 위한 방법 및 장치{A METHOD AND APPARATUS IN A DATA PROCESSING SYSTEM FOR FULL SCENE ANTI-ALIASING}
본 발명은 전반적으로 개선된 데이타 처리 시스템에 관한 것으로, 보다 구체적으로는, 그래픽 데이타를 처리하기 위한 방법 및 장치에 관한 것이다. 더욱 더 구체적으로는, 본 발명은 3D 그래픽 데이타의 전화면 안티알리아싱(full scene anti-aliasing)을 위한 방법 및 장치를 제공한다.
개인용 컴퓨터 및 워크스테이션과 같은 데이타 처리 시스템은 CAD/CAM, CAE, 및 DCC(Digital Content Creation)을 포함한 다양한 3D 그래픽 애플리케이션을 실행하는데 이용된다. 엔지니어, 과학자, 및 기술자들은 이들 애플리케이션들을 매일 이용한다. 이들 애플리케이션은 구조물 내의 응력을 모델링하기 위해 유한 엘리먼트 분석(finite element analysis)과 같은 복잡한 계산을 포함한다. 또 다른 애플리케이션들은 화학 모델링 또는 분자 모델링을 포함한다. CAD/CAM/CASE 애플리케이션들은 대개 그래픽 어댑터 또는 서브시스템에 의해 처리되는 점, 선, 삼각형과 같은 작은 프리미티브(primitive)의 개수면에서 볼 때 그래픽 집중형이다. DCC 애플리케이션들은, 고도의 포토리얼리즘을 요구하는 다양한 3D 그래픽 화상을 생성하는데 이용된다. 일반적으로 이들 애플리케이션들의 사용자들은 데이타 처리시스템이 지극히 빠른 그래픽 정보와 지극히 양호한 화상 품질을 제공해 줄 것을 요구한다. 비디오 디스플레이 단말상에 그래픽 디스플레이를 제공하는 그래픽 데이타 스트림의 처리를 위해, 빠른 응답성의 디스플레이와 고해상도 그래픽 프레임 버퍼를 제공하는 지극히 빠른 그래픽 시스템이 요구된다. 이것은 라인/엣지를 계단형 또는 톱날형이 아니라 부드럽게 디스플레이하기에 충분한 개수의 픽셀 샘플이 있음을 보장해준다. 이러한 유형의 그래픽 시스템에서, 처리와 디스플레이를 위해 프리미티브(primitive)가 수신된다. 프리미티브는 예를 들어, 점, 선, 또는 삼각형과 같은 이미지를 생성하기 위한 구축 블럭으로서 이용되는 그래픽 요소이다. 프리미티브는 하나 이상의 버텍스(vertice) 그룹에 의해 정의된다. 프리미티브가 디스플레이되는 방식을 정의하기 위해 속성(attribute)이 이용된다. 예를 들어, 속성에는 라인 스타일, 컬러, 및 표면 텍스쳐가 포함된다. 버텍스는 점, 변의 끝점, 또는 2개의 변이 만나는 다각형의 코너를 정의한다. 또한, 데이타는 위치 좌표, 컬러, 법선(normal), 및 텍스쳐 좌표와 같은 정보를 포함한다. 디스플레이를 위해 프리미티브와 다른 데이타가 어떻게 처리될지를 정의하는 명령어들이 그래픽 시스템으로 전송된다.
프리미티브를 디스플레이할 때, 흔한 문제가 바로 톱니형 가장자리가 생긴다는 것이다. 이러한 효과는 "계단 현상" 또는 "톱니 현상"이라 언급되며, 각각의 픽셀이 프리미티브 컬러로 대체되거나 또는 전혀 바뀌지 않는 방식으로 변환된 후 주사되는 "변환 또는 비변환(all or nothing)"형의 접근법으로부터 기인한 것이다. 이러한 계단 현상은 알리아싱이라 알려진 현상의 한 실례이다. 알리아싱을 감소시키거나 제거하는 기술을 적용하는 것은 안티알리아싱이라 불린다. 이와 같은 안티알리아싱 기능이 그래픽 어댑터 상에 제공될 수도 있다. 그러나, 현재, 이러한 유형의 지원은 수퍼샘플링, 멀티샘플링, 및 데이타 축적과 같은 기능을 위한 특별한 하드웨어를 요구한다. 전화면 안티알리아싱(Full Scene Alti-Aliasing; FSAA)과 같은 안티알리아싱 기능을 제공하게 되면 그래픽 어댑터가 더 복잡하게 되고 가격이 상승된다.
따라서, 그래픽 칩 내에 여분의 논리 장치를 추가시킴으로써 그래픽 어댑터의 복잡성과 가격을 증가시키지 않고도 FSAA을 제공하기 위한 방법 및 장치가 필요하다.
본 발명은 이미지를 안티알리아싱시키기 위한 방법 및 장치를 데이타 처리 시스템 내에 제공한다. 원하는 이미지 크기보다 큰 크기로 오프 스크린 메모리 내에 이미지가 렌더링된다. 도시된 예에서, 이 크기는 원하는 크기의 적어도 2배이다. 그 다음, 데이타 처리 시스템 내의 하드웨어 그래픽 엔진 내에서 그 크기가 원하는 크기로 다시 재조절(resize)된다. 이미지는 원하는 크기로 디스플레이된다.
도 1은 본 발명의 양호한 실시예에 따라 본 발명이 구현될 수 있는 데이타 처리 시스템을 도시하는 도면.
도 2는 본 발명의 양호한 실시예에 따른 데이타 처리 시스템의 블럭도.
도 3은 본 발명의 양호한 실시예에 따른 지오메트리 엔진의 블럭도.
도 4는 본 발명의 양호한 실시예에 따른 전화면 안티알리아싱을 위한 데이타 흐름도를 도시하는 블럭도.
도 5는 본 발명의 양호한 실시예에 따른 FSAA를 인에이블링하기 위한 프로세스의 흐름도.
도 6은 본 발명의 양호한 실시예에 따른 FSAA를 위한 프로세스의 흐름도.
도 7은 본 발명의 양호한 실시예에 따른 FSAA 기능을 위한 코드를 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
202 : 버스
204 : 처리 유닛
206 : 메모리
208 : 그래픽 어댑터
210 : 디스플레이 장치
도면을 참조하면, 특히 도1을 참조하면, 본 발명의 양호한 실시예에 따라 본 발명이 구현되는 데이타 처리 시스템이 도시되어 있다. 시스템 유닛(110), 비디오 디스플레이 단말(102), 키보드(104), 플로피 드라이브와 다른 유형의 영구 저장 장치 매체나 리무브블 저장장치 매체와 같은 저장 장치(108), 및 마우스(108)을 포함하는 컴퓨터(100)이 도시되어 있다. 이 외에도, 예를 들어, 조이스틱, 터치패드, 터치 스크린, 트랙볼, 마이크로폰등과 같은 입력 장치가 개인용 컴퓨터(100) 내에 포함되어 있다. 컴퓨터(100)은, 뉴욕주 아몽크시에 위치한 인터내셔널 비즈니스 코포레이션사의 IBM RS/600 또는 인텔리스테이션 컴퓨터와 같은 다른 적절한 컴퓨터(PC 또는 워크스테이션)일 수도 있다. 비록 실시예는 컴퓨터를 도시하고 있지만, 본 발명은 네트워크 컴퓨터와 같은 다른 유형의 데이타 처리 시스템으로도 구현될 수 있다. 또한, 컴퓨터(100)은 양호하게는 컴퓨터(100) 내에서 동작하는 컴퓨터 판독가능 매체에 상주하는 소프트웨어의 형태로 구현될 수도 있다.
도 2를 참조하면, 본 발명의 양호한 실시예에 따른 데이타 처리 시스템의 블럭도가 도시되어 있다. 데이타 처리 시스템(200)은 도 1의 컴퓨터(100)과 같은 데이타 처리 시스템에서 사용되는 구성요소들의 한 예이다. 데이타 처리 시스템(200)은, 주변 기기 상호접속(PCI) 로컬 버스 아키텍쳐의 형태로 된 버스를 채택하고 있다. 비록 실시예는 PCI 버스를 이용하고 있지만, AGP및 ISA와 같은 다른 버스 아키텍쳐도 이용될 수 있다. 이 예에서, 처리 유닛(204), 메모리(206), 및 그래픽 어댑터(208)은 버스(202)에 접속되어 있다. 이 예에서, 처리 유닛(204)는 하나 이상의 마이크로프로세서를 포함한다.
이 예에서, 그래픽 어댑터(208)은 디스플레이 장치(210) 상에 디스플레이하기 위한 그래픽 데이타를 처리한다. 그래픽 데이타는 처리 유닛(204)에 의해 실행되는 애플리케이션으로부터 수신된다. 그래픽 어댑터(208)은 래스터 엔진(212),지오메트리 엔진(214), 프레임 버퍼(216), 및 비디오 컨트롤러(218)을 포함한다. 래스터 엔진(212)는 애플리케이션으로부터 그래픽 데이타를 수신한다. 데이타가 이미지를 수신하는지 또는 지오메트리를 수신하는지에 따라, 래스터 엔진은 직접 처리하던지 또는 처리를 위해 지오메트리 엔진으로 전송한다. 이 예에서, 래스터 엔진(212)는 이미지를 래스터라이즈하여 디스플레이하기 위해 이용되는 하드웨어 및/또는 소프트웨어를 포함한다. 래스터 엔진(212)는 텍스트와 이미지를 픽셀 메트릭스로 변환하여 스크린상에 디스플레이하기 위한 비트맵을 형성한다. 도시된 예에서, 래스터 엔진(212)는 수신된 그래픽 데이타를 지오메트리 엔진(214)로 전송하는 지오메트리 엔진(214)는, 래스터 엔진(212)가 처리할 수 있도록 스크린 좌표 내에 한 세트의 버텍스와 이들 버텍스 각각에서의 컬러 강도를 발생시킨다. 그 다음, 처리된 데이타는 래스터 엔진(212)로 다시 보내진다. 이 예에서, 본 발명의 메카니즘은 지오메트리 엔진(214) 내에 위치해 있다.
프레임 버퍼(216)은 32-비트 r, g, b, a 컬러값과, 24-비트 z 깊이와, 8-비트 스텐실값(stencil value)을 포함하는 한 프레임의 화소를 유지하기 위해 이용되는 메모리 영역이다. 프레임 버퍼(216)은 전형적으로 스크린 디스플레이를 위해 이용되며 스크린상에서의 이미지 영역의 최대 크기이다. 프레임 버퍼(216)은, 픽셀들을 한 프레임씩 유지하기 위해 그래픽 어댑터(208) 상에서 별도의 메모리 뱅크를 형성한다. 래스터라이저가 상기 프레임 내로의 픽셀 추가를 완료하면, 비디오 컨트롤러(RAMDAC, 218)은 프레임 버퍼(216) 내에서 디지털 픽셀 데이타를 취하여, 이를 아날로그 신호로 변환하고, 디스플레이 장치(210) 상에 디스플레이를 발생시킨다. 전형적으로, 비디오 컴트롤러(218)은 한번에 한 주사선씩 프레임 버퍼(216) 전체를 순환할 것이다.
본 발명은, 그래픽 엔진 내의 FSAA 기능은 오늘날의 그래픽 어댑터내에서 기능의 리던던시(redundancy)를 생성하고 있음을 인식하고 있다. 특히, 텍스처 매핑과 비디오 스케일링에서 그러하다. 현재의 그래픽 어댑터는, 소비자의 요구를 충족시키면서 경쟁력을 유지하기 위해 고성능의 텍스처 매핑과 비디오 스케일링을 지원해야 한다. 본 발명은 이들 기능이 전통적인 FSAA 접근법에서의 축소 단계(downscaling step)의 특징과 매우 유사하다는 것을 인식하고 있다. 본 발명은 이들 기능을 제공하기 위해 특별한 하드웨어를 요구하지 않으면서 전화면 안티알리아싱(FSAA)을 제공하기 위해 데이타 처리 시스템(200) 내에서 사용하기 위한 메카니즘을 제공한다. FSAA는 디스플레이 장치의 해상도 제약을 보상함으로써 개선된 이미지 품질을 제공하기 위해 이용된다. 해상도 제약으로 인해, 컴퓨터 발생된 이미지는 이미지의 적절한 세부사항을 도시하는데 요구되는 단위거리당 픽셀개수 면에서 언더샘플링(undersample)된다. 이러한 언더샘플링 효과는 알리아싱으로 나타난다. 특히, FSAA는 그래픽 어댑터(208) 내에서 표준 하드웨어 구성 요소를 이용하여 달성된다.
본 발명의 메카니즘은, 이미지가 디스플레이되는 스크린 윈도우의 크기보다 큰 크기로 오프 스크린 메모리 내에 이미지를 렌더링한다. 전형적으로 이미지는 수직축 및 수평축에서 스크린 윈도우의 크기보다 2배 내지 4배의 크기로 렌더링된다. 그 다음, 오프스크린 메모리 내에 렌더링된 이미지는 텍스쳐 메모리 내에 복사되고, 여기서 텍스쳐를 폴리곤상에 스크린 윈도우의 크기로 전사(decal)한다. 폴리곤 표면상으로의 텍스쳐의 전사는, 텍스쳐 메모리로부터 가져온 텍셀들은 인입하는 어떠한 프레그먼트 컬러로 변조되지 않는다는 것을 암시한다. 이들은 컬러가 바뀌지 않고 폴리곤 표면 위에 놓여질 뿐이다. 텍셀은 텍스쳐로서 저장된 데이타를 말한다. 픽셀은 컬러 버퍼(color buffer) 내에 저장된 데이타를 지칭하는 용어이다. 다른 방법으로서, 스크린 윈도우에 맞도록 이미지를 축소하기 위해 어댑터 내에 위치한 비디오 스케일러 로직이 이용될 수도 있다. 이 메카니즘은 FSAA를 위해 추가적인 하드웨어 지원을 요구하지 않으며 싱글 패스(single pass)로 달성될 수 있다. 또한, 오늘날의 비디오 스케일러 요건은 대개 텍스쳐 엔진 필터 내에서 발견되는 것보다 더 높은 품질의 필터링을 암시한다. 이러한 요건은, 스크린 윈도우에 맞도록 이미지가 축소될 때 정보 손실이 더 적다는 것을 의미한다. 도 3을 참조하면, 본 발명의 양호한 실시예에 따른 지오메트리 엔진의 블럭도가 도시되어 있다. 이 예에서, 지오메트리 엔진(300)은 지오메트리 유닛(geometry unit, 302)와, 래스터 인터페이스 유닛(raster interface unit, 304)와, 래스터 인터페이스 유닛(306)을 포함한다. 지오메트리 유닛(302) 내에서의 처리를 위해 래스터 인터페이스 유닛(304)에 의해 데이타가 수신된다. 데이타는 도 2의 래스터 엔진(212)와 같은 래스터 엔진에 의해 수신된다. 처리된 데이타는 래스터 인터페이스 유닛(306)을 이용하여 래스터 엔진으로 반환된다. 본 발명의 메카니즘은 지오메트리 유닛(302) 내의 처리 요소들 내에 구현된다.
이 예에서, 지오메트리 유닛(302)는, 버텍스 패커 유닛(308), 법선/모델 뷰변환 유닛(310), 법선 벡터화 유닛(312), 텍스쳐 좌표 생성 유닛(314), 광원 유닛(316), 텍스쳐/투사 변환 유닛(318), 클리핑 유닛(320), 포그 인자 생성 유닛(322), 원근 분할 유닛(324), 뷰포트 변환 유닛(326), 및 버텍스 집중화 유닛(328)을 포함하는 한 세트의 처리 요소들을 포함하는 그래픽 파이프라인이다. 이들 처리 요소들은 지오메트리 유닛(302) 내의 처리단(stage)으로 불린다.
버텍스 팩커 유닛(vertex packer unit, 308)은 지오메트리 유닛의 상부 처리단으로서 버텍스에 대한 속성 필드를 모은다. 버텍스는 점, 변의 끝점, 또는 두 변이 만나는 폴리곤의 코너를 정의한다. 각각의 버텍스는 지오메트리 파이프라인 내의 임의의 처리단에 의해 사용되는 모든 가능한 데이타 프레그먼트를 포함한다. 이들 프레그먼트는, 예를 들어, 위치 좌표, 컬러, 법선, 및 텍스쳐 좌표와 같은 데이타이다. 법선/모델 뷰 변환 유닛(310)은 물체 좌표(object coordinate)를 세계 좌표 시스템(world coordinate system)으로 변환하는데 이용된다. XYZ 버텍스, 법선, 및 텍스쳐 좌표는, 프레임 버퍼(216) 내에서 이미지를 생성하기 위해 이들 좌표가 이용되기 이전에 변환된다. 이 기능은, 개개의 모델링 변환 메트릭스의 결합체인 하나의 변환 메트릭스를 이용하여 각각의 폴리콘의 버텍스를 변환시킴으로써 수행된다.
법선화 유닛(normalize unit, 312)는 변환된 버텍스의 법선화 기능을 수행하며 각각의 버텍스를 소수점 1자리의 법선 벡터화한다. 즉, 법선화 유닛(312)는 법선/모델 뷰 변환 유닛(310)에서의 매트릭스 조작에 의해 유발된 스큐(skew)를 제거한다. 텍스쳐 좌표 생성 유닛(314)는 프리미티브에 대한 텍스쳐를 디스플레이하는데 이용되는 텍스쳐 좌표를 생성한다. 텍스쳐 좌표 생성 유닛(314)는 하나의 좌표 시스템으로부터 텍스쳐 좌표에 필요한 다른 시스템으로 변환함으로써 각각의 텍스쳐 좌표에 대한 텍스쳐 값을 계산한다.
광원 유닛(lighting unit, 316)은 각각의 버텍스에 대한 쉐이딩과 컬러를 계산한다. 광원 유닛(316)은 주변광, 확산광, 반사광과 같은 인자들을 고려하여 광원 모델과 쉐이딩 모델을 버텍스에 적용한다. 쉐이딩은, 콘스탄트 쉐이딩, 고라우드 쉐이딩, 퐁(phong) 쉐이딩과 같은 다양한 프로세스를 이용하여 결정된다. 텍스쳐/투사 변환 유닛(318)은 프리미티브의 형태 또는 형상을 변경한다. 도시된 예에서, 본 발명의 프로세스는 텍스쳐/투사 변환 유닛(318)로 구현될 수 있다. 그러나, 본 발명은 도시된 시스템에서와 같은 하드웨어 시스템뿐만 아니라 소프트웨어 그래픽 처리 시스템에 적용될 수 있다.
클리핑 유닛(clipping unit, 320)은 클립 영역 내에 놓인 프리미티브 부분을 식별케한다. 클립 영역은 전형적으로 스크린 또는 뷰 볼륨상의 윈도우이다. 포그 인자 생성 유닛(322)는 뷰포트로부터 물체가 멀어질수록 그 물체를 흐릿하게 만드는데 이용된다. 전형적으로, 뷰포트로부터 물체가 멀리 위치함에 따라 물체 앞쪽에 안개가 생성된다.
원근 분할 유닛(perspective divide unit, 324)는 인입 좌표(incoming coordinate)로부터 정규화된 장치 좌표(normalized device coordinate)를 생성하는데 이용된다. 이 장치는 포그인자 발생 장치로부터 좌표를 취하여 이를 w로 나누어 뷰포트 변환 장치(326)가 사용할 정규화된 장치 좌표를 생성한다. 뷰포트 변환장치(326)은 정규화된 장치 좌표에서 프리미티브를 취하여 이들을 윈도우 좌표로 변환한다. 장치 좌표는 이미지를 디스플레이하기 위해 어댑터에 의해 사용되는 좌표이다. 정규화된 장치 좌표는 0 내지 1사이로 정규화된 장치 좌표이다.
버텍스 집중화 유닛(vertex funnel unit, 328)은 버텍스들의 프레그먼트를 취하여 래스터 인터페이스 유닛(304)가 사용하도록 이들을 버스상에 위치시킨다. 이 예에서, 프레그먼트들은 버스상으로의 전송을 위해 64비트 데이타 워드로 집중화된다
지오메트리 유닛(302)에 도시된 처리단들은 OpenGL Graphics System: A Specification(Version 1.2)에 정의된 OpenGL에 명시된 동작들에 기초하고 있다. 도 2의 그래픽 어댑터(208) 및 도 3의 지오메트리엔진(300)의 도면 및 설명은 본 발명의 기술적 제한을 의미하는 것이 아니라 본 발명의 프로세스에 사용될 수 있는 하드웨어의 일례를 의도한 것이다.
도 4를 참조하면, 전화면 안티알리아싱을 위한 데이타 흐름을 도시하는 블럭도가 본 발명의 양호한 실시예에 따라 도시되어 있다. 이 예에서, 애플리케이션(400)은 예를 들어 OpenGL ARB_multisample과 같은 애플리케이션 프로그래밍 인터페이스(API)를 이용하여 전화면 안티알리아싱을 선택적으로 인에이블할 수 있다.
API 호출은 장치 드라이버(402)에 의해 수신된다. 이 예에서 장치 드라이버(402)는 그래픽 장치 드라이버이다. 장치 드라이버는 주변 장치를 운영 체제에 연결시키는 프로그램 루틴이다. 장치 드라이버는 장치의 명령어와 그 특성을 상세히 이해하는 프로그래머에 의해 작성되며 애플리케이션에 의해 요청되는 기능을 수행하는데 필요한 정확한 머신 랭귀지를 포함한다. 이러한 호출의 수신에 응답하여, 장치 드라이버(402)는, 지오메트리 또는 이미지가 렌더링될 오프스크린 컬러 버퍼(408)과 같은 오프스크린 윈도우 영역을 설정하는 명령어를 그래픽 어댑터(404)에게 전송한다. 이 예에서 오프스크린 윈도우 영역은 프레임 버퍼 메모리(406) 내에 위치한 오프스크린 컬러 버퍼이다. 이 오프스크린 영역은 온스크린 윈도우보다 크도록 선택된다. 온스크린 윈도우는 디스플레이 윈도우이다. 오프스크린의 크기는 선택가능하지만, 도시된 예는 폭과 높이에 있어서 온스크린 윈도우의 적어도 2배인 오프스크린 영역을 이용한다. 이론적으로, 임의의 크기가 선택가능하지만, 실용적으로, 그 실제 크기는 그래픽 어댑터 내의 가용 메모리에 의해 제한된다.
애플리케이션(400)이 이미지의 렌더링을 시작할 때, 장치 드라이버(402)는 이미지의 렌더링을 오프스크린 컬러 버퍼(408)로 리디렉트한다. 추가적으로, 장치 드라이버(402)는, 그래픽 프리미티브가 오프스크린 윈도우 크기에 적합한 규모로 렌더링되는 것을 보장하기 위해 관찰 변환(viewing transform)에 필요한 조절을 가한다. 관찰 변환은 렌더링을 위해 셋업될 때 흔히 애플리케이션에 의해 이용된다. 이 경우에, 장치 드라이버는 이들 애플리케이션 정의형 변환을 저장하고, 그 다음 축소단계용으로 이 변환을 설정하고, 그 다음 원래의 애플리케이션 설정 변환을 복워니킨다. 애플리케이션(400)이 렌더링 과정을 끝내면, 애플리케이션(400)은 렌더링된 이미지를 디스플레이하기 위해 장치 드라이버(402)로 명령 또는 호출을 전송한다. 이 명령 또는 호출은 OpenGL API인 glSwapBuffers 또는 glFlush와 같은 API를 통해 이루어 질 수 있다.
렌더링된 이미지를 디스플레이시키는 명령어의 수신에 응답하여, 장치 드라이버(402)는 그래픽 어댑터(404)에게 한 세트의 명령을 내린다. 이 예에서, 그래픽 어댑터(404)는 (도시되지 않은) 지오메트리 엔진과 프레임 버퍼 메모리(406)을 포함한다. 프레임 버퍼는 데이타 프레임을 유지하는데 이용되는 메모리 영역이다. 이 예에서, 프레임 버퍼 메모리(406)은 오프스크린 컬러 버퍼(408), 텍스쳐 메모리(410), 컬러 버퍼 메모리(412), 및 Z-버퍼 메모리(414)를 포함한다. 그래픽 어댑터(404)는 도 2의 그래픽 어댑터(208)로서 구현될 수도 있다.
이들 명령은 오프스크린 컬러 버퍼(408) 내의 이미지 데이타가 텍스쳐 메모리(410)으로 복사되게끔 만든다. 그 후, 장치 드라이버(402)는 오프스크린 컬러 버퍼(408)로부터 텍스쳐 메모리(410)으로 복사되는 데이타를 이용하여 스크린 윈도우상에 텍스쳐 맵 폴리곤을 렌더링하는 텍스쳐 맵 명령어를 전송한다. 텍스쳐 맵 폴리곤은 그래픽 데이타를 컬러 버퍼 메모리(412) 내에 위치시킴으로써 렌더링된다. 도시된 예에서, 폴리곤은, 오프스크린 컬러 버퍼(408) 내에서 셋업된 오프스크린 윈도우의 크기의 1/2인 스크린 윈도우의 크기에 부합된다.
이 프로세스의 결과는, 오프스크린 컬러 버퍼(408) 내의 오프스크린 윈도우로 렌더링되는 원래 이미지의 축소(downscaling)이다. 이들 예에서, 그래픽 어댑터 내의 텍스쳐 매핑 엔진에 의해 축소될 때 바이리니어 필터링 알고리즘이 이미지에 적용된다. 그 결과는 안티알리아싱된 이미지로서 디스플레이를 위해 컬러 버퍼메모리(412) 내에 놓인다.
도 5를 참조하면, FSAA을 인에이블링하기 위한 프로세스의 흐름도가 본 발명의 양호한 실시예에 따라 도시되어 있다. 이 프로세스는 도 4의 장치 드라이버(402)와 같은 장치 드라이버로 구현된다. 이 프로세스는 애플리케이션으로부터 호출을 수신하는 것으로부터 시작한다(단계 500). 오프스크린 윈도우 영역이 선택되고(단계 502), 더 큰 윈도우를 위해 관찰 매트릭스가 설정된다(단계 504). 그 후, 프로세스가 종료한다. 이런 식으로, FSAA 기능은 인에이블 또는 턴온된다. FSAA 기능을 디스에이블 또는 턴오프시키기 위해 비슷한 호출이 이루어질 수도 있다. 이 예에서, 호출은 OpenGL ARB_multisample과같은 API 호출이다. FSAA 기능은 애플리케이션에 의해 항상 요구되는 것은 아니다. 애플리케이션에 의해 몇가지 방식으로 턴오프될 수도 있으나, OpenGL API는 OpenGL 드라이버에 의해 인식되는 통상의 glEnable/glDisable을 통해 사용자에게 Enable/Disable FSAA을 허용하는 멀티샘플을 호출하는 기능을 허용한다.
도 6을 참조하면, FSAA을 위한 프로세스의 흐름도가 본 발명의 양호한 실시예에 따라 도시되어 있다. 도 6에 도시된 이 프로세스는 FSAA 기능을 제공하기 위해 도 4의 장치 드라이버(402)와 같은 장치 드라이버를 구현할 수도 있다.
이 프로세스는 애플리케이션으로부터 렌더링 명령어를 수신하는 것으로부터 시작한다(단계 600). 명령어가 수신되면, FSAA 기능이 턴온되었는지에 관한 판별이 이루어진다(단계 602). FSAA 기능이 오프(off)되어 있다면, 데이타는 온스크린 윈도우상에 렌더링되고(단계 604), 그 후 프로세스는 종료한다. 이 예에서, 온스크린 윈도우는 도 4의 컬러 버퍼 메모리(412) 내에 위치한다.
반면, FSAA 기능이 온(on)되어 있다면, 데이타 렌더링 명령어는 오프스크린 윈도우 내에 데이타를 위치시키도록 처리된다(단계 606). 디스플레이 이미지가 발생된다(단계 608). 그 후, 오프스크린 윈도우로부터 텍스쳐 메모리로 이미지를 복사하도록 명령어가 그래픽 어댑터로 전송된다(단계 610). 그 다음 텍스쳐 매핑된 폴리곤을 온스크린 윈도우에 디스플레이하도록 어댑터로 명령어가 전송되고(단계 612), 그 후 프로세스가 종료한다. 텍스쳐 메모리의 로드는, 간단한 OpenGL CopyTextImage 명령어를 통해 발생한다. 이 메카니즘은 OpenGL 1.2 명세에 기술되어 있으며 모든 OpenGL 장치 드라이버에 의해 지원된다. 일단 복사가 완료되면, OpenGL 장치 드라이버는, 폴리곤을 그린후 로딩된 텍스쳐를 이 폴리곤에 매핑하는 일련의 OpenGL 명령어들을 내려야 한다. 이 명령어는 텍스쳐 매핑이 인에이블된 동안 실행되는 간단한 프리미티브 그리기 명령어이다.
도 7을 참조하면, 본 발명의 양호한 실시예에 따라 FSAA 기능을 위한 코드가 도시되어 있다. 코드(700)은 본 발명의 프로세스를 구현하는데 이용될 수 있는 API를 설명하는 코드 조각이다. 코드(700)은 앞서 도 6에 도시된 프로세스를 구현하기 위한 OpenGL을 따르는 코드를 도시한다.
따라서, 본 발명의 메카니즘은 FSAA 기능을 수행하기 위해 특별한 하드웨어를 요구하지 않으면서 디스플레이 이미지의 해상도 제한을 보상함으로써 개선된 이미지 품질을 제공한다. 도시된 예에서, 이미지는 원하는 해상도의 2배 내지 4배로 렌더링된 다음, 원래의 윈도우 크기에 맞도록 축소된다. 해상도를 4배 증가시킴으로써, 각각 x축 및 y축 방향으로는 실제로 2배의 변동이 발생하지만, 전체 윈도우 면적은 4배 증가한다. 이 프로세스는 원래의 윈도우에 관하여 오버샘플링을 효과적으로 제공한다. 도시된 예에서 축적을 달성하기 위해 텍스쳐 논리 기능(texture logic function)이 이용된다.
본 발명이 단독 기능적 데이타 처리 시스템의 관점에서 기술되었지만, 본 발명의 프로세스들은 컴퓨터 판독가능한 매체의 형태로 된 명령어들로 배포될 수도 있으며 본 발명은 배포시에 이용되는 매체에 관계없이 마찬가지로 적용될 수 있다는 것을 당업자는 이해할 것이다. 컴퓨터 판독가능한 매체의 예로는 플로피 디스크, 하드디스크, RAM, CD-ROM, DVD-ROM과 같은 기록형 매체와 무선 주파수 및 광파 전송과 같은 전송형 매체가 있다. 컴퓨터 판독가능한 매체는 특정의 데이타 처리 시스템에서 사용하기 위해 디코딩되는 코딩된 포멧의 형태를 취할 수도 있다.
본 발명의 설명이 도시되고 기술되었지만, 이 설명은 본 발명을 실시예에 도시된 형태로만 제한하려는 의미는 아니다. 다양한 수정과 변형이 있을 수 있다는 것을 당업자는 이해할 것이다. 예를 들어, 도면에서 스케일링을 제공하기 위한 메카니즘으로서 텍스쳐 논리가 도시되어 있지만, 그래픽 어댑터 내의 다른 하드웨어가 이용될 수도 있다. 비디오 스케일러는 본 발명의 FSAA 기능을 위한 스케일링을 제공하는데 이용되는 또 다른 처리 소자 또는 그래픽 하드웨어의 한 예이다. 추가적으로, 예들이 OpenGL에 관하여 설명되었지만, 본 발명의 메카니즘은 임의의 그래픽 프로토콜을 이용하여 구현될 수도 있다. 본 발명의 원리와 실제적 응용예들을 가장 잘 설명하며 의도하는 특정한 목적을 위해 다양한 수정을 가한 다양한 실시예에 대비하여 당업자가 본 발명을 이해할 수 있도록 실시예들이 선택되었고 기술되었다.
그래픽 어댑터의 복잡성과 가격을 증가시키지 않고도 전화면 안티알리아싱(FSAA)을 제공하기 위한 방법 및 장치가 제공된다.

Claims (19)

  1. 데이타 처리 시스템에서 이미지를 안티알리아싱하기 위한 방법에 있어서,
    상기 이미지를 원하는 크기보다 큰 크기로 오프스크린 메모리에 렌더링하는 단계와,
    상기 데이타 처리 시스템 내의 하드웨어 그래픽 엔진 내에서 상기 이미지를 상기 원하는 크기로 재조절하는 단계와,
    상기 이미지를 상기 원하는 크기로 디스플레이하는 단계
    를 포함하는 안티알라이싱 방법.
  2. 제1항에 있어서, 상기 그래픽 엔진 내의 텍스쳐 엔진이 상기 크기의 재조절을 수행하는 안티알리아싱 방법.
  3. 제1항에 있어서, 상기 그래픽 엔진 내의 비디오 스케일러가 상기 크기의 재조절을 수행하는 안티알리아싱 방법.
  4. 데이타 처리 시스템에서 이미지를 안티알리아싱하기 위한 방법에 있어서,
    상기 이미지를 오프 스크린 메모리에 렌더링하되 상기 이미지의 원하는 크기보다 적어도 2배의 크기로 렌더링하도록 하는 제1 명령어를 하드웨어 그래픽 엔진에 전송하는 단계와,
    상기 렌더링된 이미지를 상기 원하는 크기로 재조절하여 디스플레이 이미지를 형성하도록 하는 제2 명령어를 상기 하드웨어 그래픽 엔진으로 전송하는 단계
    를 포함하는 안티알리아싱 방법.
  5. 제4항에 있어서, 상기 전송 단계들은 그래픽 장치 드라이버에 의해 수행되는 안티알리아싱 방법.
  6. 제4항에 있어서, 상기 전송 단계들은 애플리케이션에 의해 수행되는 안티알리아싱 방법.
  7. 제4항에 있어서, 상기 그래픽 엔진 내의 텍스쳐 엔진이 상기 렌더링된 이미지의 크기를 재조절하는 안티알리아싱 방법.
  8. 제4항에 있어서, 상기 그래픽 엔진 내의 비디오 스케일러가 상기 렌더링된 이미지의 크기를 재조절하는 안티알리아싱 방법.
  9. 제4항에 있어서, 상기 디스플레이 이미지를 디스플레이 장치 상에 디스플레이하는 단계를 더 포함하는 안티알리아싱 방법.
  10. 제4항에 있어서, 상기 이미지를 렌더링하기위해 상기 오프스크린 메모리 내의 관찰 영역(viewing area)을 설정하는 단계를 더 포함하는 안티알리아싱 방법.
  11. 제4항에 있어서, 상기 제2 명령어는 상기 렌더링된 이미지를 상기 오프스크린 메모리로부터 텍스쳐 메모리로 복사하는 안티알라이싱 방법.
  12. 데이타 처리 시스템에 있어서,
    버스 시스템과,
    한 세트의 프로세서 실행가능형 명령어를 포함하며 상기 버스에 접속된 메모리와,
    디스플레이 장치로의 접속용으로 구성되는 출력을 가지며 상기 버스에 접속된 그래픽 어댑터와,
    이미지를 오프 스크린 메모리에 렌더링하되 상기 이미지의 원하는 크기보다 적어도 2배의 크기로 렌더링하도록 하는 제1 명령어를 상기 그래픽 어댑터에 전송하고 상기 렌더링된 이미지를 원하는 크기로 재조절하여 디스플레이 이미지를 형성하도록 하는 제2 명령어를 상기 그래픽 어댑터에 전송하기 위해 한 세트의 프로세서 실행가능형 명령어를 실행하며 상기 버스에 접속된 프로세서 유닛
    을 포함하는 데이타 처리 시스템.
  13. 제12항에 있어서, 상기 버스 시스템은 하나의 버스를 포함하는 데이타 처리 시스템.
  14. 제12항에 있어서, 상기 버스 시스템은 브리지에 의해 상호접속된 한 세트의 버스를 포함하는 데이타 처리 시스템.
  15. 제12항에 있어서, 상기 프로세서 유닛은 하나의 프로세서 및 한 세트의 프로세서인 데이타 처리 시스템.
  16. 이미지를 안티알리아싱하기 위한 데이타 처리 시스템에 있어서,
    상기 이미지를 원하는 크기보다 큰 크기로 오프스크린 메모리에 렌더링하기 위한 렌더링 수단과,
    상기 데이타 처리 시스템 내의 하드웨어 그래픽 엔진 내에서 상기 이미지를 상기 원하는 크기로 재조절하기 위한 재조절 수단과,
    상기 이미지를 상기 원하는 크기로 디스플레이하기위한 디스플레이 수단
    을 포함하는 데이타 처리 시스템.
  17. 이미지를 안티알리아싱하기 위한 데이타 처리 시스템에 있어서,
    상기 이미지를 오프 스크린 메모리에 렌더링하되 상기 이미지의 원하는 크기보다 적어도 2배의 크기로 렌더링하도록 하는 제1 명령어를 하드웨어 그래픽 엔진으로 전송하기 위한 제1 전송 수단과,
    상기 렌더링된 이미지를 상기 원하는 크기로 재조절하여 디스플레이 이미지를 형성하도록 하는 제2 명령어를 상기 하드웨어 그래픽 엔진으로 전송하기 위한 제2 전송 수단
    을 포함하는 데이타 처리 시스템.
  18. 이미지를 안티알리아싱하기 위한 데이타 처리 시스템용의 컴퓨터 판독가능형 매체로된 컴퓨터 프로그램 제품에 있어서,
    상기 이미지를 원하는 크기보다 큰 크기로 오프스크린 메모리에 렌더링하기 위한 제1 명령어와,
    상기 데이타 처리 시스템 내의 하드웨어 그래픽 엔진 내에서 상기 이미지를 상기 원하는 크기로 재조절하기 위한 제2 명령어와,
    상기 이미지를 상기 원하는 크기로 디스플레이하기 위한 재3 명령어
    를 포함하는 컴퓨터 프로그램 제품.
  19. 이미지를 안티알리아싱하기 위한 데이타 처리 시스템용의 컴퓨터 판독가능형 매체로된 컴퓨터 프로그램 제품에 있어서,
    상기 이미지를 오프 스크린 메모리에 렌더링하되 상기 이미지의 원하는 크기보다 적어도 2배의 크기로 렌더링하는 제1 명령어를 하드웨어 그래픽 엔진으로 전송하기 위한 제1 명령어와,
    상기 렌더링된 이미지를 상기 원하는 크기로 재조절하여 디스플레이 이미지를 형성하도록 하는 제2 명령어를 상기 하드웨어 그래픽 엔진으로 전송하기 위한제2 명령어
    를 포함하는 컴퓨터 프로그램 제품.
KR1020010029643A 2000-06-22 2001-05-29 데이타 처리 시스템 내에서 전화면 안티알리아싱을 위한방법 및 장치 KR20020001518A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/599,187 2000-06-22
US09/599,187 US6567098B1 (en) 2000-06-22 2000-06-22 Method and apparatus in a data processing system for full scene anti-aliasing

Publications (1)

Publication Number Publication Date
KR20020001518A true KR20020001518A (ko) 2002-01-09

Family

ID=24398597

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010029643A KR20020001518A (ko) 2000-06-22 2001-05-29 데이타 처리 시스템 내에서 전화면 안티알리아싱을 위한방법 및 장치

Country Status (2)

Country Link
US (1) US6567098B1 (ko)
KR (1) KR20020001518A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100890702B1 (ko) * 2006-05-12 2009-03-27 엔비디아 코포레이션 그래픽 프로세서의 다중 디스플레이 헤드를 이용한안티앨리어싱

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6661424B1 (en) * 2000-07-07 2003-12-09 Hewlett-Packard Development Company, L.P. Anti-aliasing in a computer graphics system using a texture mapping subsystem to down-sample super-sampled images
US6937245B1 (en) * 2000-08-23 2005-08-30 Nintendo Co., Ltd. Graphics system with embedded frame buffer having reconfigurable pixel formats
US7576748B2 (en) 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US6677953B1 (en) * 2001-11-08 2004-01-13 Nvidia Corporation Hardware viewport system and method for use in a graphics pipeline
US20030142129A1 (en) * 2002-01-31 2003-07-31 Kleven Michael L. Content processing and distribution systems and processes
US7219352B2 (en) 2002-04-15 2007-05-15 Microsoft Corporation Methods and apparatuses for facilitating processing of interlaced video images for progressive video displays
US7451457B2 (en) * 2002-04-15 2008-11-11 Microsoft Corporation Facilitating interaction between video renderers and graphics device drivers
JP4718763B2 (ja) * 2002-04-15 2011-07-06 マイクロソフト コーポレーション ビデオ・レンダラーとグラフィックス・デバイス・ドライバの間の相互作用を促進すること
US20040174379A1 (en) * 2003-03-03 2004-09-09 Collodi David J. Method and system for real-time anti-aliasing
US7643675B2 (en) * 2003-08-01 2010-01-05 Microsoft Corporation Strategies for processing image information using a color information data structure
US7158668B2 (en) * 2003-08-01 2007-01-02 Microsoft Corporation Image processing using linear light values and other image processing improvements
US7990381B2 (en) * 2006-08-31 2011-08-02 Corel Corporation Re-coloring a color image
US7886226B1 (en) 2006-10-03 2011-02-08 Adobe Systems Incorporated Content based Ad display control
US8612847B2 (en) * 2006-10-03 2013-12-17 Adobe Systems Incorporated Embedding rendering interface
KR20140142863A (ko) * 2013-06-05 2014-12-15 한국전자통신연구원 그래픽 편집기 제공 장치 및 그 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970002749A (ko) * 1995-06-30 1997-01-28 김광호 가상 서브픽셀 메모리를 이용한 안티에일리어싱 그래픽스 장치
US5657047A (en) * 1995-01-12 1997-08-12 Accelgraphics, Inc. Method and apparatus for zooming images on a video display
US5940080A (en) * 1996-09-12 1999-08-17 Macromedia, Inc. Method and apparatus for displaying anti-aliased text
US5977947A (en) * 1996-08-19 1999-11-02 International Business Machines Corp. Method and apparatus for resizing block ordered video image frames with reduced on-chip cache
KR20000009807A (ko) * 1998-07-28 2000-02-15 윤종용 컴퓨터 시스템의 그래픽 데이터 처리 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI973041A (fi) * 1997-07-18 1999-01-19 Nokia Mobile Phones Ltd Laite ja menetelmä kuvan näyttämiseksi
US6317525B1 (en) * 1998-02-20 2001-11-13 Ati Technologies, Inc. Method and apparatus for full scene anti-aliasing
US6421060B1 (en) * 1999-03-31 2002-07-16 International Business Machines Corporation Memory efficient system and method for creating anti-aliased images

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657047A (en) * 1995-01-12 1997-08-12 Accelgraphics, Inc. Method and apparatus for zooming images on a video display
KR970002749A (ko) * 1995-06-30 1997-01-28 김광호 가상 서브픽셀 메모리를 이용한 안티에일리어싱 그래픽스 장치
US5977947A (en) * 1996-08-19 1999-11-02 International Business Machines Corp. Method and apparatus for resizing block ordered video image frames with reduced on-chip cache
US5940080A (en) * 1996-09-12 1999-08-17 Macromedia, Inc. Method and apparatus for displaying anti-aliased text
KR20000009807A (ko) * 1998-07-28 2000-02-15 윤종용 컴퓨터 시스템의 그래픽 데이터 처리 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100890702B1 (ko) * 2006-05-12 2009-03-27 엔비디아 코포레이션 그래픽 프로세서의 다중 디스플레이 헤드를 이용한안티앨리어싱

Also Published As

Publication number Publication date
US6567098B1 (en) 2003-05-20

Similar Documents

Publication Publication Date Title
US10885607B2 (en) Storage for foveated rendering
US10102663B2 (en) Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location
EP3559914B1 (en) Foveated rendering in tiled architectures
JP5232358B2 (ja) アウトラインフォントのレンダリング
US7542049B2 (en) Hardware accelerated anti-aliased primitives using alpha gradients
US7292242B1 (en) Clipping with addition of vertices to existing primitives
CN107003964B (zh) 处理未对准块传送操作
US6567098B1 (en) Method and apparatus in a data processing system for full scene anti-aliasing
JPH05307610A (ja) テクスチャマッピング方法およびその装置
US20020075285A1 (en) Pixel zoom system and method for a computer graphics system
KR20180060198A (ko) 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법
US7310103B2 (en) Pipelined 2D viewport clip circuit
US6975317B2 (en) Method for reduction of possible renderable graphics primitive shapes for rasterization
US6867778B2 (en) End point value correction when traversing an edge using a quantized slope value
US7145570B2 (en) Magnified texture-mapped pixel performance in a single-pixel pipeline
US6900803B2 (en) Method for rasterizing graphics for optimal tiling performance
US6885375B2 (en) Stalling pipelines in large designs
US6927775B2 (en) Parallel box filtering through reuse of existing circular filter
US6847372B2 (en) Magnified texture-mapped pixel performance in a single-pixel pipeline
US20040174364A1 (en) Rendering patterned lines in a graphics system
US6831645B2 (en) System and method for performing font operations when background color is transparent
JP2003187260A (ja) 描画処理プログラム、描画処理プログラムを記録した記録媒体、描画処理装置及び方法
US20030169251A1 (en) Graphics system with a buddy / quad mode for faster writes

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application