KR100848687B1 - 3차원 그래픽 처리 장치 및 그것의 동작 방법 - Google Patents

3차원 그래픽 처리 장치 및 그것의 동작 방법 Download PDF

Info

Publication number
KR100848687B1
KR100848687B1 KR1020070001518A KR20070001518A KR100848687B1 KR 100848687 B1 KR100848687 B1 KR 100848687B1 KR 1020070001518 A KR1020070001518 A KR 1020070001518A KR 20070001518 A KR20070001518 A KR 20070001518A KR 100848687 B1 KR100848687 B1 KR 100848687B1
Authority
KR
South Korea
Prior art keywords
polygon
view volume
coordinates
coordinate
equivalence
Prior art date
Application number
KR1020070001518A
Other languages
English (en)
Other versions
KR20080064523A (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 KR1020070001518A priority Critical patent/KR100848687B1/ko
Priority to US12/003,998 priority patent/US20080165208A1/en
Publication of KR20080064523A publication Critical patent/KR20080064523A/ko
Application granted granted Critical
Publication of KR100848687B1 publication Critical patent/KR100848687B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Abstract

본 발명의 그래픽 처리 방법은: 제1 폴리곤을 뷰 볼륨의 전면으로 클리핑하여 제2 폴리곤을 생성하는 단계와, 상기 제2 폴리곤을 상기 뷰 볼륨의 후면으로 클리핑하여 제3 폴리곤을 생성하는 단계와, 상기 제3 폴리곤의 동치 좌표(w)가 0인지를 판별하는 단계, 그리고 상기 제3 폴리곤의 상기 동치 좌표(w)가 0일 때 상기 제3 폴리곤을 상기 뷰 볼륨의 좌면, 우면, 상면 및 하면 중 어느 하나로 클리핑하는 단계를 포함한다.

Description

3차원 그래픽 처리 장치 및 그것의 동작 방법{3-DIMENSION GRAPHIC PROCESSING APPARATUS AND OPERATING METHOD THEREOF}
도 1은 본 발명의 바람직한 실시예에 따른 3차원 그래픽 처리 장치의 그래픽 파이프라인을 보여주는 도면;
도 2는 도 1에 도시된 기하학 엔진의 구성을 구체적으로 보여주는 블록도;
도 3a는 동치 좌표에 대한 삼각형 폴리곤을 보여주는 도면;
도 3b는 도 3a에 도시된 폴리곤에 대한 전면 클리핑을 수행한 결과를 보여주는 도면;
도 3c는 도 3b에 도시된 폴리곤에 대한 후면 클리핑을 수행한 결과를 보여주는 도면;
도 4는 본 발명의 바람직한 실시예에 따른 클리핑 유닛을 구체적으로 보여주는 블록도;
도 5는 도 4에 도시된 폴리곤 뷰 볼륨 결정기(의 구체적인 구성을 보여주는 도면;
도 6은 도 4에 도시된 FSM의 클리핑 제어 수순을 보여주는 플로우차트;
도 7a는 (z, w) 평면상에 나타난 폴리곤을 보여주는 도면;
도 7b는 전면 및 후면 클리핑 후 폴리곤을 보여주는 도면;
도 7c는 도 7b의 w=0인 정점(g)을 (z, w) 평면 상에 표시한 도면;
도 7d는 w=+x축을 기준으로 클리핑했을 때 정점(g)의 변화를 보여주는 도면; 그리고
도 7e는 도 7d를 2차원 평편으로 보여주는 도면이다.
*도면의 주요 부분에 대한 설명
100 : 그래픽 파이프 라인 110 : 정점 쉐이터
120 : 기하학 엔진 121 : 클리핑 유닛
122 : 원근 계산 유닛 123 : 뷰포트 매핑 유닛
130 : 셋업 및 래스터 엔진 140 : 프레그먼트 쉐이더
150 : 퍼프레그먼트 유닛 400 : 연산 유닛
410 : FSM 420 : 폴리곤 뷰 볼륨 결정기
430 : 정점 좌표 계산기 440 : 폴리곤 리어셈블러
450 : 어드레스 발생기 460 : 데이터 버퍼
490 : 정점 메모리
본 발명은 그래픽 처리 처리 장치에 관한 것이다.
컴퓨터 시스템은 보통 디스플레이 화면 상에 그래픽 객체를 표시하기 위해 사용된다. 3차원 컴퓨터 그래픽의 용도는 일반적으로 객체 또는 객체들을 3차원으 로 사실적으로 나타내는 컴퓨터 화면상에 3차원 이미지를 생성하기 위한 것이다. 현실 세계에서, 객체들은 실제 높이, 실제 폭 및 실제 깊이를 갖는 3 차원을 차지한다. 사진은 3차원 공간의 2차원 표현의 한 예이다. 3차원 컴퓨터 그래픽은 일반적으로, 하위 이미지가 3차원 기하학 및 표면 텍스쳐로 모델링되는 점을 제외하고는 컴퓨터 화면의 3차원 공간 상에 3차원 세계를 나타낸다는 점에서 사진과 유사하다.
3차원 그래픽으로 생성된 이미지는 주어진 시점에서 씬(scene)의 개별 뷰(view)를 사실적인 방식으로 표현하기 위해, 비디오 오락 게임에서부터 만화 영화, 항공기 비행 시뮬레이터까지 광범위한 응용분야에서 사용된다. 최근에는 PMP(portable multimedia player), 휴대폰, PDA(personal digital[data] assistant) 등과 같은 모바일 영상 기기에서도 3차원 그래픽을 표시하기도 한다.
최근 몇년 동안에 특히 굉장한 성장을 보이고 있는 한가지 산업은 컴퓨터 게임 산업이며, 3차원 그래픽 표시 속도는 점점 더 빨라진다. 최근에는 비교적 저렴한 시스템에서의 3차원 그래픽의 신속하고 융통성인 렌더링에 대한 요구를 불러일으키고 있다.
3차원 그래픽 시스템은 3차원 피사체의 장면(scene)을 모델링하여 표시 장치에 표시될 수 있는 데이터 신호로 변환한다. 3차원 피사체의 장면은 그 피사체의 형상을 근사화하는 다수의 폴리곤(poligon)(또는 프리미티브(primitive))으로 표현된다. 2차원 표시 장치 상에 3차원 영상을 표시하는 프로세스는 복잡한 계산을 요한다. 따라서 이러한 프로세스는 오늘날의 마이크로프로세서 및 그래픽 처리 장치 에 의해서 조차 속도가 느린 경우가 빈번하다.
래스터화(lasterlize)는 그래픽 폴리곤의 단순한 기하학적 표현을 디스플레이용의 화소로 변환시키는 프로세스이다. 일반적으로 폴리곤은 점(dot), 선(line), 삼각형(triangle) 중 어느 한 형태를 갖는다. 일반적으로 피사체는 래스터화에 앞서 하나 이상의 폴리곤으로 변환된다. 삼각형 폴리곤은 좌표(x, y, z) 및 자신의 각 정점(vertex)에서의 그 밖의 다른 속성 예를 들면, 색상(color), 텍스쳐(texture) 좌표 등에 의해 표시된다. 폴리곤의 정점의 좌표(x, y)는 표시 장치 상에서의 위치를 나타낸다. 좌표(z)는 정점이 3차원 장면의 선택된 퓨 포인트(view point)로부터 떨어져 있는 거리를 나타낸다.
3차원 그래픽 처리 속도를 향상시키기 위한 방법 가운데 하나는 뷰 볼륨 클리핑(view volume clipping)을 수행하는데 있어서, 상(top), 하(bottom), 좌(left), 우(right), 전(near) 및 후(far) 모든 면들에 대한 클리핑 대신 전면과 후면에 대해서만 클리핑을 수행하는 것이다. 나머지 상, 하, 좌 및 우면에 대해서는 클리핑을 수행하지 않고 래스터화 단계에서 뷰 포트(view port) 내에 있는 프래그먼트(fragment)는 표시되도록 하고, 뷰 포트 밖의 보여지지 않는 부분에 대한 삭제가 가능하다.
그러나, 뷰 볼륨의 전면과 후면에 대해서만 클리핑을 수행하는 경우 뷰 볼륨의 바운더리(boundery)를 나타내는 변수(w)가 0이 되는 경우가 발생할 수 있다. 변수(w)가 0이 되는 경우 3차원 그래픽 시스템의 데이터 연산에 있어서 오류가 발생한다.
따라서 본 발명의 목적은 그래픽 처리 속도를 향상시키되 안정된 동작을 보장하는 그래픽 처리 시스템을 제공하는데 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 의하면, 그래픽 처리 방법은, 제1 폴리곤을 뷰 볼륨의 전면으로 클리핑하여 제2 폴리곤을 생성하는 단계와, 상기 제2 폴리곤을 상기 뷰 볼륨의 후면으로 클리핑하여 제3 폴리곤을 생성하는 단계와, 상기 제3 폴리곤의 동치 좌표(w)가 0인지를 판별하는 단계, 그리고 상기 제3 폴리곤의 상기 동치 좌표(w)가 0일 때 상기 제3 폴리곤을 상기 뷰 볼륨의 좌면, 우면, 상면 및 하면 중 어느 하나로 클리핑하는 단계를 포함한다.
이 실시예에 있어서, 상기 그래픽 처리 방법은, 상기 제3 폴리곤의 상기 동치 좌표(w)가 0이 아니면 상기 제3 폴리곤에 대한 동치 좌표를 일반 좌표로 변환하는 단계를 더 포함한다.
이 실시예에 있어서, 상기 그래픽 처리 방법은, 상기 제1 폴리곤의 정점들이 상기 뷰 볼륨의 전면의 안쪽에 위치할 때 상기 제1 폴리곤에 대한 동치 좌표를 일반 좌표로 변환하는 단계를 더 포함한다.
이 실시예에 있어서, 상기 그래픽 처리 방법은, 상기 제2 폴리곤의 정점들이 상기 뷰 볼륨의 후면의 안쪽에 위치할 때 상기 제2 폴리곤에 대한 동치 좌표를 일반 좌표로 변환하는 단계를 더 포함한다.
이 실시예에 있어서, 상기 그래픽 처리 방법은, 상기 제1 폴리곤의 정점들 각각의 동치 좌표(w)가 음수 또는 양수인지 판별하는 단계를 더 포함한다.
이 실시예에 있어서, 상기 그래픽 처리 방법은, 상기 제1 폴리곤의 정점들 각각의 동치 좌표(w)가 모두 양수가 아니고 그리고 모두 음수가 아닐 때 상기 제1 폴리곤을 상기 뷰 볼륨의 상기 전면으로 클리핑하는 단계를 수행한다.
본 발명의 다른 특징에 의하면, 그래픽 처리 장치는: 제어 신호들을 발생하는 제어 회로와, 상기 제어 신호들에 응답해서 폴리곤의 정점들이 뷰 볼륨 내에 위치하는 지를 판별하는 폴리곤 뷰 볼륨 결정기, 그리고 상기 제어 신호들에 응답해서 폴리곤을 상기 뷰 볼륨의 복수의 면들 중 하나로 클리핑하고, 새로운 폴리곤의 정점 좌표 데이터를 생성하는 정점 좌표 계산기를 포함한다. 상기 제어 회로는, 상기 폴리곤에 대한 적어도 두 면들의 클리핑이 수행된 후 동치 좌표(w)가 0일 때 상기 새로운 폴리곤이 상기 뷰 볼륨의 복수의 면들 중 다른 면으로 클리핑되도록 제어한다.
이 실시예에 있어서, 상기 제어 회로는, 상기 폴리곤의 정점들 각각의 동치 좌표(w)가 모두 양수가 아니고 그리고 모두 음수가 아닐 때 상기 폴리곤을 상기 뷰 볼륨의 상기 복수의 면들 중 적어도 두 면들에 대한 클리핑이 수행되도록 제어한다.
이 실시예에 있어서, 상기 정점 좌표 계산기에 의해서 계산된 폴리곤의 동치 좌표를 일반 좌표로 변환하는 원근 계산 유닛을 더 포함한다.
이 실시예에 있어서, 상기 제어 회로는, 상기 폴리곤의 상기 정점들이 상기 뷰 볼륨의 안쪽에 위치할 때 상기 정점 좌표 계산기에 의해서 계산된 폴리곤의 동 치 좌표를 상기 원근 계산 유닛으로 입력한다.
이 실시예에 있어서, 상기 폴리곤 뷰 볼륨 결정기는, 상기 폴리곤의 상기 정점들이 상기 뷰 볼륨의 안쪽 또는 바깥쪽에 위치하는 지를 나타내는 위치 정보 신호를 상기 제어기로 제공한다.
이 실시예에 있어서, 상기 폴리곤 뷰 볼륨 결정기는, 상기 폴리곤의 상기 정점들의 좌표 데이터와 상기 뷰 볼륨의 좌표 데이터를 비교하고, 위치 정보 신호를 발생하는 비교 회로, 그리고 상기 위치 정보 신호를 저장하기 위한 레지스터 블록을 포함한다.
이 실시예에 있어서, 상기 폴리곤 뷰 볼륨 결정기는, 상기 제어 회로로부터의 제1 선택 신호에 응답해서 상기 뷰 볼륨의 상기 복수의 면들 중 어느 하나에 대응하는 좌표 값을 출력하는 제1 멀티플렉서와, 상기 제1 멀티플렉서로부터 출력되는 좌표 값과 상기 폴리곤의 동치 좌표(w)를 비교하고, 비교 결과를 출력하는 제1 판별기와, 상기 제어 회로로부터의 제1 선택 신호에 응답해서 상기 뷰 볼륨의 상기 복수의 면들 중 어느 하나에 대응하는 좌표 값을 출력하는 제2 멀티플렉서, 그리고 상기 제2 멀티플렉서로부터 출력되는 좌표 값과 상기 폴리곤의 상기 동치 좌표(w)를 비교하고, 비교 결과를 출력하는 제2 판별기를 포함한다.
상기 레지스터 블록은, 상기 폴리곤의 정점들 각각의 동치 좌표(w)의 부호를 더 저장한다.
이하 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 3차원 그래픽 처리 장치의 그래픽 파이프라인을 보여주고 있다.
그래픽 파이프 라인(100)은 정점 쉐이더(vertex shader, 110), 기하학 엔진(geometry engine, 120), 셋업 및 래스터 엔진(setup and rasterizing engine, 130), 프레그먼트 쉐이더(fragment shader, 140) 그리고 퍼프레그먼트 유닛(perfragment unit, 150)을 포함한다.
호스트(미 도시됨)로부터 입력되는 그래픽 영상 신호(IN)는 정점 쉐이더(110)로 입력된다. 정점 쉐이더(110)는 정점의 좌표, 색상, 반사 값 등의 다양한 정보를 이용하여 3차원 그래픽 오브젝트를 구현하는데, 정점의 위치가 변하게 됨으로써 함께 달라지는 좌표 값을 비롯한 행렬, 광원(light) 및 질감(texture) 등 수 많은 데이터에 대한 복잡한 연산을 처리한다. 정점 쉐이더(110)는 좌표(x, y, z, w)를 출력한다.
기하학 엔진(120)은 셋업 및 래스터 엔진(130)이 처리할 이미지를 생성하기 위하여 폴리곤과 기타 그래픽 데이터를 처리한다. 셋업 및 래스터 엔진(130)은 정점 쉐이더(110)로부터 입력된 정점을 표시 장치 상에 뷰잉(viewing)하기 위한 형태로 변환한다. 일반적으로 기하학 엔진(120)은 조명원(lighting source)로부터 색체 컨트리뷰션(color contribution)을 생성하고, 뷰어(viewer)로부터의 거리가 멀어질수록 객체의 가시도가 낮아지도록 하는 포그(fog factor)를 생성하며, 하나의 장면(scene)을 주어진 뷰 볼륨으로 클리핑한다.
셋업 및 래스터 엔진(130)은 스크린 좌표로 변환된 정점을 입력받고, 정점 사이의 색체를 보간하거나, 이미지를 매핑하여 객체의 정점 표현을 솔리드 객체(solid object)로 변환한다.
셋업 및 레스터 엔진(130)으로부터 출력되는 신호는 프레그먼트 쉐이더(140) 및 퍼프레그먼트 유닛(150)을 통과하여 디스플레이 장치(미 도시됨)로 제공된다.
도 2는 도 1에 도시된 기하학 엔진(120)의 구성을 구체적으로 보여주는 블록도이다.
도 2를 참조하면, 기하학 엔진(120)은 클리핑 유닛(clipping unit, 121), 원근 계산 유닛(perspective division unit, 122) 그리고 뷰포트 매핑 유닛(view port mapping unit, 123)을 포함한다.
클리핑 유닛(121)은 객체를 뷰 볼륨(view volume)으로 클리핑한다. 원근 계산 유닛(122)은 제4좌표인 W를 계산한다. 본 발명은 제4 좌표인 W를 사용하여 픽셀 좌표(x, y, z)를 보정한다. 뷰포트 변환 유닛(123)은 정규화된 디바이스 좌표를 스크린 또는 윈도우 좌표로 변환한다. 디바이스 좌표는 이미기를 표시 장치에 표시하기 위해 사용되는 좌표이다.
클리핑 유닛(121)은 어플레이케이션 모델들에 대해서 뷰 볼륨을 정의하고, 뷰 볼륨 내에 있는 폴리곤의 정점 데이터(vertex data)는 그래픽 파이프 라인의 다음 단으로 전달하고, 뷰 볼륨 바깥에 있는 정점 데이터는 버림으로써 불필요 연산이 제거되도록 한다. 이와 같이 뷰 볼륨에 대해서 보여지는 부분과 보여지지 않는 부분을 구별하는 프로세스를 3차원 그래픽의 뷰 볼륨 클리핑이라고 한다.
도 1에 도시된 정점 쉐이더(110)는 모델(model)-뷰어(viewer) 변환을 위한 매트릭스(matrix) 연산을 수행하고 투시도법(perspective projection)을 통해서 사용자에 의해 정의된 뷰볼륨에 투영(projection)시킨다. 이 과정에서 동차 좌표(homogeneous coordinate)가 사용되어 3차원이 아닌 4차원 좌표계가 사용된다. 3차원에서 한 점을 정의할 때 좌표는 (x, y, z)로 정의된다. 하지만, 3차원에서 변환(이동, 회전 등)을 수행할 때는 간편하고 빠르게 적용하기 위해 직접 계산 대신 4×4행렬을 적용한다. 이 4×4행렬을 적용하게 되면 성분 하나가 추가되야 하며, 이 때 w라는 성분 하나를 추가해 (x, y, z, w)를 구성하는데 이를 동치 좌표라 한다. 3차원에서의 (x, y, z)를 동치좌표로 표현하면 (x, y, z, w)이 된다. 그런데, 실제 3차원의 물체를 2차원으로 투영하기 위해 원근변환을 적용한 뒤에는 좌표값이 바뀌어 출력된다. 즉, 마지막 w 성분이 다른 값을 가질 수 있다. 따라서 실제로 스크린상의 좌표 값으로 사용하기 위해서는 동치 좌표를 일반 좌표로 바꿔야 하는데, 이를 위해서는 좌표의 각 성분(x, y, z)을 w로 나눠서 구한다. 즉, (x/w, y/w, z/w, w/w) = (x/w, y/w, z/w, 1)이 되고 네번째 성분값이 1인 일반적인 좌표로 바뀐다. 원근 계산 유닛(122)은 상술한 바와 같이 동치 좌표를 일반 좌표로 변환한다.
이와 같이 좌표의 각 성분(x, y, z)을 w로 나누기 위해서 w는 0이 아닌 다른 값을 가져야 한다. 그러나, 클리핑 유닛(121)에서 뷰 볼륨 클리핑을 수행하는데 있어서, 전면(near plane) 및 후면(far plane)에 대한 클리핑을 수행시 w가 0이 되는 경우가 발생할 수 있다.
모델을 이루는 정점의 동치 좌표(x, y, z, w)는 클리핑 유닛(121)에 의해서 원근 투영 매트릭스(perspective projection matrix) 연산이 수행된다. 원근 투영 매트릭스 연산이 수행된 후 클리핑 유닛(121)으로부터 출력되는 동치 좌표(x`, y`, z`, w`)에서 x`, y`, z` 각각이 w`보다 작거나 같은 값을 가지면 정점 좌표는 뷰 볼륨내에 존재하고, x`, y`, z` 각각이 w`보다 크면 정점 좌표는 뷰 볼륨 바깥에 위치한다. 결국 x`와 w`, y`와 w`, 그리고 z`와 w`를 비교하여 완전히 뷰 볼륨 내에 있는 데이터 값을 찾을 수 있다.
이를 정리하여 나타내면 수학식 1과 같다.
-w ≤ x ≤ w, -w ≤ y ≤ w, -w ≤ z ≤ w (단, w > 0 일 때)
w ≤ x ≤ -w, w ≤ y ≤ -w, w ≤ z ≤ -w (단, w < 0 일 때)
도 3a는 동치 좌표(z, w)에 대한 삼각형 폴리곤을 보여주고 있고, 도 3b는 도 3a에 도시된 폴리곤에 대한 전면 클리핑을 수행한 결과를 보여주며, 그리고 도 3c는 도 3b에 도시된 폴리곤에 대한 후면 클리핑을 수행한 결과를 보여주고 있다.
도 3a 내지 도 3c에 도시된 바와 같이, 폴리곤이 뷰 볼륨의 경계에 걸치게 되면 새로운 폴리곤을 형성하는 정점 좌표 데이터가 구해져야 한다. 도 3a에 도시된 폴리곤의 정점은 a, b 및 c였으나, 전면 클리핑이 수행된 후 폴리곤의 정점은 a, d 및 e로 변경되었다. 또한 후면 클리핑이 수행된 후 폴리곤의 정점은 a, e, f 및 g로 변경된다. 폴리곤의 정점(g)의 w좌표는 0이다.
w=0인 경우, 원근 계산 유닛(122)에 의해서 동치 좌표가 일반 좌표로 변환되기 위하여 (x/w, y/w, z/w, w/w) 연산이 수행되는 경우 잘못된 연산 결과가 나온 다. 본 발명은 w가 0이 됨으로써 잘못된 연산이 실행되는 것을 막을 수 있는 스킴을 제공한다.
본 발명은 다양한 어플리케이션을 지원하기 위해 음의 w를 가지는 폴리곤에 대해서 올바르게 클리핑하기 위한 새로운 클리핑 스킴을 제공한다. 이는 초기의 모든 클리핑 면들에 대해서 클리핑을 수행하는 것보다 동작 사이클은 감소하면서도 올바른 클리핑 결과를 다음 파이프라인 단으로 넘겨주는 것을 가능하게 한다.
도 4는 본 발명의 바람직한 실시예에 따른 클리핑 유닛을 구체적으로 보여주는 블록도이다.
도 4를 참조하면 클리핑 유닛(121)은 연산 유닛(400) 및 정점 메모리(490)를 포함한다. 연산 유닛(400)은 폴리곤에 대한 클리핑을 수행하며, 크리핑된 정점들에 대한 좌표 정보를 정점 메모리(vertex memory, 490)에 저장한다. 연산 유닛(400)은 FSM(finite state machine, 410), 폴리곤 뷰 볼륨 결정기(420), 정점 좌표 계산기(430), 폴리곤 리어셈블러(440), 어드레스 발생기(450) 그리고 데이터 버퍼(460)를 포함한다.
FSM(410)는 연산 유닛(400)에 대한 전반적인 동작을 제어한다. 폴리곤 뷰 볼륨 결정기(420)는 정점 쉐이퍼(110)로부터 입력되는 정점 좌표가 뷰 볼륨의 전면 및 후면 클리핑 면들의 안쪽(inside)에 위치하는지 바깥쪽(outside)에 위치하는 지를 나타내는 위치 정보를 출력한다.
FSM(410)는 폴리곤 뷰 볼륨 결정기(420)로부터 출력되는 위치 정보를 입력받고, 정점 좌표들 모두가 뷰 볼륨의 전면 및 후면 클리핑 면들의 안쪽에 위치하면 정점 좌표들을 폴리곤 리어셈블러(440)로 제공한다. 만일 정점 좌표들 모두가 뷰 볼륨의 전면 및 후면 클리핑 면들의 바깥쪽에 위치하면 그 좌표를 삭제한다. 그리고 정점 좌표들이 전면 클리핑 면에 걸쳐 있거나 후면 클리핑 면에 걸쳐 있으면 폴리곤에 대한 전, 후면 클리핑뿐만 아니라 좌, 우, 상, 하 면들 각각에 대한 클리핑이 순차적으로 수행될 수 있도록 폴리곤 뷰 볼륨 결정기(420)를 제어한다.
정점 좌표 계산기(430)는 폴리곤에 대한 클리핑을 수행하고 정점들의 좌표를 계산한다.
폴리곤 리어셈블러(440)는 폴리곤에 대한 좌, 우, 상, 하 면들 각각에 대한 클리핑이 수행되었을 때 새로 생성된 폴리곤들을 연결(link)하기 위한 연결 정보를 생성한다.
어드레스 발생기(450)는 정점 메모리(490)를 액세스하기 위한 제어 신호 및 어드레스 신호를 발생한다.
데이터 버퍼(460)는 정점 메모리(490)로부터 독출된 정점 데이터를 저장하기 위한 독출 버퍼(462), 정점 메모리(490)에 저장될 정점 데이터를 저장하는 기입 버퍼(464) 그리고 w가 0인 지를 검사하는 w 체커(466)를 포함한다.
도 5는 도 4에 도시된 폴리곤 뷰 볼륨 결정기(420)의 구체적인 구성을 보여주는 도면이다.
도 5를 참조하면, 폴리곤 뷰 볼륨 결정기(420)는 멀티플렉서들(510, 520)과 제1 및 제2 판별기들(530, 540) 그리고 레지스터 블록(550)을 포함한다. 폴리곤 뷰 볼륨 결정기(420)는 FSM(410)으로부터 점(point), 라인(line), 삼각형(triangle) 등과 같은 형태의 폴리곤 좌표(V1(x,y,z,w))를 입력받는다.
멀티플렉서들(510, 520) 각각은 뷰 볼륨의 좌면(left plane) 좌표값(-x), 우면(right plane) 좌표값(+x), 상면(top plane) 좌표값(+y), 하면(bottom plane) 좌표값(-y), 전면(near plane) 좌표값(-z) 그리고 후면(far plane) 좌표값(+z)을 입력받는다. FSM(410)은 멀티플렉서들(510, 520) 각각으로 선택 신호들(SEL1, SEL2)을 입력한다.
제1 판별기(530)는 멀티플렉서(510)로부터의 출력과 현재 폴리곤의 좌표(V1(x,y,z,w)) 입력받고, 현재 폴리곤이 뷰 볼륨 내에 위치하는 지의 여부를 판별한다. 제1 판별기(530)는 폴리곤의 좌표(V1(x,y,z,w))가 멀티플렉서(510)로부터 출력되는 뷰 볼륨의 좌표값보다 안쪽에 위치하면 '1'을 출력하고, 폴리곤의 좌표(V1(x,y,z,w))가 멀티플렉서(510)로부터 출력되는 뷰 볼륨의 좌표값보다 바깥쪽에 위치하면 '0'을 출력한다.
제2 판별기(540)는 멀티플렉서(520)로부터의 출력과 현재 폴리곤의 좌표(V1(x,y,z,w))를 입력받고, 현재 폴리곤이 뷰 볼륨 내에 위치하는 지의 여부를 판별한다. 제2 판별기(540)는 폴리곤의 좌표(V1(x,y,z,w))가 멀티플렉서(520)로부터 출력되는 뷰 볼륨의 좌표값보다 안쪽에 위치하면 '1'을 출력하고, 폴리곤의 좌표(V1(x,y,z,w))가 멀티플렉서(520)로부터 출력되는 뷰 볼륨의 좌표값보다 바깥쪽에 위치하면 '0'을 출력한다.
레지스터 블록(550)은 현재 폴리곤을 나타내는 세 개의 정점들(a, b, c) 각 각의 좌표(V1(w))의 부호를 저장하기 위한 레지스터(551)를 포함한다. 레지스터(551)는 세 개의 정점들(a, b, c)에 각각 대응하는 좌표(V1(w))의 부호를 나타내는 3비트 정보(W1, W2, W3)를 저장한다. 이 실시예에서 3비트 정보(W1, W2, W3)는 좌표(V1(w))가 양수이면 '1' 그리고 음수이면 '0'이다. 레지스터 블록(550)는 3비트 정보(W1, W2, W3)가 모두 '1' 인지, 모두 '0'인지, 그리고 모두 '1' 또는 '0'이 아닌지의 여부를 나타내는 제1 신호(WC)를 출력한다. 예컨대, 3비트 정보(W1, W2, W3)가 모두 '1' 이면 제1 신호(WC)는 '10', 3비트 정보(W1, W2, W3)가 모두 '0'이면, 제1 신호(WC)는 '01' 그리고 3비트 정보(W1, W2, W3)가 모두 '1' 또는 '0'이 아니면 제1 신호(WC)는 '00'이다.
FSM(410)은 제1 신호(WC)가 '00'이면 뷰 볼륨의 전면 클리핑 및 후면 클리핑 뿐만 아니라, 좌, 우, 상, 하면에 대한 클리핑이 필요한 것으로 판단하고, 폴리곤 뷰 볼륨 결정기(420)에 의해서 정점 좌표(V1(x,y,z,w))가 뷰 볼륨 안쪽 또는 바깥쪽에 위치하는 지 판별되도록 제어한다.
FSM(410)은 제1 신호(WC)가 '10'이면 정점 좌표 계산기(430)에 의해서 정점의 교차(intersection) 좌표가 계산되도록 제어한다. 한편, FSM(410)은 제1 신호(WC)가 '01'이면 폴리곤이 뷰 포트의 밖에 위치한 것으로 판단하여 폴리곤이 삭제되도록 제어한다.
다시 도 5를 참조하면, 레지스터 블록(550)은 레지스터들(552, 553, 554)을 더 포함한다. 레지스터들(552, 553, 554)은 제1 및 제2 판별기들(530, 540)로부터 출력되는 판별 결과를 저장한다. 레지스터들(552,553, 554)에 저장된 판별 결과들 은 제2 신호(POS)로서 FSM(410)으로 제공된다. FSM(410)은 폴리곤 뷰 볼륨 결정기(420)로부터의 제2 신호(POS)를 입력받고, 클리핑 여부 및 클리핑 방식을 결정한다.
도 6은 도 4에 도시된 FSM(410)의 클리핑 제어 수순을 보여주는 플로우차트이다.
도 6을 참조하면, FSM(410)은 레지스터 블록(550)으로부터 입력되는 제1 신호(WC)가 '01'인 지의 여부를 판별한다(610). 제1 신호(WC)가 '01'이면 FSM(410)은 폴리곤 정점들의 위치를 판별하도록 폴리곤 뷰 볼륨 결정기(420)를 제어한다. FSM(410)은 뷰 볼륨의 6면 중 하나의 면 좌표, 폴리곤 좌표(V1(x,y,z,w)), 선택 신호들(SW1, SW2)을 폴리곤 뷰 볼륨 결정기(420)로 입력한다.
멀티플렉서(510)는 선택 신호(SEL1)에 응답해서 전면 좌표(+z)를 출력한다. 제1 판별기(530)는 현재 폴리곤 정점들의 좌표(V1(w))와 전면 좌표(+z)를 비교하여 폴리곤의 정점들 중 하나 또는 두 개의 정점들이 전면(+z) 안쪽에 위치하는 지를 판별한다. 이것은 "w≥+z"(단, w>0) 또는 "w≤-z"(단, w<0)을 만족하는지를 판별하는 것에 의해서 가능하다. 판별 결과는 레지스터(552)에 저장된다. 도 2a에 도시된 세 개의 정점들(a, b, c) 각각의 좌표(V1(w))와 전면 좌표(+z)의 비교 결과는 레지스터(552)에 N1, N2, N3으로 저장된다. 예컨대, 정점(a)의 좌표(V1(w))가 전면 좌표(+z) 안에 위치할 때 N1은 '1'이고, 밖에 위치할 때 N1은 '0'이다. 이와 같은 방법으로 N2 및 N3의 값도 결정된다.
멀티플렉서(520)는 선택 신호(SEL2)에 응답해서 후면 좌표(-z)를 출력한다. 제2 판별기(540)는 현재 폴리곤 정점들의 좌표(V1(w))와 후면 좌표(-z)를 비교하여 폴리곤의 정점들 중 하나 또는 두 개의 정점들이 후면(-z) 안쪽에 위치하는 지를 판별한다. 이것은 "w≥-z"(단, w>0) 또는 "w≤-z"(단, w<0)을 만족하는지를 판별하는 것에 의해서 가능하다. 판별 결과는 레지스터(553)에 저장된다. 도 2a에 도시된 세 개의 정점들(a, b, c) 각각의 좌표(V1(w))와 후면 좌표(-z)의 비교 결과는 레지스터(553)에 F1, F2, F3으로 저장된다. 예컨대, 정점(a)의 좌표(V1(w))가 후면 좌표(-z) 안에 위치할 때 F1은 '1'이고, 밖에 위치할 때 F1은 '0'이다. 이와 같은 방법으로 F2 및 F3의 값도 결정된다.
FSM(410)은 레지스터 블록(550)의 레지스터(552)에 저장된 위치 정보(N1, N2, N3)와 레지스터(553)에 저장된 위치 정보(F1, F2, F3)를 입력받고 폴리곤의 정점들이 전면(+z) 안쪽에 위치하는 지의 여부를 판별한다(612). 만일 폴리곤의 정점들이 전면(+z) 안쪽에 위치하는 것으로 판별되면 FSM(410)은 폴리곤에 대한 클리핑 제어를 종료한다. 만일 폴리곤의 정점들이 전면(+z) 바깥쪽에 위치하는 것으로 판별되면 FSM(410)은 정점 좌표 계산기(430)가 폴리곤을 전면 클리핑하여 새로운 폴리곤을 생성하고, 새로운 폴리곤의 정점 좌표들을 계산하도록 제어한다(614). w=+z 축을 기준으로 전면 클리핑되어서 새로 생성된 폴리곤이 도 2b에 도시되어 있다. 새로운 폴리곤은 정점들(a, d, e)을 포함한다.
FSM(410)은 폴리곤 뷰 볼륨 결정기(420)가 새로 생성된 폴리곤의 정점들이 후면(-z) 안쪽에 위치하는 지를 판별하도록 제어한다(616). 폴리곤 뷰 볼륨 결정기(420) 내 멀티플렉서(510)는 선택 신호(SEL1)에 응답해서 후면 좌표(-z)를 출력 한다. 제1 판별기(530)는 새로운 폴리곤의 정점들(d, e)각각의 좌표(V1(w))와 후면 좌표(-z)를 비교하고, 비교 결과를 레지스터(553)에 F4, F5로서 저장한다.
FSM(410)은 폴리곤 뷰 볼륨 결정기(420)로부터 위치 정보(F4, F5)를 포함하는 제2 신호(POS)를 입력받고, 폴리곤의 정점들이 후면(-z) 안쪽에 위치하는 가를 판별한다. 만일 폴리곤의 정점들이 후면(-z) 안쪽에 위치하면 FSM(410)은 클리핑 제어를 종료한다. 만일 폴리곤의 정점들이 후면(-z) 바깥쪽에 위치하면 FSM(410)은 정점 좌표 계산기(430)가 후면 클리핑을 수행하고 새로운 폴리곤을 생성하도록 제어한다. 정점 좌표 계산기(430)는 후면 클리핑을 수행한 후 도 2c에 도시된 바와 같이, 새로운 폴리곤의 정점들(f, g)의 좌표를 출력한다.
FSM(410)은 새로운 폴리곤의 정점들(f, g)의 좌표(V1(w))가 0인 지를 판별한다(620). 새로운 폴리곤의 정점들(f, g)의 좌표(V1(w))가 0인 지의 판별은 도 4에 도시된 데이터 버퍼(460) 내 W 체커(466)에 의해서 수행되며, FSM(410)은 W 체커(466)로부터 입력되는 결과 신호에 따라서 새로운 폴리곤의 정점들(f, g)의 좌표(V1(w))가 0인 지를 판단한다. 좌표(V1(w))가 0이면 FSM(410)은 정점 좌표 계산기(430)가 w=+x 축인 우면을 기준으로 클리핑을 수행하도록 제어한다(622).
도 7a는 정점들(a, b, c,)을 포함하는 폴리곤을 보여주고 있다. 도 7b는 전면(+z) 및 후면(-z) 클리핑 후 정점들(a, e, f, g)을 포함하는 폴리곤을 보여준다. 도 7c는 도 7b의 정점(g)을 (z, w) 평면 상에 표시한 것이다. 도 7d는 w=+x축을 기준으로 클리핑했을 때 정점(g)의 변화를 보여주고 있다. 도 7e는 도 7d를 2차원 평편으로 보여주는 도면이다. 도 7d 및 도 7e에 도시된 바와 같이, w=z=0인 정점 을 우면(+x)에 대해 클리핑을 수행하면 w는 0이 아닌 다른 값으로 변화하게 된다.
도 7a의 폴리곤 정점들(a, b, c)의 좌표 데이터는 도 4에 도시된 데이터 버퍼(460)를 통해 정점 메모리(490)로부터 독출되며, 또한 정점 좌표 계산기(430)로부터 출력되는 새로운 폴리곤들의 정점들(a, d, e), (a, e, f, g)의 좌표 데이터는 데이터 버퍼(460)를 통해 정점 메모리(490)에 저장된다.
상술한 바와 같이, 폴리곤을 뷰 볼륨의 전, 후, 좌, 우, 상, 하면 모두에 대한 클리핑 대신 전면 및 후면만 클리핑하여도 후속 단들에서 좌, 우, 상, 하면에 대한 클리핑과 동일한 결과를 얻을 수 있으므로 최근에는 전면 및 후면만 클리핑하는 기술이 널리 사용되고 있다. 그러나, 전면 및 후면에 대해서 클리핑을 수행했을 때 동치 좌표(V1(x,y,z,w))의 w=0인 경우가 발생할 수 있다. 이는 후속 단(stage)인 원근 계산 유닛(122)에서 x/w, y/w, z/w와 같은 연산을 수행할 때 잘못된 연산 결과를 유발한다. 그러므로, 전면 및 후면에 대한 클리핑을 수행하는 w=0이면 좌, 우, 상, 하면 중 어느 한 면에 대한 클리핑을 더 수행하여 w가 0이 아닌 다른 값으로 변화하도록 할 수 있다. 그 결과, 그래픽 처리 장치의 처리 속도는 향상되고 안정된 동작이 보장된다.
만일 전면(-z), 후면(+z) 그리고 우면(+x)에 에 대한 클리핑을 수행한 후 w=0이면 좌, 상, 하면 중 어느 한 면에 대한 클리핑을 다시 수행하여 w가 0이 아닌 다른 값이 되도록 FSM(410)은 상술한 과정을 반복적으로 수행한다.
예시적인 바람직한 실시예들을 이용하여 본 발명을 설명하였지만, 본 발명의 범위는 개시된 실시예들에 한정되지 않는다는 것이 잘 이해될 것이다. 오히려, 본 발명의 범위에는 다양한 변형 예들 및 그 유사한 구성들이 모두 포함될 수 있도록 하려는 것이다. 따라서, 청구범위는 그러한 변형 예들 및 그 유사한 구성들 모두를 포함하는 것으로 가능한 폭넓게 해석되어야 한다.
이와 같은 본 발명에 의하면 그래픽 처리 속도를 향상시키되 안정된 동작을 수행하는 그래픽 처리 시스템이 제공된다.

Claims (13)

  1. 제1 폴리곤을 뷰 볼륨의 전면으로 클리핑하여 제2 폴리곤을 생성하는 단계와;
    상기 제2 폴리곤을 상기 뷰 볼륨의 후면으로 클리핑하여 제3 폴리곤을 생성하는 단계와;
    상기 제3 폴리곤의 동치 좌표(w)가 0인지를 판별하는 단계; 그리고
    상기 제3 폴리곤의 상기 동치 좌표(w)가 0일 때 상기 제3 폴리곤을 상기 뷰 볼륨의 좌면, 우면, 상면 및 하면 중 어느 하나로 클리핑하는 단계를 포함하는 것을 특징으로 하는 그래픽 처리 방법.
  2. 제 1 항에 있어서,
    상기 제3 폴리곤의 상기 동치 좌표(w)가 0이 아니면 상기 제3 폴리곤에 대한 동치 좌표를 일반 좌표로 변환하는 단계를 더 포함하는 것을 특징으로 하는 그래픽 처리 방법.
  3. 제 1 항에 있어서,
    상기 제1 폴리곤의 정점들이 상기 뷰 볼륨의 전면의 안쪽에 위치할 때 상기 제1 폴리곤에 대한 동치 좌표를 일반 좌표로 변환하는 단계를 더 포함하는 것을 특징으로 하는 그래픽 처리 방법.
  4. 제 1 항에 있어서,
    상기 제2 폴리곤의 정점들이 상기 뷰 볼륨의 후면의 안쪽에 위치할 때 상기 제2 폴리곤에 대한 동치 좌표를 일반 좌표로 변환하는 단계를 더 포함하는 것을 특징으로 하는 그래픽 처리 방법.
  5. 제 1 항에 있어서,
    상기 제1 폴리곤의 정점들 각각의 동치 좌표(w)가 음수 또는 양수인지 판별하는 단계를 더 포함하며;
    상기 제1 폴리곤의 정점들 각각의 동치 좌표(w)가 모두 양수가 아니고 그리고 모두 음수가 아닐 때 상기 제1 폴리곤을 상기 뷰 볼륨의 상기 전면으로 클리핑하는 단계를 수행하는 것을 특징으로 하는 그래픽 처리 방법.
  6. 제어 신호들을 발생하는 제어 회로와;
    상기 제어 신호들에 응답해서 폴리곤의 정점들이 뷰 볼륨 내에 위치하는 지를 판별하는 폴리곤 뷰 볼륨 결정기; 그리고
    상기 제어 신호들에 응답해서 폴리곤을 상기 뷰 볼륨의 복수의 면들 중 하나로 클리핑하고, 새로운 폴리곤의 정점 좌표 데이터를 생성하는 정점 좌표 계산기를 포함하되;
    상기 제어 회로는, 상기 폴리곤에 대한 적어도 두 면들의 클리핑이 수행된 후 동치 좌표(w)가 0일 때 상기 새로운 폴리곤이 상기 뷰 볼륨의 복수의 면들 중 다른 면으로 클리핑되도록 제어하는 것을 특징으로 하는 그래픽 처리 장치.
  7. 제 6 항에 있어서,
    상기 제어 회로는,
    상기 폴리곤의 정점들 각각의 동치 좌표(w)가 모두 양수가 아니고 그리고 모두 음수가 아닐 때 상기 폴리곤을 상기 뷰 볼륨의 상기 복수의 면들 중 적어도 두 면들에 대한 클리핑이 수행되도록 제어하는 것을 특징으로 하는 그래픽 처리 장치.
  8. 제 6 항에 있어서,
    상기 정점 좌표 계산기에 의해서 계산된 폴리곤의 동치 좌표를 일반 좌표로 변환하는 원근 계산 유닛을 더 포함하는 것을 특징으로 하는 그래픽 처리 장치.
  9. 제 8 항에 있어서,
    상기 제어 회로는,
    상기 폴리곤의 상기 정점들이 상기 뷰 볼륨의 안쪽에 위치할 때 상기 정점 좌표 계산기에 의해서 계산된 폴리곤의 동치 좌표를 상기 원근 계산 유닛으로 입력하는 것을 특징으로 하는 그래픽 처리 장치.
  10. 제 9 항에 있어서,
    상기 폴리곤 뷰 볼륨 결정기는,
    상기 폴리곤의 상기 정점들이 상기 뷰 볼륨의 안쪽 또는 바깥쪽에 위치하는 지를 나타내는 위치 정보 신호를 상기 제어기로 제공하는 것을 특징으로 하는 그래픽 처리 장치.
  11. 제 10 항에 있어서,
    상기 폴리곤 뷰 볼륨 결정기는,
    상기 폴리곤의 상기 정점들의 좌표 데이터와 상기 뷰 볼륨의 좌표 데이터를 비교하고, 위치 정보 신호를 발생하는 비교 회로; 그리고
    상기 위치 정보 신호를 저장하기 위한 레지스터 블록을 포함하는 것을 특징으로 하는 그래픽 처리 장치.
  12. 제 11 항에 있어서,
    상기 폴리곤 뷰 볼륨 결정기는,
    상기 제어 회로로부터의 제1 선택 신호에 응답해서 상기 뷰 볼륨의 상기 복수의 면들 중 어느 하나에 대응하는 좌표 값을 출력하는 제1 멀티플렉서와;
    상기 제1 멀티플렉서로부터 출력되는 좌표 값과 상기 폴리곤의 동치 좌표(w)를 비교하고, 비교 결과를 출력하는 제1 판별기와;
    상기 제어 회로로부터의 제1 선택 신호에 응답해서 상기 뷰 볼륨의 상기 복수의 면들 중 어느 하나에 대응하는 좌표 값을 출력하는 제2 멀티플렉서; 그리고
    상기 제2 멀티플렉서로부터 출력되는 좌표 값과 상기 폴리곤의 상기 동치 좌 표(w)를 비교하고, 비교 결과를 출력하는 제2 판별기를 포함하는 것을 특징으로 하는 그래픽 처리 장치.
  13. 제 11 항에 있어서,
    상기 레지스터 블록은,
    상기 폴리곤의 정점들 각각의 동치 좌표(w)의 부호를 더 저장하는 것을 특징으로 하는 그래픽 처리 장치.
KR1020070001518A 2007-01-05 2007-01-05 3차원 그래픽 처리 장치 및 그것의 동작 방법 KR100848687B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070001518A KR100848687B1 (ko) 2007-01-05 2007-01-05 3차원 그래픽 처리 장치 및 그것의 동작 방법
US12/003,998 US20080165208A1 (en) 2007-01-05 2008-01-04 3-Dimensional graphic processing apparatus and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070001518A KR100848687B1 (ko) 2007-01-05 2007-01-05 3차원 그래픽 처리 장치 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20080064523A KR20080064523A (ko) 2008-07-09
KR100848687B1 true KR100848687B1 (ko) 2008-07-28

Family

ID=39593890

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070001518A KR100848687B1 (ko) 2007-01-05 2007-01-05 3차원 그래픽 처리 장치 및 그것의 동작 방법

Country Status (2)

Country Link
US (1) US20080165208A1 (ko)
KR (1) KR100848687B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013201377A1 (de) * 2013-01-29 2014-07-31 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Vorrichtung zum Verarbeiten von 3d-Bilddaten
KR102528240B1 (ko) * 2018-08-30 2023-05-02 삼성중공업 주식회사 3d 클리핑 기능을 가진 3d 뷰어
CN109712063B (zh) * 2018-12-12 2023-03-14 中国航空工业集团公司西安航空计算技术研究所 一种图形处理器平面剪裁电路

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10293853A (ja) 1997-04-21 1998-11-04 Mitsubishi Electric Corp クリップ処理装置
KR19980086392A (ko) * 1997-05-20 1998-12-05 윤종용 3-d 그래픽용 고속 클립핑
JP2002015337A (ja) 2000-06-28 2002-01-18 Victor Co Of Japan Ltd 3次元画像描画装置
KR20040036832A (ko) * 2002-10-25 2004-05-03 정보통신연구진흥원 3차원 데이터 처리시스템과 그 방법 및 3차원 데이터처리기능을 갖춘 프로그램이 수록된 기록매체
KR20050052673A (ko) * 2003-12-01 2005-06-07 엘지전자 주식회사 3차원 라인의 근사 클리핑 방법 및 이를 이용한 3차원영상의 표시방법
KR20050052672A (ko) * 2003-12-01 2005-06-07 엘지전자 주식회사 라인 클리핑 방법 및 라인 클리핑을 이용한 3차원 영상의표시방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2267203B (en) * 1992-05-15 1997-03-19 Fujitsu Ltd Three-dimensional graphics drawing apparatus, and a memory apparatus to be used in texture mapping
US6052129A (en) * 1997-10-01 2000-04-18 International Business Machines Corporation Method and apparatus for deferred clipping of polygons
US6525737B1 (en) * 1998-08-20 2003-02-25 Apple Computer, Inc. Graphics processor with pipeline state storage and retrieval
US6774895B1 (en) * 2002-02-01 2004-08-10 Nvidia Corporation System and method for depth clamping in a hardware graphics pipeline
EP1496475B1 (en) * 2003-07-07 2013-06-26 STMicroelectronics Srl A geometric processing stage for a pipelined graphic engine, corresponding method and computer program product therefor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10293853A (ja) 1997-04-21 1998-11-04 Mitsubishi Electric Corp クリップ処理装置
KR19980086392A (ko) * 1997-05-20 1998-12-05 윤종용 3-d 그래픽용 고속 클립핑
JP2002015337A (ja) 2000-06-28 2002-01-18 Victor Co Of Japan Ltd 3次元画像描画装置
KR20040036832A (ko) * 2002-10-25 2004-05-03 정보통신연구진흥원 3차원 데이터 처리시스템과 그 방법 및 3차원 데이터처리기능을 갖춘 프로그램이 수록된 기록매체
KR20050052673A (ko) * 2003-12-01 2005-06-07 엘지전자 주식회사 3차원 라인의 근사 클리핑 방법 및 이를 이용한 3차원영상의 표시방법
KR20050052672A (ko) * 2003-12-01 2005-06-07 엘지전자 주식회사 라인 클리핑 방법 및 라인 클리핑을 이용한 3차원 영상의표시방법

Also Published As

Publication number Publication date
US20080165208A1 (en) 2008-07-10
KR20080064523A (ko) 2008-07-09

Similar Documents

Publication Publication Date Title
JP3294149B2 (ja) 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置
US8059119B2 (en) Method for detecting border tiles or border pixels of a primitive for tile-based rendering
KR101145260B1 (ko) 3d 객체 모델에 텍스쳐를 매핑하는 방법 및 장치
US20090046098A1 (en) Primitive binning method for tile-based rendering
US10593096B2 (en) Graphics processing employing cube map texturing
US8072456B2 (en) System and method for image-based rendering with object proxies
US6664971B1 (en) Method, system, and computer program product for anisotropic filtering and applications thereof
RU2422902C2 (ru) Двумерная/трехмерная комбинированная визуализация
JP2007317204A (ja) 遠近補正を行う3次元グラフィック処理方法及び装置
JP2004005452A (ja) 画像処理装置、画像処理方法、半導体デバイス、コンピュータプログラム、記録媒体
KR100848687B1 (ko) 3차원 그래픽 처리 장치 및 그것의 동작 방법
JP7460641B2 (ja) 光強度画像を生成するための装置及び方法
JP2014505954A (ja) 仮想環境における隠蔽の推定方法
US6850244B2 (en) Apparatus and method for gradient mapping in a graphics processing system
JP2003115055A (ja) 画像生成装置
US6924805B2 (en) System and method for image-based rendering with proxy surface animation
JPH09245191A (ja) 透明度変換方法及びその装置、画像処理装置
KR101227155B1 (ko) 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법
US6518969B2 (en) Three dimensional graphics drawing apparatus for drawing polygons by adding an offset value to vertex data and method thereof
KR100684558B1 (ko) 텍스쳐 밉매핑 장치 및 방법
US11776179B2 (en) Rendering scalable multicolored vector content
US20230082839A1 (en) Rendering scalable raster content
FI108679B (fi) 3D-Grafiikkalaite
KR100715524B1 (ko) 3차원 지오메트리 프로세서 및 이의 제어 방법
KR0164160B1 (ko) 그래픽 처리장치

Legal Events

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

Payment date: 20110705

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee