KR100917887B1 - 라인 가속 기능을 지원하는 그래픽 처리 방법 및 장치 - Google Patents

라인 가속 기능을 지원하는 그래픽 처리 방법 및 장치 Download PDF

Info

Publication number
KR100917887B1
KR100917887B1 KR1020070056752A KR20070056752A KR100917887B1 KR 100917887 B1 KR100917887 B1 KR 100917887B1 KR 1020070056752 A KR1020070056752 A KR 1020070056752A KR 20070056752 A KR20070056752 A KR 20070056752A KR 100917887 B1 KR100917887 B1 KR 100917887B1
Authority
KR
South Korea
Prior art keywords
line
dimensional
polygon
converting
points
Prior art date
Application number
KR1020070056752A
Other languages
English (en)
Other versions
KR20080108769A (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 KR1020070056752A priority Critical patent/KR100917887B1/ko
Priority to US12/010,200 priority patent/US20080303821A1/en
Publication of KR20080108769A publication Critical patent/KR20080108769A/ko
Application granted granted Critical
Publication of KR100917887B1 publication Critical patent/KR100917887B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Abstract

본 발명은 라인 가속 기능을 지원하는 그래픽 처리 방법 및 장치에 관한 것으로, 그래픽 데이터가 나타내는 적어도 하나의 라인을 폴리곤으로 변환하고, 그래픽 데이터가 나타내는 적어도 하나의 폴리곤과 이와 같이 변환된 폴리곤을 렌더링함으로써 폴리곤 가속 기능만을 구비하는 그래픽 칩셋이 라인 가속 기능을 지원할 수 있도록 한다.

Description

라인 가속 기능을 지원하는 그래픽 처리 방법 및 장치{Graphic processing method and apparatus for supporting line acceleration function}
도 1은 종래의 모바일 단말에 탑재된 그래픽 엔진(11)의 구성도이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 그래픽 처리 장치(21)의 구성도이다.
도 3은 도 2에 도시된 라인 변환부(211)의 상세 구성도이다.
도 4는 도 3에 도시된 2차원 라인 변환부(32)에서의 라인 변환 과정을 도시한 도면이다.
도 5는 도 4에 도시된 포인트들 중 포인트 V2에 대한 오프셋 포인트 쌍 V2+, V2-의 좌표값을 산출하는 과정을 상세하게 도시한 도면이다.
도 6은 도 4에 도시된 포인트들 중 포인트 V1에 대한 오프셋 포인트 쌍 V1+, V1-의 좌표값을 산출하는 과정을 상세하게 도시한 도면이다.
도 7은 도 3에 도시된 3차원 라인 변환부(33)에서의 라인 변환 과정을 도시한 도면이다.
도 8은 도 7에 도시된 포인트들 중 포인트 V1에 대한 세 개의 포인트들 V1+, V1-, V1*의 좌표값을 산출하는 과정을 상세하게 도시한 도면이다.
도 9는 본 발명의 바람직한 일 실시예에 따른 그래픽 처리 방법의 흐름도이 다.
도 10은 도 9에 도시된 92 단계의 상세 흐름도이다.
도 11은 도 9에 도시된 93 단계의 상세 흐름도이다.
본 발명은 그래픽 데이터를 처리하는 방법 및 장치에 관한 것으로, 특히 라인 가속 기능을 지원하는 그래픽 처리 방법 및 장치에 관한 것이다.
일반적으로, 그래픽 이미지는 다수의 폴리곤(polygon)들과 다수의 라인(line)들로 구성된다. 따라서, 이와 같은 그래픽 이미지를 나타내는 그래픽 데이터는 적어도 하나의 폴리곤을 나타내는 폴리곤 데이터와 적어도 하나의 라인을 나타내는 라인 데이터로 구성된다고 할 수 있다. 요즘, 출시되고 있는 그래픽 카드 대부분은 폴리곤과 라인을 소프트웨어적으로 렌더링하지 않고, 하드웨어적으로 렌더링하는 하드웨어 가속 기능을 구비하고 있다. 하드웨어 가속 기능을 구비한 그래픽 카드는 CPU(Central Processing Unit)의 개입 없이 그래픽 카드의 자체 칩셋(chip set)만으로 렌더링하기 때문에 고속으로 그래픽 데이터를 렌더링할 수 있다.
도 1은 종래의 모바일 단말에 탑재된 그래픽 엔진(11)의 구성도이다.
도 1을 참조하면, 종래의 모바일 단말에 탑재된 그래픽 엔진(11)은 폴리곤에 대해서는 하드웨어 가속 처리를 지원하나, 라인에 대해서는 하드웨어 가속 처리를 지원하지 않고, 소프트웨어적으로 처리한다. 이와 같이, 모바일 단말 등과 같이 저 전력, 소형화, 가격 경쟁력 등이 요구되는 기기들에는 폴리곤 가속 가능에 비해 사용 빈도가 낮은 라인 가속 가능이 제외된 그래픽 칩셋이 탑재되어 있는 경우가 많다.
그런데, 종래의 폴리곤 가속 기능만을 지원하는 그래픽 칩셋은 라인 데이터에 대해서는 소프트웨어적으로 처리할 수밖에 없기 때문에 이 그래픽 칩셋이 많은 양의 라인 데이터를 포함하는 그래픽 데이터를 렌더링하는 경우, 매우 시간이 소요되고, 이로 인하여 모바일 단말 등의 사용자가 요구하는 정도의 원활한 화면 재생이 불가능하다는 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 종래의 폴리곤 가속 기능만을 지원하는 그래픽 칩셋이 라인 가속 기능을 지원할 수 있도록 하는 방법 및 장치를 제공하는데 있다. 또한, 이 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
본 발명이 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다. 이것은 본 발명이 속하는 기술 분야에서 통상을 지식을 가진 자들이라면 아래의 기재로부터 명확하게 이해될 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 그래픽 처리 방법은 그래 픽 데이터가 나타내는 적어도 하나의 라인을 폴리곤으로 변환하는 단계; 및 상기 그래픽 데이터가 나타내는 적어도 하나의 폴리곤과 상기 변환된 폴리곤을 렌더링하는 단계를 포함한다.
상기 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 그래픽 처리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 그래픽 처리 장치는 그래픽 데이터가 나타내는 적어도 하나의 라인을 폴리곤으로 변환하는 라인 변환부; 및 상기 그래픽 데이터가 나타내는 적어도 하나의 폴리곤과 상기 변환된 폴리곤을 렌더링하는 그래픽 엔진을 포함한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 그래픽 처리 장치(21)의 구성도이다.
도 2를 참조하면, 본 실시예에 따른 그래픽 처리 장치(21)는 라인 변환부(211) 및 그래픽 엔진(212)으로 구성된다.
라인 변환부(211)는 그래픽 데이터가 나타내는 적어도 하나의 라인을 폴리곤으로 변환한다. 보다 상세하게 설명하면, 라인 변환부(211)는 그래픽 데이터가 나타내는 적어도 하나의 라인을 구성하는 포인트들 각각으로부터 소정 폭만큼 떨어진 포인트들을 연결함으로써 이 라인에 대한 폴리곤을 생성한다.
그래픽 엔진(212)은 그래픽 데이터가 나타내는 적어도 하나의 폴리곤과 라인 변환부(211)에 의해 변환된 폴리곤을 렌더링함으로써 디스플레이 장치(22)로 출력할 화면 데이터를 생성한다. 본 실시예에서, 렌더링이란 그래픽 데이터로부터 디스플레이 장치(22)로 출력할 화면 데이터를 생성하는 전 과정을 의미한다. 다만, 이와 같은 렌더링은 그래픽 데이터의 좌표계를 변환하고, 광원 효과(lighting effect)를 부여하는 T & L(Transform and lighting) 단계, 폴리곤의 구성 단위인 삼각형들 각각의 외곽선(scan line)을 결정하는 트라이앵글 셋업(triangle setup) 단계, 각 삼각형 내부의 픽셀들을 결정하는 래스터라이제이션(rasterization) 단계, 각 픽셀의 색상 값을 결정하는 렌더링(rendering) 단계 등으로 세분되어 표현될 수도 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
특히, 본 실시예에 따르면, 그래픽 엔진(212)은 하드웨어 가속 처리를 통하여 그래픽 데이터가 나타내는 적어도 하나의 폴리곤과 라인 변환부(211)에 의해 변환된 폴리곤을 렌더링한다. 여기에서, 하드웨어 가속 처리란 엔비디아(nVIDIA) 회사의 지포스(Geforce) 계열의 그래픽 카드 등이 지원하는 기능으로서 종래에 CPU(Central Processing Unit)가 담당하였던 렌더링 등의 그래픽 처리를 그래픽 카드의 칩셋이 담당함으로써 가능하게 된 고속 그래픽 처리를 말한다. 특히, 현재 출시되고 있는 그래픽 카드들은 종래에 CPU가 담당하였던 그래픽 처리의 대부분을 지원한다.
도 3은 도 2에 도시된 라인 변환부(211)의 상세 구성도이다.
도 3을 참조하면, 도 2에 도시된 라인 변환부(211)는 라인 차원 판단부(31), 2차원 라인 변환부(32), 및 3차원 라인 변환부(33)로 구성된다. 본 실시예에서의 그래픽 데이터는 2차원 라인, 3차원 라인 모두를 나타낼 수 있다. 예를 들어, 네비게이션 화면 용 그래픽 데이터는 도로 등의 2차원 이미지와 건물 등의 3차원 이미지를 모두 나타낼 수 있는데, 2차원 이미지에 포함된 라인은 2차원 라인이 되고, 3차원 이미지에 포함된 라인은 3차원 라인이 된다.
라인 차원 판단부(31)는 그래픽 데이터가 나타내는 적어도 하나의 라인의 차원(dimension)이 2차원인지, 아니면 3차원인지 여부를 판단한다. 보다 상세하게 설명하면, 라인 차원 판단부(31)는 그래픽 데이터가 나타내는 라인의 기하(geometry) 데이터가 2차원 좌표값, 즉 (x, y) 형태인 경우에는 이 라인의 차원을 2차원으로 판단한다. 또한, 라인 차원 판단부(31)는 그래픽 데이터가 나타내는 라인의 기하 데이터가 3차원 좌표값, 즉 (x, y, z) 형태인 경우에는 이 라인의 차원을 2차원으로 판단한다.
2차원 라인 변환부(32)는 라인 차원 판단부(31)에서의 판단 결과에 기초하여 그래픽 데이터가 나타내는 적어도 하나의 라인 중 2차원 라인을 2차원 폴리곤으로 변환한다. 보다 상세하게 설명하면, 2차원 라인 변환부(32)는 라인 차원 판단부(31)에서의 판단 결과에 기초하여 그래픽 데이터가 나타내는 적어도 하나의 라인 중 2차원 라인을 구성하는 포인트들 각각으로부터 두 개의 소정 방향들로 소정 폭만큼 떨어진 포인트들을 순차적으로 연결함으로써 이 2차원 라인에 대한 폴리곤을 생성한다. 여기에서, 두 개의 소정 방향들은 2차원 라인의 양 쪽 방향을 의미한다.
도 4는 도 3에 도시된 2차원 라인 변환부(32)에서의 라인 변환 과정을 도시한 도면이다.
도 4를 참조하면, 2차원 라인 변환부(32)는 2차원 라인을 구성하는 포인트들 각각에 대하여 각 포인트로부터 이 2차원 라인의 양쪽 방향들로 소정 폭만큼 떨어진 오프셋(offset) 포인트 쌍의 좌표값을 산출한다. 본 실시예에서, 2차원 라인을 구성하는 포인트들은 2차원 라인이 꺾이는 지점 V2, V3 및 종단점 V1, V4를 의미한다.
또한, 2차원 라인 변환부(32)는 2차원 라인을 구성하는 포인트들 각각에 대하여 상기된 바와 같은 방식으로 산출된 포인트들, 즉 V1+, V1-, V2+, V2-, V3+, V3-, V4+, V4-의 좌표값을 이용하여 이 포인트들을 순차적으로 연결한 2차원 폴리곤의 기하 데이터를 생성한다. 여기에서, 2차원 라인을 구성하는 포인트들 각각에 대하여 산출된 포인트들을 순차적으로 연결한다는 것은 2차원 라인을 구성하는 어느 하나의 포인트에 대하여 산출된 오프셋 포인트 쌍들간을 연결하고, 2차원 라인을 구성하는 서로 다른 포인트들에 대하여 산출된 포인트들에 대해 2차원 라인의 양쪽 방향들 중 동일 방향에 위치하며, 가장 인접한 포인트들간을 연결한다는 것을 의미한다.
이하에서는 도 4에 도시된 포인트들 중 포인트 V1, V2에 대한 오프셋 포인트 쌍들의 좌표값을 산출하는 과정을 예로 들어 상세히 설명하기로 한다.
도 5는 도 4에 도시된 포인트들 중 포인트 V2에 대한 오프셋 포인트 쌍 V2+, V2-의 좌표값을 산출하는 과정을 상세하게 도시한 도면이다.
도 5를 참조하면, 2차원 라인 변환부(32)는 포인트 V2를 종단점으로 하는 2 개의 라인 세그먼트 L1, L2 각각으로부터 L1, L2의 양쪽 방향들로 소정 폭 w만큼 평행하게 떨어진 2 개의 오프셋 라인 쌍들 L1+, L1-, L2+, L2-의 방정식을 산출하고, 이와 같이 산출된 2 개의 오프셋 라인 쌍들 L1+, L1-, L2+, L2-의 방정식을 이용하여 라인 세그먼트 L1에 대한 오프셋 라인 쌍 L1+, L1-과 라인 세그먼트 L2에 대한 오프셋 라인 쌍 L2+, L2-의 교차점들 V2+, V2-의 좌표값을 산출한다.
도 6은 도 4에 도시된 포인트들 중 포인트 V1에 대한 오프셋 포인트 쌍 V1+, V1-의 좌표값을 산출하는 과정을 상세하게 도시한 도면이다.
도 6을 참조하면, 2차원 라인 변환부(32)는 포인트 V1을 지나면서 포인트 V1, V2를 종단점으로 하는 라인 세그먼트 L1에 수직인 라인 R의 방정식을 산출하고, 라인 세그먼트 L1에 대한 오프셋 라인 쌍 L1+, L1-의 방정식과 라인 R의 방정식을 이용하여 오프셋 라인 쌍 L1+, L1-과 라인 R의 교차점들 V1+, V1-의 좌표값을 산출한다.
도 5-6에 도시된 방식을 사용하여, 나머지 포인트들 V3, V4에 대한 오프셋 포인트 쌍 V3+, V3-, V4+, V4-의 좌표값들도 산출될 수 있다. 이상에서는 2차원 라인을 2차원 폴리곤으로 변환하는 구체적인 과정을 상세히 살펴보았다. 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 상기된 방식 이외의 다른 방식을 사용하여 2차원 라인을 2차원 폴리곤으로 변환할 수도 있음을 이해할 수 있다. 예를 들어, 2차원 라인을 구성하는 포인트들을 상기된 V1, V2, V3, V4 이외의 다른 포인트들로 정의하거나, 상기된 V1, V2, V3, V4 이외의 더 많은 포인트들로 정의할 수도 있다.
3차원 라인 변환부(33)는 라인 차원 판단부(31)에서의 판단 결과에 기초하여 그래픽 데이터가 나타내는 적어도 하나의 라인 중 3차원 라인을 3차원 폴리곤으로 변환한다. 보다 상세하게 설명하면, 3차원 라인 변환부(33)는 라인 차원 판단부(31)에서의 판단 결과에 기초하여 그래픽 데이터가 나타내는 적어도 하나의 라인 중 3차원 라인을 구성하는 포인트들 각각으로부터 적어도 세 개의 소정 방향들로 소정 폭만큼 떨어진 포인트들을 순차적으로 연결함으로써 이 3차원 라인에 대한 폴리곤을 생성한다.
여기에서, 적어도 세 개의 소정 방향들은 3차원 라인에 대한 폴리곤이 어떤 형태인지에 따라 그 개수가 결정된다. 3차원 라인을 가장 이상적으로 표현하는 폴리곤은 원통 형태일 것이다. 그러나, 3차원 라인에 대한 폴리곤이 원통 형태라면, 이 소정 방향들의 개수가 매우 많기 때문에 폴리곤 생성을 위한 계산량이 매우 많아지게 된다. 반면, 3차원 라인에 대한 폴리곤이 프리즘 형태(그 단면이 정삼각형인 형태)라면, 이 소정 방향들의 개수가 세 개로 최소가 되기 때문에 폴리곤 생성을 위한 계산량이 최소가 된다. 이하에서는 프리즘을 예로 들어 설명하기로 한다. 특히, 3차원 라인에 대한 폴리곤이 프리즘 형태라면, 이 소정 방향들은 3차원 라인을 중심 축으로 하여 방사하며, 서로 120도를 이루는 세 개의 방향들일 것이다.
도 7은 도 3에 도시된 3차원 라인 변환부(33)에서의 라인 변환 과정을 도시한 도면이다.
도 7을 참조하면, 3차원 라인 변환부(33)는 3차원 라인을 구성하는 포인트들 각각에 대하여 각 포인트로부터 3차원 라인을 중심 축으로 하여 방사하며, 서로 120도를 이루는 세 개의 방향들로 소정 폭만큼 떨어진 세 개의 포인트들의 좌표값을 산출한다. 본 실시예에서, 3차원 라인을 구성하는 포인트들은 3차원 라인이 꺾이는 지점 V2 및 종단점 V1, V3을 의미한다.
또한, 3차원 라인 변환부(33)는 이와 같은 방식으로 3차원 라인을 구성하는 포인트들 각각에 대하여 산출된 포인트들, 즉 V1+, V1-, V1*, V2+, V2-, V2*, V3+, V3-, V3*의 좌표값을 이용하여 이 포인트들을 순차적으로 연결한 3차원 폴리곤의 기하 데이터를 생성한다. 여기에서, 3차원 라인을 구성하는 포인트들 각각에 대하여 산출된 포인트들을 순차적으로 연결한다는 것은 3차원 라인을 구성하는 어느 하나의 포인트에 대하여 산출된 3 개의 포인트들간을 연결하고, 3차원 라인을 구성하는 서로 다른 포인트들에 대하여 산출된 포인트들에 대해 세 개의 방향들 중 동일 방향에 위치하며, 가장 인접한 포인트들간을 연결한다는 것을 의미한다.
이하에서는 도 7에 도시된 포인트들 중 포인트 V1에 대한 3 개의 포인트들 V1+, V1-, V1*의 좌표값을 산출하는 과정을 예로 들어 상세히 설명하기로 한다.
도 8은 도 7에 도시된 포인트들 중 포인트 V1에 대한 세 개의 포인트들 V1+, V1-, V1*의 좌표값을 산출하는 과정을 상세하게 도시한 도면이다.
도 8을 참조하면, 3차원 라인 변환부(33)는 포인트 V1을 지나고, Z축의 양(plus)의 방향에 대해서 왼쪽으로 120도를 이루는 라인 L1+의 방정식을 산출하고, 라인 L1+의 방정식을 이용하여 라인 L1+와 xy 평면의 교차점 V1+과 포인트 V1의 폭이 w가 되는 교차점 V1+의 좌표값을 산출한다. 또한, 3차원 라인 변환부(33) 는 포인트 V1을 지나고, Z축의 양의 방향에 대해서 오른쪽으로 120도를 이루는 라인 L1-의 방정식을 산출하고, 라인 L1-의 방정식을 이용하여 라인 L1-와 xy 평면의 교차점 V1-과 포인트 V1의 폭이 w가 되는 교차점 V1-의 좌표값을 산출한다. 또한, 3차원 라인 변환부(33)는 포인트 V1을 지나고, Z축의 양의 방향으로 포인트 V1로부터의 폭이 w가 되는 포인트 V1*의 좌표값을 산출한다.
도 8에 도시된 방식을 사용하여, 나머지 포인트들 V2, V3에 대한 세 개의 포인트들 V2+, V2-, V2*, V3+, V3-, V3*의 좌표값들도 산출될 수 있다. 이상에서는 3차원 라인을 3차원 폴리곤으로 변환하는 구체적인 과정을 상세히 살펴보았다. 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 상기된 방식 이외의 다른 방식을 사용하여 3차원 라인을 3차원 폴리곤으로 변환할 수도 있음을 이해할 수 있다. 예를 들어, 3차원 라인을 구성하는 포인트들을 상기된 V1, V2, V3 이외의 다른 포인트들로 정의하거나, 상기된 V1, V2, V3 이외의 더 많은 포인트들로 정의할 수도 있다.
도 9는 본 발명의 바람직한 일 실시예에 따른 그래픽 처리 방법의 흐름도이다.
도 9를 참조하면, 본 실시예에 따른 그래픽 처리 방법은 도 2에 도시된 그래픽 처리 장치(21)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 2에 도시된 그래픽 처리 방법에 관하여 이상에서 기술된 내용은 본 실시예에 따른 그래픽 처리 방법에도 적용된다.
91 단계에서 그래픽 처리 장치(21)는 그래픽 데이터가 나타내는 적어도 하나 의 라인의 차원이 2차원인지, 아니면 3차원인지 여부를 판단하고, 그 결과 2차원이면 92 단계로 진행하고, 3차원이면 93 단계로 진행한다.
92 단계에서 그래픽 처리 장치(21)는 그래픽 데이터가 나타내는 적어도 하나의 라인 중 2차원 라인을 2차원 폴리곤으로 변환한다.
93 단계에서 그래픽 처리 장치(21)는 그래픽 데이터가 나타내는 적어도 하나의 라인 중 3차원 라인을 3차원 폴리곤으로 변환한다.
94 단계에서 그래픽 처리 장치(21)는 하드웨어 가속 처리를 통하여 그래픽 데이터가 나타내는 적어도 하나의 폴리곤과 92 단계 및 93 단계에서 변환된 폴리곤을 렌더링한다.
도 10은 도 9에 도시된 92 단계의 상세 흐름도이다.
도 10을 참조하면, 101 단계에서 그래픽 처리 장치(21)는 2차원 라인을 구성하는 포인트들 각각에 대하여 각 포인트로부터 이 2차원 라인의 양쪽 방향들로 소정 폭만큼 떨어진 오프셋 포인트 쌍의 좌표값을 산출한다.
102 단계에서 그래픽 처리 장치(21)는 2차원 라인을 구성하는 포인트들 각각에 대해서 101 단계에서 산출된 포인트들의 좌표값을 이용하여 이 포인트들을 순차적으로 연결한 2차원 폴리곤의 기하 데이터를 생성한다.
도 11은 도 9에 도시된 93 단계의 상세 흐름도이다.
도 11을 참조하면, 111 단계에서 그래픽 처리 장치(21)는 3차원 라인을 구성하는 포인트들 각각에 대하여 각 포인트로부터 3차원 라인을 중심 축으로 하여 방사하며, 서로 120도를 이루는 세 개의 방향들로 소정 폭만큼 떨어진 세 개의 포인 트들의 좌표값을 산출한다.
112 단계에서 그래픽 처리 장치(21)는 3차원 라인을 구성하는 포인트들 각각에 대하여 111 단계에서 산출된 포인트들의 좌표값을 이용하여 이 포인트들을 순차적으로 연결한 3차원 폴리곤의 기하 데이터를 생성한다. 3차원 라인을 구성하는 어느 하나의 포인트에 대응하는 세 개의 포인트들에 대해서는 이들간을 연결하고, 3차원 라인을 구성하는 서로 다른 두 개의 포인트들에 대응하는 포인트들에 대해서는 가장 인접한 포인트들을 연결한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, 그래픽 데이터가 나타내는 라인을 폴리곤으로 변환하고, 이와 같이 변환된 폴리곤을 하드웨어 가속 처리를 통하여 렌더링함으로써 폴리곤 가속 기능만을 구비하는 그래픽 칩셋이 라인 가속 기능을 지원할 수 있게 된다. 즉, 본 발명에 따르면, 라인 가속 기능을 하드웨어적으로 지원하지 않는 모바일 단말 등에서 라인 가속 기능을 하드웨어적으로 지원하는 모바일 단말 수준으로 보다 빨리 라인을 렌더링할 수 있게 된다.
또한, 본 발명에 따르면, 그래픽 데이터가 나타내는 2차원 라인, 3차원 라인 모두에 대해 라인 가속 기능을 지원하기 때문에 2차원 이미지 및 3차원 이미지가 공존하는 그래픽 데이터, 예를 들면 네비게이션 화면 용 그래픽 데이터를 보다 고속으로 렌더링할 수 있게 된다.

Claims (13)

  1. 그래픽 데이터가 나타내는 적어도 하나의 라인(line)을 상기 라인의 차원이 2차원인지, 아니면 3차원인지를 고려하여 상기 라인의 차원에 대응하는 폴리곤(polygon)으로 변환하는 단계; 및
    상기 그래픽 데이터가 나타내는 적어도 하나의 폴리곤과 상기 변환된 폴리곤을 렌더링하는 단계를 포함하는 것을 특징으로 하는 그래픽 처리 방법.
  2. 제 1 항에 있어서,
    상기 렌더링하는 단계는 하드웨어 가속 처리를 통하여 렌더링하는 것을 특징으로 하는 그래픽 처리 방법.
  3. 제 1 항에 있어서,
    상기 폴리곤으로 변환하는 단계는 상기 라인을 구성하는 포인트들 각각으로부터 소정 폭만큼 떨어진 포인트들을 연결함으로써 상기 라인에 대한 폴리곤을 생성하는 것을 특징으로 하는 그래픽 처리 방법.
  4. 제 1 항에 있어서,
    상기 폴리곤으로 변환하는 단계는
    상기 라인의 차원이 2차원인지, 아니면 3차원인지를 판단하는 단계;
    상기 판단 결과에 기초하여 상기 적어도 하나의 라인 중 2차원 라인을 2차원 폴리곤으로 변환하는 단계; 및
    상기 판단 결과에 기초하여 상기 적어도 하나의 라인 중 3차원 라인을 3차원 폴리곤으로 변환하는 단계를 포함하는 것을 특징으로 하는 그래픽 처리 방법.
  5. 제 4 항에 있어서,
    상기 2차원 폴리곤으로 변환하는 단계는
    상기 2차원 라인을 구성하는 포인트들 각각으로부터 두 개의 소정 방향들로 소정 폭만큼 떨어진 포인트들을 순차적으로 연결함으로써 상기 2차원 폴리곤을 생성하는 것을 특징으로 하는 그래픽 처리 방법.
  6. 제 4 항에 있어서,
    상기 3차원 폴리곤으로 변환하는 단계는
    상기 3차원 라인을 구성하는 포인트들 각각으로부터 적어도 세 개의 소정 방향들로 소정 폭만큼 떨어진 포인트들을 순차적으로 연결함으로써 상기 3차원 폴리곤을 생성하는 것을 특징으로 하는 그래픽 처리 방법.
  7. 제 1 항 내지 제 6 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  8. 그래픽 데이터가 나타내는 적어도 하나의 라인(line)을 상기 라인의 차원이 2차원인지, 아니면 3차원인지를 고려하여 상기 라인의 차원에 대응하는 폴리곤(polygon)으로 변환하는 라인 변환부; 및
    상기 그래픽 데이터가 나타내는 적어도 하나의 폴리곤과 상기 변환된 폴리곤을 렌더링하는 그래픽 엔진을 포함하는 것을 특징으로 하는 그래픽 처리 장치.
  9. 제 8 항에 있어서,
    상기 그래픽 엔진은 하드웨어 가속 처리를 통하여 렌더링하는 것을 특징으로 하는 그래픽 처리 장치.
  10. 제 8 항에 있어서,
    상기 라인 변환부는 상기 라인을 구성하는 포인트들 각각으로부터 소정 폭만큼 떨어진 포인트들을 연결함으로써 상기 라인에 대한 폴리곤을 생성하는 것을 특징으로 하는 그래픽 처리 장치.
  11. 제 8 항에 있어서,
    상기 라인 변환부는
    상기 라인의 차원이 2차원인지, 아니면 3차원인지를 판단하는 라인 차원 판단부;
    상기 판단 결과에 기초하여 상기 적어도 하나의 라인 중 2차원 라인을 2차원 폴리곤으로 변환하는 2차원 라인 변환부; 및
    상기 판단 결과에 기초하여 상기 적어도 하나의 라인 중 3차원 라인을 3차원 폴리곤으로 변환하는 3차원 라인 변환부를 포함하는 것을 특징으로 하는 그래픽 처리 장치.
  12. 제 11 항에 있어서,
    상기 2차원 폴리곤 변환부는
    상기 2차원 라인을 구성하는 포인트들 각각으로부터 두 개의 소정 방향들로 소정 폭만큼 떨어진 포인트들을 순차적으로 연결함으로써 상기 2차원 폴리곤을 생성하는 것을 특징으로 하는 그래픽 처리 장치.
  13. 제 11 항에 있어서,
    상기 3차원 폴리곤 변환부는
    상기 3차원 라인을 구성하는 포인트들 각각으로부터 적어도 세 개의 소정 방향들로 소정 폭만큼 떨어진 포인트들을 순차적으로 연결함으로써 상기 3차원 폴리곤을 생성하는 것을 특징으로 하는 그래픽 처리 장치.
KR1020070056752A 2007-06-11 2007-06-11 라인 가속 기능을 지원하는 그래픽 처리 방법 및 장치 KR100917887B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070056752A KR100917887B1 (ko) 2007-06-11 2007-06-11 라인 가속 기능을 지원하는 그래픽 처리 방법 및 장치
US12/010,200 US20080303821A1 (en) 2007-06-11 2008-01-22 Graphic processing method and apparatus for supporting line acceleration function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070056752A KR100917887B1 (ko) 2007-06-11 2007-06-11 라인 가속 기능을 지원하는 그래픽 처리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20080108769A KR20080108769A (ko) 2008-12-16
KR100917887B1 true KR100917887B1 (ko) 2009-09-16

Family

ID=40095449

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070056752A KR100917887B1 (ko) 2007-06-11 2007-06-11 라인 가속 기능을 지원하는 그래픽 처리 방법 및 장치

Country Status (2)

Country Link
US (1) US20080303821A1 (ko)
KR (1) KR100917887B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101009379B1 (ko) * 2009-05-27 2011-01-19 주식회사 매크로그래프 Reyes 알고리즘의 내부 매개 변수를 이용한 마이크로폴리곤 구성방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063866A (ja) * 1996-06-28 1998-03-06 Cirrus Logic Inc グラフィックスプロセッサ、画素グリッド内にポリゴンをレンダリングする方法およびコンピュータシステム
WO2002041251A2 (en) 2000-11-15 2002-05-23 Sony Electronics, Inc. Dynamically allocating a frame buffer for anti-aliasing
JP2004062637A (ja) 2002-07-30 2004-02-26 Minolta Co Ltd 3次元データへのポリラインの設定方法および装置
KR20060080350A (ko) * 2005-01-05 2006-07-10 엘지전자 주식회사 이동 단말기에서 도형 작성 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5202960A (en) * 1988-11-02 1993-04-13 Digital Equipment Corp Method and apparatus for plotting polygon edges on a pixelized grid
US5095520A (en) * 1990-06-07 1992-03-10 Ricoh Company, Ltd. Method and apparatus for drawing wide lines in a raster graphics system
EP0559714A1 (en) * 1990-11-30 1993-09-15 Cambridge Animation Systems Limited Animation
US5936641A (en) * 1997-06-27 1999-08-10 Object Technology Licensing Corp Graphics hardware acceleration method, computer program, and system
US7362325B2 (en) * 2004-12-21 2008-04-22 Qualcomm Incorporated 2D/3D line rendering using 3D rasterization algorithms

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063866A (ja) * 1996-06-28 1998-03-06 Cirrus Logic Inc グラフィックスプロセッサ、画素グリッド内にポリゴンをレンダリングする方法およびコンピュータシステム
WO2002041251A2 (en) 2000-11-15 2002-05-23 Sony Electronics, Inc. Dynamically allocating a frame buffer for anti-aliasing
JP2004062637A (ja) 2002-07-30 2004-02-26 Minolta Co Ltd 3次元データへのポリラインの設定方法および装置
KR20060080350A (ko) * 2005-01-05 2006-07-10 엘지전자 주식회사 이동 단말기에서 도형 작성 방법

Also Published As

Publication number Publication date
KR20080108769A (ko) 2008-12-16
US20080303821A1 (en) 2008-12-11

Similar Documents

Publication Publication Date Title
EP3559914B1 (en) Foveated rendering in tiled architectures
JP5270004B2 (ja) 3次元グラフィックスハードウェアを使用した2次元グラフィックスレンダリング中の頂点ポイントの廃棄
KR101635334B1 (ko) 대칭적 에지 스플릿팅에 의한 표면 테셀레이션
JP5837221B2 (ja) タイルベースのレンダリングにおけるテッセレーション
US8059119B2 (en) Method for detecting border tiles or border pixels of a primitive for tile-based rendering
JP2018129051A (ja) スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整
US9076260B2 (en) Stitching for primitives in graphics processing
JP2008165760A (ja) グラフィックスを処理する方法および装置
WO2014087572A1 (ja) 領域分割描画装置及び領域分割描画方法
JP2018101415A (ja) キューブマップをテクスチャリングするためのlodを決定する方法、装置、コンピュータプログラム及び記録媒体
JP6320624B2 (ja) テクスチャマッピング装置、テクスチャマッピング方法及びプログラム
KR100723421B1 (ko) 포인트 보간에 의한 렌더링 방법, 포인트 보간에 의한 렌더링 장치 및 기록매체
JPH11161819A (ja) 画像処理装置、画像処理方法、及び画像処理プログラムを記録した記録媒体
JP2009009345A (ja) ベクター画像描画装置、ベクター画像描画方法およびプログラム
JP2002133438A (ja) 3次元グラフィックス描画装置、3次元グラフィックス描画方法および3次元ポリゴンデータを記録したコンピュータで読取可能な記録媒体
KR100917887B1 (ko) 라인 가속 기능을 지원하는 그래픽 처리 방법 및 장치
US11030791B2 (en) Centroid selection for variable rate shading
US10580209B2 (en) Removal of degenerated sub-primitives in tessellation
KR101227155B1 (ko) 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법
US10593111B2 (en) Method and apparatus for performing high throughput tessellation
JP2006113909A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2022171068A (ja) データ処理装置、データ処理方法、及びプログラム
JP2010003136A (ja) 3次元モデルデータを生成する装置および方法
JP2010286906A (ja) グラフィックス処理装置、グラフィックス処理方法及びプログラム
JP2008152743A (ja) テキスチャーパターンサイズ計算回路

Legal Events

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

Payment date: 20120830

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140828

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150828

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160830

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170830

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee