KR960012669B1 - 앤티-에일리어즈드 다각형을 렌더링하기 위한 방법 및 장치 - Google Patents

앤티-에일리어즈드 다각형을 렌더링하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR960012669B1
KR960012669B1 KR1019920702260A KR920702260A KR960012669B1 KR 960012669 B1 KR960012669 B1 KR 960012669B1 KR 1019920702260 A KR1019920702260 A KR 1019920702260A KR 920702260 A KR920702260 A KR 920702260A KR 960012669 B1 KR960012669 B1 KR 960012669B1
Authority
KR
South Korea
Prior art keywords
pixel
sub
polygon
pixels
coverage
Prior art date
Application number
KR1019920702260A
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 선 마이크로시스템즈 인코오포레이티드
Application granted granted Critical
Publication of KR960012669B1 publication Critical patent/KR960012669B1/ko

Links

Classifications

    • 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

Abstract

요약없음

Description

앤티-에일리어즈드 다각형을 렌더링하기 위한 방법 및 장치
제1a도, 제1b도 및 제1c도는 각 픽셀에 대한 서브-픽셀 마스크의 개념을 도시하는 도면.
제2a도 및 제2b도는 다각형의 변 사이에 필되는 첫번째 및 마지막 픽셀의 정의를 도시하는 도면.
제3a도 및 제3b도는 임의 뎁스 순서 다각형을 혼합한 결과를 도시하는 도면.
제4도는 임의 뎁스 순서로 혼합한 결과를 보여주는 테이블.
제5도는 본 발명을 채용하는 컴퓨터를 도시하는 블록도.
제6도는 본 발명의 바람직한 실시예를 전체적으로 보여주는 흐름도.
제7도는 피티웨이/와트킨슨 스캔 변환 알고리즘을 도시하는 도면.
제8도는 픽셀내에의 얇은 다각형의 커버리지의 결정을 도시하는 도면.
제9도는 8비트 서브-마스크를 도시하는 도면.
제10a도, 제10b도 및 제10c도는 예시적인 다각형 변 및 대응하는 포함 및 제외 서브-픽셀 마스크를 도시하는 도면.
제11a도 및 제11b도는 알파값 및 서브-픽셀 마스크의 형성을 도시하는 도면.
제12도는 픽셀에 대한 서브-픽셀 마스크를 결정하기 위한 룩업 테이블의 사용을 도시하는 도면.
제13a도 내지 제13n도는 다각형에 대한 서브-픽셀 마스크의 발생의 예를 보여주는 도면.
제14도는 스캐라인 변환 알고리즘을 설명하는데 사용되는 다각형을 도시하는 도면.
제15a도 및 제15b도는 채용된 혼합식을 도시하는 도면.
제16a도 및 제16b도는 뎁스 순서 종속 오차 및 본 발명의 시스템을 통한 동일한 것에 대한 개선을 도시하는 도면.
제17a도, 제17b도 및 제17c도는 뎁스 순서 종속 오차 및 본 발명의 시스템을 통한 동일한 것에 대한 개선을 추가로 도시하는 도면.
본 발명은 컴퓨터 디스플레이상의 그래픽 영상의 렌더링에 관한 것으로, 특히 컴퓨터 그래픽 디스플레이상의 앤티 에일리어즈드 다각형의 렌더링에 관한 것이다.
다각형의 스캔 변환처리에서, 다각형은 꼭지점의 좌표에 의해 정하여지는데 라스터영상으로 변환된다. 다각형의 윤곽 또는 변이 먼저 결정되고 다각형 변 사이의 픽셀이 그 다음에 필된다. 다각형의 꼭지점은 디스플레이 좌표공간으로 변환되고 라인 스캔 변환 알고리즘은 다각형의 변을 형성하는 꼭지점 사이의 선을 결정하는데 사용된다. 라인 스캔 변환 알고리즘은 2차원 라스터 그리드상에서 꼭지점 사이의 선에 가장 가까이 있는 픽셀의 좌표를 계산한다.
일예는 브레젠함의 라인 알고리즘이다(브레젠함의 라인 알고리즘에 관한 정보는 Foley 및 Van Dam 저 Fundamentals of Interactive Computer Graphics(Addison-Wesley Publishing사 발행, 1984) 페이지 433 내지 436을 참고한다). 그러나, 선은 픽셀위치와 반드시 일치하거나 또는 라인업되는 것은 아니다. 가장 가까운 픽셀이 선택되더라도, 결과되는 선은 바람직하지 않은 에일리어스 효과를 포함한다.
이 바람직하지 않은 효과는 또한 다각형 렌더링 처리에도 나타나게 된다.
다각형 렌더링 처리중에 다각형의 변을 원만하게 하기 위한 시도로, 피티웨이 및 와트킨슨은 다각형의 변을 형성하는 픽셀에 대한 부분 커버리지 값을 결정하기 위해 브레젠함의 알고리즘을 수정하였다. 수정은 브레젠함의 오차항에 수량(1-m)을 더하는 것을 포함하고 있는데, 여기서 m은 기울기이다.
결과는 오차항이 다각형내의 픽셀의 면적치로 되는 것이다(피티웨이/와트킨슨 알고리즘에 관한 추가 정보는 Foley 및 Van Dam 저 Fundamentals of Interactive Computer Graphics(Addison-Wesley Publishing 간행, 1984)의 페이지 460 내지 463을 참고한다).
피티웨이/와트킨슨 알고리즘을 사용하면, 걸치는 픽셀 면적을 그 픽셀에 있어서의 다각형의 색체 또는 휘도로 곱한 것과 같은 픽셀 휘도가 발생된다(세이드된 다각형은 상이한 휘도 또는 색채로 결과되기 때문이다).
피티웨이/와트킨슨 알고리즘을 사용하여 계산된 커버리지 값은 다각형의 선과 장축 사이의 면적이다. 다각형이 장축을 향해 즉 그려지고 있는 선과 장축 사이에 놓이면 커버리지 값은 직접 사용될 수 있다. 다각형이 단축을 향해 놓이면, 원하는 커버리지 값은 1과 결정된 피티웨이/와트킨슨 커버리지 값의 차와 같다.
피티웨이 및 와트킨슨 알고리즘은 한 선만을 어드레스할 수 있기 때문에, 알고리즘은 두께가 1픽셀보다 작고 그리고 한 픽셀의 면적내에 들어갈 수 있는 얇은 다각형 또는 한 픽셀의 면적내에서 만나는 꼭지점을 다룰 수 없다.
그밖에, 알고리즘은 장축 증분마다 1픽셀을 그려나가므로 다각형에 의해 부분적으로 덮이는 몇몇 픽셀은 덮이지 않는 것처럼 취급된다. 또한, 피티웨이/와트킨슨 알고리즘은 단순한 평균 처리만을 수행하며 상이한 컨볼루션 또는 가중된 평균 기능에 까지 직접 확장되지는 않는다.
다각형을 렌더링하는 또다른 수법은 픽셀내에서 커버리지의 위치를 나타내는 서브-픽셀 마스크를 채용한다. 예를들어, 서브-픽셀 마스크는 픽셀상의 다각형에 대해 4×4 커버리지의 그리드상에 16비트 패턴을 제공할 수 있다. 마스크는 256개의 상이한 서브-픽셀 마스크의 조합을 제공하는 16 서브-픽셀 면적의 조합의 커버리지 더하기 충만 커버리지 및 무커버리지를 나타낸다.
정수 픽셀 경계에 놓이는 수평 및 수직변을 수용하기 위해, 룩업 테이블 지표는 5×5 어레이를 억세스한다. 이것은 제1a도, 제1b도 및 제1c도에 의해 도시되어 있다. 테이블로부터 얻어지는 마스크는 4×4 어레이이며 0의 값은 다각형이 서브-픽셀을 덮지 않는 것을 나타내고 1의 값은 덮는 것을 나타내는 비트로 구성된다. 서브-픽셀 마스크를 사용하기 위해서, 다각형 꼭지점은 어떠한 기하학적 조작을 거친 후에 서브-픽셀값으로 양자화 된다.
마스크 룩업에 대한 지표를 계산하기 위해서는 기울기의 변의 부호가 제공되어야 한다. 이것은 기울기의 방향으로 현재의 픽셀에 인접하는 픽셀의 정수 x좌표를 결정한다. 규약에 의해, 수평변은 왼쪽에서 오른쪽으로 렌더되어 인접하는 픽셀은 언제나 오른쪽에 있다. 수직변은 인접하는 픽셀을 결정하기 위해 그들이 왼쪽 다각형 변인지 또는 오른쪽 다각형 변인지에 관한 추가 지식을 필요로 한다.
제1a도를 참조하면, 인접하는 픽셀의 x값을 현재 픽셀의 변의 현재 x값으로부터 빼고 그리고 결과가 x에서 서브-픽셀의 수로 곱해질때(본 예에서는 4이다) 다음 결과가 결정된다 :
0=0*4 ;
1=.25*4 ;
2=.50*4 ;
3=.75*4 ;
4=1*4
이들 값은 서브-픽셀 식별 마트릭스 속에서 x지표가 된다.
제1b도는 xy지표를 도시하고 제1c도는 서브-픽셀 식별 지표를 보여준다. x에 대해 수행된 동일한 계산이 변이 y값에 대해서 수행된다.
지표를 결정하는 계산은 다각형이 증가하는 y방향으로 한번에 한 스캔 라인씩 렌더된다는 사실에 의해 단순화된다. x 및 y지표는 픽셀의 엔트리지표의 서브-픽셀 번호(예로, 0 내지 24)를 준다. 서브-픽셀 마스크는 엔트리 지표가 픽셀 경계상에 뿐만 아니라 픽셀내에 있게끔 설계된다. 동일한 과정이 엑시트 서브-픽셀에 대해서 수행된다. 엑시트 서브-픽셀은 인접하는 픽셀 또는 스켄 라인이 인터셉트되자 마자 또는 변이 끝날때(변이 현재의 픽셀 내에서 끝나면) 계산된다.
엔트리 및 엑시트 서브-픽셀에 대한 두개의 서브-픽셀 지표가 결정되면, 마스크는 룩업 테이블로부터 얻어지고 변의 어느쪽이 안쪽 변이고 어느 것이 바깥쪽 변인가를 나타내는 변코드에 따라 그대로 사용되거나 또는 보수로 된다.
픽셀내의 단일 다각형의 다수변에 대한 마스크는 꼭지점 코드에 의존하여 결합된다 ; 마스크는 꼭지점이 내각이 180°보다 큰(오목하다) 두변을 나타내면 논리적으로 OR되고 내각이 180°보다 작거나 같으면(볼록하다) 놀리적으로 AND된다.
서브 픽셀 마스크 자체는 경험적으로 결정될 수도 있고 또는 일관된 알고리즘이 모든 마스크를 발생하는데 사용되는 한 소정의 알고리즘에 따라서 결정될 수 있다. 메모리는 나머지 절반이 다각형의 내부/외부에 대한 마스크에서의 변의 관계에 관한 지식에 기초하여 비트 패턴의 보수를 취함으로써 얻어질 수 있는 한변교차의 가능한 조합의 절반만을 제공함으로써 절약될 수 있다.
다각형의 변에서 원하는 부분 커버리지 픽셀이 계산되면, 스캔 라인에서 스팬상의 다각형변 픽셀 사이의 내부 픽셀이 필되어야만 한다.
스캔 라인상에서 스팬을 필하는 것은 다각형의 왼쪽 변 상에서 가장 오른쪽 변 픽셀 및 다각형의 다음번 오른쪽 변상에서 가장 왼쪽 변 픽셀의 결정을 요한다.
일단 결정되면, 이들 변 픽셀 사이의 픽셀이 필된다.
제2a도는 스팬상에서 다각형의 극단변 픽셀을 단순히 사용하는 것은 인접하는 변 픽셀이 즉 부분적으로 덮이는 변 픽셀에 대한 색채 커버리지 및 단순히 완전히 페인트되는 필 픽셀에 대한 색채로써 부분적으로 페인트되는 것에 반하여 전체적으로 페인트되는 결과로 되므로 스팬에서 첫번째 및 마지막 필 픽셀을 결정하는 것이 왜 필요한가를 도시하고 있다.
제2b도는 (1꼭지점을 포함하여) 5개의 왼쪽 변 픽셀과 2개의 오른쪽 변 픽셀이 있으므로 스팬에서 단지 2개의 픽셀만이 완전히 필되어야 하는 예를 보여준다.
단일 다각형에 대해서는 개별 스캔 라인상에 필되어야 하는 여러개의 스팬이 있을 수 있다(다각형의 렌더링에 관한 설명에 대해서는 Foley 및 Van Dam 저 Fundamentals of Interactive Computer Graphics 페이지 456을 참고한다).
특정한 스캔 라인상에서 개별 스팬을 결정하는 것은 그 스캔 라인상에서 다각형의 모든 변을 렌더링하고 완전하게 필될 스팬에서의 첫번째 및 마지막 픽셀을 결정하는 것을 포함한다. 이들 첫번째 및 마지막 필 픽셀의 결정이 있으면, X순서 분류가 스캔 라인에서의 그들 위치에 대해 수행되고 개별 스팬은 왼쪽에서 오른쪽 순서로 필된다.
다각형의 각 픽셀에 대한 에너지 또는 커버리지가 결정되면, 다각형 영상은 그 다음에 배경속으로 혼합될 수 있다. 혼합이란(Compositing)이란 다각형과 배경 사이에 가능한한 원만한 천이가 되도록 다각형의 픽셀이 배경속으로 혼합되는 기술이다. 혼합의 1방법에서, 알파(α)채널로 불리우는 별도의 구성요소 또는 채널이 픽셀에서 요소의 커버리지의 정도를 식별하는데 사용된다.
Computer Graphics, Vol 18, No. 3(July 1984)의 Porter 및 Duff가 쓴 Compositing digital Images를 참고한다.
임의의 배경위에 요소를 놓기 위해서, 전경 및 배경 색채의 선형 내삽을 제어하는 혼합인자가 각 픽셀에서 요구된다.
이 정보는 α채널속으로 엔코드되는데, 소수부는 부분 커버리지에 해당하는 것으로 하여 영의 값에서 커버리지 없음을 나타내고 1의 값에서 충만 커버리지를 나타낸다. 영상(픽셀)의 요소는 그 다음에 다음의 혼합식에 따라 배경속으로 혼합된다.
Cta *Ca+(1+αa)*αb *Cb
αta+(1-αa)*αb
여기에서 Ca는 다각형의 픽셀의 색채이고, Cb는 배경물체의 색채이고, Ct는 혼합시의 픽셀의 색채이고, αa는 다각형의 픽셀의 부분 커버리지의 값이고, αb는 배경 픽셀의 부분 커버리지이고, αt는 혼합된 α값이다.
α채널의 1구현에서 α채널은 다각형에 의한 픽셀에서의 부분 커버리지에 비례하는 픽셀당 단지 하나의 α값을 가진다. 부분 커버리지의 방위 또는 형상과 관련된 어떤 정보도 유지되지 않는다. 그밖에, 픽셀을 교차하는 다각형 변의 수가 1보다 크면, α값은 혼합 α값이 되고, 교차하는 다각형의 실제수는 알지 못한다.
이들 혼합식은 다각형의 모든 픽셀에 똑같이 적용된다.
그래서, 다각형이 뎁스에서 여러 범위에 걸쳐 있으면, 다각형의 픽셀은 뎁스에 무관하게 동일하게 렌더될 것이다. 또한, 혼합식에 의해 계산된 픽셀 색채는 특정 픽셀에서 중첩하는 다각형의 렌더링 순서에 많이 달려 있다. 렌더링 순서가 다각형의 실제 뎁스 순서에 가까울수록, 계산된 색채값은 원하는 색채값에 더 정확하게 된다. 미국 특허 번호 4,748,572는 렌더될 다각형이 혼합되기 전에 뎁스 순서로 분류되는 메카니즘을 설명하고 있다.
그러나, 분류 처리는 꽤 시간이 소모되는 것이며, 여러가지 처리 패스를 요하며 그리고 다각형 렌더링 처리의 속도를 상당히 느리게 한다.
교차하는 다각형을 렌더링할때 생기는 그리고 다각형의 뎁스 순서에 따라 변하는 오차는 제3a도 및 제3b도에서의 예에 의해 도시되어 있다.
제3a도는 3개의 다각형(a,b 및 c)이 교차하는 픽셀을 보여준다.
다각형 내의 각 픽셀은 z값으로 식별되는 픽셀과 관련된 뎁스값 및 픽셀에서 커버리지의 정도로 나타내는 α값을 가지고 있다. 제3b도는 αa가 1/2이고 αb가 1/2이고 αc가 1/2인 모든 가능한 뎁스 순서에 대해 각 다각형에 대해 계산된 결과되는 색채 및 α값을 보여준다. 제3b도는 생각할 수 있는 6가지 경우중 4경우 즉 경우(1,2,4 및 6)에서 3개의 교차하는 다각형으로부터 최종 픽셀 색채에 대한 기여는 뎁스 순서에 달려있다는 것을 보여준다. 이 결과로서 생기는 오차는 뎁스 순서 종속 오차로 불리운다.
제4도는 αa가 1/2이고 αb가 1/4이고 αc가 1인 다각형(a,b 및 c)의 2가지 경우를 도시하고 있다.
렌더링의 순서는 c,b,a이다. α가 1의 값을 얻을 때는 그것은 이어지는 다른 다각형과의 혼합에 무관하게 그 값에 항상 남아 있게 되는 것을 유의하여야 한다. 제4도는 이것이 뎁스 순서에 상관없이 진실인 것을 입증하고 있다.
그밖에, 제2경우에서는, 다각형(a)이 다각형(c)의 앞에 있고 1/2과 같게 되는 α값을 가짐에도 불구하고 다각형(a)으로부터의 최종 색채에 대한 기여가 없다.
그러나 z값이 색채의 계산후 z=zb의 값으로 업데이트되고(제2단계에서) α값은 1과 같기 때문에, (다른 다각형이 실제로는 1의 α값을 갖는 다각형 앞에 있더라도) 다각형(a)이 픽셀을 완전히 덮는 다각형에 의해 은폐된다는 것 외에는 다른 어떤 것이라도 결론짓기에는 불충분한 정보만 있다.
따라서 다각형 뎁스와는 독립적인 임의 순서로 렌더되는 양질의 다각형을 발생하는 것이 본 발명의 목적이다.
최소 시간내에 다각형을 렌더하는 단일 시리즈 또는 단일 패스의 계산을 이용하여 양질의 다각형을 렌더하는 것이 본 발명의 목적이다.
앤티 에일리어즈드 다각형을 렌더하는 것이 본 발명의 목적인데, 여기에서는 픽셀당 베이시스로 각 픽셀의 z값이 각 다각형 픽셀을 대응하는 배경 픽셀과 혼합시키는데 사용되는 혼합식을 결정한다.
각 픽셀에 대한 서브-픽셀 마스크가 앤티 에일리어즈드 다각형을 발생하기 위해 뎁스값과 관련해서 사용되는 다각형 렌더링 처리를 제공하는 것이 또한 본 발명의 목적이다.
단일 패스 기술을 사용하는 스캔 변환 처리가 다각형에 대해 수행된다.
다각형의 변 및 꼭지점을 포함하는 픽셀이 우선 다각형을 정하는 꼭지점으로부터 결정된다. 알파 채널은 커버리지의 양 및 서브-픽셀 영역을 나타내는 각 픽셀과 관련된 서브-픽셀 마스크 또는 픽셀의 커버리지의 백분율을 나타내는 단일값을 포함한다. 또한 각 픽셀의 뎁스를 나타내는 z값이 유지된다. 다각형의 변픽셀 사이의 픽셀이 그 다음에 턴온되어 다각형을 필한다.
다각형을 구성하는 픽셀이 그 다음에 픽셀당 베이시스로 배경 픽셀과 혼합된다. 다각형의 각 픽셀의 뎁스값(z값)은 다각형의 각 픽셀을 배경에 혼합시키는데 사용될 혼합식을 결정하는데 사용된다. 혼합식은 픽셀의 색채, 배경 픽셀의 z버퍼값 및 서브-픽셀 마스크를 업데이트하여 다각형의 픽셀을 배경 픽셀 속으로 혼합한 것으로부터 오는 정보의 추가를 반영한다.
이 방법을 통해서 혼합하기 전에 뎁스 순서로 다각형을 분류하는 시간낭비적인 처리를 수행함이 없이 양질의 앤티 에일리어즈드 다각형이 렌더될 수 있다.
1실시예에서, 다각형 및 배경의 각 픽셀에 대한 커버리지를 설명하는 서브-픽셀 마스크 등록이 유지된다.
다각형은 스캔라인 변환 알고리즘을 사용하여 다각형의 변 픽셀에 대한 서브-픽셀 마스크 등록을 결정하여 다각형의 변을 우선 결정함으로써 렌더된다.
다각형은 그 다음에 변 픽셀 사이의 픽셀을 채워 넣음으로써 필된다.
다각형이 일단 필되면, 다각형은 배경 픽셀의 z버퍼값에 대한 다각형의 z값에 의존하는 1세트의 식을 사용하여 픽셀씩 배경과 혼합된다.
서브-픽셀 마스크는 배경 픽셀에 대해 유지되고 혼합식에 따라 업데이트된다. z버퍼값은 또한 색채가 특정 픽셀에 대해 수정될 것인지, z버퍼값이 특정 픽셀에 대해 수정될 것인지 및 (픽셀의 커버리지를 결정하는) 서브-픽셀 마스크가 수정될 것인지를 또한 결정한다. 이리하여, 렌더 다각형을 z버퍼 순서로 분류하는데 요하는 대가 및 속도의 낭비없이 앤티 에일리어즈드 다각형의 매우 정확한 렌더링이 달성된다.
또다른 실시예에서, 요구되는 메모리의 양을 최소화 하기 위해, 단일값, 알파값이 배경 픽셀의 커버리지의 양을 나타내는데 사용된다. 혼합하기 전에, 다각형의 서브-픽셀 마스크는 단일값으로 변환된다.
커버리지를 나타내는 단일값은 또한 배경 픽셀의 각각에 대해 유지된다.
혼합될 다각형의 각 픽셀의 z값은 대응하는 배경 픽셀의 z버퍼값과 비교된다. 다각형 픽셀은 그 다음에 z값과 z버퍼값의 비교에 의존하는 혼합식을 사용하여 배경 픽셀 속으로 혼합된다.
본 발명의 목적, 특징 및 이점은 다음의 상세한 설명으로부터 명백해질 것이다.
다음에 나오는 상세한 설명은 주로 알고리즘 및 컴퓨터 메모리 내에서 데이터 비트에 대한 연산의 기호적 표현으로써 나타내진다.
이들 알고리즘적 설명 및 표현은 작업의 요점을 해당분야에 숙련된 사람에게 가장 효과적으로 전달하기 위해 데이터 처리기술에서 숙련된 사람들에 의해 사용되는 수단이다.
알고리즘은, 여기에서 그리고 일반적으로 원하는 결과에 이르는 모순이 없는 단계의 수순으로 관념된다. 이들 단계는 물리량의 물리적 조작을 요하는 것들이다.
보편적으로, 반드시는 아니지만, 이들 양은 기억, 이송, 결합, 비교 및 그밖에 조작될 수 있는 전기 또는 자기 신호의 형태를 취한다. 주로 흔한 용도의 이유로 해서, 이들 신호를 비트, 값, 요소, 기호, 문자, 용어, 숫자 또는 이와 비슷한 것으로 지칭하는 것이 때때로 편리할때가 있다. 그러나, 이들 및 유사한 용어는 적절한 물리량과 연관되고 이들 양에 붙여지는 편리한 명칭에 지나지 않는다는 것을 명심하여야 한다.
또한, 수행되는 조작은 흔히 가산 또는 비교와 같은 용어로써 지칭되는데, 인간에 의해 수행되는 정신력 작용과 흔히 연관되어 있다. 본 발명의 일부를 형성하는 여기에서 설명되는 작용의 어느 것에 있어서도, 인간의 이런 능력은 필요하지도 않으며 대부분의 경우에 바람직하지도 않다 ; 작용은 기계작용이다.
본 발명의 작용을 수행하기 위한 유용한 기계는 범용 디지탈 컴퓨터 또는 다른 유사한 디바이스를 포함한다. 모든 경우에 있어서 컴퓨터를 운용하는데 있어서의 방법 동작과 계산방법 자체 사이의 구별을 염두에 두어야 한다.
본 발명은 다른 원하는 물리적 신호를 발생하기 위해 전기 또는 다른(예로, 기계적, 화학적) 물리신호를 처리하는데 컴퓨터를 운용하기 위한 방법 단계에 관한 것이다.
본 발명은 또한 이들 동작을 수행하기 위한 장치에 관한 것이다.
이 장치는 요구되는 목적에 맞게 특별히 구성될 수도 있고 또는 그것은 선택적으로 액티브로 되는 범용 컴퓨터를 구비할 수도 있으며 또는 컴퓨터에 기억되는 컴퓨터 프로그램에 의해 재구성될 수도 있다.
여기에서 제시되는 알고리즘은 특정한 컴퓨터 또는 다른 장치와 고유하게 관련되는 것은 아니다. 특히, 여러가지 범용 기계가 여기에 적힌 발명의 정신에 따라서 작성된 프로그램과 함께 사용될 수 있으며, 또는 요구되는 방법 단계를 수행하기 위해 더 전문적인 장치를 구성하는 것이 더 편리할 수도 있다.
다양한 이들 기계에 대해 요구되는 구조는 아래에 주어지는 설명에서 나타날 것이다.
제5도는 본 발명에 따라서 앤티 에일리어즈드 다각형을 렌더링하기 위한 전형적인 컴퓨터에 기초한 시스템을 보여준다.
도면에는 3개의 주요 구성요소를 구비하는 컴퓨터(101)가 도시되어 있다.
이들중 하나는 적절하게 짜여진 형태로 컴퓨터(101)의 다른 부분으로 또한 다른 부분으로부터 정보를 통신하는데 사용되는 입력/출력(I/O)회로(102)이다.
중앙처리장치(CPU)(103) 및 메모리(104)가 또한 컴퓨터(101)의 일부로서 도시되어 있다. 이들 후자의 2요소는 대부분의 범용 컴퓨터 및 거의 모든 전용 컴퓨터에서 전형적으로 발견되는 것들이다.
실제로, 컴퓨터(101)내에 포함된 여러 요소는 이 넓은 카테고리의 데이터 프로세서를 나타내도록 의도된 것이다.
컴퓨터(101)의 역할을 해내는 적당한 데이터 프로세서의 특정한 예는 캘리포니아, 마운틴 뷔우에 있는 선 마이크로 시스템즈 인코오퍼레이티드에 의해 제조되는 기계를 포함한다. 비슷한 능력을 가진 다른 컴퓨터도 물론 아래에서 설명되는 기능을 수행하기 위해 간단한 방식으로 적용될 수 있다.
제5도에는 또한 전형적인 실시예에서 키보드로 나타내는 입력 디바이스(105)가 도시되어 있다. 그러나, 입력 디바이스는 실제에서는 카드 리더, 자기 또는 종이 테이프 리더 또는 (물론 또다른 컴퓨터를 포함하여) 잘 알려진 입력 디바이스일 수도 있다는 것을 이해하여야 한다. 대용량 메모리 디바이스(106)는 I/O회로에 결합되며 컴퓨터(101)에 추가 기억능력을 제공한다.
대용량 메모리는 다른 프로그램 및 이와 유사한 것을 포함할 수 있으며 자기 또는 종이 테이프 리더 또는 다른 잘 알려진 디바이스의 형태를 취할 수도 있다. 대용량 메모리(106)내에 유지되는 데이터는 적절한 경우에 메모리(104)의 일부로서 컴퓨터(101)내로 표준 양식으로 내장될 수 있다.
그밖에, 메세지 또는 다른 전달 사항을 사용자에게 표시하는데 사용되는 디스플레이 모니터(107)가 도시되어 있다. 이런 디스플레이 모니터는 여러가지 잘 알려진 다양한 CRT 디스플레이중 어느 형태라도 취할수 있다.
디스플레이 모니터(107)는 또한 그래픽 영상 즉 본 발명의 처리과정에 따라서 렌더되는 앤티 에일리어즈드 다각형을 표시할 수 있는 것이 바람직하다.
커서 제어(108)는 명령 모드를 선택하고 입력 데이터를 편집하는데 사용되며 일반적으로 정보를 시스템에 입력하는데 더 편리한 수단을 제공한다.
본 발명을 통해서, 뎁스 순서로 다각형을 분류하는 시간이 소비되는 처리를 수행함이 없이 양질의 앤티에 일리어즈드 다각형이 단일 패스로 렌더될 수 있다.
렌더될 각 다각형은 꼭지점, 색채 또는 휘도 및 z버퍼값으로도 불리우는 뎁스값에 의해 식별된다.
제6도를 참조하면, 블록(300)에서 렌더될 다각형의 변을 형성하는 픽셀의 커버리지가 결정된다. 커버리지의 양은 픽셀의 휘도에 반영되며, 커버리지가 클수록 픽셀의 최종 휘도에 대한 다각형 픽셀의 기여가 더욱 커진다.
커버리지 값은 α(알파)값으로 불리운다.
α값은 피티웨이/와트킨슨 알고리즘에 따라 결정되는 것이 바람직하다.
피티웨이/와트킨슨 알고리즘에 따라 계산되는 커버리지 값은 다각형의 변을 나타내는 선과 장축 사이의 면적이다. 이것은 제7도를 참조하여 추가로 설명된다.
렌더될 원하는 선은 숫자 400으로 나타내어 있다. 브레젠함의 라인 알고리즘은 선의 그 부분을 가장 잘 추정하기 위해, 예를들어, 픽셀(tl410) 또는 픽셀(sl420)중 어느 픽셀을 렌더할 것인가를 결정한다. 알고리즘은 s와 t의 차이에 비례하는 결정변수 dl를 사용한다. Pl-1가 그려지고 있는 실제 선에 가장 가까운 픽셀이라고 결정되었으며 이제는 세트될 다음 픽셀이 tl인지 또는 sl인지를 결정하기 위해 dl가 계산된다. s가 t보다 작으면, sl가 원하는 선에 더 가깝고 세트되어야 하며, 그렇지 않으면 tl가 더 가깝고 세트되어야 한다.
이것은 s-t가 영보다 작으면 sl가 선택된다는 것을 유의하여 다른 시각에서 볼 수 있다. d값는 2*(dy-dx)로 계산되는데 dx는 (x2-x1)의 절대값과 같고 dy는 (y2-y1)의 절대값과 같다.
피티웨이/와트킨슨 알고리즘을 사용하면, d값이 (mx-y)+(1-m)과 같도록 계산되는데, m은 선의 기울기이다. 어느 픽셀이 선의 그 부분을 표현할 것인지를 결정하는 테스트는 원래의 알고리즘에서 처름 그 값을 영에 비교하지 않고 값(1-m)에 비교한다. 변수 d는 그 다음에 각 단계에서 픽셀 커버리지를 추정하는데 쓰인다.
d가 1에 가까울수록, 픽셀의 더 많은 부분이 덮이고 픽셀 휘도에 더 많은 기여를 한다. 그러나, 피티웨이/와트킨슨 알고리즘은 얇은 다각형 또는 꼭지점에 대해서는 잘 맞지 않는다.
얇은 다각형을 렌더하려도 할때 생기는 오차를 최소화 하기 위해 다각형의 변이 중간 스캔 라인 버퍼속으로 개별적으로 렌더되는 기술이 채용되고 있다.
이 기술은 변이 특정 스캔 라인에 대해 일반적으로 완전히 렌더되고 단일 변에 대한 부분 커버리지 값이 다음 계산을 위해 기억되어야만 하기 때문에 더 바람직하다. 예를들어, 커버리지는 두변(예로, 제8도에 도시된 두변)을 가로지르므로써 얻어지는 마스크의 조합이기 때문에 단일 변에 대한 부분 커버리지 마스크를 기억하는 것이 필요하다. 다각형의 변 픽셀은 동일한 스캔 라인상에 위치된 변 픽셀이 순차적으로 렌더되어 함께 중간 스캔 라인 버퍼에 들어가도록 우선 y좌표값에 따라 분류된다.
이리하여, 얇은 다각형 또는 꼭지점에 대한 커버리지는 배경속으로 혼합되기 전에 개별적으로 결정될 수 있다.
제8도를 참조하면, 얇은 다각형 또는 꼭지점의 최종 커버리지는 다음의 혼합식을 사용하여 얻어질 수 있다 :
α=1-(1-αa)-(1-αb)
=αa+αb-1
여기서αa는 아래쪽 다각형 변과 위쪽 스캔 라인 사이의 부분 커버리지이고 αb는 위쪽 다각형 변과 스캔라인 사이의 부분 커버리지이다.
유사하게, 서브-픽셀 마스크가 사용되면, 스캔 라인 버퍼는 서브-픽셀값의 해상도까지의 스캔 라인으로 구성될 것이다.
이리하여, 얇은 다각형 또는 꼭지점의 최종 커버리지가 다음의 혼합식을 사용하여 얻어질 수 있다 :
MF=MAAND MB
여기에서 AND는 논리 AND 연산을 나타내고, MF는 충만 서브-픽셀 마스크를 나타내고, MA는 아래쪽 다각형 변에 대한 서브-픽셀 마스크를 나타내고 MB는 위쪽 다각형 변에 대한 마스크를 나타낸다.
다각형의 변 픽셀의 각각의 커버리지는 α값 또는 서브-픽셀 마스크에 의해 표현된다. 서브-픽셀 마스크는 픽셀의 면적을 서브-픽셀 면적으로 분할한다. 서브-픽셀 면적의 크기가 같은 것이 바람직하지만 서브-픽셀 면적은 어떤 크기 또는 형상일 수도 있다.
본 실시예에서는, 서브-픽셀 마스크는 픽셀상에 다각형에 대한 16-비트 패턴의 커버리지를 제공하기 위해 픽셀 면적을 4×4 그리드에 따라 분할함으로써 면적이 같게 설계되어 있다. 마스크는 16 서브-픽셀 면적의 조합의 커버리지 더하기 충만 커버리지 및 무 커버리지를 나타낸다. 각 서브-픽셀 요소는 서브-픽셀의 지리적 위치를 나타낸다. 이리하여, 픽셀내의 커버리지의 양 뿐만 아니라 커버리지의 실제 위치가 결정되기 때문에, 마스크는 픽셀의 커버리지의 더 정확한 표현을 제공한다. 또다른 방법으로는, 메모리에 기억되는 룩업 테이블내의 마스크의 수를 최소화하기 위해, 픽셀 면적이 제9도에 도시된 마스크와 같이 소정의 또는 임의로 발생되는 패턴에 따라 8개의 서브-픽셀 면적으로 나뉘어지는 8비트 마스크가 사용될 수 있다.
메모리에 기억되는 룩업 테이블내의 마스크의 세트는 생길 수 있는 모든 가능한 조합에 대해 서브-픽셀 마스크를 제공하여야 한다. 메모리내의 공간을 절약하기 위해서, 이미 기억된 마스크의 보수 또는 미러 영상인 마스크를 기억시키지 않으므로써 기억되는 마스크의 수가 반으로 감소되는 것이 바람직하다.
렌더링 처리중에, 기억되지 않는 그들 마스크는 메모리에 기억된 미러 영상 마스크의 보수를 취함으로써 용이하게 결정될 수 있다.
마스크는 경험적으로 또는 모든 가능한 마스크의 조합을 어드레스하는 소정의 처리를 통해서 발생될 수 있다. 마스크를 발생하는 절차는 실제 커버리지 면적의 양이 대응하는 마스크에 대해 결정되는 커버리지 면적의 양과 대략 같게 되는 것을 보장하여야 한다. 이것은 제10a도 및 제10b도에 의해 도시되어 있다. 제10a도는 픽셀을 관통하는 변을 보여주는데 변의 포함측이 픽셀의 면적의 대략 5/8를 덮는다. 제10b도에 보이는 대응하는 마스크는 픽셀 면적의 9/16를 덮는 서브-픽셀 세트를 가진다.
이 마스크는 커버리지의 면적이 대략 같기 때문에 변을 정확하게 나타낸다.
마스크 발생절차는 또한 변의 한쪽에 있는 면적에 대한 마스크 및 변의 다른쪽에 대한 마스크를 발생할 수 있어야 하며 이로써 2마스크가 합해지면 결과되는 마스크는 충만 커버리지와 같게 된다. 이것은 제10b도 및 제10c도에 의해 도시되어 있다. 제10b도는 앞에서 기술된 것처럼 제10a도에 도시된 변의 포함측에 대해 발생되는 해당하는 마스크를 나타낸다. 제10c도는 제10a도에 도시된 변의 제외측에 대해 발생되는 마스크이다. 제10b도 및 제10c도에 있는 마스크의 합은 마스크의 발생을 위한 처리가 정확하다는 것을 나타내는 충만 마스크로 결과된다.
마스크를 발생하는 한 방법은 각도의 범위를 스팬하는 서브-픽셀의 중심을 통하는 다수의 벡터에 의해 그려지는 면적에 대응하는 각 서브-픽셀에 대한 1세트의 마스크를 결정하는 것이다. 벡터는 소정의 증분만큼 회전될 수 있고 마스크는 (브레젠함의 것과 같은) 변 서브-픽셀을 결정하는 스캔 변환처리에 따라 계산되고 면적내에 모든 서브-픽셀을 채워넣는 것은 변 서브-픽셀에 의해 묘사된다.
이 처리는 각 서브-픽셀에 대해 수행된다.
마스크를 발생하는 또다른 방법은 소정의 면적 크기 및 엔트리 점에 따라 마스크를 결정하기 위해 피티웨이/와트킨슨 알고리즘을 사용하는 것이다.
면적 크기 및 엔트리 점은 그 다음에 상이한 마스크를 발생하기 위해 변화된다.
알파값의 공식화의 도시 및 대응하는 서브-픽셀 마스크는 제11a도 및 제11b도에 의해 제공되어 있다. 이 예에서, 16셀 테이블은 2교점에 의해 어드레스된다. 왼쪽 변에 대한 교점은 (0.0,0.0)이고 표현될 면은 왼쪽변의 오른쪽에 존재한다고 가정한다.
서브-픽셀 마스크 및 커버리지 값을 계산하기 위해, 디스플레이 요소를 횡단하는데 브레젠함 라인 알고리즘이 채용된다. 그러나, 스텝 크기는 1.0이 아닌 0.25이다.
제11a도는 변의 왼쪽에 있는 면에 대한 상이한 교점의 조합에 대한 마스크를 제시하고 있다. 변의 오른쪽에 있는 면은 변의 왼쪽에 있는 면에 대한 대응하는 마스크의 보수를 취함으로써 간단히 결정될 수 있다.
제11b도는 변의 왼쪽에 있는 면에 대한 알파 또는 커버리지 값의 테이블을 제시하고 있다. 이들은 마스크에서 세트된 서브-픽셀의 수를 더함으로써 간단히 결정될 수 있다. 16의 값은 충만 커버리지를 나타낸다. 변의 오른쪽에 있는 면에 대한 커버리지 값은 16의 값에서 변의 왼쪽에 있는 면에 대한 커버리지 값을 뺌으로써 결정될 수 있다.
마스크는 메모리에 기억되는 테이블의 어레이 또는 세트속에 내포된다.
앤티 에일리어즈드 다각형의 렌더링중에, 마스크는 픽셀내에 존재하는 변으로부터 결정되는 지표에 따라서 억세스 된다.
지표는 엔트리 서브-픽셀 및 엑시트 서브-픽셀 즉 변이 픽셀에 들어가고 픽셀로부터 나오는 서브픽셀일 수 있다. 또 다르게는, 지표는 또한 엔트리 서브-픽셀 및 픽셀을 통하는 변의 기울기로 구성될 수 있다.
지표는 또한 픽셀을 통하는 변의 기울기 및 픽셀의 중심으로부터 변까지의 수직거리일 수도 있다. 그밖에, 픽셀내에 생기는 꼭지점에 대한 마스크를 결정하는 경우에 있어서, 지표는 엔트리 서브-픽셀 및 꼭지점의 서브-픽셀 위치일 수도 있다.
제1도를 다시 참조하면, 5×5 테이블이 4×4 서브-픽셀 마스크를 나타내는데 사용되는 것이 바람직하다.
테이블은 서브-픽셀 엔트리 지표 및 엑시트 지표를 통해 억세스된다.
다각형 엔트리 및 엑시트 지표는 다각형 변이 각각 픽셀에 들어가고 픽셀을 나오은 서브-픽셀 위치이다. 다각형 꼭지점은 어떠한 기하학적 조작을 거친 후에 서브-픽셀값으로 양자화 된다.
테이블에 대한 엔트리 지표를 계산하기 위해, 변의 기울기의 부호가 결정되어야만 한다. 이것은 기울기의 방향으로 현재 픽셀에 인접하는 픽셀의 정수 x좌표를 계산하는데 사용된다.
규약에 의해, 수평변은 이웃하는 픽셀이 항상 오른쪽에 있도록 왼쪽에서 오른쪽으로 렌더되는 것이 바람직하다. 수직 변의 인접하는 픽셀을 결정하기 위해서는, 변이 오른쪽 변인지 또는 왼쪽 변인지에 관한 추가정보가 필요하다.
인접하는 픽셀 x값을 그 다음에 현재의 변 픽셀 x값에 빼고 x에 있는 서브-픽셀의 수를 곱한다(본 예에서는 4이다) :
0=0×4 ;
1=.25×4 ;
2=.50×4 ;
3=.75×4 ;
4=1×4
값, .25, .5, .75 및 1은 사용되는 현 마스크에 대한 양자화 레벨이다.
이들 수소값은 변을 횡단하는 서브-픽셀 정밀값에서 정수 픽셀값을 빼기전에 꼭지점에서 가장 가까운 서브-픽셀 위치까지 반올림되기 때문에 생긴다.
그 값은 서브-픽셀 마트릭스 속을 가리키는 지표를 식별하기 위해 4의 값으로 곱해진다(제1b도 참조). 동일한 계산이 변의 y값에 대해 수행된다.
이들 x 및 y지표는 픽셀속으로의 엔트리의 서브-픽셀 번호(본 예에서는 0부터 24까지이다)를 준다. 마스크는 엔트리 지표가 픽셀 경계 뿐만 아니라 픽셀 내에 있도록 설계된다. 동일한 절차가 엑시트 서브-픽셀(즉, 다각형 변이 픽셀 경계를 가로지르는 서브-픽셀 위치)에 대해서 수행된다. 엑시트 서브-픽셀은 인접하는 픽셀 또는 스캔 라인이 지나간 위치 또는 변이 끝나는 곳에서(변이 현재의 픽셀내에서 끝나면) 계산된다.
엔트리 및 엑시트 서브-픽셀 지표가 결정되면, 마스크는 룩업 테이블로부터 얻어진다. 이것은 마스크(520)를 얻기 위해 마스크 룩업 테이블(515)로 입력되고 있는 서브-픽셀 지표(500 및 510)를 보여주는 제12도에 의해 도시되어 있다.
다수 변이 단일 픽셀내에서 생기는 상황에 대해 발생되는 마스크는 우선 개별적으로 결정되어(즉, 각 변에 대한 마스크가 개별적으로 결정된다.) 결합된다. 일 실시예에서, 마스크는 변 코드에 따라서 결합된다.
변은 변이 오른쪽 변인지 또는 왼쪽 변인지 즉 변이 볼록인지 또는 오목인지를 나타내는데, 어는 영역이 변안에 즉 다각형 안에 있는지를 결정하는 것이다.
특정한 스캔 라인에서, 픽셀이 오른쪽 변의 왼쪽에 그리고 왼쪽 변의 오른쪽에 있으면, 픽셀은 다각형의 내부에 있다.
왼쪽 및 오른쪽 변의 식별은 다수의 방법으로 수행된다. 1방법에서, 다각형의 꼭지점이 y좌표값에 따라 하강순으로 분류된다. 인접하는 y좌표값에 대응하는 x좌표값이 비교된다. 더 큰 y좌표값에 대응하는 x좌표값이 더 작은 y좌표값에 대응하는 x좌표값 보다 작으면, 좌표에 의해 지정되는 변은 오른쪽 변이다. 역으로 더 큰 y좌표값에 대응하는 x좌표값이 더 작은 y좌표값에 대응하는 x좌표값보다 크면, 변은 왼쪽 변이라고 지정된다.
또다른 방법에서는, 다각형 방향이 결정된다.
예를들면, 다각형은 시계방향 또는 반시계방향으로 기술될 수 있다.
다각형이 반시계방향으로 기술되고 변의 x에서의 변화(δx=x2-x1)가 영보다 크면 변은 왼쪽 변이고 변에 대응하는 마스크는 보수로 될 것이다. 수직변(δ×1=0)은 y에서의 변화(δy1=y2-y1)가 영보다 작으면 왼쪽 변으로 코드되어 보수로될 것이다. 일반적으로 δy1이 영보다 큰 변은 왼쪽 변으로 코드되고 영보다 작거나 또는 같은 것들은 오른쪽 변으로 코드된다. 왼쪽에서 오른쪽으로 진행하는 수평변(δ×1>0)은 오른쪽 변으로 코드되고 오른쪽에서 왼쪽으로 진행하는 것들은 왼쪽 변으로 코드된다. 유사하게, 꼭지점 코딩은 아래와 같이 계산되는 2개의 관여하는 변의 δx 및 δy의 크로스 승적을 사용하여 이루어진다 :
크로스 승적(CP)=(δx1×δy2)-(δx2×δy1)
여기서 δx1, δy1은 변 1로부터 나오고 δx2 및 δy2는 변 2로부터 나온다.
크로스 승적이 영보다 작거나 같으면(0CP) 꼭지점은 2변으로부터 발생되는 2개의 서브-픽셀 마스크가 논리적으로 AND될 것을 명령하는 볼록으로 코드된다.
그렇지 않으면, 꼭지점은 2마스크가 논리적으로 OR될 것을 명령하는 오목이다.
제1꼭지점에서 변의 한끝은 오목각을 형성할 수 있고 제2꼭지점에서 동일변의 다른 끝은 또다른 인접하는 변과 볼록각을 형성할 수 있기 때문에 변 뿐만 아니라 꼭지점도 코드되어야 한다.
다각형에 대한 픽셀 마스크의 발생의 일예는 제13a도 내지 제13n도를 참조하여 이하에서 논의된다.
제13a도는 (2.1,0.2),(3.1,2.2) 및 (0.2,3.1)에 3꼭지점을 갖는 3각형 모양의 다각형을 보여준다. 소수점 왼쪽의 수는 픽셀값을 나타내고 소수점 오른쪽의 수는 소수 또는 서브-픽셀 값을 나타낸다.
꼭지점 위치를 발생하기 위해, 꼭지점 값은 우선 디스플레이 좌표 공간으로 변환된다. 꼭지점 좌표는 그 다음에 서브-픽셀 요소로(바람직하게는 픽셀내의 적어도 두 소수부 비트로) 양자화 된다. 꼭지점 위치는 그 다음에 액티브 변 리스트 및 스캔 라인 순서를 수립하기 위해 Y좌표값 및 X좌표값에 의해 분류된다.
스캔 라인 변환 알고리즘은 제1꼭지점이 y좌표값 0.2에 있기 때문에 다각형의 부분을 포함하는 첫째 스캔 라인은 y=0에 있다고 결정한다.
다음 단계는 변의 서브-픽셀 위치가 적절한 서브-픽셀 마스크를 지표하는데 사용되기 때문에 픽셀의 변(즉, 변교차)의 서브-픽셀 위치를 외상법으로 구하는 것이다.
본 예에서, 브레젠함 알고리즘은 다각형 변의 픽셀 변과의 교점을 결정하는데 사용된다.
평가되는 제1픽셀은 제1꼭지점이 (2.1,0.2)에 있기 때문에 (2.0,0.0)에 있는 픽셀이다. 이것은 제13b도에 도시되어 있다. 꼭지점이 단일 픽셀내에 있기 때문에, 꼭지점의 각 변은 개별적으로 결정되고 꼭지점에 대한 서브-픽셀 마스크를 발생하기 위해 결합된다. 이리하여, 제13c도에 의해 도시되는 것처럼, 꼭지점의 왼쪽변(2.0,1.0)과 (2.1,0.2)사이의 변)은 서브-픽셀 위치(2.2,0.0)에서 브레젠함 알고리즘을 사용하여 픽셀의 변을 교차하도록 외삽된다.
유사하게, 꼭지점의 오른쪽 변(2.2,1.0)과 (2.1,0.2) 사이의 변)은 서브-픽셀 위치.
(2.2,0.0)에서 픽셀의 변을 교차하도록 외삽된다. 픽셀에 대한 이들 엔트리 및 엑시트 점은 서브-픽셀 마스크를 가지고 있는 커버리지 테이블을 지표하는데 사용된다.
엔트리 및 엑시트점의 소수부 비트(소숫점의 오른쪽에 있는 값)가 추출되어 커버리지 테이블 속으로의 지표를 형성하는 어드레스를 생성한다.
교점은 5개의 서브-픽셀 면적중 하나를 교차할 수 있다는 것을 유의하여야 한다 : 현재 픽셀중 4개의 서브-픽셀 및 다음의 이웃하는 서브-픽셀의 0서브-픽셀.
이리하여 교점이 픽셀의 오른쪽 또는 아래쪽 변상에 생길때, 더 윗자리 비트(본 예에서 이것은 소숫점의 왼쪽에 있는 수이다)를 참조하게 된다.
소수부 비트의 값이 영이면, 더 윗자리의 비트가 현재 픽셀의 더 윗자리 비트의 값에 비교된다. 두값이 같으면, 교점의 그 특징 좌표에 대한 어드레스의 부분은 영이다. 교점의 좌표값의 더 윗자리 비트의 값이 현재 픽셀의 대응하는 비트보다 크면, 교점의 그 특정 좌표에 대한 어드레스는 4의 값이 주어진다.
본 예에서, 이 처리는 제13d도에 보이는 값으로 결과됩니다.
제13d도의 테이블은 Ir비트로 불리는 비트를 포함하는데, 이것은 변이 왼쪽 변인지 또는 오른쪽 변인지를 지정한다. 각 변에 대한 값은 각 변에 대한 대응하는 서브-픽셀 마스크를 검색하기 위해 커버리지 테이블을 어드레스하는데 이용된다.
커버리지 테이블은 결정된 어드레스에서 픽셀을 교차하는 수많은 변에 대한 서브-픽셀 마스크를 내놓는다.
제13e도는 커버리지 테이블로부터 검색될 서브-픽셀 마스크를 도시하고 있다.
꼭지점 논리를 사용하면, 위에서 설명된 것처럼, 꼭지점이 볼록이라고 결정된다 ; 그래서 2개의 서브-픽셀 마스크는 2마스크를 논리적으로 AND함으로써 결합된다.
결과되는 서브-픽셀 마스크는 스캔 라인이 현재 다각형에 대해 완전히 처리되고 데이타가 프레임 버퍼로 이송될때까지 현재 스캔 라인에 대한 픽셀값을 기억하는 중간 스캔 라인 버퍼속에 기입된다.
이 점에서는, 현재 스캔 라인상에 다각형의 부분을 포함하는 다른 픽셀이 없다.
이것은 중간 스캔 라인 버퍼내에 포함된 데이터가 프레임 버퍼속으로 혼합되는 것을 나타내는 스캔 라인 논리에 의해 검출되고 처리는 다음 스캔 라인에서 계속된다.
다음 스캔 라인은, 제13f도에 의해 도시되어 있는데, 각각이 별개의 픽셀을 교차하는 2변으로 구성된다. 각 변은 중간 스캔 라인 버퍼에 기억되어 있고, 이어서 프레임 버퍼속으로 혼합되는 대응하는 서브-픽셀 마스크(제13g도에 의해 도시됨)를 검색하기 위해 개별적으로 처리된다.
처리될 세째 스캔 라인은 제13h도에 의해 도시되어 있다.
3픽셀에 대한 서브-픽셀 마스크는 처음 2스캔 라인에 대해 설명된 처리에 따라 결정된다. 그러나, 위치(1.0,2.0)에 있는 픽셀은 2개의 별개 변을 포함하고 있다는 것을 유의해야 한다. 이 경우를 대비하기 위한 준비가 스캔 라인 논리에 마련되어 있다. 제1변이 이 픽셀을 교차할때, 스캔 라인 논리는 중간 스캔 라인 버퍼에 있는 픽셀위치가(현재의 스캔 라인에 대해) 기입되지 않았다는 것을 검출한다. 이리하여, 서브-픽셀 마스크가 중간 스캔 라인 버퍼속에 기입된다.
픽셀을 교차하는 제2변이 처리될때, 논리는 중간 스캔 라인 버퍼에 있는 특정 픽셀이 기입된 것을 검출하고 두 서브-픽셀 마스크를 논리적으로 AND함으로써 서브-픽셀 마스크를 중간 스캔 라인 버퍼안에 있는 서브-픽셀 마스크와 결합시킨다(이것은 제13i도에 의해 도시되어 있다).
가장 오른쪽 픽셀의 처리시에, 변 논리는 픽셀의 외삽법으로 추정된 오른쪽 변이 제2꼭지점을 넘어 뻗친다고 결정한다. 이것은 오른쪽 변이 완전하고 오른쪽 변은 액티브 변 리스트로부터 삭제되는 것을 나타낸다. 제2꼭지점을 형성하는 변에 대한 서브-픽셀 마스크는 개별적으로 결정되고 2서브-픽셀 마스크를 논리적으로 AND함으로써 결합된다(제13j도에 의해 도시된 것과 같다).
스캔 라인에 대한 결과 커버리지는 제13k도에 의해 도시되어 있다.
다음 스캔 라인은, 제13l도에 의해 도시되어 있는데, 다각형의 제3꼭지점으로 구성된다. 꼭지점을 형성하는 변은 교점(즉, 픽셀의 변 엔트리 및 엑시트점)을 결정하기 위해 외삽법에 의해 추정된다. 교점의 위치를 꼭지점의 위치와 비교함으로써 꼭지점의 오른쪽 변을 외삽함으로써 결정되는 픽셀의 오른쪽 변이 꼭지점의 왼쪽 변을 넘어 뻗치고 꼭지점의 왼쪽 변을 외삽함으로써 결정되는 픽셀의 왼쪽 변이 꼭지점의 오른쪽 변을 넘어 뻗친다는 것이 결정된다.
이리하여, 왼쪽 및 오른쪽 변은 액티브 변 리스트에서 제거되며(액티브 변 리스트는 이제 비어 있다), 제13m도에 도시되어 있는 것처럼, 꼭지점을 형성하는 각 변에 대한 서브-픽셀 마스크가 커버리지 테이블에서 검색되고 서로 논리적으로 AND되어 중간 스캔 라인 버퍼에 기억된다(제13n도에 의해 도시되어 있다).
중간 스캔 라인 버퍼에 기억되는 서브-픽셀 마스크는 다각형의 처리를 완료하기 위해 프레임 버퍼에 있는 대응하는 픽셀과 혼합된다.
제6도를 다시 참조하면, 경계 픽셀의 올바른 부분 커버리지 및 다각형의 변이 볼록(310)에서 일단 결정되면, 변 픽셀 사이의 픽셀이 필된다.
각 변 픽셀이 계산되면서, 다각형의 첫째 비변 픽셀 내부를 나타내는 x값이 그것으로써 식별된다. 이 픽셀은 다각형의 내부에서 필되는 첫번째 픽셀이다.
이들 x값은 그 다음에 y값 및 증가하는 x값에 의해 분류되고 현재 스캔 라인상의 어떤 수의 스팬에 대해서도 필스팬을 시작하고 필스팬을 끝내는데 기수/우수 규칙이 사용된다.
분류된 리스트에서 첫번째 x값은 각각의 연속되는 픽셀을 턴온함으로써 필이 시작되는 왼쪽 변상의 점이다.
필처리는 대응하는 오른쪽 변이 발견될때까지 계속된다.
리스트는 필처리를 반복하기 위해서 현재 스캔 라인에서 또다른 세트의 왼쪽 및 오른쪽 변이 발견되는지를 알기 위해서 더 조사된다.
변 픽셀 사이에서의 스캔 라인 처리는 간단한 선형 내삽법 루프를 사용하여 달성되는 것이 바람직하다 ; 예를들어 평면 다각형에 대해서는 :
while (x<right-x
process-pixel(x,y,z,r,g,b)
x+=scale-x
z+=dzDx
r+=drDx
g+=dgDx
b+=dbDx
여기에서 x,y,z는 디스플레이 좌표값을 나타내며(z는 뎁스를 나타낸다), r,g,b는 색채 좌표값 적, 녹, 청을 나타내며, x,y,z,r,g,b는 계산될 x,y,z,r,g,b 값이며, right-x는 처리되고 있는 스팬의 오른쪽 변 픽셀이며, scale-x는 스캔 라인을 가로지르는 픽셀 증분이며, +=는 연산자의 왼쪽에 있는 변수를 연산자의 오른쪽에 있는 변수만큼 증분하는 연산을 나타내고, dzDx, drDx, dgDx 및 dbDx는 각각 x에 대한 z, r, g, b의 기울기이며 다음 식에 따라 계산된다(변 픽셀은 제14도에 보이는 것처름 왼쪽 변의 끝점(P1-P3) 및 오른쪽 변의 끝점(P1-P2)에 의해 식별된다고 가정한다) :
여기에서, dx1, dy1, dz1, dr1, dg1 및 db1은 스팬의 오른쪽 변을 형성하는 끝점(P1,P2) 사이의 x, y, z, r, g, b 값의 차이값이고 dx3, dy3, dz3, dr3, dg3 및 db3은 스캔 라인상에서 스팬의 왼쪽 변을 형성하는 끝점(P1,P3) 사이의 x, y, z, r, g, b 값의 차이값이다.
다각형의 스캔 라인이 픽셀값으로 변환되면, 제6도의 블록(320)에서 다각형의 각 픽셀의 z 또는 뎁스값(이후에는 za로 지칭한다)은 사용할 혼합식의 세트를 결정하기 위해 다각형과 혼합될 각 배경 픽셀의 z 버퍼값과 (zb)과 비교된다.
각 픽셀의 z값을 사용할 혼합식을 결정하기 위한 제어로서 채용함으로써, 배경과 혼합될 다각형의 정확한 렌더링이 달성될 수 있다.
블록(330)에서, za가 zb보다 작으면 다각형은 배경 픽셀앞에 있으며 블록(340)에서 다각형의 픽셀은 배경 픽셀과 혼합된다.
제15a도는 단일 알파값이 픽셀의 커버리지의 정도를 기술하는데 사용될때 채용되는 혼합식을 설명하며 제15b도는 서브-픽셀 마스크가 픽셀에서 커버리지를 표현하는데 사용될때 픽셀을 배경 픽셀에 혼합하는데 채용되는 식을 설명하고 있다.
이리하여, za가, zb보다 작고, 알파값이 커버리지를 기술하는데 사용되면, 혼합시의 배경 픽셀의 색채는 제15a도의 식(540,545,550)에 따라 계산되며, 배경 픽셀에 대한 알파값은 식(555)에 따라 업데이트되며 z버퍼값은 다각형의 픽셀의 z값(za)과 같도록 식(560)에 따라 설정된다.
서브-픽셀 마스크가 커버리지를 기술하는데 사용되면, 제15b도를 참조하면, 커버리지값 αa는 식(650 및 655)로부터 결정되며 1에 설정되는 마스크내의 서브-픽셀 요소의 수를 마스크내의 서브-픽셀의 전체수로 나눔에 따라 간단히 결정된다.
식(660 및 665)는 배경 픽셀의 업데이트된 색채인 다각형 픽셀과 배경 픽셀의 색채 혼합을 결정한다. 식(670)은 배경 픽셀의 α채널에 기억될 결과 서브-픽셀 마스크를 유도한다. 서브-픽셀 마스크는 이전에 기억된 배경 픽셀의 서브-픽셀 마스크와 다각형의 픽셀의 마스크의 논리 OR이다.
새로운 다각형이 관찰자에 더 가까이 있는 한, z 버퍼값은 다각형 픽셀의 z값이 되게 업데이트 된다(식 675).
배경 픽셀이 다각형 픽셀의 앞에 있으면(제6도의 블록 350) 그리고 단일 알파값이 픽셀의 커버리지의 정도를 기술하는데 사용되면, 제6도의 블록(360)에서 배경 픽셀과 다각형 픽셀이 혼합되고 알파값이 업데이트된다.
제15a도의 식(565,570,575)은 혼합시 배경 픽셀의 색채를 결정하는데 사용되고 식(580)은 알파의 업데이트된 값을 결정하는데 사용된다. z버퍼값은 배경과 혼합되는 다각형 픽셀이 배경 픽셀보다 뒤에 있기 때문에 여전히 같은 채로 남아 있다(식 585).
제6도의 블록(350)에서, 마스크가 커버리지를 기술하는데 사용되고 zb가 za보다 작으면, 배경 픽셀은 다각형 픽셀 앞에 있고 블록(360)에서 다각형 픽셀은 제15b도의 식(680,685,690,695,700,705 및 710)을 사용하여 배경 픽셀과 혼합된다. 이들 식은 다각형 픽셀의 z값이 배경 픽셀의 그것보다 크고 마스크가 아직 채워지지 않았을 때 즉 픽셀이 다각형에 의해 아직 막히지 않았을 때 채용된다.
픽셀에 대한 비례 색채 기여를 유도하는데 사용되는 서브-마스크는 처음에 식(680)에서처럼 기억된 배경 서브-픽셀 마스크의 논리 보수와 논리적으로 AND된다.
이 연산은 배경 픽셀의 마스크에 의해 나타내지는 것처럼 어쩌면 보이지 않을 수 있는 픽셀 면적을 여과해낸다. 혼합 마스크 연산의 결과는 보일 수 있는 서브-픽셀들이며, 이리하여 커버리지값에 기여한다(식 685). 픽셀 색채는 식(690)에 의해 결정되고 결과 서브-픽셀 마스크 및 배경 픽셀의 색채는 식(695,700 및 705)에 의해 결정된다. z버퍼의 값은 배경 픽셀이 다각형 픽셀의 앞에 있기 때문에 변경되지 않는다(식 710).
제6도의 블록(370)에서, za가 zb와 같으면, 블록(380)의 혼합연산을 수행하기 위해 2가지 방법이 채용된다.
제1방법은 배경 픽셀 색채를 다각형 픽셀의 색채로써 단순히 오버라이트 하는 것이다. 이 방법은 α값이 커버리지를 나타내는 경우에 있어서 알파값의 합이 1의 값보다 크거나 같을때 사용된다.
유사하게, 이 방법은 기억된 마스크와 다각형 서브-픽셀 마스크의 논리 OR가 충만 마스크(즉, 마스크내의 모든 비트가 1에 설정된다)로 결과될때 채용된다.
알파값이 1의 값보다 크거나 같을때 또는 마스크가 차있을때 기억된 정보가 주어지면 무슨 혼합이 이전에 생겼는가 하는 것이 불분명하다.
통계는 들어오는 정보가 전형적으로 배경 정보보다 더 중요하다는 것을 보여주었기 때문에, 들어오는 졍보는 픽셀의 색채를 결정하는데 사용된다.
식(590,595,600,605 및 610)은 혼합시에 색채 및 알파값 z버퍼값을 결정하는데 사용되고 제15b도의 식(715,720,725,730,735 및 740)은 서브-픽셀 마스크가 사용될 때 이용된다.
배경 픽셀 마스크와 다각형 마스크가 논리적으로 OR될때 합산된 알파값이 1보다 작거나 또는 마스크가 차있지 않으면 즉(Ma|Mb)충만 마스크일때 픽셀이 꼭지점 픽셀을 포함하고 단순한 오버라이트는 혼합된 변을 따라서 바람직하지 않은 리플이 결과되는 경향이 강하다.
그래서, 제5도의 블록(390)에서, 제15b도의 식(615,620,625,630 및 635)에 의해 나타내지는 알파값 수법에 대한 혼합식 및 마스크 수법에 대한 제15b도의 식(745,750,755,760,765 및 770)이 앤티 에일리어즈드 변의 매끈함이 보존되도록 사용된다.
제16a도 및 제16b도와 제17a도, 제17b도 및 제17c도는 뎁스순서에 따른 종속오차 및 본 발명의 시스템이 시스템을 단일 패스 시스템으로 유지하면서 뎁스순서 종속오차를 최소화 함으로써 달성하는 개선을 상세하게 도시하고 있다.
이 도시에서는, 특정 픽셀에 있어서 다각형의 3면이 사용되고 있다(제16a도 참고).
디스플레이 디바이스에 대한 픽셀 출력의 최종 색채는 뎁스순서(예로 zAzB zC) 및 렌더링의 시간순서(예로 tAtBtC)에 달려있다. 제16b도는 뎁스순서 및 렌더링의 시간순서의 상이한 조합에 대한 결과 색채를 도시하고 있다.
값 zA, zB 및 zC는 각각 면 A, B 및 C에 대한 z 또는 뎁스값을 나타낸다.
유사하게. tA, tB 및 tC는 각각 면 A, 면 B 및 면 C를 렌더링하는 시간순서를 나타낸다.
제17a도, 제17b도 및 제17도에 그려져 있는 테이블은 또한 고속 단일 패스 시스템을 유지하면서 뎁스순서 종속오차를 최소화하는데 있어서의 본 발명의 시스템의 효율성을 도시하고 있다. 제17a도의 테이블은 바람직하게 다중 패스 시스템을 통해 다각형을 적절하게 렌더하는 무한한 시간이 주어지면 렌더될 이상적인 색채값을 도시하고 있다. 제17b도는 본 발명의 시스템을 사용하여 렌더되는 색채값을 도시하고 있다. 제17c도는 이상적인 색채값과 본 발명의 시스템에 따라 렌더되는 색채값 사이의 오차 분석을 제공하고 있다.
제17c도로부터 관찰할 수 있는 바와 같이, 오차 마진은 대체로 최소이고 단일 패스 시스템에서 앤티-에일리어즈드 다각형을 렌더링하여 절약되는 시간에 의해 훨씬 능가하게 된다.
발명은 바람직한 실시예와 관련해서 설명되었지만 수많은 대안, 수정 변경 및 사용이 앞에 나온 설명에 비추어서 해당 분야에 숙련된 사람에게 명백할 것이라는 것은 분명하다.

Claims (58)

1. 중앙처리장치(CPU), 메모리 및 그래픽 디스플레이를 구비하는 컴퓨터 시스템에 있어서, 색채, 다각형의 꼭지점을 나타내는 1세트의 좌표 및 다각형의 뎁스를 나타내는 뎁스값에 의해 표현되는 앤티-에일리어즈드 다각형을 그래픽 디스플레이상에 렌더링하기 위한 처리로서 : 그래픽 영상을 나타내는 픽셀이 그래픽스 디스플레이에 출력되기 위해 기억되는 메모리내에 위치되는 프레임 버퍼를 제공하는 단계(프레임 버퍼내의 각 픽셀은 색체값, z버퍼값 및 커버리지를 나타내는 표현에 의해 식별되고, 상기 z버퍼값은 픽셀의 뎁스를 나타내고 커버리지 표현은 픽셀내에서 커버리지의 정도를 나타내고, 프레임 버퍼내의 상기 픽셀은 배경 픽셀로서 식별된다) ; 다각형을 구성하는 픽셀을 식별하는 단계로서, 다각형의 꼭지점에 따라 다각형을 형성하는 변의 픽셀위치를 계산하는 단계, 다각형이 덮는 픽셀내의 면적을 결정함으로써 각 변 픽셀에 대한 커버리지 표현을 형성하는 단계, 각 변 픽셀의 뎁스값을 계산하는 단계(상기 뎁스값은 픽셀에서 다각형의 뎁스값과 같다), 다각형의 내부에 있는 픽셀의 픽셀위치를 계산하는 단계(상기 픽셀 위치는 변 픽셀 사이에 있다), 충만 커버리지를 나타내는 각 내부 픽셀에 대한 커버리지 표현을 형성하는 단계 및 각 내부 픽셀의 뎁스값을 계산하는 단계(상기 뎁스값은 픽셀에서 다각형의 뎁스값과 같다)를 포함하는 상기 단계 ; 다각형의 각 변 및 내부 픽셀을 픽셀이 혼합될 프레임 버퍼내의 위치에 있는 대응하는 배경 픽셀과 혼합하여 이로써 새로운 배경 픽셀이 되고 프레임 버퍼에 기억되는 혼합 픽셀을 형성하는 단계를 구비하며, 혼합 단계는 ; 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀의 뎁스값보다 작으면 ; 혼합되는 픽셀의 색체를 다각형 픽셀의 색체와 배경 픽셀의 색채의 제1비례 혼합으로 설정하는 단계(상기 비례 혼합은 다각형 픽셀의 커버리지 정도에 의존한다) ; 혼합된 픽셀의 뎁스값을 다각형 픽셀의 뎁스값과 같게 설정하는 단계 ; 및 혼합된 픽셀의 커버리지 표현을 다결정 픽셀의 커버리지 표현과 배경 픽셀의 커버리지 표현의 제1비례 혼합과 같게 설정하는 단계를 포함하며 ; 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀의 뎁스값보다 크면 ; 혼합되는 픽셀의 색채를 다각형 픽셀의 색채와 배경 픽셀의 색채의 제2비례 혼합과 같게 설정하는 단계(상기 비례 혼합은 배경 픽셀의 커버리지의 정도에 의존한다) ; 혼합된 픽셀의 커버리지 표현을 다각형 픽셀의 커버리지 표현과 배경 픽셀의 커버리지 표현의 제 2 비례 혼합으로 설정하는 단계 ; 및 혼합되는 픽셀의 뎁스값을 배경 픽셀의 뎁스값과 같게 설정하는 단계를 포함하며 ; 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀의 뎁스값과 같고 다각형 픽셀과 배경 픽셀의 커버리지 표현의 결합이 충만 커버리지를 나타내면 ; 혼합되는 픽셀의 색채를 다각형 픽셀의 색채와 같게 설정하는 단계 ; 혼합된 픽셀의 커버리지 표현을 충만 커버리지를 표현하도록 설정하는 단계 ; 및 혼합되는 픽셀의 뎁스값을 배경 픽셀과 다각형 픽셀의 뎁스값과 같게 설정하는 단계를 구비하며 ; 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀의 뎁스값과 같고 다각형 픽셀과 배경 픽셀의 커버리지 표현의 결합이 충만 커버리지를 나타내지 않으면 ; 혼합되는 픽셀의 색채를 다각형 픽셀의 색채와 배경 픽셀의 색채의 제1비례 혼합과 같게 설정하는 단계(상기 비례 혼합은 커버리지의 정도에 의존한다) ; 및 혼합되는 픽셀의 뎁스값을 다각형 픽셀의 뎁스값과 같게 설정하는 단계 ; 및 혼합되는 픽셀의 커버리지 표현을 다각형 픽셀의 커버리지 표현과 배경 픽셀의 커버리지 표현의 제1비례 혼합과 같게 설정하는 단계를 구비하며, 프레임 버퍼에서 혼합된 픽셀을 대응하는 배경 픽셀의 위치에 기억하여 배경 픽셀을 혼합된 픽셀로 대체하여 새로운 배경 픽셀을 형성하는 단계 ; 프레임 버퍼에 기억된 픽셀을 검색하고 색채값에 의해 나타낸 색채 및 커버리지 표현에 의해 나타낸 휘도로 픽셀을 그래픽 디스플레이상에 동작시켜 그래픽 디스플레이상에 그래픽 영상을 발생하는 단계를 또한 포함하며 픽셀의 각각은 개별적으로 뎁스값, 색채값 및 커버리지 표현을 유지하고 각각이 개별적으로 뎁스값, 색채값 및 커버리지 표현을 유지하는 대응하는 배경 픽셀과 개별적으로 혼합되어 양질의 앤티-에일리어즈드 다각형을 렌더하는 것을 특징으로 하는 처리
제1항에 있어서, 다각형을 형성하는 변의 픽셀위치를 계산하는 단계는 피티웨이와 와트킨슨 라인 알고리즘을 사용하여 픽셀위치를 계산하는 단계를 포함하고 각 픽셀에 대한 커버리지 표현을 형성하는 단계는 커버리지 표현을 (mx+y)+(1-m)과 같게 설정하는 것을 포함하고 여기서 m은 변의 기울기이고 x,y는 각각 픽셀이 가장 가까이 있다고 결정되는 위치의 x 및 y좌표인 것을 특징으로 하는 처리.
제1항에 있어서, 각 변 픽셀에 대한 커버리지 표현을 형성하기 위한 단계는 다각형의 변이 지나가는 서브-픽셀을 결정하고 다각형의 변이 지나가는 서브-픽셀 및 다각형에 포함되는 서브-픽셀을 세트하고 세트된 서브-픽셀의 수와 같은 커버리지 표현을 발생함으로써 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하는 단계를 포함하는 것을 특징으로 하는 처리.
제3항에 있어서, 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하기 위한 단계는 : 다각형의 변이 변 픽셀에 들어가는 엔트리 서브-픽셀 및 다각형의 변이 변 픽셀을 나오는 엑시트 서브-픽셀을 결정하는 것 ; 엔트리 서브-픽셀 및 엑시트 서브-픽셀에 따라 지표되는 상이한 서브-픽셀의 조합에 대한 서브-픽셀 마스크를 나타내는 다수의 서브-픽셀 마스크를 메모리내의 테이블에 기억시키는 것 ; 및 엔트리 서브-픽셀 및 엑시트 서브-픽셀에 따라 지표되는 서브-픽셀 마스크를 메모리로부터 검색하는 것을 포함하는 것을 특징으로 하는 방법.
제3항에 있어서, 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하기 위한 단계는 : 다각형의 변이 변 픽셀로 들어가는 엔트리 서브-픽셀 및 변의 기울기를 결정하는 것 ; 엔트리 서브-픽셀 및 변의 기울기에 따라 지표되는 상이한 서브-픽셀의 조합에 대한 서브-픽셀 마스크를 나타내는 다수의 서브-픽셀 마스크를 메모리내의 테이블에 기억시키는 것 ; 및 엔트리 서브-픽셀 및 변의 기울기에 따라 지표되는 서브-픽셀 마스크를 메모리부터 검색하는 것을 포함하는 것을 특징으로 하는 방법.
제3항에 있어서, 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하기 위한 단계는 : 변으로부터 픽셀의 중심까지의 수직거리 및 변의 기울기를 결정하는 것 ; 변으로부터 픽셀의 중심까지의 수직거리 및 변의 기울기에 따라 지표되는 상이한 서브-픽셀의 조합에 대한 서브-픽셀 마스크를 나타내는 다수의 서브-픽셀 마스크를 메모리내의 테이블에 기억시키는 것 ; 및 변으로부터 픽셀의 중심까지의 수직거리 및 변의 기울기에 따라 지표되는 서브-픽셀 마스크를 메모리로부터 검색하는 것을 포함하는 것을 특징으로 하는 방법.
제3항에 있어서, 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하기 위한 단계는 : 다각형의 변이 변 픽셀에 들어가는 엔트리 서브 픽셀 및 변의 샘플 서브-픽셀을 결정하는 것(상기 샘플 서브-픽셀은 변이 픽셀내에서 끝날때는 다각형 꼭지점이다) ; 엔트리 서브-픽셀 및 샘플 서브-픽셀에 따라 지표되는 상이한 서브-픽셀의 조합에 대한 서브-픽셀 마스크를 나타내는 다수의 서브-픽셀 마스크를 메모리내의 테이블내에 기억시키는 것 ; 및 엔트리 서브-픽셀 및 샘플 서브-픽셀에 따라 지표되는 서브-픽셀 마스크를 메모리로부터 검색하는 것을 포함하는 것을 특징으로 하는 방법.
제1항에 있어서, 픽셀은 각 스캔 라인에 대해 순차적으로 혼합되고 다각형을 구성하는 픽셀을 식별하는 단계는 : 스캔 라인의 픽셀을 기억하기 위한 스캔 라인 버퍼를 제공하는 단계 ; 스캔 라인에 대한 다각형의 모든 픽셀이 식별될때까지 다각형의 각 픽셀을 스캔 라인 버퍼에 일시적으로 기억하는 단계 ; 및 스캔라인에 대한 다각형의 모든 픽셀이 식별되면 스캔 라인 버퍼에 기억된 픽셀을 프레임 버퍼의 대응하는 스캔라인에 기입하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
제8항에 있어서, 1 이상의 변 픽셀이 픽셀을 지나가고 식별된 제1변 픽셀이 스캔 라인 버퍼에 기억되면, 다각형을 구성하는 픽셀을 식별하는 상기 단계는 식별된 제1변 픽셀을 식별된 제2변 픽셀과 혼합하는 것을 추가로 포함하며, 상기 혼합은 식별된 변 픽셀의 픽셀 커버리지 표현을 스캔 라인 버퍼로부터 검색하는 단계 ; 스캔 라인 버퍼로부터 검색된 변 픽셀의 커버리지 표현을 제2변 픽셀의 커버리지 표현과 혼합하는 단계 ; 및 혼합된 커버리지 표현을 스캔 라인 버퍼에 기억하는 단계를 포함하는 것을 특징으로 하는 방법.
제9항에 있어서, 각 변 픽셀에 대한 커버리지 표현을 형성하는 단계는 다각형의 변이 지나가는 서브-픽셀을 결정하고 다각형의 변이 지나가는 서브-픽셀 및 다각형에 포함되는 서브-픽셀을 세트하고 세트된 서브-픽셀의 수와 같은 커버리지 표현을 발생함으로써 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하는 단계를 포함하며 ; 그리고 커버리지 표현은 대수 식 α1+α2-1에 따라 혼합되고 여기에서 α1 및 α2는 변 픽셀에 대한 커버리지 표현을 나타내는 것을 특징으로 하는 방법.
제9항에 있어서, 커버리지 표현은 서브-픽셀 마스크를 포함하며 커버리지 표현은 논리식 MAAND MB에 따라 혼합되고 여기에서 MA및 MB는 변 픽셀에 대한 서브-픽셀 마스크를 나타내고 AND는 논리 AND 연산을 나타내는 것을 특징으로 하는 방법.
제1항에 있어서, 상기 커버리지 표현은 픽셀내의 다각형의 커버리지의 면적을 나타내는 단일값이고 ; 다각형 픽셀의 색채와 배경 픽셀의 색채의 상기 제1비례 혼합은 Cb : =Ca+(1-αa)*Cb이고 여기에서 Cb는 배경 픽셀의 색체를 나타내고 Ca는 다각형 픽셀의 색채 및 Ca : =αa*Ca를 나타내고 αa는 다각형 픽셀의 커버리지 표현을 나타내고 : =는 대체 기능을 나타내며 다각형 픽셀의 커버리지 표현과 배경 픽셀의 커버리지 표현의 상기 제1비례 혼합은 αb : =αa+(1-αa)*αb이고 여기에서 αb는 배경 픽셀에 대한 커버리지 표현을 나타내며 다각형 픽셀의 색채와 배경 픽셀의 색채의 상기 제2비례 혼합은 Cb : =(1-αb)Ca+Cb이며 다각형 픽셀의 커버리지 값과 배경 픽셀의 커버리지 표현의 상기 제2비례 혼합은 αb : =(1-αb)*αa+αb인 것을 특징으로 하는 방법.
제1항에 있어서, 상기 커버리지 표현은 픽셀내의 다각형의 커버리지의 면적을 나타내는 서브-픽셀 마스크이며, 다각형 픽셀의 색채 및 배경 픽셀의 색채의 상기 제1비례 혼합은 Cb : =Ca+(1-αa)*Cb이고 여기에서 αa : =count(Ma)/MASK-SIZE이고 Cb는 배경 픽셀의 색채를 나타내고 Ca는 다각형 픽셀의 색채 및 Ca : =αa*Ca를 나타내고 Ma는 다각형 픽셀에 대한 서브-픽셀 마스크를 나타내고 count는 커버리지를 나타내는 값에 세트된 비트의 수를 계수하는 기능을 나타내고 MASK-SIZE는 서브-픽셀 마스크의 서브-픽셀의 전체수를 나타내고 : =는 대체 기능을 나타내며 다각형 픽셀의 커버리지 표현과 배경 픽셀의 커버리지 표현은 Mb : =Ma|Mb이고 여기에서 Mb는 배경 픽셀의 서브-픽셀 마스크를 |는 논리 OR 기능을 나타내며 다각형 픽셀의 색채와 배경 픽셀의 색채의 상기 제2비례 혼합은 Cb :=(1-αb)*Ca+Cb이고 여기에서
αb : =count(Mb)/MASK-SIZE
Ma : Ma ~Mb
αa : =count(Ma)/MASK-SIZE
Ca : =αa*Ca
이고 여기에서 는 논리 AND 기능을 나타내고 ~는 논리 부정 기능을 나타내며, 다각형 픽셀의 커버리지 표현과 배경 픽셀의 커버리지 표현의 상기 제2비례 혼합은 Mb : =Ma|Mb인 것을 특징으로 하는 방법.
중앙처리장치(CPU), 메모리 및 그래픽 디스플레이를 구비하는 컴퓨터 시스템에 있어서, 색채, 다각형의 꼭지점을 나타내는 1세트의 좌표 및 다각형의 뎁스를 나타내는 뎁스값에 의해 표현되는 앤티-에일리어즈드 다각형을 그래픽 디스플레이상에 렌더링하기 위한 처리로서 : 프레임 버퍼내의 각 픽셀이 색채값, z버퍼값 및 서브-픽셀 마스크에 의해 식별되는 메모리내에 위치된 프레임 버퍼를 제공하는 단계(상기 z버퍼값은 픽셀의 뎁스를 나타내고 서브-픽셀 마스크는 세트되고 픽셀의 커버리지 양을 나타내는 픽셀의 서브-픽셀을 나타내고 프레임 버퍼내의 상기 픽셀은 배경 픽셀로서 식별된다) ; 다각형을 구성하는 픽셀을 식별하는 단계로서, 다각형의 꼭지점에 따라 다각형을 형성하는 변의 픽셀위치를 계산하는 단계 ; 다각형의 변이 지나가는 서브-픽셀을 결정하고 다각형의 변이 지나가는 서브-픽셀 및 다각형에 포함되는 서브-픽셀을 세트함으로써 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하는 단계 ; 각 변 픽셀의 뎁스값을 계산하는 단계(상기 뎁스값은 픽셀에서 다각형의 뎁스값과 같다) ; 다각형의 내부에 있는 픽셀의 픽셀위치를 계산하는 단계(상기 픽셀 위치는 변 픽셀 사이에 있다) ; 각 서브-픽셀 마스크의 모든 서브-픽셀을 세트함으로써 각 내부 픽셀에 대한 서브-픽셀 마스크를 형성하는 단계 ; 각 내부 픽셀의 뎁스값을 계산하는 단계(상기 뎁스값은 픽셀에서 다각형의 뎁스값과 같다)를 포함하는 상기 단계 ; 다각형의 각 변 및 내부 픽셀을 픽셀이 혼합되어야 할 프레임 버퍼내의 위치에 있는 대응하는 배경 픽셀과 혼합하여 이로써 새로운 배경 픽셀을 형성하는 단계를 구비하며, 혼합 단계는 ; 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀에 대한 뎁스값보다 작으면 ; 혼합되는 픽셀의 색채를 Cb : = Ca+(1-αa)*Cb와 같게 설정하는단계(여기에서 Ca : =αa*Ca,Ca는 다각형 픽셀의 색채를 나타내고, αa : =count(Ma)/MASK-SIZE이며 다각형 픽셀의 커버리지 표현을 나타내고, Cb는 배경 픽셀의 색채를 나타내고, Ma는 다각형 픽셀에 대한 서브-픽셀 마스크를 나타내고, count는 세트된 서브-픽셀의 수를 계수하는 기능을 나타내고, MASK-SIZE는 서브-픽셀 마스크내의 서브-픽셀의 전체수를 나타내고, : =는 대체 기능을 나타낸다) ; 혼합되는 픽셀의 서브-픽셀 마스크를 Mb : =Ma|Mb와 같게 설정하는 단계(여기에서 Mb는 배경 픽셀의 서브-픽셀 마스크를 나타내고 |는 논리 OR 기능을 나타낸다) ; 및 혼합되는 픽셀의 뎁스값을 다각형 픽셀의 뎁스값과 같게 설정하는 단계를 구비하며 ; 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀에 대한 뎁스값보다 크고 배경 픽셀에 대한 서브-픽셀 마스크가 충만 마스크와 같지 않으면 혼합되는 픽셀의 색채를 Cb : =(1-αb)*Ca+Cb와 같게 설정하는 단계(여기에서, αb : = count(Mb)/MASK-SIZE, Ma : =Ma ~Mb, αa : =count(Ma)/MASK-SIZE, Ca : =αa*Ca이며, αb는 배경 픽셀의 커버리지 양을 나타내는 커버리지 표현이고 는 논리 AND 기능을 나타내고 ~는 논리부정을 나타낸다) ; 혼합되는 픽셀의 서브-픽셀 마스크를 Mb : =Ma|Mb와 같게 설정하는 단계 ; 뎁스값을 배경 픽셀의 뎁스값과 같게 설정하는 단계를 포함하며, 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀에 대한 뎁스값과 같으면 혼합되는 픽셀의 서브-픽셀 마스크를 Mb : =Ma|Mb와 같게 설정하는 단계, 완성된 픽셀의 색채를 Cb : =Ca(1-αa)*Cb가 되게 설정하는 단계 및 혼합되는 픽셀의 뎁스값을 다각형 픽셀의 뎁스값과 같게 설정하는 단계를 포함하는 것을 특징으로 하는 처리.
제14항에 있어서, 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하기 위한 단계는 : 다각형의 변이 변 픽셀에 들어가는 엔트리 서브-픽셀 및 다각형의 변이 변 픽셀을 나가는 엑시트 서브-픽셀을 결정하는 것 ; 엔트리 서브-픽셀 및 엑시트 서브-픽셀에 따라 지표되는 상이한 서브-픽셀의 조합에 대한 서브-픽셀 마스크를 나타내는 다수의 서브-픽셀 마스크를 메모리내의 테이블에 기억하는 것 ; 및 엔트리 서브-픽셀 및 엑시트 서브-픽셀에 따라 지표되는 서브-픽셀 마스크를 메모리로부터 검색하는 것을 포함하는 것을 특징으로 하는 방법.
제14항에 있어서, 픽셀은 각 스캔 라인에 대해 순차적으로 혼합되며 다각형을 구성하는 픽셀을 식별하는 단계는 스캔 라인의 픽셀을 기억하는 스캔 라인 버퍼를 제공하는 단계 ; 다각형의 모든 픽셀이 스캔 라인에 대해 식별될때까지 다각형의 각 픽셀을 스캔 라인 버퍼에 일시적으로 기억하는 단계 ; 및 스캔 라인에 대한 다각형의 모든 픽셀이 식별되는 스캔 라인 버퍼에 기억된 픽셀을 프레임 버퍼의 대응하는 스캔 라인에 기입하는 단계를 추가로 구비하는 것을 특징으로 하는 방법.
제16항에 있어서, 1 이상의 변 픽셀이 픽셀을 지나가고 식별된 제1변 픽셀이 스캔 라인 버퍼에 기억되면 다각형을 구성하는 픽셀을 식별하는 상기 단계는 식별된 제1변 픽셀을 식별된 제2변 픽셀과 혼합하는 것을 추가로 포함하고, 상기 혼합은 식별된 변 픽셀 커버리지 표현을 스캔 라인 버퍼로부터 검색하는 단계 ; 스캔 라인 버퍼로부터 검색된 변 픽셀의 커버리지 표현을 제2변 픽셀의 커버리지 표현과 혼합하는 단계 ; 및 혼합된 커버리지 표현을 스캔 라인 버퍼에 기억하는 단계를 포함하는 것을 특징으로 하는 방법.
제17항에 있어서, 서브-픽셀 마스크는 논리식 MAAND MB에 따라 혼합되고 여기에서 MA및 MB는 변 픽셀에 대한 서브-픽셀 마스크를 나타내고 AND는 논리 AND연산을 나타내는 것을 특징으로 하는 방법.
중앙처리장치(CPU), 메모리 및 그래픽 디스플레이를 구비하는 컴퓨터 시스템에 있어서, 상기 메모리는 그래픽 디스플레이에 출력될 픽셀로 구성되는 그래픽 영상을 기억하는 프레임 버퍼를 포함하며, 색채, 다각형의 꼭지점을 나타내는 1세트의 좌표, 다각형의 뎁스를 나타내는 뎁스값에 의해 표현되는 앤티-에일리어즈드 다각형을 그래픽 디스플레이상에 렌더링하기 위한 처리로서 : 프레임 버퍼내의 각 픽셀을 색채값, z버퍼값 및 커버리지를 나타내는 표현으로 식별하는 단계(상기 z버퍼값은 픽셀의 뎁스를 나타내고 커버리지 표현은 픽셀내의 커버리지의 정도를 나타내고 프레임 버퍼내의 상기 픽셀은 배경 픽셀로서 식별된다) ; 다각형을 구성하는 픽셀을 식별하는 단계로서, 다각형의 꼭지점에 따라 다각형을 형성하는 변의 픽셀위치를 계산하는 단계 ; 다각형이 덮는 픽셀내의 면적을 결정함으로써 각 변 픽셀에 대한 커버리지 표현을 형성하는 단계 ; 각 변 픽셀의 뎁스값을 계산하는 단계(상기 뎁스값은 픽셀에 대한 다각형의 뎁스값과 같다) ; 다각형 내부의 픽셀의 픽셀위치를 계산하는 단계(상기 픽셀 위치는 변 픽셀 사이에 있다) ; 충만 커버리지를 나타내는 각 내부 픽셀에 대한 커버리지 표현을 형성하는 단계 ; 각 내부 픽셀의 뎁스값을 계산하는 단계를 포함하는 상기 단계 ; 다각형의 각 변 및 내부 픽셀을 픽셀이 혼합되어야 할 프레임 버퍼내의 위치에 있는 대응하는 배경 픽셀과 혼합하여 이로써 새로운 배경 픽셀이 되고 프레임 버퍼에 기억되는 혼합 픽셀을 형성하는 단계를 구비하며, 혼합단계는 : 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀에 대한 뎁스값보다 작으면, 혼합되는 픽셀의 색채를 Cb : =Ca(1-αa)*Cb되게 설정하는 단계(여기에서 Cb는 배경 픽셀의 색채를 나타내고, Ca는 다각형 픽셀의 색채 Ca : =αa*Ca를 나타내고, αa는 다각형 픽셀의 커버리지 표현을 나타내고, : =는 대체 기능을 나타낸다), 혼합되는 픽셀의 커버리지 표현을 αb : =αa+(1-αa)*αb와 같게 설정하는 단계(여기에서 αb는 배경 픽셀의 커버리지 표현을 나타낸다) 및 혼합되는 픽셀의 뎁스값을 다각형 픽셀의 뎁스값과 같게 설정하는 단계를 포함하며 ; 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀에 대한 뎁스값 보다 크고 배경 픽셀에 대한 커버리지 표현이 충만 커버리지를 나타내지 않으면 혼합되는 픽셀의 색채를 Cb : =(1-αb)*αa+Cb와 같게 설정하는 단계, 혼합되는 픽셀의 커버리지 표현을 αb : =(1-αb)*αa+ab와 같게 설정하는 단계, 뎁스값을 배경 픽셀의 뎁스값과 같게 설정하는 단계를 구비하며 ; 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀에 대한 뎁스값과 같으면 혼합되는 픽셀의 커버리지 표현을 αb : =αa+(1-αa)*αb되게 설정하는 단계, 혼합되는 픽셀의 색채를 Cb : =Ca(1-αa)*Cb되게 설정하는 단계 및 혼합되는 픽셀의 뎁스값을 다각형 픽셀의 뎁스값과 같게 설정하는 단계를 포함하며 프레임 버퍼에서 혼합된 픽셀을 대응하는 배경 픽셀의 위치에 기억하여 배경 픽셀을 혼합된 픽셀로 대체하여 새로운 배경 픽셀을 형성하는 단계 ; 프레임 버퍼에 기억된 픽셀을 검색하고 색채값에 의해 나타낸 색채 및 커버리지 표현에 의해 나타낸 휘도로 픽셀을 그래픽 디스플레이상에 동작시켜 그래픽 디스플레이상에 그래픽 영상을 발생하는 단계를 또한 포함하는 것을 특징으로 하는 처리.
제19항에 있어서, 다각형을 형성하는 변의 픽셀위치를 계산하는 단계는 브레젠함의 라인 알고리즘을 사용하여 픽셀위치를 계산하는 단계를 포함하는 것을 특징으로 하는 처리.
제20항에 있어서, 다각형을 형성하는 변의 픽셀위치를 계산하는 단계는 피티웨이와 와트킨슨 라인 알고리즘을 사용하여 픽셀위치를 계산하는 단계를 포함하고 각 픽셀에 대한 커버리지 표현을 형성하는 단계는 커버리지 표현을 (mx+y)+(1-m)과 같은 값에 설정하는 것을 포함하고 여기에서 m은 변의 기울기이고 x,y는 각각 픽셀이 가장 가까이 있다고 결정되는 위치의 x 및 y좌표인 것을 특징으로 하는 처리.
제20항에 있어서, 각 변 픽셀에 대한 커버리지 표현을 형성하기 위한 단계는 다각형의 변이 지나가는 서브-픽셀을 결정하고 다각형의 변이 지나가는 서브-픽셀 및 다각형에 포함되는 서브-픽셀을 세트하고 그리고 세트된 서브-픽셀의 수와 같은 커버값을 발생함으로써 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하는 단계를 포함하는 것을 특징으로 하는 처리.
제22항에 있어서, 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하기 위한 단계는 : 다각형의 변이 변 픽셀로 들어가는 엔트리 서브-픽셀 및 다각형의 변이 변 픽셀을 나가는 엑시트 서브-픽셀을 결정하는 것 ; 엔트리 서브-픽셀 및 엑시트 서브-픽셀에 따라 지표되는 상이한 서브-픽셀의 조합에 대한 서브-픽셀 마스크를 나타내는 다수의 서브-픽셀 마스크를 메모리내의 테이블에 기억하는 것 ; 및 엔트리 서브-픽셀 및 엑시트 서브-픽셀에 따라 지표되는 서브-픽셀 마스크를 메모리부터 검색하는 것을 포함하는 것을 특징으로 하는 방법.
제22항에 있어서, 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하기 위한 단계는 : 다각형의 변이 변 픽셀로 들어가는 엔트리 서브-픽셀 및 변의 기울기를 결정하는 것 ; 엔트리 서브-픽셀 및 변의 기울기에 따라 지표되는 상이한 서브-픽셀의 조합에 대한 서브-픽셀 마스크를 나타내는 다수의 서브-픽셀 마스크를 메모리내의 테이블에 기억하는 것 ; 및 엔트리 서브-픽셀 및 변의 기울기에 따라 지표되는 서브-픽셀 마스크를 메모리로부터 검색하는 것을 포함하는 것을 특징으로 하는 방법.
제22항에 있어서, 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하기 위한 단계는 : 변으로부터 픽셀의 중심까지의 수직거리 및 변의 기울기를 결정하는 것 ; 및 변으로부터 픽셀의 중심까지의 수직거리 및 변의 기울기에 지표되는 상이한 서브-픽셀의 조합에 대한 서브-픽셀 마스크를 나타내는 다수의 서브-픽셀 마스크를 메모리내의 테이블에 기억하는 것 ; 및 변으로부터 픽셀의 중심까지의 수직거리 및 변의 기울기에 따라 지표되는 서브-픽셀 마스크를 메모리부터 검색하는 것을 포함하는 것을 특징으로 하는 방법.
제22항에 있어서, 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하기 위한 단계 ; 다각형의 변이 변 픽셀로 들어가는 엔트리 서브-픽셀 및 변의 샘플 서브-픽셀을 결정하는 것(상기 샘플 서브-픽셀은 변이 픽셀내에서 끝날때는 다각형 꼭지점이다) 엔트리 서브-픽셀 및 샘플 서브-픽셀에 따라 지표되는 상이한 서브-픽셀의 조합에 대한 서브-픽셀 마스크를 나타내는 다수의 서브-픽셀 마스크를 메모리내의 테이블에 기억하는 것 ; 및 엔트리 서브-픽셀 및 샘플 서브-픽셀에 따라 지표되는 서브-픽셀 마스크를 메모리로부터 검색하는 것을 포함하는 것을 특징으로 하는 방법.
제19항에 있어서, 픽셀은 각 스캔 라인에 대해 순차적으로 혼합되고 다각형을 구성하는 픽셀을 식별하는 단계는 : 스캔 라인의 픽셀을 기억하는 스캔 라인 버퍼를 제공하는 단계 ; 다각형의 모든 픽셀이 식별될때까지 스캔 라인 버퍼에 다각형의 각 픽셀을 일시적으로 기억하는 단계 및 스캔 라인에 대한 다각형의 모든 픽셀이 식별되면 스캔 라인 버퍼에 기억된 픽셀을 프레임 버퍼의 대응하는 스캔 라인에 기입하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
제27항에 있어서, 1 이상의 변 픽셀이 픽셀을 지나가고 식별된 제1변 픽셀이 스캔 라인 버퍼에 기억되면, 다각형을 구성하는 픽셀을 식별하는 상기 단계는 식별된 제1변 픽셀을 식별된 제2변 픽셀과 혼합하는 것을 추가로 포함하며, 상기 혼합은 : 식별된 변 픽셀의 픽셀 커버리지 표현을 스캔 라인 버퍼로부터 검색하는 단계 ; 스캔 라인 버퍼로부터 검색된 변 픽셀의 커버리지 표현을 제2변 픽셀의 커버리지 표현과 혼합하는 단계 ; 및 스캔 라인 버퍼에 혼합된 커버리지 표현을 기억하는 단게를 포함하는 것을 특징으로 하는 방법.
제28항에 있어서, 커버리지 표현은 대수 식 α1+α2-1에 따라 혼합되고 여기에서 α1 및 α2는 변 픽셀에 대한 커버리지 표현을 나타내는 것을 특징으로 하는 방법.
중앙처리장치(CPU), 메모리 및 그래픽 디스플레이를 구비하는 컴퓨터 시스템에 있어서, 색채, 다각형의 꼭지점을 나타내는 1세트의 좌표 및 다각형의 뎁스를 나타내는 뎁스값에 의해 표현되는 앤티-에일리어즈드 다각형을 그래픽 디스플레이상에 렌더링 하기 위한 장치로서 ; 그래픽 영상을 나타내는 픽셀이 그래픽 디스플레이에 출력되기 위해 기억되는 메모리내에 위치되는 프레임 버퍼(프레임 버퍼내의 각 픽셀은 색채값 z버퍼값 및 커버리지 표현에 의해 식별되고, 상기 z버퍼값은 픽셀의 뎁스를 나타내고 커버리지 표현은 픽셀내의 커버리지의 정도를 나타내고 프레임 버퍼내의 상기 픽셀은 배경 픽셀로서 식별된다) ; 다각형을 구성하는 픽셀을 식별하는 수단으로서, 다각형의 꼭지점에 따라 다각형을 형성하는 변의 픽셀위치를 계산하기 위한 수단; 다각형의 덮는 픽셀내의 면적을 결정함으로써 각 변 픽셀에 대한 커버리지 표현을 형성하기 위한 수단 ; 각 변 픽셀의 뎁스값을 계산하기 위한 수단(상기 뎁스값은 픽셀에서 다각형의 뎁스값과 같다) ; 다각형의 내부에 있는 픽셀의 픽셀위치를 계산하기 위한 수단(상기 픽셀위치는 변 픽셀 사이에 있다) ; 충만 커버리지를 나타내는 각 내부 픽셀에 대한 커버리지 표현을 형성하기 위한 수단 ; 각 내부 픽셀의 뎁스값을 계산하기 위한 수단(상기 뎁스값은 픽셀에서 다각형의 뎁스값과 같다)을 구비하는 상기 수단 ; 다각형의 각 변 및 내부 픽셀을 픽셀이 혼합되어야 할 프레임 버퍼내의 위치에 있는 대응하는 배경 픽셀과 혼합하여 새로운 배경 픽셀이 되고 프레임 버퍼에 기억되는 혼합되는 픽셀을 형성하는 수단을 구비하며, 상기 수단은 혼합되는 픽셀에 대한 색채를 설정하기 위한 수단 : 혼합되는 픽셀에 대한 커버리지 표현을 설정하기 위한 수단 ; 혼합되는 픽셀에 대한 뎁스값을 설정하기 위한 수단 ; 및 대응하는 배경 픽셀의 위치에 있는 혼합된 픽셀을 프레임 버퍼에 기억하여 배경 픽셀을 혼합된 픽셀로 대체하여 새로운 배경 픽셀을 형성하기 위한 출력수단을 구비하며, 혼합수단을 제어하기 위한 수단은 다각형 픽셀의 뎁스값을 대응하는 배경 픽셀의 뎁스값과 비교하기 위한 수단 ; 다각형 픽셀 및 배경 픽셀의 커버리지 표현을 결합하기 위한 수단 ; 결합된 커버리지 표현을 완전 커버리지를 나타내는 커버리지 표현에 비교하기 위한 수단을 구비하며, 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀의 뎁스값보다 작으면, 상기 제어수단은 색채를 다각형 픽셀의 색채와 배경 픽셀의 색채의 제1비례 혼합과 같은 혼합된 픽셀의 색채로 설정하기 위한 상기 수단(상기 제1비례 혼합은 다각형 픽셀의 커버리지의 정도에 의존한다) ; 혼합되는 픽셀의 뎁스값을 다각형 픽셀의 뎁스갑과 같게 설정하기 위해 뎁스값을 설정하는 상기 수단 ; 및 혼합되는 픽셀의 커버리지 표현을 다각형 픽셀의 커버리지 표현과 배경 픽셀의 커버리지 표현의 제1비례 혼합과 같게 설정하기 위해 커버리지 표현을 설정하는 상기 수단을 제어하며, 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀의 뎁스값보다 크면, 상기 제어수단은 혼합되는 픽셀의 색채를 다각형 픽셀의 색채와 배경 픽셀의 색채의 제2비례 혼합과 같게 설정하기 위해 색채를 설정하는 상기 수단(상기 제2비례 혼합은 배경 픽셀의 커버리지의 정도에 의존한다) ; 혼합되는 픽셀의 커버리지 표현을 다가형 픽셀의 커버리지 표현과 배경 픽셀의 커버리지 표현의 제2비례 혼합과 같게 설정하기 위해 커버리지 표현을 설정하는 상기 수단 ; 혼합된 픽셀의 뎁스값을 배경 픽셀의 뎁스값과 같게 설정하기 위해 뎁스값을 설정하는 상기 수단을 제어하며, 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀의 뎁스값과 같고 다각형 픽셀과 배경 픽셀의 커버리지 표현의 결합의 합이 완전 커버리지를 나타내면 상기 제어수단은 ; 혼합되는 픽셀의 색채를 다각형 픽셀의 색채와 같게 설정하기 위해 색채를 설정하는 상기 수단, 혼합되는 픽셀의 커버리지 표현을 완전 커버리지를 나타내도록 설정하기 위해 커버리지 표현을 설정하는 상기 수단, 혼합된 픽셀의 뎁스값을 배경 픽셀과 다각형 픽셀의 뎁스값과 같게 설정하기 위해 뎁스를 설정하는 상기 수단을 제어하며, 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀의 뎁스값과 같고 다각형 픽셀과 배경 픽셀의 커버리지 표현의 결합이 완전 커버리지를 나타내지 않으면, 상기 제어수단은 ; 혼합되는 픽셀의 색채를 다각형 픽셀의 색채와 배경 픽셀의 색채의 제1비례 혼합과 같게 설정하기 위해 색채를 설정하는 상기 수단(상기 비례 혼합은 커버리지의 정도에 의존한다), 혼합된는 픽셀의 뎁스값을 다각형 픽셀의 뎁스값과 같게 설정하기 위해 뎁스값을 설정하는 상기 수단 및 혼합되는 픽셀의 커버리지 표현을 다각형 픽셀의 커버리지 표현과 배경 픽셀의 커버리지 표현의 제1비례 혼합과 같게 설정하기 위해 커버리지 표현을 설정하는 상기 수단을 제어하며, 이로써 픽셀은 개별적으로 뎁스, 색채 및 커버리지 표현을 가지며 양질의 앤티-에일리어즈드 다각형을 렌더하기 위해 각각이 개별적으로 뎁스, 색채 및 커버리지 값을 가지는 대응하는 배경 픽셀과 개별적으로 혼합되는 것을 특징으로 하는 장치.
제30항에 있어서, 다각형의 꼭지점에 따라 다각형을 형성하는 변의 픽셀위치를 계산하기 위한 수단은 피티웨이와 와트킨슨 라인 알고리즘을 사용하여 픽셀위치를 결정하며 각 픽셀에 대한 커버리지 표현을 형성하기 위한 수단은 커버리지 표현을 (mx+y)+(1-m)이 되게 설정하는 수단을 구비하며, 여기에서 m은 변의 기울기이고 x,y는 각각 픽셀이 가장 가까이 있다고 결정되는 위치의 x 및 y좌표인 것을 특징으로 하는 장치.
제30항에 있어서, 각 변 픽셀에 대한 커버리지 표현을 형성하기 위한 수단은 다각형의 변이 지나가는 서브-픽셀을 결정하고 다각형의 변이 지나가는 서브-픽셀 및 다각형에 포함되는 서브-픽셀을 커버리지를 나타내는 값에 설정하고 그리고 세트된 서브-픽셀의 수와 같은 커버리지 표현을 발생하는 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하는 수단을 구비하는 것을 특징으로 하는 장치.
제32항에 있어서, 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하기 위한 수단은 : 다각형의 변이 변 픽셀로 들어가는 엔트리 서브-픽셀 및 다각형의 변이 픽셀을 나가는 엑시트 서브-픽셀을 결정하는 수단 ; 엔트리 서브-픽셀 및 엑시트 서브-픽셀에 따라 지표되는 상이한 서브-픽셀의 조합에 대한 서브-픽셀 마스크를 나타내는 다수의 서브-픽셀 마스크를 기억하는 메모리내에 위치되는 룩업 테이블 ; 및 엔트리 서브-픽셀 및 엑시트 서브-픽셀에 따라 지표되는 서브-픽셀 마스크를 메모리로부터 검색하는 수단을 구비하는 것을 특징으로 하는 장치.
제32항에 있어서, 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하기 위한 수단은 : 다각형의 변이 변 픽셀로 들어가는 엔트리 서브-픽셀 및 변의 기울기를 결정하는 수단 ; 엔트리 서브-픽셀 및 변의 기울기에 따라 지표되는 상이한 서브-픽셀의 조합에 대한 서브-픽셀 마스크를 나타내는 다수의 서브-픽셀 마스크를 기억하는 메모리내에 위치되는 룩업 테이블 ; 및 엔트리 서브-픽셀 및 변의 기울기에 따라 지표되는 서브-픽셀 마스크를 메모리로부터 검색하는 수단을 구비하는 것을 특징으로 하는 장치.
제32항에 있어서, 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하기 위한 수단은 : 변의 기울기 및 변으로부터 픽셀의 중심까지의 수직거리를 결정하는 수단 : 변의기울기 및 변으로부터 픽셀의 중심까지의 수직거리에 따라 지표되는 상이한 서브-픽셀의 조합에 대한 서브-픽셀 마스크를 나타내는 다수의 서브-픽셀 마스크를 기억하는 메모리내에 위치되는 룩업 테이블 ; 및 변의 기울기 및 변으로부터 픽셀의 중심까지의 수직거리에 따라 지표되는 서브-픽셀 마스크를 메모리로부터 검색하는 수단을 구비하는 것을 특징으로하는 장치.
제32항에 있어서, 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하기 위한 수단은 : 다각형의 변이 변 픽셀로 들어가는 엔트리 서브-픽셀 및 샘플 서브-픽셀을 결정하는 수단(상기 샘플 서브-픽셀은 변이 픽셀내에서 끝날때는 다각형 꼭지점이다) 엔트리 서브-픽셀 및 샘플 서브-픽셀에 따라 지표되는 상이한 서브-픽셀의 조합에 대한 서브-픽셀 마스크를 나타내는 다수의 서브-픽셀 마스크를 기억하는 메모리내에 위치되는 룩업 테이블 ; 및 엔트리 서브-픽셀 및 샘플 서브-픽셀에 따라 지표되는 서브-픽셀 마스크를 메모리로부터 검색하는 수단을 구비하는 것을 특징으로 하는 장치.
제30항에 있어서, 픽셀은 각 스캔 라인에 대해 순차적으로 혼합되고, 상기 장치는 스캔 라인의 픽셀을 기억하는 스캔 라인 버퍼 ; 스캔 라인에 대한 다각형의 모든 픽셀이 식별될때까지 다각형의 각 픽셀을 스캔라인 버퍼에 일시적으로 기억하는 수단 ; 스캔 라인에 대한 다각형의 모든 픽셀이 식별될때 스캔 라인 버퍼에 있는 픽셀을 프레임 버퍼로 이송하는 수단을 포함하는 것을 특징으로 하는 장치.
제37항에 있어서, 1 이상의 변 픽셀이 픽셀을 지나가고 식별되는 제1변 픽셀이 스캔 라인 버퍼에 기억되면, 다각형을 구성하는 픽셀을 식별하기 위한 상기 수단은 식별되는 제1변 픽셀을 식별되는 제2변 픽셀과 혼합하기 위한 수단을 추가로 구비하며, 상기 혼합수단은 식별되는 변 픽셀의 픽셀 커버리지 표현을 스캔 라인 버퍼로부터 검색하는 수단 ; 스캔 라인 버퍼로부터 검색되는 변 픽셀의 커버리지 표현을 제2변 픽셀의 커버리지 표현과 혼합하는 수단 ; 혼합된 커버리지 표현을 스캔 라인 버퍼에 기억하는 수단 ; 및 스캔 라인에 대한 다각형의 모든 픽셀이 식별되면 스캔 라인 버퍼에 기억된 픽셀을 프레임 버퍼의 대응하는 스캔 라인에 기입하는 구비하는 것을 특징으로 하는 장치.
제38항에 있어서, 커버리지 표현은 대수 식 α1+α+2-1에 따라 혼합되고, α1 및 α2는 변 픽셀에 대한 커버리지 표현을 나타내는 것을 특징으로 하는 장치.
제38항에 있어서, 커버리지 표현은 서브-픽셀 마스크를 포함하며, 커버리지 표현은 논리식 MAAND MB에 따라 혼합되며, 여기에서 MA및 MB는 변 픽셀에 대한 서브-픽셀 마스크를 나타내고 AND는 논리 AND 연산을 나타내는 것을 특징으로 하는 장치.
제30항에 있어서, 상기 커버리지 표현은 픽셀내의 다각형의 커버리지의 면적을 나타내는 단일값이고 ; 다각형 픽셀의 색채와 배경 픽셀의 색채의 상기 제1비례 혼합은 Cb : =Ca+(1-αa)*Cb이고 여기에서 Cb는 배경 픽셀의 색체를 나타내고 Ca는 다각형 픽셀의 색채 및 Ca : =αa*Ca를 나타내고 αa는 다각형 픽셀의 커버리지 표현을 나타내고 : =는 대체 기능을 나타내며 다각형 픽셀의 커버리지 표현과 배경 픽셀의 커버리지 표현의 상기 제1비례 혼합은 αb : =αa+(1-αa)*αb이고 여기에서 αb는 배경 픽셀에 대한 커버리지 표현을 나타내고, 다각형 픽셀의 색채와 배경 픽셀의 색채의 상기 제2비례 혼합은 Cb : =(1-αb)Ca+Cb이고 ; 다각형 픽셀의 커버리지 표현과 배경 픽셀의 커버리지 표현의 상기 제2비례 혼합은 αb : =(1-αb)*αa+αb인 것을 특징으로 하는 장치.
제30항에 있어서, 상기 커버리지 표현은 픽셀내의 다각형의 커버리지의 면적을 나타내는 서브-픽셀 마스크이며 ; 다각형 픽셀의 색채와 배경 픽셀의 색채의 상기 제1비례 혼합은 Cb : =Ca+(1-αa)*Cb이고 여기에서 αa : =count(Ma)/MASK-SIZE 이고 Cb는 배경 픽셀의 색채를 나타내고 Ca는 다각형 픽셀의 색채를 나타내고 Md는 다각형 픽셀에 대한 서브-픽셀 마스크를 나타내고 count는 세트된 서브-픽셀의 수를 계수하는 기능을 나타내고 MASK-SIZE는 서브-픽셀 마스크에 있는 서브-픽셀의 전체수를 나타내고 : =는 대체 기능을 나타내며 ; 다각형 픽셀의 커버리지 표현과 배경 픽셀의 커버리지 표현의 상기 제1비례 혼합은 Mb : =Ma|Mb이며, 여기에서 Mb는 배경 픽셀의 서브-픽셀의 서브-픽셀 마스크를 나타내고 |는 논리 OR기능을 나타내며; 다각형 픽셀의 색체와 배경 픽셀의 색채의 상기 제2비례 혼합은 Cb : =(1-αt)*Ca+Cb이고 여기에서 αb : =count(Mb)/MASK-SIZE, Ma : =Ma ~Mb, αa : =count(Ma)/MASK-SIZE, Ca : =αa*Ca이고, 는 논리 AND 기능을 나타내고 ~는 논리부정 기능을 나타내며, 다각형 픽셀의 커버리지 표현과 배경 픽셀의 커버리지 표현의 상기 제2비례 혼합은 Mb : =Ma|Mb인 것을 특징으로 하는 장치.
중앙처리장치(CPU), 메모리 및 그래픽 디스플레이를 구비하는 컴퓨터 시스템에서 색채, 다각형의 꼭지점을 나타내는 1세트의 좌표 및 다각형의 뎁스를 나타내는 뎁스값에 의해 표현되는 앤티-에일리어즈드 다각형을 그래픽 디스플레이상에 렌더링 하기 위한 장치로서 ; 프레임 버퍼내에 있는 각 픽셀은 색채값, z버퍼값 및 서브-픽셀 마스크에 의해 식별되는 메모리에 위치되는 프레임 버퍼(상기 z버퍼값은 픽셀의 뎁스값을 나타내고 서브-픽셀 마스크는 세트되고 픽셀의 커버리지의 양을 나타내는 픽셀의 서브-픽셀을 나타내며, 프레임 버퍼내의 상기 픽셀은 배경 픽셀로서 식별된다) ; 다각형을 구성하는 픽셀을 식별하는 수단으로서, 다각형의 꼭지점에 따라 다각형을 형성하는 변의 픽셀위치를 계산하기 위한 수단 ; 다각형의 변이 지나가는 서브-픽셀을 결정하고 다각형의 변이 지나가는 서브-픽셀 및 다각형에 포함되는 서브-픽셀을 세트함으로써 각 변 픽셀에 대한 서브-픽셀에 대한 서브-픽셀 마스크를 형성하는 수단 ; 각 변 픽셀의 뎁스값을 계산하는 수단(상기 뎁스값은 픽셀에서 다각형의 뎁스값과 같다) ; 다각형의 내부에 있는 픽셀의 픽셀위치를 계산하기 위한 수단(상기 픽셀위치는 변 픽셀 사이에 있다) ; 각 서브-픽셀 마스크의 모든 서브-픽셀을 세트함으로써 각 내부 픽셀에 대한 서브-픽셀 마스크를 형성하는 수단 ; 각 내부 픽셀의 뎁스값을 계산하기 위한 수단(상기 뎁스값은 다각형의 뎁스값과 같다)을 구비하는 상기 수단 ; 다각형의 각 변 및 내부 픽셀을 픽셀이 혼합되어야 할 프레임 버퍼내의 위치에 있는 대응하는 배경 픽셀과 혼합하여 이로써 새로운 배경 픽셀이 되는 혼합되는 픽셀을 형성하는 수단을 구비하며, 상기 수단은 혼합되는 픽셀에 대한 색채를 설정하는 수단 ; 혼합되는 픽셀에 대한 서브-픽셀 마스크를 설정하는 수단 ; 혼합되는 픽셀에 대한 뎁스값을 설정하는 수단을 구비하며, 혼합수단을 제어하는 수단은 : 다각형 픽셀의 뎁스값을 대응하는 배경 픽셀의 뎁스값과 비교하는 수단 ; 다각형 픽셀과 배경 픽셀의 서브-픽셀 마스크를 결합하는 수단 ; 결합된 서브-픽셀 마스크를 완전 커버리지를 나타내는 서브-픽셀 마스크에 비교하는 수단을 구비하며, 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀에 대한 뎁스값보다 작으면, 제어수단은 혼합되는 픽셀의 색채를 Cb : =Ca+(1-αa)*Cb와 같게 설정하는 색채를 설정하는 상기 수단(여기에서 αa는 다각형 픽셀의 커버리지 표현 및 αa : =count(Ma)/MASK-SIZE 를 나타내고, Cb는 배경 픽셀의 색채를 나타내고, Ca는 다각형 픽셀의 색채를 나타내고, Ma는 다각형 픽셀에 대한 서브-픽셀 마스크를 나타내고, count는 커버리지를 나타내는 값에 설정된 비트의 수를 계수하는 기능을 나타내고, MASK-SIZE는 서브-픽셀 마스크에 있는 서브-픽셀의 수를 나타내고, : =는 대체 기능을 나타낸다), 혼합되는 픽셀의 서브-픽셀 마스크를 Mb : =Ma|Mb와 같게 설정하기 위해 서브-픽셀 마스크를 설정하는 상기 수단(여기에서 Mb는 배경 픽셀의 서브-픽셀 마스크를 나타내고 |는 논리 OR기능을 나타낸다) ; 및 혼합되는 픽셀의 뎁스값을 다각형 픽셀의 뎁스값과 같게 설정하기 위해 뎁스값을 설정하는 상기 수단을 제어하며 ; 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀에 대한 뎁스값보다 크고 배경 픽셀에 대한 서브-픽셀 마스크가 완전 커버리지를 나타내지 않으면, 제어수단은 혼합되는 픽셀의 색채를 Cb : =(1-αb)*Ca+Cb와 같게 설정하기 위해 색채를 설정하는 상기 수단(여기에서,
αb : =count(Mb)/MASK-SIZE
Ma : =Ma ~Mb
αa : =count(Ma)/MASK-SIZE
Ca : =αa*Ca
이고 는 논리 AND 기능을 나타내고 ~는 논리부정 기능을 나타낸다), 혼합되는 픽셀의 서브-픽셀 마스크를 Mb : =Ma|Mb되게 설정하기 위해 서브-픽셀 마스크를 설정하는 상기 수단, 뎁스값을 배경 픽셀의 뎁스값과 같게 설정하는 상기 수단을 제어하며, 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀에 대한 뎁스값과 같으면, 제어수단은 혼합되는 픽셀의 서브-픽셀 마스크(Mb : =Ma|Mb되게 설정하기 위해 서브-픽셀 마스크를 설정하는 상기 수단, 혼합되는 픽셀의 색채를 Cb : =Ca+(1-αa)*Cb되게 설정하기 위해 색채를 설정하는 상기 수단, 혼합되는 픽셀의 뎁스값을 다각형 픽셀의 뎁스값과 같게 설정하기 위해 뎁스값을 설정하는 상기 수단을 제어하며 프레임 버퍼에 기억된 픽셀을 검색하고 그래픽 영상을 그래픽 디스플레이상에 발생하기 위해 색채값에 의해 나타내는 색채 및 커버리지 표현에 의해 나타내는 휘도로 픽셀을 그래픽 디스플레이상에 동작시키는 프레임 버퍼 제어수단을 또한 구비하는 것을 특징으로 하는 장치.
제43항에 있어서, 다각형을 형성하는 변의 픽셀 위치를 계산하기 위한 수단은 브레젠함의 라인 알고리즘을 이용하는 것을 포함하는 것을 특징으로 하는 장치.
제43항에 있어서, 다각형의 꼭지점에 따라 다각형을 형성하는 변의 픽셀위치를 계산하기 위한 수단은 피티웨이와 와트킨슨 라인 알고리즘을 사용하여 픽셀위치를 결정하며 각 픽셀에 대한 커버리지 표현을 형성하는 수단은 커버리지 표현을 (mx+y)+(1-m)과 같은 값에 설정하는 수단을 포함하고 여기에서 m은 변의 기울기이고 x,y는 각각 픽셀이 가장 가깝다고 결정되는 위치의 x 및 y좌표인 것을 특징으로 하는 장치.
제43항에 있어서, 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하기 위한 수단은 : 다각형의 변이 변 픽셀로 들어가는 엔트리 서브-픽셀 및 다각형의 변이 변 픽셀을 나오는 엑시트 서브-픽셀을 결정하는 수단 ; 엔트리 서브-픽셀 및 엑시트 서브-픽셀에 따라 지표되는 상이한 서브-픽셀의 조합에 대한 서브-픽셀 마스크를 나타내는 다수의 서브-픽셀 마스크를 기억하는 메모리내에 위치되는 룩업 테이블 ; 및 엔트리 서브-픽셀 및 엑시트 서브-픽셀에 따라 지표되는 서브-픽셀 마스크를 메모리로부터 검색하는 수단을 구비하는 것을 특징으로 하는 장치.
제43항에 있어서, 픽셀은 각 스캔 라인에 대해 순차적으로 혼합되고 상기 장치는 스캔 라인의 픽셀을 기억하는 스캔 라인 버퍼 ; 스캔 라인에 대한 다각형의 모든 픽셀이 식별될때가지 다각형의 각 픽셀을 스캔라인 버퍼에 일시적으로 기억시키는 수단 ; 스캔 라인에 대한 다각형의 모든 픽셀이 식별될때 스캔 라인 버퍼에 있는 픽셀을 프레임 버퍼로 이송하는 수단을 추가로 구비하는 것을 특징으로 하는 장치.
제47항에 있어서, 1 이상의 변 픽셀이 픽셀을 지나가고 식별되는 제1변 픽셀이 스캔 라인 버퍼에 기억되면, 다각형을 구성하는 픽셀을 식별하는 상기 수단은 식별되는 제1변 픽셀을 식별되는 제2변 픽셀과 혼합시키는 수단을 추가로 구비하고, 상기 혼합수단은 식별되는 변 픽셀의 서브-픽셀 마스크를 스캔 라인 버퍼로부터 검색하는 수단 ; 스캔 라인 버퍼로부터 검색되는 변 픽셀의 서브-픽셀 마스크를 제2변 픽셀의 서브-픽셀 마스크와 혼합하는 수단 ; 혼합된 서브-픽셀 마스크를 스캔 라인 버퍼에 기억하는 수단 ; 및 스캔 라인에 대한 다각형의 모든 픽셀이 식별되면 스캔 라인 버퍼에 기억된 픽셀을 프레임 버퍼의 대응하는 스캔 라인에 기입하는 수단을 구비하는 것을 특징으로 하는 장치.
제48항에 있어서, 서브-픽셀 마스크 논리 식 MAAND MB에 따라 혼합되고 여기에서 MA및 MB는 변 픽셀에 대한 서브-픽셀 마스크를 나타내고 AND는 논리 AND 연산을 나타내는 것을 특징으로 하는 장치.
중앙처리장치(CPU), 메모리 및 그래픽 디스플레이를 구비하는 컴퓨터 시스템에서, 색채, 다각형의 꼭지점을 나타내는 1세트의 좌표 및 다각형의 뎁스를 나타내는 뎁스값에 의해 표현되는 앤티-에일리어즈드 다각형을 그래픽 디스플레이상에 렌더링 하기 위한 장치로서, 그래픽 영상을 나타내는 픽셀이 그래픽 디스플레이에 출력되기 위해 기억되는 메모리에 위치되는 프레임 버퍼(프레임 버퍼내의 각 픽셀은 색채값, z버퍼값 및 커버리지 표현에 의해 식별되고, 상기 z버퍼값은 픽셀의 뎁스를 나타내고 커버리지 표현은 픽셀내의 커버리지의 정도를 나타내고, 프레임 버퍼내의 상기 픽셀은 배경 픽셀로서 식별된다) ; 다각형을 구성하는 픽셀을 식별하는 수단으로서, 다각형의 꼭지점에 따라 다각형을 형성하는 변의 픽셀위치를 계산하는 수단 ; 다각형이 덮는 픽셀내의 면적을 결정함으로써 각 변 픽셀에 대한 커버리지 표현을 형성하는 단계 ; 각 변 픽셀의 뎁스값을 계산하는 수단(상기 뎁스값은 픽셀에서 다각형의 뎁스값과 같다) ; 다각형의 내부에 있는 픽셀의 픽셀위치를 계산하기 위한 수단(상기 픽셀위치는 변 픽셀 사이에 있다) ; 완전 커버리지를 나타내는 각 내부 픽셀에 대한 커버리지 표현을 형성하는 수단 ; 각 내부 픽셀의 뎁스값을 계산하는 수단(상기 뎁스값은 픽셀에서 다각형의 뎁스값과 같다)을 구비하는 상기 수단 ; 다각형의 각 변 및 내부 픽셀을 픽셀이 혼합되어야 할 프레임 버퍼내의 위치에 있는 대응하는 배경 픽셀과 혼합하여 새로운 배경 픽셀이 되고 프레임 버퍼에 기억되는 혼합되는 픽셀을 형성하는 수단을 구비하며, 상기 수단은 혼합되는 픽셀에 대한 색채를 설정하는 수단 ; 혼합되는 픽셀에 대한 커버리지 표현을 설정하는 수단을 포함하며 ; 혼합수단을 제어하기 위한 수단은 다각형 픽셀의 뎁스값을 대응하는 배경 픽셀의 뎁스값과 비교하는 수단, 다각형 픽셀과 배경 픽셀의 커버리지 표현을 결합하는 수단, 결합된 커버리지 표현을 완전 커버리지를 나타내는 커버리지 표현에 비교하는 수단을 구비하고, 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀에 대한 뎁스값보다 작으면 상기 제어수단은 혼합되는 픽셀의 색채를 Cb : =Ca+(1-αa)*Cb와 같게 설정하기 위해 색채를 설정하는 상기 수단(여기에서 Cb는 배경 픽셀의 색채를 나타내고, Ca는 다각형 픽셀의 색채 Ca : =αa*Ca를 나타내고, αa는 다각형 픽셀의 커버리지 표현을 나타내고 : =는 대체기능을 나타낸다), 혼합되는 픽셀의 커버리지 표현을 αb : =αa+(1-αa)*αb와 같게 설정하기 위해 커버리지 표현을 설정하는 상기 수단(여기에서 αb는 배경 픽셀의 커버리지 표현을 나타낸다) 및 혼합되는 픽셀의 뎁스값을 다각형 픽셀의 뎁스값과 같게 설정하기 위해 뎁스값을 설정하는 상기 수단을 제어하고 ; 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀에 대한 뎁스값보다 크고 배경 픽셀에 대한 커버리지 표현이 충만 커버리지와 같지 않으면 상기 제어수단은 혼합되는 픽셀의 색채를 Cb : =(1-αb)*Ca+Cb와 같게 설정하기 위해 색채를 설정하는 상기 수단, 혼합되는 픽셀의 커버리지 표현을 αb : =(1-αb)*αa+αb와 같게 설정하기 위해 커버리지 표현을 설정하는 상기 수단, 뎁스값을 배경 픽셀의 뎁스값과 같게 설정하기 위해 뎁스값을 설정하는 상기 수단을 제어하며 ; 다각형 픽셀의 뎁스값이 대응하는 배경 픽셀에 대한 뎁스값과 같으면 상기 제어수단은 혼합되는 커버리지 표현을 αb : =αa+(1-αa)*αb와 같게 설정하기 위해 커버리지 표현을 설정하는 상기 수단, 혼합되는 픽셀의 색채를 Cb : =Ca+(1-αa)*Cb가 되게 설정하기 위해 색채를 설정하는 상기 수단 및 혼합되는 픽셀의 뎁스값을 다각형 픽셀의 뎁스값과 같게 설정하기 위해 뎁스값을 설정하는 상기 수단을 제어하며 프레임 버퍼에서 혼합된 픽셀을 대응하는 배경 픽셀의 위치에 기억시켜 배경 픽셀을 혼합된 픽셀로 대체하여 새로운 배경 픽셀을 형성하는 출력수단 ; 프레임 버퍼에 기억된 픽셀을 검색하고 그래픽 영상을 그래픽 디스플레이상에 발생하기 위해 색채값에 의해 나타내는 색채 및 커버리지 표현에 의해 나타내는 휘도로 픽셀을 그래픽 디스플레이상에 동작시키는 프레임 버퍼 제어수단을 또한 구비하는 것을 특징으로 하는 장치.
제50항에 있어서, 다각형의 꼭지점에 따라 다각형을 형성하는 변의 픽셀위치를 계산하기 위한 수단은 피티웨이와 와트킨슨 라인 알고리즘을 사용하여 픽셀위치를 결정하며 각 픽셀에 대한 커버리지 표현을 형성하는 수단은 커버리지 표현을 (mx+y)+(1-m)과 같은 값에 설정하는 수단을 구비하고 여기에서 m은 변의 기울기이고 x,y는 각각 픽셀이 가장 가깝다고 결정되는 위치의 x 및 y좌표인 것을 특징으로 하는 장치.
제50항에 있어서, 각 변 픽셀에 대한 커버리지 표현을 형성하기 위한 수단은 다각형의 변이 지난가는 서브-픽셀을 결정하고 다각형의 변이 지나가는 서브-픽셀 및 다각형에 포함되는 서브-픽셀을 커버리지를 나타내는 값에 설정하고 세트된 서브-픽셀의 수와 같은 커버리지 표현을 발생하는 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하는 수단을 포함하는 것을 특징으로 하는 장치.
제52항에 있어서, 각 변 픽셀에 대한 서브-픽셀 마스크를 형성하기 위한 수단은 픽셀로 들어가는 변의 서브-픽셀 엔트리점 및 픽셀로부터 나오는 변의 서브-픽셀 엑시트점에 따라 지표되는 상이한 서브-픽셀의 조합에 대한 서브-픽셀 마스크를 나타내는 다수의 서브-픽셀 마스크를 기억하는 메모리내에 위치되는 룩업 테이블 ; 다각형의 변이 지나가는 엔트리 서브-픽셀 및 엑시트 서브-픽셀을 결정하는 수단 ; 및 엔트리 서브-픽셀 및 엑시트 서브-픽셀에 따라 지표되는 서브-픽셀 마스크를 메모리로부터 검색하는 수단을 구비하는 것을 특징으로 하는 장치.
제50항에 있어서, 픽셀은 각 스캔 라인에 대해 순차적으로 혼합되고 상기 장치는 스캔 라인의 픽셀을 기억하는 스캔 라인 버퍼 ; 스캔 라인에 대한 다각형의 모든 픽셀이 식별될때까지 스캔 라인 버퍼에 다각형의 각 픽셀을 일시적으로 기억시키는 수단 ; 스캔 라인에 대한 다각형의 모든 픽셀이 식별될때 스캔 라인 버퍼에 있는 픽셀을 프레임 버퍼로 이송하는 수단을 추가로 구비하는 것을 특징으로 하는 장치.
제54항에 있어서, 1 이상의 변 픽셀이 픽셀을 지나가고 식별되는 제1변 픽셀이 스캔 라인 버퍼에 기억되면, 다각형을 구성하는 픽셀을 식별하는 상기 수단은 식별되는 제1변 픽셀을 식별되는 제2변 픽셀과 혼합하는 수단을 추가로 구비하며, 혼합하는 상기 수단은 식별되는 변 픽셀의 픽셀 커버리지 표현을 스캔라인 버퍼로부터 검색하는 수단 ; 스캔 라인 버퍼로부터 검색되는 변 픽셀의 커버리지 표현을 제2변 픽셀의 커버리지 표현과 혼합하는 수단 ; 혼합된 커버리지 값을 스캔 라인 버퍼에 기억하는 수단 ; 및 스캔 라인에 대한 다각형의 모든 픽셀이 식별되면 스캔 라인 버퍼에 기억된 픽셀을 프레임 버퍼의 대응하는 스캔라인에 기입하는 수단을 구비하는 것을 특징으로 하는 장치.
제55항에 있어서, 커버리지 표현은 대수식 α1+α2-1에 따라 혼합되고 α1 및 α2는 변 픽셀에 대한 커버리지 표현을 나타내는 것을 특징으로 하는 장치.
다각형의 시각표시를 그래픽스 디스플레이장치상에 렌더링하기 위한 스캔되는 변환 처리에 있어서, 다각형을 구성하는 픽셀 및 픽셀 속성을 결정하는 단계(상기 속성은 픽셀의 색채 및 픽셀내의 커버리지의 정도로 이루어진다 ; 각 픽셀에 대한 뎁스를 정하는 단계 ; 혼합 픽셀을 발생하기 위해 다각형의 각 픽셀을 배경 픽셀과 혼합하는 단계로서, 다각형 픽셀의 뎁스를 배경 픽셀의 뎁스에 비교하는 단계 ; 배경 픽셀이 다각형 픽셀의 앞에 있으면 혼합되는 픽셀의 색채 속성을 배경 픽셀의 커버리지의 정도에 의해 비례적으로 감소되는 다각형 픽셀의 색채와 결합되는 배경 픽셀의 색채로 형성하는 단계 ; 혼합 픽셀에 대한 커버리지를 배경 픽셀의 커버리지의 정도에 의해 비례적으로 감소되는 배경 픽셀의 커버리지와 다각형 픽셀의 커버리지의 결합이 되게 결정하는 단계 ; 및 혼합 픽셀의 뎁스를 배경 픽셀의 뎁스로 식별하는 단계 ; 배경 픽셀이 다각형 픽셀뒤에 있으면 혼합 픽셀의 색채 속성을 다각형 픽셀의 커버리지의 정도에 의해 비례적으로 감소되는 배경 픽셀의 색채와 결합되는 다각형 픽셀의 색채로 형성하는 단계 ; 픽셀의 커버리지 속성을 다각형 픽셀의 커버리지의 정도에 의해 비례적으로 감소되는 다각형 픽셀의 커버리지의 정도와 배경 픽셀의 커버리지의 정도의 결합이라고 결정하는 단계 ; 및 혼합되는 픽셀의 뎁스를 다각형 픽셀의 뎁스라고 식별하는 단계; 다각형 픽셀의 뎁스가 배경 픽셀의 뎁스와 같고 배경 픽셀의 커버리지의 정도가 픽셀을 완전히 덮으면 혼합 픽셀의 색채 속성을 다각형 픽셀의 색채로 형성하는 단계 ; 혼합 픽셀의 커버리지를 완전 커버리지라고 결정하는 단계 ; 혼합 픽셀의 뎁스를 다각형 픽셀의 뎁스라고 식별하는 단계 ; 및 다각형 픽셀의 뎁스가 배경 픽셀의 뎁스와 같고 배경 픽셀이 픽셀을 부분적으로 덮으면 혼합 픽셀의 색채를 다각형 픽셀의 커버리지의 정도에 의해 비례적으로 감소되는 배경 픽셀의 색채와 결합되는 다각형 픽셀의 색채로 형성하는 단계 ; 혼합 픽셀의 커버리지를 다각형 픽셀의 커버리지의 정도에 의해 비례적으로 감소되는 다각형 픽셀의 커버리지의 정도와 배경 픽셀의 커버리지의 정도의 결합이라고 결정하는 단계 ; 및 혼합 픽셀의 뎁스를 다각형 픽셀의 뎁스라고 식별하는 단계를 구비하는 혼합단계 ; 혼합 픽셀을 프레임 버퍼 메모리에 기억하는 단계 ; 픽셀 데이터를 프레임 버퍼로부터 판독하는 단계 ; 및 그래픽 디스플레이장치상에 다각형 영상의 시각적 묘사를 제공하기 위해 색채 속성에 의해 정해지는 색채 및 결정되는 혼합 픽셀의 커버리지의 정도에 의해 정해지는 휘도로 픽셀을 그래픽 디스플레이 디바이스상에 발생하는 단계를 포함하는 것을 특징으로 하는 스캔되는 변환처리.
CPU, 입력/출력 디바이스 및 메모리를 구비하는 컴퓨터 그래픽스 시스템에 있어서, 앤티-에일리어즈드 다각형을 렌더링하기 위한 장치가 ; 렌더되는 다각형의 해상도에 따라 다각형을 구성하는 픽셀을 발생하기 위한 픽셀 발생수단(상기 픽셀은 색채, 뎁스 및 커버리지 속성을 포함하고 상기 색채는 발생될 픽셀의 색채를 정하고 상기 뎁스는 영상의 시각적 뎁스를 식별하고 상기 커버리지 속성을 픽셀내의 커버리지의 정도를 나타낸다) ; 다각형의 픽셀을 각각을 배경 영상의 픽셀과 혼합하기 위한 픽셀 혼합수단으로서 다각형 픽셀의 뎁스를 배경 픽셀의 뎁스에 비교하기 위한 비교수단 ; 다각형 픽셀이 배경 픽셀 앞에 있으면 혼합되는 픽셀의 색채는 다각형 픽셀의 커버리지의 정도에 의해 비례적으로 감소되는 배경 픽셀의 색채와 결합되는 다각형 픽셀의 색채에 따라 결정되고 ; 혼합 픽셀의 커버리지의 정도는 다각형 픽셀의 커버리지의 정도에 의해 비례적으로 감소되는 배경 픽셀의 커버리지의 정도와 결합되는 다각형 픽셀의 커버리지의 정도에 따라 결정되고, 뎁스는 다각형 픽셀의 뎁스라고 식별되고 ; 다각형 픽셀이 배경 픽셀 뒤에 있으면, 혼합 픽셀의 색채는 배경 픽셀의 커버리지의 정도에 의해 비례적으로 감소되는 다각형 픽셀의 색채와 결합되는 배경 픽셀의 색채라고 결정되고 복합 픽셀의 커버리지는 배경 픽셀의 커버리지의 정도에 의해 비례적으로 감소되는 다각형 픽셀의 커버리지의 정도와 결합되는 배경 픽셀의 커버리지의 정도라고 결정되고 픽셀의 뎁스는 배경 픽셀의 뎁스라고 식별되고 ; 다각형 픽셀의 뎁스가 배경 픽셀의 뎁스와 같고 배경 픽셀이 픽셀을 완전히 덮으면, 혼합 픽셀의 색채는 다각형 픽셀의 색채로 설정되고 혼합 픽셀의 커버리지의 정도는 완전 커버리지를 나타내도록 설정되고 혼합 픽셀의 뎁스값은 다각형 픽셀의 뎁스값으로 설정되며 ; 다각형 픽셀의 뎁스가 배경 픽셀의 뎁스와 같고 배경 픽셀이 픽셀을 부분적으로 덮으면, 복합 픽셀의 색채는 다각형 픽셀의 커버리지의 정도에 의해 비례적으로 감소되는 배경 픽셀의 색채와 결합되는 다각형 픽셀의 색채라고 결정되고, 혼합 픽셀의 커버리지의 정도는 다각형 픽셀의 커버리지의 정도에 의해 비례적으로 감소되는 배경 픽셀의 커버리지의 정도와 결합되는 다각형 픽셀의 커버리지의 정도라고 결정되고, 혼합 픽셀의 뎁스는 다각형 픽셀의 뎁스에 설정되도록 비교수단에 응답하여 특별한 혼합기술에 따라 혼합수단을 선택하는 수단을 구비하는 픽셀 혼합수단 ; 혼합 픽셀을 프레임 버퍼에 공유하기 위한 메모리수단내의 프레임 버퍼를 구비하며, 그래픽 영상을 그래픽 디스플레이상에 발생하기 위해 프레임 버퍼에 기억된 픽셀을 검색하여 색채값에 의해 나타내지는 색채 및 커버리지 표현에 의해 나타내지는 휘도로 픽셀을 그래픽 디스플레이상에 동작시키는 것을 특징으로 하는 장치.
KR1019920702260A 1990-03-19 1991-02-15 앤티-에일리어즈드 다각형을 렌더링하기 위한 방법 및 장치 KR960012669B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US07/495,338 US5123085A (en) 1990-03-19 1990-03-19 Method and apparatus for rendering anti-aliased polygons
US495,338 1990-03-19
PCT/US1991/001041 WO1991014995A1 (en) 1990-03-19 1991-02-15 Method and apparatus for rendering anti-aliased polygons

Publications (1)

Publication Number Publication Date
KR960012669B1 true KR960012669B1 (ko) 1996-09-23

Family

ID=23968256

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920702260A KR960012669B1 (ko) 1990-03-19 1991-02-15 앤티-에일리어즈드 다각형을 렌더링하기 위한 방법 및 장치

Country Status (7)

Country Link
US (1) US5123085A (ko)
EP (1) EP0521084B1 (ko)
JP (1) JP3277280B2 (ko)
KR (1) KR960012669B1 (ko)
AU (1) AU7564391A (ko)
DE (1) DE69131927T2 (ko)
WO (1) WO1991014995A1 (ko)

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640496A (en) * 1991-02-04 1997-06-17 Medical Instrumentation And Diagnostics Corp. (Midco) Method and apparatus for management of image data by linked lists of pixel values
US5343558A (en) * 1991-02-19 1994-08-30 Silicon Graphics, Inc. Method for scan converting shaded triangular polygons
US5381522A (en) * 1991-03-28 1995-01-10 Canon Kabushiki Kaisha Image processing apparatus and method
US5339386A (en) * 1991-08-08 1994-08-16 Bolt Beranek And Newman Inc. Volumetric effects pixel processing
JPH0540463A (ja) * 1991-08-08 1993-02-19 Hitachi Ltd 多階調文字発生装置
JP3009525B2 (ja) * 1991-10-28 2000-02-14 株式会社リコー ベクトル画像描画装置
JPH05143742A (ja) * 1991-11-20 1993-06-11 Ricoh Co Ltd ベクトル画像描画装置
US5706415A (en) * 1991-12-20 1998-01-06 Apple Computer, Inc. Method and apparatus for distributed interpolation of pixel shading parameter values
US5517603A (en) * 1991-12-20 1996-05-14 Apple Computer, Inc. Scanline rendering device for generating pixel values for displaying three-dimensional graphical images
US5377313A (en) * 1992-01-29 1994-12-27 International Business Machines Corporation Computer graphics display method and system with shadow generation
US5333249A (en) * 1992-03-02 1994-07-26 Xerox Corporation Method for phase aligned nth bitting of graphics applications
AU668150B2 (en) * 1992-04-29 1996-04-26 Canon Kabushiki Kaisha Method and apparatus for filling an object based rasterised image
JP3332165B2 (ja) * 1992-08-08 2002-10-07 株式会社リコー 画像処理装置
US5461703A (en) * 1992-10-13 1995-10-24 Hewlett-Packard Company Pixel image edge enhancement method and system
US5606650A (en) * 1993-04-22 1997-02-25 Apple Computer, Inc. Method and apparatus for storage and retrieval of a texture map in a graphics display system
US5402533A (en) * 1993-04-22 1995-03-28 Apple Computer, Inc. Method and apparatus for approximating a signed value between two endpoint values in a three-dimensional image rendering device
US5583974A (en) * 1993-05-10 1996-12-10 Apple Computer, Inc. Computer graphics system having high performance multiple layer Z-buffer
AU6783594A (en) * 1993-05-10 1994-12-12 Apple Computer, Inc. Computer graphics system having high performance multiple layer z-buffer
GB2278524B (en) * 1993-05-28 1997-12-10 Nihon Unisys Ltd Method and apparatus for rendering visual images employing area calculation and blending of fractional pixel lists for anti-aliasing and transparency
US5684939A (en) * 1993-07-09 1997-11-04 Silicon Graphics, Inc. Antialiased imaging with improved pixel supersampling
US5515484A (en) * 1993-10-06 1996-05-07 Silicon Graphics, Inc. Method and apparatus for rendering volumetric images
US5416893A (en) * 1993-10-26 1995-05-16 Hewlett-Packard Co. Method for displaying edging or decaling of an object in a graphics display
KR100243174B1 (ko) * 1993-12-28 2000-02-01 윤종용 서브픽셀 마스크 발생방법 및 장치
JPH07282274A (ja) * 1994-04-04 1995-10-27 Mitsubishi Electric Corp グラフィック表示装置
US5596686A (en) 1994-04-21 1997-01-21 Silicon Engines, Inc. Method and apparatus for simultaneous parallel query graphics rendering Z-coordinate buffer
US5808627A (en) * 1994-04-22 1998-09-15 Apple Computer, Inc. Method and apparatus for increasing the speed of rendering of objects in a display system
JP2637920B2 (ja) * 1994-08-11 1997-08-06 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・グラフィック・システム及びフレーム・バッファ使用方法
US5737455A (en) * 1994-12-12 1998-04-07 Xerox Corporation Antialiasing with grey masking techniques
US5649078A (en) * 1995-03-22 1997-07-15 International Business Machines Corporation Efficient two-pass rasterization scheme utilizing visibility information
EP0840915A4 (en) * 1995-07-26 1998-11-04 Raycer Inc METHOD AND APPARATUS FOR A VISIBLE SYSTEM BY SORTING SEGMENTS
US5841447A (en) * 1995-08-02 1998-11-24 Evans & Sutherland Computer Corporation System and method for improving pixel update performance
US5742277A (en) * 1995-10-06 1998-04-21 Silicon Graphics, Inc. Antialiasing of silhouette edges
US5724561A (en) * 1995-11-03 1998-03-03 3Dfx Interactive, Incorporated System and method for efficiently determining a fog blend value in processing graphical images
US5701365A (en) * 1996-06-21 1997-12-23 Xerox Corporation Subpixel character positioning with antialiasing with grey masking techniques
US5940080A (en) * 1996-09-12 1999-08-17 Macromedia, Inc. Method and apparatus for displaying anti-aliased text
US6115049A (en) * 1996-09-30 2000-09-05 Apple Computer, Inc. Method and apparatus for high performance antialiasing which minimizes per pixel storage and object data bandwidth
US5860925A (en) * 1997-06-27 1999-01-19 Siemens Medical Systems, Inc. Ultrasound scan conversion method
US6057855A (en) * 1997-07-02 2000-05-02 Hewlett-Packard Company Method and apparatus for providing polygon pixel sub-sample information using incremental means
US6104407A (en) * 1997-09-23 2000-08-15 Ati Technologies, Inc. Method and apparatus for processing fragment pixel information in a three-dimensional graphics processing system
US6204859B1 (en) * 1997-10-15 2001-03-20 Digital Equipment Corporation Method and apparatus for compositing colors of images with memory constraints for storing pixel data
US6002407A (en) 1997-12-16 1999-12-14 Oak Technology, Inc. Cache memory and method for use in generating computer graphics texture
US6496187B1 (en) 1998-02-17 2002-12-17 Sun Microsystems, Inc. Graphics system configured to perform parallel sample to pixel calculation
AU2868199A (en) 1998-02-17 1999-08-30 Sun Microsystems, Inc. Graphics system with variable resolution super-sampling
US6717578B1 (en) 1998-02-17 2004-04-06 Sun Microsystems, Inc. Graphics system with a variable-resolution sample buffer
EP1207497A3 (en) * 1998-02-17 2004-10-27 Sun Microsystems, Inc. Graphics system with variable resolution super-sampling
US6483504B1 (en) 1998-02-17 2002-11-19 Sun Microsystems, Inc. Graphics system having a super sampled-sample buffer with efficient storage of sample position information
US6624823B2 (en) 1998-02-17 2003-09-23 Sun Microsystems, Inc. Graphics system configured to determine triangle orientation by octant identification and slope comparison
US6496186B1 (en) 1998-02-17 2002-12-17 Sun Microsystems, Inc. Graphics system having a super-sampled sample buffer with generation of output pixels using selective adjustment of filtering for reduced artifacts
US7616200B1 (en) 1998-06-12 2009-11-10 3Dlabs Inc. Ltd. System for reducing aliasing on a display device
WO2000004484A2 (en) 1998-07-17 2000-01-27 Intergraph Corporation Wide instruction word graphics processor
US6459453B1 (en) 1998-07-17 2002-10-01 3Dlabs Inc. Ltd. System for displaying a television signal on a computer monitor
US6181355B1 (en) 1998-07-17 2001-01-30 3Dlabs Inc. Ltd. Graphics processing with transcendental function generator
WO2000004527A1 (en) * 1998-07-17 2000-01-27 Intergraph Corporation Apparatus and method of directing graphical data to a display device
WO2000004443A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation Byte reordering apparatus and method
WO2000004494A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation Graphics processing system with multiple strip breakers
WO2000004482A2 (en) 1998-07-17 2000-01-27 Intergraph Corporation Multi-processor graphics accelerator
WO2000004496A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation Graphics processor with texture memory allocation system
US6188410B1 (en) 1998-07-17 2001-02-13 3Dlabs Inc. Ltd. System for processing vertices from a graphics request stream
US6646639B1 (en) 1998-07-22 2003-11-11 Nvidia Corporation Modified method and apparatus for improved occlusion culling in graphics systems
US6771264B1 (en) 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
AU5688199A (en) 1998-08-20 2000-03-14 Raycer, Inc. System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline
US6577317B1 (en) 1998-08-20 2003-06-10 Apple Computer, Inc. Apparatus and method for geometry operations in a 3D-graphics pipeline
IL142028A0 (en) * 1998-09-28 2002-03-10 Orbotech Ltd Pixel coding and image processing method
US6591020B1 (en) 1998-12-23 2003-07-08 Xerox Corporation Antialiazed high-resolution frame buffer architecture
US6417861B1 (en) 1999-02-17 2002-07-09 Sun Microsystems, Inc. Graphics system with programmable sample positions
US6674440B1 (en) 1999-04-05 2004-01-06 3Dlabs, Inc., Inc. Ltd. Graphics processor for stereoscopically displaying a graphical image
US6285348B1 (en) * 1999-04-22 2001-09-04 Broadcom Corporation Method and system for providing implicit edge antialiasing
JP4332934B2 (ja) * 1999-06-17 2009-09-16 株式会社セガ アンチエイリアシング方法及びこれを用いた画像処理装置
US6429877B1 (en) * 1999-07-30 2002-08-06 Hewlett-Packard Company System and method for reducing the effects of aliasing in a computer graphics system
US6577307B1 (en) 1999-09-20 2003-06-10 Silicon Integrated Systems Corp. Anti-aliasing for three-dimensional image without sorting polygons in depth order
US6844880B1 (en) 1999-12-06 2005-01-18 Nvidia Corporation System, method and computer program product for an improved programmable vertex processing model with instruction set
AU780003B2 (en) * 2000-03-30 2005-02-24 Canon Kabushiki Kaisha Optimising pixel generation from compositing stack
US6426755B1 (en) 2000-05-16 2002-07-30 Sun Microsystems, Inc. Graphics system using sample tags for blur
US6956576B1 (en) 2000-05-16 2005-10-18 Sun Microsystems, Inc. Graphics system using sample masks for motion blur, depth of field, and transparency
US6636232B2 (en) * 2001-01-12 2003-10-21 Hewlett-Packard Development Company, L.P. Polygon anti-aliasing with any number of samples on an irregular sample grid using a hierarchical tiler
US7286138B2 (en) * 2001-05-08 2007-10-23 Microsoft Corporation Discontinuity edge overdraw
US6919906B2 (en) * 2001-05-08 2005-07-19 Microsoft Corporation Discontinuity edge overdraw
US7456838B1 (en) 2001-06-08 2008-11-25 Nvidia Corporation System and method for converting a vertex program to a binary format capable of being executed by a hardware graphics pipeline
WO2002101497A2 (en) * 2001-06-08 2002-12-19 Nvidia Corporation System, method and computer program product for programmable fragment processing in a graphics pipeline
US7006101B1 (en) 2001-06-08 2006-02-28 Nvidia Corporation Graphics API with branching capabilities
US6697064B1 (en) * 2001-06-08 2004-02-24 Nvidia Corporation System, method and computer program product for matrix tracking during vertex processing in a graphics pipeline
WO2003010718A1 (en) * 2001-07-20 2003-02-06 Koninklijke Philips Electronics N.V. Computer graphics system and method of rendering polygons
JP3549871B2 (ja) * 2001-07-27 2004-08-04 株式会社ソニー・コンピュータエンタテインメント 描画処理装置及び方法、描画処理プログラムを記録した記録媒体、描画処理プログラム
CN100410725C (zh) * 2001-09-12 2008-08-13 麦克罗尼克激光系统公司 使用空间光调制器的改进方法和装置
US6618185B2 (en) * 2001-11-28 2003-09-09 Micronic Laser Systems Ab Defective pixel compensation method
US7106490B2 (en) * 2001-12-14 2006-09-12 Micronic Laser Systems Ab Methods and systems for improved boundary contrast
WO2004063695A1 (en) * 2003-01-15 2004-07-29 Micronic Laser Systems Ab A method to detect a defective pixel
US7161597B2 (en) * 2003-07-07 2007-01-09 Arcsoft, Inc. Graphic engine for rasterizing a straight edge in a resource-constrained device
US7764287B2 (en) * 2003-07-07 2010-07-27 Arcsoft, Inc. Graphic engine for approximating a quadratic bezier curve in a resource-constrained device
US7142211B2 (en) * 2003-07-07 2006-11-28 Arcsoft, Inc. Graphic engine for fill style transferring in a resource-constrained device
JP2005100177A (ja) * 2003-09-25 2005-04-14 Sony Corp 画像処理装置およびその方法
JP4183082B2 (ja) * 2003-09-26 2008-11-19 シャープ株式会社 3次元画像描画装置および3次元画像描画方法
US7486337B2 (en) * 2003-12-22 2009-02-03 Intel Corporation Controlling the overlay of multiple video signals
US7599044B2 (en) 2005-06-23 2009-10-06 Apple Inc. Method and apparatus for remotely detecting presence
US7242169B2 (en) * 2005-03-01 2007-07-10 Apple Inc. Method and apparatus for voltage compensation for parasitic impedance
JP2006293553A (ja) * 2005-04-07 2006-10-26 Aisin Aw Co Ltd フォントデータの回転処理装置及び地図表示システム
US7577930B2 (en) 2005-06-23 2009-08-18 Apple Inc. Method and apparatus for analyzing integrated circuit operations
US9298311B2 (en) * 2005-06-23 2016-03-29 Apple Inc. Trackpad sensitivity compensation
US7432937B2 (en) * 2005-06-30 2008-10-07 Intel Corporation System and method for concave polygon rasterization
US7496416B2 (en) * 2005-08-01 2009-02-24 Luxology, Llc Input/output curve editor
US7433191B2 (en) * 2005-09-30 2008-10-07 Apple Inc. Thermal contact arrangement
US7598711B2 (en) * 2005-11-23 2009-10-06 Apple Inc. Power source switchover apparatus and method
US20070268298A1 (en) 2006-05-22 2007-11-22 Alben Jonah M Delayed frame buffer merging with compression
KR101136684B1 (ko) * 2006-06-09 2012-04-23 도요타지도샤가부시키가이샤 데이터 갱신 시스템, 네비게이션 장치, 서버 장치, 및 데이터 갱신 방법
EP2104930A2 (en) 2006-12-12 2009-09-30 Evans & Sutherland Computer Corporation System and method for aligning rgb light in a single modulator projector
US8155826B2 (en) * 2007-03-30 2012-04-10 Aisin Aw Co., Ltd. Vehicle behavior learning apparatuses, methods, and programs
JP4446201B2 (ja) * 2007-03-30 2010-04-07 アイシン・エィ・ダブリュ株式会社 画像認識装置及び画像認識方法
JP4501983B2 (ja) * 2007-09-28 2010-07-14 アイシン・エィ・ダブリュ株式会社 駐車支援システム、駐車支援方法、駐車支援プログラム
US8358317B2 (en) 2008-05-23 2013-01-22 Evans & Sutherland Computer Corporation System and method for displaying a planar image on a curved surface
US8702248B1 (en) 2008-06-11 2014-04-22 Evans & Sutherland Computer Corporation Projection method for reducing interpixel gaps on a viewing surface
US8077378B1 (en) 2008-11-12 2011-12-13 Evans & Sutherland Computer Corporation Calibration system and method for light modulation device
US8669999B2 (en) * 2009-10-15 2014-03-11 Nvidia Corporation Alpha-to-coverage value determination using virtual samples
US20110183301A1 (en) * 2010-01-27 2011-07-28 L-3 Communications Corporation Method and system for single-pass rendering for off-axis view
US8410977B2 (en) * 2011-02-17 2013-04-02 Honeywell International Inc. Methods and systems for identifying hazardous flight zone areas on a display
US20120280992A1 (en) * 2011-05-02 2012-11-08 Shebanow Michael C Grid walk sampling
US8860742B2 (en) * 2011-05-02 2014-10-14 Nvidia Corporation Coverage caching
US9641826B1 (en) 2011-10-06 2017-05-02 Evans & Sutherland Computer Corporation System and method for displaying distant 3-D stereo on a dome surface
US9218641B1 (en) * 2012-06-19 2015-12-22 Exelis, Inc. Algorithm for calculating high accuracy image slopes
EP2835792B1 (en) * 2013-08-07 2016-10-05 Axis AB Method and system for selecting position and orientation for a monitoring camera
JP6330506B2 (ja) 2014-06-18 2018-05-30 ブラザー工業株式会社 画像読取装置
JP6330505B2 (ja) * 2014-06-18 2018-05-30 ブラザー工業株式会社 画像読取装置
US10242286B2 (en) 2015-03-25 2019-03-26 Intel Corporation Edge-based coverage mask compression
CN107808363B (zh) * 2017-11-23 2020-12-25 杭州电魂网络科技股份有限公司 图像遮罩处理方法及装置
CN113129417A (zh) * 2019-12-27 2021-07-16 华为技术有限公司 一种全景应用中图像渲染的方法及终端设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4704605A (en) * 1984-12-17 1987-11-03 Edelson Steven D Method and apparatus for providing anti-aliased edges in pixel-mapped computer graphics
US4780711A (en) * 1985-04-12 1988-10-25 International Business Machines Corporation Anti-aliasing of raster images using assumed boundary lines
US4684990A (en) * 1985-04-12 1987-08-04 Ampex Corporation Method and apparatus for combining multiple video images in three dimensions
US4825391A (en) * 1987-07-20 1989-04-25 General Electric Company Depth buffer priority processing for real time computer image generating systems
GB2210540A (en) * 1987-09-30 1989-06-07 Philips Electronic Associated Method of and arrangement for modifying stored data,and method of and arrangement for generating two-dimensional images
US4873515A (en) * 1987-10-16 1989-10-10 Evans & Sutherland Computer Corporation Computer graphics pixel processing system
US4918626A (en) * 1987-12-09 1990-04-17 Evans & Sutherland Computer Corp. Computer graphics priority system with antialiasing
US4908780A (en) * 1988-10-14 1990-03-13 Sun Microsystems, Inc. Anti-aliasing raster operations utilizing sub-pixel crossing information to control pixel shading

Also Published As

Publication number Publication date
EP0521084A4 (en) 1993-11-18
DE69131927T2 (de) 2000-10-19
EP0521084B1 (en) 2000-01-19
JPH05507372A (ja) 1993-10-21
AU7564391A (en) 1991-10-21
DE69131927D1 (de) 2000-02-24
US5123085A (en) 1992-06-16
JP3277280B2 (ja) 2002-04-22
EP0521084A1 (en) 1993-01-07
WO1991014995A1 (en) 1991-10-03

Similar Documents

Publication Publication Date Title
KR960012669B1 (ko) 앤티-에일리어즈드 다각형을 렌더링하기 위한 방법 및 장치
EP0775982B1 (en) System and method for merging pixel fragments based on depth range values
US7495675B1 (en) Processing illustration artwork
US4967392A (en) Drawing processor for computer graphic system using a plurality of parallel processors which each handle a group of display screen scanlines
US5982376A (en) Three-dimensional graphic display apparatus with improved high-speed anti-aliasing
EP0356103B1 (en) Scan-conversion process and processor
US6104407A (en) Method and apparatus for processing fragment pixel information in a three-dimensional graphics processing system
US6100899A (en) System and method for performing high-precision, multi-channel blending using multiple blending passes
US6774910B2 (en) Method and system for providing implicit edge antialiasing
US6897879B2 (en) Hardware-enhanced graphics acceleration of pixel sub-component-oriented images
US5519823A (en) Apparatus for rendering antialiased vectors
US7554546B1 (en) Stippled lines using direct distance evaluation
US5175805A (en) Method and apparatus for sequencing composite operations of pixels
US5442737A (en) System and method for rendering a display on a computer screen
US20050052455A1 (en) Effecient display update from changing object graphics
US5835097A (en) Non-homogenous second order perspective texture mapping using linear interpolation parameters
JP4311877B2 (ja) 副標本化テクスチャ端縁部のアンチエイリアシング
GB2059729A (en) Multicolour display of digitally processed data
US6515661B1 (en) Anti-aliasing buffer
JP2000011208A (ja) 画像表示装置及び方法
Curington Continuous field visualization with multi-resolution textures
AU2003238615A1 (en) Efficient display update from changing object graphics

Legal Events

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

Payment date: 20030124

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee