KR970004120B1 - 3차원도형처리장치 - Google Patents

3차원도형처리장치 Download PDF

Info

Publication number
KR970004120B1
KR970004120B1 KR1019900017527A KR900017527A KR970004120B1 KR 970004120 B1 KR970004120 B1 KR 970004120B1 KR 1019900017527 A KR1019900017527 A KR 1019900017527A KR 900017527 A KR900017527 A KR 900017527A KR 970004120 B1 KR970004120 B1 KR 970004120B1
Authority
KR
South Korea
Prior art keywords
error
point
value
horizontal
processing apparatus
Prior art date
Application number
KR1019900017527A
Other languages
English (en)
Other versions
KR910008604A (ko
Inventor
노부유키 이쿠미
Original Assignee
가부시키가이샤 도시바
아오이 죠이치
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시키가이샤 도시바, 아오이 죠이치 filed Critical 가부시키가이샤 도시바
Publication of KR910008604A publication Critical patent/KR910008604A/ko
Application granted granted Critical
Publication of KR970004120B1 publication Critical patent/KR970004120B1/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/80Shading
    • G06T15/87Gouraud shading

Landscapes

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

Abstract

내용없음

Description

3차원도형처리장치
제 1 도는 본 발명에 따른 3차원도형처리장치의 기본구성을 나타낸 블럭도.
제 2 도(a) 및 (b)는 각각 제 1 도의 3차원도형처리장치에 있어서, 기본도형의 좌변의 수평주사 개시점을 계산한 결과에 대해 사사오입을 행하기 위해 0.5를 가산함으로써 수평주사 개시점(Xs)이 n≤Xs<n+0.5에 있는 경우와 n+0.5≤Xs<n+1에 있는 경우를 설명하기 위해 나타낸 도면.
제 3 도는 본 발명에 따른 3차원도형처리장치의 1실시예를 나타낸 블럭도.
제 4 도 및 제 5 도는 각각 제 3 도의 3차원도형처리장치에 있어서의 제 1 계산부에 의해 폴리곤(ploygon)의 좌변에 따른 보간계산을 행하는 동작 및 제 2 계산부에 의해 수평방향에서의 휘도 및 앞뒤거리의 보간계산을 행하는 동작을 나타낸 플로우챠트.
제 6 도 및 제 7 도는 각각 제3도의 3차원도형처리장치에 있어서의 오차보정부에 의한 제 4 도의 플로우챠트중 Ⅰ보정처리루틴 및 Z보정처리루틴에 대응하는 동작을 나타낸 플로우챠트.
제 8 도는 구로방식 셰이딩을 행하는 3차원도형처리장치에 있어서의 폴리곤의 일례 및 그 파라미터를 나타낸 도면.
제 9 도 및 제 10 도는 각각 종래의 3차원도형처리장치에 있어서의 계산결과가 묘화를 위해 양자화됨으로써 실제도형의 점과 묘화된 점에 △X의 오차(환산오차)가 발생한 모양 및 상기 계산결과에 대해 사사오입을 행하기 위해 0.5를 가산한 경우에 실제도형의 엣지와 내부에서 계산되는 엣지점에 0.5의 평행한 오차가 나타나는 모양을 나타낸 도면이다.
* 도면의 주요부분에 대한 부호의 설명 *
10 : 3차원도형처리장치20 : 오차보정수단
31 : 제 1 계산부32 : 제 2 계산부
33 : 오차보정부34, 35 : 제어부
41, 43 : 레지스터군42 : 가감산기
44, 46, 53, 57 : 셀렉터45, 51, 54, 55, 58 : 레지스터
52, 56 : 가산기61 : 로테이터
62 : 2의 보수회로
[산업상의 이용분야]
본 발명은 복수개의 기본도형(polygon; 이하 폴리곤이라 칭한다)으로 나타낸 3차원도형에 대해 음영부가처리를 행하는 3차원도형처리장치에 관한 것으로, 특히 표시를 위한 정수값으로의 환산에 따라 발생하게 되는 양자화오차를 보정하는 수단에 관한 것이다.
[종래의 기술 및 그 문제점]
종래의 3차원도형에 대한 처리중, 음영부가에 의한 3차원표시를 행하기 위한 알고리즘으로서 구로방식(gouraud方式)이 가장 일반적으로 알려져 있다. 이 구로방식 셰이딩(shading)은 묘화해야 할 3차원도형을 폴리곤(예컨대, 미소삼각형)으로 나타내고, 이 폴리곤의 각 정점이 갖고 있는 3차원좌표 및 휘도(輝度)의 정보로 부터 폴리곤내의 모든 점의 3차원좌표 및 휘도의 값을 직선보간으로서 구하며, 도형에 매끄러운 음영을 부가하기 위한 처리를 행한다. 이러한 것들은 ①「컴퓨터 그래픽스」J. D. FOLEY, A. VANDAM저, 이마미야쥰미역, 일본컴퓨터협회, P.P. 587~596, ② 일경일렉트로닉스, 1986. 4. 7호(No. 392) P.P. 171~194, ③ 본원 출원인의 선출원에 따른 특원소 61-227980호 출원 등에 상세히 서술되어 있는 것이지만, 간단하게 설명하면 다음과 같다.
즉, 폴리곤을 예컨대 제 8 도에 나타낸 바와 같은 미소한 삼각형으로 하고, 각 정점(A, B, C)의 3차원좌표(X축 좌표, Y축 좌표, Z축 좌표)의 값 및 휘도(I)의 값을 A(X1, Y1, Z1, I1), B(X2, Y2, Z2, I2), C(X3, Y3, Z3, I3)으로 표시하려면, 우선 좌변(AB)상에서의 X1, Z1, I1의 값의 기울기와 우변(AC)상에서의 X2의 기울기를 구한다.
△X1=(X1-X2)/(Y1-Y2), △Z1=(Z1-Z2)/(Y1-Y2)
△I1=(I1-I2)/(Y1-Y2), △X2=(X1-X3)/(Y1-Y3)
삼각형이므로 수평선상(Y축에 평행)에서의 I의 기울기(△I') 및 Z의 기울기(△Z')는 일정치로 되게 된다. 즉,
△I'=(I3-I2)/(X3-X2)
△Z'=(Z3-Z2)/(X3-X2)
이어, 좌변(AB)상에서 △X1, △Z, △I의 기울기를 더하여 수평주사의 개시점의 좌표값(Xs, Z, I)을 구하고, 그 다음에는 우변(AC)상에서 △X2를 더하여 수평주사의 종료점의 좌표값(Xe)를 구한다. 그리고, 상기 Xs로부터 Xe까지 수평선상의 기울기 △I' 및 △Z'를 I, Z에 더하여 각 점의 I, Z를 구한다. 이와 같이 하여 도형 위를 모두 수평주사함으로써 하나의 도형을 완전히 칠하게 된다. 여기서, 이들 모든 계산은 소정 정밀도(예컨대 배정밀도)를 갖는 실수로 행해지게 된다. 따라서, 좌변상에서의 좌표값(Xs, Z, I)이나 우변상에서의 좌표값(Xe) 및 그 이외의 기울기도 모두 실수이다.
그러나, 내부적으로 계산자체는 실수로 행해지더라도 최종적으로 묘화되는 3차원도형은 표시장치[통상, 라스터 디스플레이(raster display)]의 표시화면에서의 정수의 격자점(화소점)으로 양자화되어 정수값으로 환산되게 된다. 따라서, 제 9 도에 나타낸 바와 같이 실제의 도형의 점과 묘화되는 점은 △X의 오차(환산오차)가 생기게 된다. 이때, 묘화되는 각 점의 휘도(I ; 묘화하고자 하는 물체표면에서의 반사광의 정도) 및 앞뒤거리(Z ; 물체를 묘화하는 스크린이 XY평면에 있다고 가정한 때의 물체와 스크린의 거리에 상당하는 것)는, 본래는 실수로 표시된 옛지점에 대해 상기 오차(△X) 때문에 △X·△I', △X·△Z'의 오차가 생기게 된다.
또한 좌변상의 개시점의 X좌표(Xs)를 구할 때, 사사오입을 행하기 위해 초기값(예컨대 B점의 x2)에 대하여 0.5를 가산한 다음에 최종적으로 소수점이하를 떼어버리고 정수값으로 환산하게 되면, 제 10 도에 나타낸 바와 같이 실제 도형의 엣지와 사사오입을 행하기 위해 내부에서 계산되는 엣지점과는 0.5의 평행한 오차가 생기게 된다. 이 경우, △X<0.5이지만, 난처하게도 △I', △Z'가 대단히 커지는 경우에는 각 점의 오차는 커지게 되고, 2개의 도형(즉, 인접하는 2개의 폴로곤)의 경계선에서 같은 점임에도 불구하고 위에서 각각의 도형에서 계산한 값이 다르기 때문에 묘화되면 경계선이 톱날모양의 불연속한 것으로 된다.
상기한 바와 같이 종래의 3차원도형처리장치는 계산자체는 실수로 행해지더라도 묘화에 즈음해서는 정수값으로 환산되므로 실제도형의 엣지와 묘화되는 점간에는 오차가 생기고, 2개의 도형의 경계선상에서 각각의 도형의 계산결과가 달라지게 되어 경계선상의 묘화가 불연속한 것으로 되어 버리는 문제가 있다.
[발명의 목적]
본 발명은 상기와 같은 문제점을 해결하기 위해 발명된 것으로, 실수로 행해진 계산결과가 묘화에 즈음해서 정수값으로 환산되더라도 실제의 도형의 엣지와 묘화된 점간의 오차가 보정되고, 2개의 도형의 경계선상에서 각각의 도형의 계산결과가 거의 일치하게 되므로 경계선상의 묘화가 연속하는 자연스러운 것으로 되어 고화질의 화상을 얻을 수 있는 3차원도형처리장치를 제공하고자 함에 그 목적이 있다.
또, 본 발명의 다른 목적은 실수로 행해진 계산결과가 묘화에 즈음해서 정수값으로 환산됨으로써 실제의 도형의 엣지와 묘화되는 점간에 생기는 오차를 보정하기 위한 오차보정수단의 하드웨어의 간이화를 도모할 수 있는 3차원도형처리장치를 제공하고자 함에 있다.
[발명의 구성]
상기 목적을 달성하기 위한 본 발명은, 음영부가에 의한 3차원표시를 행하기 위해 구로방식 셰이딩을 행하는 3차원도형처리장치에 있어서, 기본도형의 좌변의 수평주사 개시점을 계산한 결과를 라스터표시를 위한 정수화된 점의 값으로 환산할 때에 생기는 오차를 구해 수평방향좌표의 직선보간계산에 의해 얻어진 휘도값 및 앞뒤 처리값에 대해 상기 오차분의 보정을 행하는 오차보정수단을 구비한 것을 특징으로 한다.
(작용)
수평방향좌표의 직선보간계산에 의해 얻어진 휘도값 및 앞뒤거리값에 대해 오차분의 보정을 행하는 것에 의해 묘화되는 격자점의 값을 얻음으로써 2개의 도형의 경계선상에서 각각의 도형의 계산결과가 거의 일치하게 되므로 경계선상에서의 묘화가 연속하는 자연스러운 것으로 되어 고화질의 화상을 얻을 수 있게 된다.
[실시예]
이하, 도면을 참조해서 본 발명의 1실시예를 상세히 설명한다.
제 1 도는 집적회로에 형성된 3차원도형처리장치를 나타낸 것으로, 제 8 도 내지 제 10 도를 참조해서 상술한 종래의 오차보정이 행해지지 않는 3차원도형처리장치(10)에 대해 폴리곤의 좌변의 수평주사의 개시점(Xs)을 계산한 결과를 라스터표시를 위한 정수화된 점의 값으로 환산할 때에 생기는 오차(△X)를 구해 수평방향좌표의 직선보간계산에 의해 얻어진 휘도값 및 앞뒤서리값에 대해 상기 오차분의 보정을 행하는 오차보정수단(20)이 부가되어 있는 점이 다를 뿐 그 이외는 마찬가지이다.
본 실시예에서는 폴리곤의 좌변의 수평주사 개시점(Xs)을 계산한 결과를 라스터표시를 위한 정수화된 점의 값으로 환산하는 수단으로서, 기본도형의 수평주사개시점(Xs)을 계산한 결과가에 대해 0.5를 가산하여 사사오입을 행함으로써 정수값으로 환산하는 수단(21)을 채용한 것으로 되어 있다. 그에 따라, 제 9 도에 나타낸 바와 같이 실제 도형의 점과 묘화되는 것은 △X(<0.5)의 오차가 생기고, 묘화되는 점의 휘도(I) 및 앞뒤거리(Z)는 본래는 실수로 표시된 엣지점에 대해 △X·△I', △X·△Z'의 보정이 필요하게 된다. 여기서, △I', △Z'는 수평선상(Y축에 평행)에서의 I의 기울기 및 Z의 기울기이다.
오차보정수단(20)은, 상기 환산수단에 있어서 0.5를 가산한 결과의 소수점이하 제 1 자리가 1이면 소수점이하 제 2 자리 내지 제 n자리를 수평방향좌표의 오차(△X)로서 구하고, 소수점이하 제 1 자리가 0이면 소수점이하 제 2 자리 내지 제 n자리의 2의 보수를 취한 것을 수평방향좌표의 오차(△X)로서 구하는 제 1 수단과, 상기 오차(△X)와 수평방향에 대한 휘도의 기울기(△I')의 승산을 행해 보정값(△X·△I')을 구함과 더불어 상기 오차(△X)와 수평방향에 대한 앞뒤거리의 기울기(△Z')의 승산을 행해 보정값(△X·△Z')를 구하는 제 2 수단과, 수평방향좌표의 직선보간계산에 의해 얻어진 휘도값 및 앞뒤서리값에 대해 상기 환산수단에 있어서 0.5를 가산한 결과의 소수점이하 제 1 자리가 1이면 상기 제 2 수단에 의해 구해진 보정값을 감산하고, 상기 0.5를 가산한 결과의 소수점이하 제 1 자리가 0이면 상기 제 2 수단에 의해 구한 보정값을 가산하는 제 3 수단을 구비하고 있다.
즉, 제 2 도(a)에 나타낸 바와 같이 수평주사 개시점(Xs)이 n(정수)<Xs<n+0.5에 있는 경우와, 제 2 도(b)에 나타낸 바와 같이 수평주사 개시점(Xs)이 n+0.5≤Xs<n+1에 있는 경우에는 오차(△X)를 구하는 방법 및 △X·△I', △X·△Z'의 보정 방법이 다르다.
제 2 도(a)에 나타낸 바와 같이 수평주사 개시점(Xs)이 n≤Xs<n+0.5에 있는 경우에는 내부에서 계산된 값은 .11011…과 같이 소수점이하 제 1 자리가 1로 되어 있으므로 소수점이하 제 2 자리 내지 제 n 자리까지(.01011…)를 오차(△X)로서 구한다. 제 2 수단에 의해 구한 보정값(△X·△I', △X·△Z')은 X의 정방향을 향하고 있으므로 제 3 수단에서는 수평방향좌표의 직선보간계산에 의해 얻어진 휘도값 및 앞뒤서리값에 대해 상기 제 2 수단에 의해 구해진 보정값(△X·△I', △X·△Z')을 감산하게 된다.
그에 반해, 제 2 도(b)에 나타낸 바와 같이 수평주사 개시점(Xs)이 n+0.5≤Xs<n+1에 있는 경우에는, 내부에서 계산된 값은 .01100…과 같이 소수점이하 제 1 자리가 0으로 되어 있으므로 소수점이하 제 2 자리 내지 제 n 자리까지의 2의 보수를 취한 것(.00100…)을 오차(△X)로서 구한다. 제 2 수단에 의해 구한 보정값(△X·△I', △X·△Z')은 X의 정방향으로 향하고 있으므로 제 3 수단에서는 수평방향좌표의 직선보간계산에 의해 얻어진 휘도값 및 앞뒤서리값에 대해 상기 제 2 수단에 의해 구해진 보정값(△X·△I', △X·△Z')을 가산하게 된다.
여기서, 소수점이하를 어느 자릿수로 취하는가는 정밀도를 어느만큼 필요로 하는가에 의해 결정되지만, 실용상 5~6자리 정도로 취하면 오차도 2-6~2-7로 되어 문제가 없다고 생각된다.
상기 보정값(△X·△I' 및 △X·△Z')을 구하기 위한 계산을 행할 때, 예컨대 승산기를 사용함으로써 고정밀도의 계산을 행하는 것도 생각할 수 있지만, 배정밀도로 계산할 때 △X가 16비트이고, △I' 및 △Z'가 32비트이면 16비트×32비트의 승산기가 필요하게 된다.
그런데, 본래 직선보간을 행하는 경우에는 변화의 증분을 앞의 값에 가산하는 처리만으로 좋고 하드웨어적으로는 가산기와 레지스터와 같은 간단한 것이어도 좋았다.
따라서, 상기한 바와 같은 오차(△X)를 보정하기 위해 승산기를 사용하지 않고, 가격대성능비(cost performance)가 좋은 하드웨어를 사용하는 것이 요망되는 바, 예컨대 가감산기와 로테이터(비트 로테이트회로) 및 레지스터를 사용하여 시프트 및 가산을 반복하는 경우에 대해 제 3 도를 참조하여 설명한다.
제 3 도에 나타낸 3차원도형처리장치는, 폴리곤의 좌변(AB)의 엣지상의 휘도(I) 및 앞뒤거리(Z), 개시점의 X좌표(Xs), 종료점의 X좌표(Xe)를 계산하는 제 1 계산부(31)와 개시점(Xs)로부터 종료점(Xe)까지 수평하게 휘도 및 앞뒤거리의 보간계산을 행하여 그 계산결과를 예컨대 집적회로 외부의 메모리(I메모리 및 Z메모리)에 대해 기록입력으로서 출력하는 제 2 계산부(32) 및, 오차보정부(33)로 구성되어 있다.
제 1 계산부(31)는 엣지상의 각종의 기울기를 보존하는 레지스터군(41)과 이 레지스터군(41)의 내용을 한쪽의 입력으로 해서 보간계산을 행하는 가감산기(42) 및 이 가감산기(42)로부터 출력되는 엣지상의 각 값을 보존하는 레지스터군(43)을 갖추고 있다. 더욱이, 오차보정을 위해 제 2 계산부(32)로부터의 휘도의 기울기(△I') 또는 앞뒤거리의 기울기(△Z')를 선택하는 제1셀렉터(44)와 이 제 1 셀렉터(44)에 의해 선택된 기울기를 보존하는 레지스터(45)의 내용 또는 상기 엣지상의 각종의 기울기를 보존하는 레지스터군(41)의 내용을 선택하여 가감산기(42)의 다른쪽 입력으로 하는 제2셀렉터(46)를 갖추고 있으며, 이들 동작은 제 1 제어부(34)에 의해 프로그램제어되게 된다.
또, 제2계산부(32)는 휘도의 기울기(△I')를 보존하는 레지스터(51)와 이 레지스터(51)의 내용을 한쪽 입력으로 해서 휘도의 수평방향의 보간계산을 행하는 가산기(52), 가감산기(42)의 휘도출력 또는 가산기(52)의 출력을 선택하는 셀렉터(53), 이 셀렉터(53)에 의해 선택된 각 점의 휘도를 보존하는 레지스터(54)와, 앞뒤거리의 기울기(△Z')를 보존하는 레지스터(55), 앞뒤거리의 수평방향의 보간계산을 행하는 가감기(56), 가감산기(42)의 앞뒤거리출력 또는 가산기(56)의 출력을 선택하는 셀렉터(57) 및 이 셀렉터(57)에 의해 선택된 각 점의 앞뒤거리를 보존하는 레지스터(58)을 갖추고 있으며, 그 동작은 제 2 제어부(35)에 의해 프로그램제어되게 된다.
여기서, 제 2 제어부(35)는 제 1 제어부(34)로부터 기동이 걸려져 그 동작중에는 제 1 제어부(34)에 대해 비지플래그(busy flag)를 설정하도록 되어 있다.
또한, 오차보정부(3)는 로테이터(61)와 2의 보수회로(62)를 갖추고 있고, 더욱이 가감산기(42), 레지스터군(43)의 일부, 레지스터(45), 제 1 셀렉터(44) 및 제 2 셀렉터(46)를 사용하는 것으로, 그 동작은 제 1 제어부(34)에 의해 프로그램제어되게 된다.
다음에는 상기 3차원도형처리장치의 기본적인 동작에 대해 제 4 도 내지 제 7 도에 나타낸 플로우챠트를 참조하여 설명한다.
제 4 도의 플로우챠트는 제 1 계산부(31)에 의해 폴리곤의 좌변에 따른 보간계산을 행하는 동작을 나타낸 것이다. 즉, 우선 어떤 하나의 폴리곤에 대한 초기값을 각 레지스터군(41, 43)에 설정하고, 제 2 제어부(35)가 비지(busy) 상태가 아니면 레지스터군(43)에 설정되어 있는 엣지상의 값(Iedge' 및 Zedge')을 제 2 계산부(32)의 레지스터(54 및 58)로 각각 전송한다.
이어, 레지스터군(43)에 설정되어 있는 엣지상의 값(Iedge)에 레지스터군(41)에 설정되어 있는 휘도의 기울기(△I)를 가감산기(42)로 가산하여 레지스터군(43)에 보존하고, 이 가산결과에 대해 후술할 바와 같은 I보정처리를 행한다. 계속해서 레지스터군(43)에 설정되어 있는 엣지상의 값(Zedge)에 레지스터군(41)에 설정되어 있는 앞뒤거리의 기울기(△Z)를 가감산기(42)로 가산하여 레지스터군(43)에 보존하고, 이 가산결과에 대해 후술할 바와 같은 Z보정처리를 행한다.
그 다음에는 레지스터군(43)에 설정되어 있는 개시점의 X좌표(XS)에 레지스터군(41)에 설정되어 있는 기울기(△X1)를 가감산기(42)로 가산하여 레지스터군(43)에 보존하고, 레지스터군(43)에 설정되어 있는 종료점의 X좌표(Xe)에 레지스터군(41)에 설정되어 있는 기울기(△X2)를 가감산기(42)로 가산하여 레지스터군(43)에 보존한다. 이상의 처리를 하나의 폴리곤에 대해 종료될 때까지 반복한다.
제 5 도의 플로우챠트는 제 2 계산부(32)에 의해 수평방향에서의 휘도(I) 및 앞뒤거리(Z)의 보간계산을 행하는 동작을 나타낸 것이다. 즉, 제 2 제어부(35)는 제 1 제어부(34)로부터 기동이 걸려지면 제 1 제어부(34)에 대해 비지플래그를 설정한다. 그리고, 레지스터(54)의 내용에 레지스터(51)에 설정되어 있는 수평선상에서의 I의 기울기(△I')를 가산기(52)로 가산하여 외부의 I메모리로 전송하고, 레지스터(58)의 내용에 레지스터(55)에 설정되어 있는 수평선상에서의 Z의 기울기(△Z')를 가산기(56)로 가산하여 외부의 Z메모리로 전송하며, 수평방향의 카운터(X ; 도시하지 않음)의 내용을 하나 증가시키고, 이 카운터(X)의 내용이 종료점의 X좌표(Xe)보다 커질때까지 이상의 처리를 반복하며, 이후에 비지플래그를 해제한다. 그에 따라 개시점의 X좌표(Xs)로부터 종료점의 X좌표(Xe)까지 수평선상의 기울기(△I' 및 △Z')를 I, Z에 더하여 각 점의 I, Z를 구한다.
제 6 도의 플로우챠트는 제 4 도의 플로우챠트 중의 I보정처리루틴에 대응하는 오차보정부(33)의 동작을 나타낸 것으로, 제 7 도의 플로우챠트는 제 4 도의 플로우챠트중의 Z보정처리루틴에 대응하는 오차보정부(33)의 동작을 나타낸 것이다.
즉, 기본적으로는 레지스터[51(또는 55)]에 설정되어 있는 수평방향의 기울기[△I' (또는 △Z')]를 오른쪽으로 2비트 시프트(즉, ÷4)시킨 것을 레지스터(45)에 설정하고, 레지스터군(43)에 설정되어 있는 개시점의 X좌표(Xs)의 소수점이하 제 1 자리를 읽어 △X를 로테이터(61)에 설정하며, 로테이터(61)의 최상위비트가 1이며 레지스터(45)의 내용을 레지스터군(43)에 보존되어 있는 엣지상의 값[Iedge'(또는 Zedge')]에 대해 가감산기(42)로 가감산(소수점이하 제 1 자리가 1인 경우는 감산, 소수점이하 제 1 자리가 0인 경우는 가산)을 행하여 레지스터군(43)에 보존한다. 그리고 레지스터군(45)의 내용을 오른쪽으로 1비트 산술시프트시키고, 로테이터(61)를 로테이트시키며, 이 시프트 및 가산조작을 소수점이하 제 2 자리로부터 제 n자리까지(n-2)회 행한다. 이 로테이터(61)는 (n-1)회의 로테이트를 행하고 처음으로 되돌아가므로, Z보정처리루틴에서는 △X를 로테이터(61)로 설정하지 않아도 된다.
한편, 본 발명의 3차원도형처리장치의 하드웨어는 종래의 오차보정이 행해지지 않는 3차원도형처리장치를 모체로 하여 오차보정수단을 부가하고 있고, 상기 실시예에서는 오차보정수단을 동작시킴으로써 정밀도를 높여 고화질을 구한 경우를 나타냈지만, 정밀도를 그다지 요하지 않고 고속성을 구하는 경우에는 상기 오차보정수단이 동작되지 않게 선택할 수 있도록 해도 된다.
즉, 예컨대 사용자에 의한 집적회로 외부로부터의 절환제어입력에 따라 오차보정수단의 동작을 온(on)/오프(off)제어가능하게 구성해도 되고, 제 3 도의 3차원도형처리장치의 경우에는, 제 1 제어부(34)에 대해 절환제어입력을 가하여 오차보정수단을 동작시키지 않는 경우에는 제 4 도의 플로우챠트에 있어서의 I보정처리루틴 및 Z보정처리루틴으로의 점프를 금지시키도록 제어프로그램을 변경하면 된다.
[발명의 효과]
상술한 바와 같이 본 발명의 3차원도형처리장치에 의하면, 실수로 행해진 계산의 결과가 묘화에 대해 정수값으로 환산된다고 하더라도 실제의 도형의 엣지와 묘화된 점간의 오차가 보정되어 도형의 경계선상에서 2개의 도형의 계산결과가 거의 일치하게 되므로 경계선상에서 묘화가 연속하는 자연스러운 것으로 되어 고화질의 화상을 얻을 수 있게 된다.
또 본 발명의 3차원도형처리장치에 의하면, 종래의 3차원도형처리장치에 오차보정수단을 부가하기 위해 필요한 하드웨어는 가감산기(기존의 것을 이용할 수 있음) 및 로테이터, 2의 보수회로, 레지스터 정도이므로 간단한 구성으로 실현할 수 있게 된다.
더욱이 곧 발명의 3차원도형처리장치에 의하면, 오차보정수단의 동작을 온/오프제어하는 것이 가능하므로 정밀도를 높여 고화질을 요하는 경우에 정밀도를 그다지 요하지 않고 고속성을 요하는 경우에 대응하여 기능을 선택하는 것이 가능하게 된다.
한편 특허청구의 범위의 각 구성요소에 병기한 도면에 대응하는 참조부호는 본 발명의 이해를 용이하게 하기 위한 것일 뿐, 본 발명의 기술적 범위를 도면에 나타낸 실시예에 한정할 의도로 병기한 것은 아니다.

Claims (5)

  1. 기본도형의 좌변의 수평주사 개시점을 계산한 결과에 대해 0.5를 가산해서 사사오입을 행함으로써 정수치로 환산하는 정수치환산수단(21)을 갖추고서 음영부가에 의한 3차원표시를 행하기 위해 구로방식 셰이딩을 행하는 3차원도형처리장치에 있어서, 기본도형의 좌변의 수평주사 개시점을 계산한 결과를 라스터표시를 위한 정수화된 점의 값으로 환산할 때에 생기는 오차를 구해 수평방향좌표의 직선보간계산에 의해 얻어진 휘도값 및 앞뒤서리값에 대해 상기 오차분의 보정을 행하는 오차보정수단(20)을 구비하여 이루어진 것을 특징으로 하는 3차원도형처리장치.
  2. 제 1 항에 있어서, 상기 오차보정수단(20)은, 상기 0.5를 가산한 결과의 소수점이하 제 1 자리가 1이면 소수점이하 제 2 자리 내지 제n자리를 수평방향 좌표의 오차로서 구하고, 소수점이하 제 1 자리가 0이면 소수점이하 제 2 자리 내지 제n자리의 2의 보수를 취한 것을 수평방향좌표의 오차로서 구하는 제 1 수단(33)과, 상기 수평방향좌표의 오차와 수평방향에 대한 휘도의 기울기의 승산 및, 상기 수평방향좌표의 오차와 수평방향에 대한 앞뒤거리의 기울기의 승산을 행해서 보정치를 구하는 제 2 수단(31) 및, 수평방향좌표의 직선보간계산에 의해 얻어진 휘도값 및 앞뒤서리값에 대해 상기 0.5를 가산한 결과의 소수점이하 제 1 자리가 1이면 상기 제 2 수단에 의해 구해진 보정값을 감산하고, 상기 0.5를 가산한 결과의 소수점이하 제 1 자리가 0이면 상기 제 2 수단에 의해 구해진 보정값을 가산하는 제 3 수단(31)으로 구성된 것을 특징으로 하는 3차원도형처리장치.
  3. 제 2 항에 있어서, 상기 제 2 수단(31)이 상기 수평주사 개시점을 계산하기 위한 가감산기(42)와 로테이터(61) 및 레지스터(45)를 사용하여 시프트 및 가산을 반복함으로써 보정값을 구하는 것을 특징으로 하는 3차원 도형처리장치.
  4. 제 1 항에 있어서, 상기 오차보정수단(20)의 동작을 온/오프제어가능하게 구성되어 있는 것을 특징으로 하는 3차원도형처리장치.
  5. 제 2 항에 있어서, 상기 제1수단 내지 제 3 수단의 동작을 온/오프제어가능하게 구성되어 있는 것을 특징으로 하는 3차원도형처리장치.
KR1019900017527A 1989-10-30 1990-10-31 3차원도형처리장치 KR970004120B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1281667A JPH0758510B2 (ja) 1989-10-31 1989-10-31 三次元図形処理装置
JP01-281667 1989-10-31

Publications (2)

Publication Number Publication Date
KR910008604A KR910008604A (ko) 1991-05-31
KR970004120B1 true KR970004120B1 (ko) 1997-03-25

Family

ID=17642298

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900017527A KR970004120B1 (ko) 1989-10-30 1990-10-31 3차원도형처리장치

Country Status (3)

Country Link
US (1) US5303339A (ko)
JP (1) JPH0758510B2 (ko)
KR (1) KR970004120B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519822A (en) * 1994-12-09 1996-05-21 Hewlett-Packard Company Method and apparatus for simultaneously selecting a plurality of pixels to lie upon a line segment defined by two end points
US5611029A (en) * 1995-01-31 1997-03-11 Compaq Computer Corporation Run slice line draw engine with non-linear shading capabilities
US6115050A (en) * 1998-04-08 2000-09-05 Webtv Networks, Inc. Object-based anti-aliasing
US6347344B1 (en) 1998-10-14 2002-02-12 Hitachi, Ltd. Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor
US6560674B1 (en) 1998-10-14 2003-05-06 Hitachi, Ltd. Data cache system
US6434649B1 (en) * 1998-10-14 2002-08-13 Hitachi, Ltd. Data streamer
US6608625B1 (en) 1998-10-14 2003-08-19 Hitachi, Ltd. Three dimensional graphic processor
KR100385233B1 (ko) * 2000-03-14 2003-05-23 삼성전자주식회사 데이터 프로세싱 시스템의 익스포넌트 유닛

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP2618951B2 (ja) * 1988-02-16 1997-06-11 株式会社東芝 三次元図形処理装置

Also Published As

Publication number Publication date
JPH03144782A (ja) 1991-06-20
KR910008604A (ko) 1991-05-31
JPH0758510B2 (ja) 1995-06-21
US5303339A (en) 1994-04-12

Similar Documents

Publication Publication Date Title
JP2910979B2 (ja) コンピュータグラフィックシステムのサブピクセルマスク発生方法および装置
KR100278565B1 (ko) 그래픽 데이터 계산 수행 방법 및 그에 이용되는 데이터 프로세서
US4635292A (en) Image processor
EP0249705A2 (en) Method and apparatus for producing a curved image on a graphics display device
KR100200818B1 (ko) 분할된 룩업테이블을 이용한 효과적인 앤티에일리어싱 방법
JP2010113624A (ja) ベジェ曲線描画装置、ベジェ曲線描画方法およびプログラム
KR920007507B1 (ko) 3차원도형 처리장치
KR970004120B1 (ko) 3차원도형처리장치
US4228432A (en) Raster scan generator for plan view display
JP3745655B2 (ja) 色信号補正回路、色信号補正装置、色信号補正方法、色信号補正プログラム、及び表示装置
US4951230A (en) Method and apparatus for tiling an image
US5179647A (en) Method and apparatus for implementing adaptive forward differencing using integer arithmetic
KR100232931B1 (ko) 컴퓨터 그래픽용 쉐이딩 방법 및 시스템
EP0349182A2 (en) Method and apparatus for approximating polygonal line to curve
JPH064679A (ja) イメージ処理装置
JP2770513B2 (ja) シェーディング方法及びシェーディング装置
JPH11242585A (ja) 除算回路およびグラフィック演算装置
JP2814631B2 (ja) シェーディングにおける演算回路
KR100357678B1 (ko) 좌표변환장치
JP2770514B2 (ja) シェーディング装置
JP4244444B2 (ja) データ処理装置、除算回路および画像処理装置
JP2611098B2 (ja) ベクタ・ラスタ変換方式
JP2002049931A (ja) 画像生成方法
JPH09282474A (ja) 階調画像生成方法
JP2000338959A (ja) 画像処理装置

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: 20030901

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee