KR100225061B1 - 고속 그래픽 드로잉 방법 - Google Patents

고속 그래픽 드로잉 방법 Download PDF

Info

Publication number
KR100225061B1
KR100225061B1 KR1019960045151A KR19960045151A KR100225061B1 KR 100225061 B1 KR100225061 B1 KR 100225061B1 KR 1019960045151 A KR1019960045151 A KR 1019960045151A KR 19960045151 A KR19960045151 A KR 19960045151A KR 100225061 B1 KR100225061 B1 KR 100225061B1
Authority
KR
South Korea
Prior art keywords
index value
coordinates
address
index
instruction address
Prior art date
Application number
KR1019960045151A
Other languages
English (en)
Other versions
KR19980026643A (ko
Inventor
곽종택
Original Assignee
윤종용
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윤종용, 삼성전자주식회사 filed Critical 윤종용
Priority to KR1019960045151A priority Critical patent/KR100225061B1/ko
Priority to US08/948,395 priority patent/US5990909A/en
Publication of KR19980026643A publication Critical patent/KR19980026643A/ko
Application granted granted Critical
Publication of KR100225061B1 publication Critical patent/KR100225061B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)

Abstract

본 발명은 도형의 드로잉에 있어서 그 드로잉을 빠르게 하는 고속의 그래픽 드로잉 방법에 관한 것으로서, 인덱스값을 입력받아 이를 인덱스레지스터에 저장하는 단계와; 단축형 명령 어드레스와 상기 인덱스값에 대응되는 데이터를 입력받는 단계와; 상기 단축형 명령 어드레스가 어떠한 도형인가를 선택하는 단계와; 상기 인덱스레지스터에 저장된 상기 인덱스값이 초기 인덱스값인가를 판단하는 단계와; 상기 인덱스값이 초기 인덱스값이면 상기 단축형 명령 어드레스와 함께 입력된 상기 데이터와 상기 초기 인덱스값에 대응되는 좌표를 결정하는 단계와; 상기 인덱스값이 초기 인덱스값이 아니면 상기 단축형 명령 어드레스가 어떠한 도형인가를 선택하는 단계와; 상기 선택된 도형의 증분값에 따라 상기 인덱스레지스터에 저장된 인덱스값을 증가시키는 단계와; 상기 증가된 인덱스값과 상기 단축형 명령 어드레스와 함께 입력된 상기 데이터에 대응되는 좌표를 결정하는 단계와; 상기 선택된 도형에 필요한 좌표들이 결정되었는가를 판단하는 단계와; 상기 선택된 도형에 필요한 좌표들이 모두 결정되지 않았을 경우 상기 단축형 명령 어드레스와 이에 대응되는 데이터를 입력받는 상기 S20 단계로 진행하는 단계와; 상기 선택된 도형에 필요한 좌표들이 모두 결정되었을 경우 상기 좌표들에 따라 상기 선택된 도형을 드로잉하는 단계로 이루어진다.

Description

고속 그래픽 드로잉 방법(method of drawing highly a graphics)
본 발명은 그래픽 콘트롤로의 드로잉 방법에 관한 것으로서, 구체적으로는 도형의 드로잉에 있어서 그 드로잉을 빠르게 하는 고속의 그래픽 드로잉 방법에 관한 것이다.
현재 그래픽 가속기능을 구비한 그래픽 콘트롤러에서 하드웨어로 구현할 수 있는 드로잉의 종류에는 일반적으로 포인트(point), 라인(line), 삼각형(triangle), 직사각형(rectangle), 사변형(quadrilateral)등이 있다. 상기 각 도형에 따른 드로잉을 구현하기 위해서는 4개의 좌표값(P0, P1, P2, P3)이 필요하며 이를 가지고 모니터상에 표현하게 된다. 즉, 각 도형의 드로잉을 위해 호스트에서 그래픽 콘트롤러로 4번의 기입명령(write command)과 이에 대응되는 데이터를 입력해야 했다. 왜냐하면, 다른 도형을 또한 드로잉하기 위하여 하드웨어적으로 4개의 좌표를 사용하여 드로잉을 실시하기 때문이다. 즉, 그래픽 콘트롤러는 비트 블록 트랜스퍼(BitBlt), BIW(Block image write로 일종의 카피명령) 등의 기능등도 함께 지원하고 있기 때문에 각각의 도형에 대한 좌표는 모두 4개의 좌표을 갖도록 하고 있다. 여기서, 상기 비트 블록 트랜지스터(BitBlt)는 패턴(kpotern)이나 이미지(image)를 다른 좌표로 카피하는 것을 의미한다. 그러므로 도형의 드로잉을 진행할 때에도 4개의 좌표에 해당되는 값을 모두 제공해 주어야만 원하는 도형을 드로잉할 수 있다.
그러나, 상기한 바와같은 종래의 그래픽 콘트롤러의 드로잉 방법에 있어서, 각 도형의 드로잉시에 4개의 좌표들(P0, P1, P2, P3)을 모두 호스트로부터 전달받지만 실질적으로 포인트의 경우는 하나의 좌표만 사용되며, 라인과 직사각형의 경우는 두 개의 좌표만 사용하여 드로잉하게 된다. 그리고, 삼각형의 경우 3개의 좌표만을 사용하여 드로잉하게 된다. 따라서, 호스트로부터 불필요한 좌표에 따른 명령 사이클이 수행되기 때문에 그래픽 콘트롤러의 처리 속도가 저하되며, 아울러 이의 성능이 저하되는 문제점이 발생하였다.
따라서 본 발명의 목적은 상술한 제반 문제점을 해결하기 위해 제안된 것으로서, 그래픽 콘트롤러에서 도형의 드로잉시 좌표값 지정을 위한 기입 사이클을 최소한으로 줄여 고속으로 도형의 드로잉을 수행할 수 있는 고속의 그래픽 드로잉 방법을 제공하는데 있다.
도 1은 본 발명에 따른 고속 그래픽 드로잉 방법을 보여주는 흐름도;
도 2는 본 발명에 따른 각 도형의 종류에 따라 해당되는 좌표수를 설명하기 위한 도면;
도 3은 본 발명에 따른 고속 그래픽 드로잉 방법을 설명하기 위한 흐름도,
*도면의 주요 부분에 대한 부호 설명
①', ②', ③', ④', ⑤':단축형 명령 어드레스에 따른 각 도형별 선택경로
상술한 바와같은 목적을 달성하기 위한 본 발명의 일특징에 의하면, 인덱스값을 입력받아 이를 인덱스레지스터에 저장하는 단계와; 단축형 명령 어드레스와 상기 인덱스값에 대응되는 데이터를 입력받는 단계와; 상기 단축형 명령 어드레스가 어떠한 도형인가를 선택하는 단계와; 상기 인덱스레지스터에 저장된 상기 인덱스값이 초기 인덱스값인가를 판단하는 단계와; 상기 인덱스값이 초기 인덱스값이면 상기 단축형 명령 어드레스와 함께 입력된 상기 데이터와 상기 초기 인덱스값에 대응되는 좌표를 결정하는 단계와; 상기 인덱스값이 초기 인덱스값이 아니면 상기 단축형 명령 어드레스가 어떠한 도형인가를 선택하는 단계와; 상기 선택된 도형의 증분값에 따라 상기 인덱스레지스터에 저장된 인덱스값을 증가시키는 단계와; 상기 증가된 인덱스값과 상기 단축형 명령 어드레스와 함께 입력된 상기 데이터에 대응되는 좌표를 결정하는 단계와; 상기 선택된 도형에 필요한 좌표들이 결정되었는가를 판단하는 단계와; 상기 선택된 도형에 필요한 좌표들이 모두 결정되지 않았을 경우 상기 단축형 명령 어드레스와 이에 대응되는 데이터를 입력받는 상기 S20 단계로 진행하는 단계와; 상기 선택된 도형에 필요한 좌표들이 모두 결정되었을 경우 상기 좌표들에 따라 상기 선택된 도형을 드로잉하는 단계로 이루어진다.
이 방법의 바람직한 실시예에 있어서, 상기 선택된 도형의 증분값은 라인 드로잉 및 정사각형 드로잉시 상기 초기 인덱스값에 2를 더하고 삼각형 드로잉 및 사변형 드로잉시 상기 초기 인덱스값에 1을 더하여 다음 인덱스값을 상기 증분값만큼 증가시킨다.
이 방법의 바람직한 실시예에 있어서, 상기 단축형 명령 어드레스가 나타내는 도형이 점(포인트)일 경우 호스트로부터 인덱스 어드레스의 입력없이 단지 4개의 좌표들의 x, y값에 단 한 번의 단축형 명령 어드레스에 따라 동일한 데이터가 기입되어 포인트 드로잉이 수행된다.
이 방법의 바람직한 실시예에 있어서, 상기 단축형 명령 어드레스는 포인트, 라인, 삼각형, 정사각형, 그리고 사변형이 각각 '000', '001', '010', '011', '100'의 단축형 명령 어드레스로 할당되어 상기 각 도형이 선택된다.
이 방법의 바람직한 실시예에 있어서, 상기 인덱스레지스터는 4개의 좌표들 중 어느 좌표에 가장 먼저 초기 인덱스값을 쓸것인가를 알려주는 레지스터로 구비된다.
이 방법의 바람직한 실시예에 있어서, 상기 단축형 명령 어드레스가 나타내는 도형이 라인과 삼각형일 경우 초기 인덱스값이 '00'이면 P0(x0, y0), P1(x1, y1)이, '01'이면 P1(x1, y1), P2(x2, y2)가, '10'이면 P2(x2, y2), P3(x3, y3)가, 그리고 '11'이면 P0(x0, y0), P3(x3, y3)가 선택된다.
이 방법의 바람직한 실시예에 있어서, 상기 단축형 명령 어드레스가 나타내는 도형이 정사각형일 경우 인텍스값이 '00'이면 P0(x), P0(y), P3(x), P1(y)이, '01'이면 P0(x), P1(y), P1(x), P2(y)가, '10'이면 P1(x), P2(y), P2(x), P3(y)가, 그리고 '11'이면 P2(x), P3(y), P3(x), P0(y)가 선택된다.
이 방법의 바람직한 실시예에 있어서, 상기 단축형 명령 어드레스가 나타내는 도형이 사변형일 경우 인덱스값이 '00'이면 P0(x0, y0)이, '01'이면 P1(x1, y1)이, '10'이면 P2(x2, y2)가, 그리고 '11'이면 P3(x3, y3)가 선택된다.
이와같은 방법에 의해서, 각 도형을 모니터상에 드로잉하기 위해 필요한 기입명령을 최소로 줄임으로서 빠른 그래픽 드로잉을 실현할 수 있으며 아울러 그래픽 콘트롤러의 성능이 향상되었다.
이하 본 발명의 실시예에 따른 참조도면 도 1 내지 도 3에 의거하여 상세히 설명한다.
도 1에는 본 발명의 바람직한 실시예에 따른 고속 그래픽 드로잉 방법을 보여주는 흐름도가 도시되어 있다.
도 1을 참조하면, S10 단계에서는 인덱스값을 입력받아 이를 인덱스레지스터에 저장하며, S20 단계에서는 단축형 명령 어드레스와 상기 인덱스값에 대응되는 데이터를 입력받는다. S30 단계에서는 상기 단축형 명령 어드레스가 어떠한 도형인가를 선택하며, 상기 각 도형별 단축형 명령 어드레스는 '000'에서 '100'까지 각각 포인트, 라인, 삼각형, 정사각형, 그리고 사변형에 할당되어 있다. 그리고, S40 단계에서는 상기 인덱스레지스터에 저장된 상기 인덱스값이 초기 인덱스값인가를 판단하며, S50 단계에서는 상기 인덱스값이 초기 인덱스값이면 상기 단축형 명령 어드레스와 함께 입력된 상기 데이터와 상기 초기 인덱스값에 대응되는 좌표를 결정하게 된다.
그리고, S44 단계는 상기 인덱스값이 초기 인덱스값이 아니면 상기 단축형 명령 어드레스가 어떠한 도형인가를 선택하며, S48 단계에서는 상기 인덱스레지스터에 저장된 인덱스값을 상기 선택된 도형의 증분값에 따라 증가시킨다. 여기서, 상기 선택된 도형의 증분값은 라인 및 정사각형 드로잉일 경우 초기 인덱스값에 2를 더하고 삼각형 및 사변형 드로잉일 경우 상기 초기 인덱스값에 1을 더하여 다음 인덱스값을 증가시키게 된다. S50 단계에서는 상기 증가된 인덱스값과 상기 단축형 명령 어드레스와 함께 입력된 상기 데이터에 대응되는 좌표를 결정하며, S60 단계에서는 상기 선택된 도형에 필요한 좌표들이 결정되었는가를 판단한다.
만약, 상기 선택된 도형에 필요한 좌표들이 모두 결정되지 않았을 경우 상기 단축형 명령 어드레스와 이에 대응되는 데이터를 입력받는 상기 S20 단계로 진행한다. 상기 선택된 도형에 필요한 좌표들이 모두 결정되었을 경우 상기 좌표들에 따라 상기 선택된 도형을 드로잉하게 된다. 여기서, 상기 단축형 명령 어드레스가 나타내는 도형이 포인트(point)일 경우 4개 좌표들(P0, P1, P2, P3)의 x, y좌표값에 동일한 데이터를 기입하여 포인트를 드로잉하게 된다. 그리고, 상기 인덱스레지스터는 4개의 좌표(P0 - P3) 중에서 어느 좌표에 먼저 기입할 것인가를 사용자가 지정하기 위한 레지스터이다.
도 2에는 본 발명의 바람직한 실시예에 따른 고속 그래픽 드로잉 방법에 있어서, 각 도형의 종류에 따라 해당되는 좌표수를 설명하기 위한 도면이다.
도 2에 도시된 바와같이, 각 도형을 드로잉하기 위해 필요한 좌표수는 다음과 같다. 포인트의 경우는 1개의 좌표 P0(X0, Y0)가 필요하고, 라인의 경우는 시작점의 좌표 P0(X0, Y0)와 끝점의 좌표 P1(X1, Y1) 2개가 필요하다. 삼각형의 경우는 각각의 꼭지점인 3개의 좌표 P0(X0, Y0), P1(X1, Y1), P2(X2, Y2)가 필요하다. 직사각형의 경우는 마주보는 꼭지점 2개의 좌표 P0(X0, Y0), P1(X1, Y1)가 필요하다. 그리고, 사변형의 경우는 모드 4개의 좌표 P0(X0, Y0), P1(X1, Y1), P2(X2, Y2), P3(X3, Y3)가 필요하다. 이상과 같이 각각의 도형에서 해당되는 필요한 좌표만을 이용하여 최소한의 드로잉 명령을 사용하여 도형을 드로잉하도록 한다. 그러므로, 해당되는 도형을 드로잉하기 위해서 호스트에서는 해당되는 좌표수 만큼 드로잉 명령을 그래픽 콘트롤러에 입력하면 된다.
도 3에는 본 발명의 바람직한 실시예에 따른 각 도형별 드로잉 방법을 설명하기 위한 흐름도가 도시되어 있다. 이상과 같이 본 발명의 고속 그래픽 드로잉 방법에 따른 참조도면 도 1 내지 도 3에 의거하여 각 도형별 드로잉을 설명하면 다음과 같다.
먼저, 단축형 라이트 명령의 어드레스 형태와 인덱스레지스터의 어드레스 형태는 각각 [표 1], [표 2]와 같다.
단축형 라이트 명령의 어드레스
7 6 5 4 3 2 1 0 비트어드레스 : 0 0 0 0 0 A B C A B C가 000일 때 포인트 001일 때 라인 010일 때 삼각형 011일 때 정사각형 100일 때 사변형
인덱스레지스터의 어드레스
인덱스레지스터 : 7 6 5 4 3 2 1 0 비트 0 0 0 0 0 0 A B A B 가 00일 때 P0(x0,y0) 01일 때 P1(x1,y1) 10일 때 P2(x2,y2) 11일 때 P3(x3,y3)
호스트로부터 단축형 명령 어드레스와 이에 대응되는 데이터를 [표 3]과 같이 그래픽 콘트롤러로 전달하면 다음과 같이 드로잉 동작을 수행하게 된다.
단축형 명령 어드레스 데이터 0 0 0 0 0 0 0 0 10b10 10b10 x y
상기 단축형 명령 어드레스와 데이터가 입력되면 상기 입력된 단축형 명령 어드레스의 마지막 밑줄친 3비트의 어드레스를 보고 상기 어드레스가 어떠한 도형을 나타내는지를 판단하게 된다. 상기 3비트 어드레스 '000'는, [표 1]에 도시된 바와같이, 포인트 드로잉에 대한 단축형 명령 어드레스이기 때문에 도 3의 ①'의 패스로 진행하게 된다. 따라서, 도 1의 S30 단계를 통해 포인트 드로잉이 선택되며 4개 좌표들(P0, P1, P2, P3)의 x좌표값은 상기 데이터에 대응되는 '10'가 모두 동일하게 쓰여진다. 그리고, 상기 좌표들(P0, P1, P2, P3)의 y좌표값도 상기 데이터에 대응되는 '10'가 모두 동일하게 쓰여진다. 즉, 종래의 경우 포인트를 드로잉하기 위해 4번의 기입 명령을 호스트로부터 전달받아 수행함으로서 포인트 드로잉 동작이 완료되었던 것을 한 번의 단축형 명령 실행으로 4개의 좌표값이 결정되어 포인트 드로잉을 수행할 수 있다.
다음, 호스트로부터 인덱스 값과 단축형 명령 어드레스와 이에 대응되는 데이터를 [표 4]와 같이 그래픽 콘트롤러로 전달하면 다음과 같이 드로잉 동작을 수행하게 된다.
인덱스 어드레스 데이터 2'b01단축형 명령 어드레스 데이터 0 0 0 0 0 0 0 1 10b000 10b000 x y 0 0 0 0 0 0 0 1 10b111 10b111 x y
먼저, 상기 초기 인덱스값 '01'이 인덱스레지스터에 저장되며, 상기 단축형 명령 어드레스와 데이터가 입력되면 상기 입력된 단축형 명령 어드레스의 마지막 밑줄친 3비트의 어드레스를 보고 상기 어드레스가 어떠한 도형을 나타내는지를 판단하게 된다. 상기 3비트 어드레스 '001'는 라인 드로잉에 대한 단축형 명령 어드레스이기 때문에 도 3의 ②'의 패스로 진행하게 된다. 이어, 라인 드로잉이 선택되고 도 1의 S40 단계로 진행하여 상기 인덱스레지스터에 저장된 인덱스값이 초기 인덱스값인가를 판단하게된다. 상기 인덱스레지스터에 저장된 인덱스값이 초기 인덱스값이기 때문에 상기 인덱스값 '01'에 대응되는 좌표(P1, P2)가 선택되어 이에 대응되는 상기 데이터('000')가 상기 각 좌표 P1(x1, y1), P2(x2, y2)에 동일하게 쓰여짐으로서 시작점 좌표(P1 P2)가 결정된다.
이어, 상기 선택된 도형(라인)의 드로잉시 필요한 좌표들이 모두 결정되었는지를 판단하여 미결정되었을 경우, S70 단계를 통해 S20으로 다시 진행하여 다음 좌표를 위한 단축형 명령 어드레스를 입력받게 되며 S30 단계까지는 전과 동일하게 동작한다. 그리고, S40 단계에서 상기 인덱스레지스터에 저장된 인덱스값이 초기 인덱스값과 동일한가를 판단하게 되며 서로 다르기 때문에 도 1의 S44 단계로 진행한다. 상기 S44 단계에서는 상기 입력된 단축형 명령 어드레스가 어떠한 도형인가를 판단하게 되며, [표 4]에 도시된 바와같이, 상기 단축형 명령 어드레스가 '001'로 입력되기 때문에 전과 동일한 라인 드로잉이 선택된다. 그리고, 상기 인덱스레지스터에 저장된 인덱스값을 상기 선택된 도형에 따른 증분값만큼 더하여 상기 인덱스값을 증가시키게 된다.
여기서, 각 도형별 상기 증분값에 있어서, 라인 드로잉과 정사각형 드로잉의 경우 2를 상기 인덱스레지스터에 저장된 상기 인덱스값에 더하며, 삼각형 드로잉과 사변형 드로잉의 경우 1을 상기 인덱스레지스터에 저장된 상기 인덱스값에 더하게 된다. 따라서, S48 단계를 통해 상기 인덱스레지스터에 저장된 값이 2만큼 증가하여 인덱스값이 '00'에서 '11'로 점프하게 된다. 이어, 상기 단축형 명령 어드레스와 함께 입력된 상기 데이터와 상기 증분된 인덱스값에 대응되는 좌표(P0, P3)가 선택된다. 따라서, 상기 증분된 인덱스값에 대응되는 상기 데이터('111')가 상기 각 좌표(P0, P3)에 동일하게 쓰여짐으로서 끝점의 좌표가 결정된다. 이로서, 라인 드로잉시 시작점(P1, P2)과 끝점(P0, P3)의 좌표값이 단지 두 번의 단축형 명령에 의해 결정되며 이에 따라 라인을 드로잉하게 된다.
그리고, 호스트로부터 인덱스 값과 단축형 명령 어드레스와 이에 대응되는 데이터를 [표 5]와 같이 그래픽 콘틀로러로 전달하면 다음과 같이 동작을 수행하게 된다.
인덱스 어드레스 데이터 2'b00단축형 명령 어드레스 데이터 0 0 0 0 0 0 1 1 10b000 10b000 ⓒ x y 0 0 0 0 0 0 1 1 10b111 10b111 ⓓ x y
먼저, 상기 초기 인덱스값 '00'이 인덱스레지스터에 저장되며, 상기 단축형 명령 어드레스와 데이터가 입력되면 상기 입력된 단축형 명령 어드레스의 마지막 밑줄친 3비트의 어드레스를 보고 상기 어드레스가 어떠한 도형을 나타내는지를 S30 단계를 통해 판단하게 된다. 상기 3비트 어드레스 '011'는 정사각형 드로잉에 대한 단축형 명령 어드레스이기 때문에 도 3의 ④'의 패스로 진행하게 된다. 다음, 정사각형 드로잉이 선택되고 도 1의 S40 단계로 진행하여 상기 인덱스레지스터에 저장된 인덱스값이 초기 인덱스값인가를 판단하게된다. 상기 인덱스레지스터에 저장된 인덱스값이 초기 인덱스값이기 때문에 상기 인덱스값 '00'에 대응되는 좌표들(P0, P3)의 x값이 동일한 데이터 '000'로 쓰여지고, 나머지 좌표들(P0, P1)의 y값이 동일한 데이터 '000'로 쓰여짐으로서 하나의 좌표가 결정된다.
이어, S60 단계에서는 상기 선택된 도형(정사각형)의 드로잉시 필요한 좌표들이 모두 결정되었는지를 판단하여 미결정되었을 경우, S70 단계를 통해 S20 단계로 다시 진행하여 다음 좌표를 위한 단축형 명령 어드레스를 입력받게 되며 S30 단계까지는 전과 동일하게 동작한다. 그리고, S40 단계에서 상기 인덱스레지스터에 저장된 인덱스값이 초기 인덱스값과 동일한가를 판단하게 되며 서로 다르기 때문에 S44 단계로 진행한다. 상기 S44 단계에서는 상기 입력된 단축형 명령 어드레스가 어떠한 도형인가를 판단하게 되며, [표 5]에 도시된 바와같이, 단축형 명령 어드레스가 '011'로 입력되었기 때문에 전과 동일한 정사각형 드로잉이 선택된다. 그리고, 상기 인덱스레지스터에 저장된 인덱스값을 선택된 도형에 따른 증분값만큼 더하여 인덱스레지스터에 저장된 상기 인덱스값을 증가시키게 된다. 여기서, 앞의 라인 드로잉 동작 설명시 언급한 바와같이, 정사각형의 인덱스 증분값은 2이다.
따라서, S48 단계를 통해 상기 인덱스레지스터에 저장된 값이 2만큼 증가하여 인덱스값이 '00'에서 '10'로 점프하게 된다. 이어, 상기 증분된 인덱스값('10')에 대응되는 좌표들(P1, P2)의 x값이 동일한 데이터 '111'로 쓰여지고, 나머지 좌표들(P2, P3)의 y값이 동일한 데이터 '111'로 쓰여짐으로서 좌표가 결정된다. 이로서, 정사각형 드로잉시 필요한 좌표값이 단지 두 번의 단축형 명령에 의해 결정되며 이에 따라 정사각형을 드로잉하게 된다.
마지막으로, 호스트로부터 인덱스 값과 단축형 명령 어드레스와 이에 대응되는 데이터를 [표 6]과 같이 그래픽 콘트롤러로 전달하면 다음과 같이 드로잉 동작을 수행한다.
인덱스 어드레스 데이터 2'b00단축형 명령 어드레스 데이터 0 0 0 0 0 0 1 0 10b000 10b000 ⓔ x y 0 0 0 0 0 0 1 0 10b011 10b011 ⓕ x y 0 0 0 0 0 0 1 0 10b111 10b111 ⓖ x y
먼저, 상기 초기 인덱스값 '00'이 인덱스레지스터에 저장되며, 상기 단축형 명령 어드레스와 데이터가 입력되면 상기 입력된 단축형 명령 어드레스의 마지막 밑줄친 3비트의 어드레스를 보고 상기 어드레스가 어떠한 도형을 나타내는지를 S30 단계를 통해 판단하게 된다. 상기 3비트 어드레스 '010'는 삼각형 드로잉에 대한 단축형 명령 어드레스이기 때문에 도 3의 ③'의 패스로 진행하게 된다. 이로서, 삼각형 드로잉이 선택되어지고 도 1의 S40 단계로 진행하여 상기 인덱스레지스터에 저장된 인덱스값이 초기 인덱스값인가를 판단하게 된다. 상기 인덱스레지스터에 저장된 인덱스값이 초기 인덱스값이기 때문에 상기 인덱스값 '00'에 대응되는 좌표들 P0(x0, y0), P1(x1, y1)이 선택되어지며 상기 죄표들(P0, P1)에 동일한 데이터 '000'가 쓰여짐으로서 좌표가 결정된다.
이어, 상기 선택된 도형(삼각형)의 드로잉시 필요한 좌표들이 모두 결정되었는지를 판단하여 미결정되었을 경우, S70 단계를 통해 S20 단계로 다시 진행하여 다음 좌표를 위한 단축형 명령 어드레스를 입력받게 되며 S30 단계까지는 전과 동일하게 동작한다. 그리고, S40 단계에서 상기 인덱스레지스터에 저장된 인덱스값이 초기 인덱스값과 동일한가를 판단하게 되며 서로 다르기 때문에 S44 단계로 진행한다. 상기 S44단계는 입력된 단축형 명령 어드레스가 어떠한 도형인가를 판단하게 되며, [표 6]에 도시된 바와같이, 단축형 명령 어드레스가 '010'로 입력되었기 때문에 전과 동일한 삼각형 드로잉이 선택된다. 그리고, 상기 인덱스레지스터에 저장된 인덱스값을 선택된 도형에 따른 증분값만큼 더하여 상기 인덱스값을 증가시키게 된다.
여기서, 앞의 라인 드로잉 동작 설명시 언급한 바와같이, 삼각형의 인덱스 증분값은 1이다. 따라서, S48 단계를 통해 상기 인덱스레지스터에 저장된 값이 1만큼 증가하여 인덱스값이 '00'에서 '01'로 점프하게 된다. 이어, 상기 증분된 인덱스값('01')에 대응되는 좌표 P1(x1, y1), P2(x2, y2)에 동일한 데이터 '011'가 쓰여짐에 따라 좌표가 결정된다. 그리고, 상기 S70 단계, S20 단계 내지 S40 단계, 그리고 S44 단계 내지 S48 단계까지 전과 동일한 과정을 통해 인덱스값이 '01'에서 '10'로 점프하게 된다. 상기 증분된 인덱스값('10')에 대응되는 좌표 P2(x2, y2), P3(x3, y3)에 동일한 데이터 '111'가 쓰여짐에 따라 좌표가 결정된다. 결국, 좌표 P1, P2의 x, y값이 2번씩 쓰여지지만 마지막에 라이트한 값이 남게되어 P0, P1, (P2, P3) 3개의 삼각형 꼭지점 좌표값이 각각 라이트된다. 그리고, 사변형 드로잉은 4개 좌표에 각각 인덱스값을 라이트해야 되기 때문에 단축형 명령과 일반적인 명령 사이클은 동일하게 이루어진다.
상기한 바와같이, 그래픽 콘트롤러의 도형 드로잉시에 각 도형에 대하여 최소한의 단축형 명령을 통하여 4개 좌표들(P0 - P3)에 해당되는 좌표값이 결정된다. 따라서, 호스트에서 그래픽 콘트롤러로 좌표를 기입하는데 로드가 감소되어 전체적인 처리 성능이 향상되는 효과가 있다.

Claims (8)

  1. 인덱스값을 입력받아 이를 인덱스레지스터에 저장하는 단계(S10)와;
    단축형 명령 어드레스와 상기 인덱스값에 대응되는 데이터를 입력받는 단계(S20)와;
    상기 단축형 명령 어드레스가 어떠한 도형인가를 선택하는 단계(S30)와;
    상기 인덱스레지스터에 저장된 상기 인덱스값이 초기 인덱스값인가를 판단하는 단계(S40)와;
    상기 인덱스값이 초기 인덱스값이면 상기 단축형 명령 어드레스와 함께 입력된 상기 데이터와 상기 초기 인덱스값에 대응되는 좌표를 결정하는 단계(S50)와;
    상기 인덱스값이 초기 인덱스값이 아니면 상기 단축형 명령 어드레스가 어떠한 도형인가를 선택하는 단계(S44)와;
    상기 선택된 도형의 증분값에 따라 상기 인덱스레지스터에 저장된 인덱스값을 증가시키는 단계(S48)와;
    상기 증가된 인덱스값과 상기 단축형 명령 어드레스와 함께 입력된 상기 데이터에 대응되는 좌표를 결정하는 단계(S50)와;
    상기 선택된 도형에 필요한 좌표들이 결정되었는가를 판단하는 단계(S60)와;
    상기 선택된 도형에 필요한 좌표들이 모두 결정되지 않았을 경우 상기 단축형 명령 어드레스와 이에 대응되는 데이터를 입력받는 상기 S20 단계로 진행하는 단계(S70)와;
    상기 선택된 도형에 필요한 좌표들이 모두 결정되었을 경우 상기 좌표들에 따라 상기 선택된 도형을 드로잉하는 단계(S80)로 이루어진 고속 그래픽 드로잉 방법.
  2. 제 1 항에 있어서,
    상기 선택된 도형의 증분값은 라인 드로잉 및 정사각형 드로잉시 상기 초기 인덱스값에 2를 더하고 삼각형 드로잉 및 사변형 드로잉시 상기 초기 인덱스값에 1을 더하여 다음 인덱스값을 상기 증분값만큼 증가시키는 고속 그래픽 드로잉 방법.
  3. 제 1 항에 있어서,
    상기 단축형 명령 어드레스가 나타내는 도형이 점(포인트)일 경우 호스트로부터 인덱스 어드레스의 입력없이 단지 4개의 좌표들(P0, P1, P2, P3)의 x, y값에 단 한 번의 단축형 명령 어드레스에 따라 동일한 데이터가 기입되어 포인트 드로잉이 수행되는 고속 그래픽 드로잉 방법.
  4. 제 1 항에 있어서,
    상기 단축형 명령 어드레스는 포인트, 라인, 삼각형, 정사각형, 그리고 사변형이 각각 '000', '001', '010', '011', '100'의 단축형 명령 어드레스로 할당되어 상기 각 도형이 선택되는 고속 그래픽 드로잉 방법.
  5. 제 1 항에 있어서,
    상기 인덱스레지스터는 4개의 좌표들(P0, P1, P2, P3)중 어느 좌표에 가장 먼저 초기 인덱스값을 쓸것인가를 알려주는 레지스터로 구비된 고속 그래픽 드로잉 방법.
  6. 제 1 항에 있어서,
    상기 단축형 명령 어드레스가 나타내는 도형이 라인과 삼각형일 경우 초기 인덱스값이 '00'이면 P0(x0, y0), P1(x1, y1)이, '01'이면 P1(x1, y1), P2(x2, y2)가, '10'이면 P2(x2, y2), P3(x3, y3)가, 그리고 '11'이면 P0(x0, y0), P3(x3, y3)가 선택되는 고속 그래픽 드로잉 방법.
  7. 제 1 항에 있어서,
    상기 단축형 명령 어드레스가 나타내는 도형이 정사각형일 경우 인텍스값이 '00'이면 P0(x), P0(y), P3(x), P1(y)이, '01'이면 P0(x), P1(y), P1(x), P2(y)가, '10'이면 P1(x), P2(y), P2(x), P3(y)가, 그리고 '11'이면 P2(x), P3(y), P3(x), P0(y)가 선택되는 고속 그래픽 드로잉 방법.
  8. 제 1 항에 있어서,
    상기 단축형 명령 어드레스가 나타내는 도형이 사변형일 경우 인덱스값이 '00'이면 P0(x0, y0)이, '01'이면 P1(x1, y1)이, '10'이면 P2(x2, y2)가, 그리고 '11'이면 P3(x3, y3)가 선택되는 고속 그래픽 드로잉 방법.
KR1019960045151A 1909-10-10 1996-10-10 고속 그래픽 드로잉 방법 KR100225061B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019960045151A KR100225061B1 (ko) 1996-10-10 1996-10-10 고속 그래픽 드로잉 방법
US08/948,395 US5990909A (en) 1909-10-10 1997-10-10 Method and apparatus for drawing graphics in a graphics controller of a multimedia data processing and display system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960045151A KR100225061B1 (ko) 1996-10-10 1996-10-10 고속 그래픽 드로잉 방법

Publications (2)

Publication Number Publication Date
KR19980026643A KR19980026643A (ko) 1998-07-15
KR100225061B1 true KR100225061B1 (ko) 1999-10-15

Family

ID=19477013

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960045151A KR100225061B1 (ko) 1909-10-10 1996-10-10 고속 그래픽 드로잉 방법

Country Status (2)

Country Link
US (1) US5990909A (ko)
KR (1) KR100225061B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613053A (en) * 1992-01-21 1997-03-18 Compaq Computer Corporation Video graphics controller with automatic starting for line draws
US6323875B1 (en) * 1999-04-28 2001-11-27 International Business Machines Corporation Method for rendering display blocks on display device
US20060241075A1 (en) * 2001-05-18 2006-10-26 Sirna Therapeutics, Inc. RNA interference mediated inhibition of desmoglein gene expression using short interfering nucleic acid (siNA)
KR100653514B1 (ko) * 2005-12-29 2006-12-05 매그나칩 반도체 유한회사 도형 드로잉 방법
US7593627B2 (en) * 2006-08-18 2009-09-22 Sony Ericsson Mobile Communications Ab Angle correction for camera

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163129A (en) * 1989-10-06 1992-11-10 Sun Microsystems, Inc. Method for expediting the rendering of figures in a move-draw language
US5303321A (en) * 1990-09-14 1994-04-12 Hughes Aircraft Company Integrated hardware generator for area fill, conics and vectors in a graphics rendering processor
WO1993014468A1 (en) * 1992-01-21 1993-07-22 Compaq Computer Corporation Video graphics controller with improved calculation capabilities
US5613053A (en) * 1992-01-21 1997-03-18 Compaq Computer Corporation Video graphics controller with automatic starting for line draws
US5666520A (en) * 1993-03-29 1997-09-09 Hitachi, Ltd. Graphics display system including graphics processor having a register storing a series of vertex data relating to a polygonal line
JPH07160899A (ja) * 1993-12-07 1995-06-23 Fujitsu Ltd 多角形分割描画方法および装置
US5864639A (en) * 1995-03-27 1999-01-26 Digital Processing Systems, Inc. Method and apparatus of rendering a video image
US5801711A (en) * 1995-08-08 1998-09-01 Hewlett Packard Company Polyline and triangle strip data management techniques for enhancing performance of computer graphics system

Also Published As

Publication number Publication date
US5990909A (en) 1999-11-23
KR19980026643A (ko) 1998-07-15

Similar Documents

Publication Publication Date Title
JP3038781B2 (ja) メモリアクセス制御回路
CA1231186A (en) Display control system
KR100225061B1 (ko) 고속 그래픽 드로잉 방법
US5321805A (en) Raster graphics engine for producing graphics on a display
JPH0640259B2 (ja) デ−タ処理装置
JPH05314248A (ja) レジスタ・アクセス制御方式
JPS59116785A (ja) 文字・図形情報入力表示方式
JPS62204389A (ja) 任意多角形によるクリツピング・シ−ルデイング方法
JPH08138067A (ja) 線分アンチエイリアシング装置
JP2956692B1 (ja) グラフィクス表示装置
JPH0727572B2 (ja) 比較を行い信号を発生する装置およびその方法
JPH0528399B2 (ko)
JPH11126250A (ja) メモリアクセス用の複数のレジスタを有するデータ処理装置
JPS6299876A (ja) 多角形の塗りつぶし方式
JPH0348928A (ja) 表示制御方式
JPH0658690B2 (ja) 描画方法
JPH0697389B2 (ja) 表示制御装置
JPH01177685A (ja) レンダリングプロセツサ及び画面表示装置
JPS63285690A (ja) 図形ぬりつぶし方法
JPS61130993A (ja) 図形処理方法及び装置
JPH01250178A (ja) ラスターオペレーション装置およびその方法
JPH0364079B2 (ko)
JPS60194491A (ja) デイスプレイコントロ−ラ
JPS63255731A (ja) アドレス変換装置
JPH1021384A (ja) レンダリングプロセッサ

Legal Events

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

Payment date: 20090615

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee