KR19980071435A - 그래픽 표면 모델 맵핑을 위한 방법 및 장치 - Google Patents

그래픽 표면 모델 맵핑을 위한 방법 및 장치 Download PDF

Info

Publication number
KR19980071435A
KR19980071435A KR1019980004857A KR19980004857A KR19980071435A KR 19980071435 A KR19980071435 A KR 19980071435A KR 1019980004857 A KR1019980004857 A KR 1019980004857A KR 19980004857 A KR19980004857 A KR 19980004857A KR 19980071435 A KR19980071435 A KR 19980071435A
Authority
KR
South Korea
Prior art keywords
triangle
vertex
program code
interpolation
model
Prior art date
Application number
KR1019980004857A
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 야마자키 요시오
Publication of KR19980071435A publication Critical patent/KR19980071435A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • 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/20Finite element generation, e.g. wire-frame surface description, tesselation

Abstract

3차원 그래픽 렌더링에 있어서, 텍스쳐 맵핑 또는 셰이딩 방법은 원근 변환된 삼각형에 의한 그래픽 객체에 적용된다. 본 발명은 각 삼각형의 내부 점에 대한 적절한 맵핑을 결정하기 위해 직선 보간을 사용하여, 필요한 컴퓨터 집중 수학 계산을 저감한다. 높은 직선 보간 오차로 인한 시각적 인공물을 최소화하기 위해, 각 삼각형의 둘레를 소정의 임계값에 대하여 테스트하고, 그 둘레 중 어느 것이라도 임계값을 초과하는 최대 오차를 포함하면, 삼각형을 세분한다. 세분은 모든 삼각형 변이 임계값 이하의 최대 오차를 가질 때까지 계속된다. 그 후, 직선 보간을 사용하여 삼각형의 변 및 내부점에 대한 모든 맵핑을 결정한다. 다른 실시예에서, 삼각형은 순환적 방법을 사용하지 않고 세분된다. 하나의 비순환적 방법에서, 전체 삼각형은 삼각형 변이 임계값 이하의 최대 오차를 유지하도록 나누어져야 하는 필요한 수의 선분에 따라 균일하게 세분된다. 다른 비순환적 방법에서, w-이등변 삼각형은 부등변 사각형으로 세분되고, 이 부등변 사각형 각각은 w-이등변이고 대략 기하학적으로 이등변인 삼각형으로 세분된다.

Description

그래픽 표면 모델 맵핑을 위한 방법 및 장치
본 발명은 컴퓨터 그래픽 분야에 관한 것으로, 특히 컴퓨터 그래픽 시스템에 있어서 표면 특성(surface characteristics)을 3차원 그래픽 모델로 맵핑(mapping)하기 위한 계산 부담(computational load)을 저감하는 것에 관한 것이다.
컴퓨터 그래픽 분야에서는 다각형 세트를 사용하여 객체 공간(object space)에 3차원 객체를 렌더링(rendering)하는 것은 흔한 일이다. 단순화를 위해, 사용되는 다각형은 통상 삼각형이고, 다른 다각형 모양은 델로네 삼각 분할(Delauney triangulation) 등의 이용가능한 방법을 사용하여 삼각형으로 나누어진다. 따라서, 객체는 소망 객체의 모양을 함께 형성하도록 서로에 대하여 3차원 공간에 각각 위치결정되는 연속하는 삼각형 세트로 구성될 수 있다. 이들 삼각형 각각은 그의 정점(vertex) 각각에 대하여 직교 좌표값(Cartesian coordinate value) 세트를 갖는다. 이들 좌표 세트는 3차원 공간에 있어서 삼각형의 위치 및 방위를 유일하게 규정한다.
일반적으로, 직교 좌표계에 부가하여, 각각의 삼각형 정점은 고우러드 셰이딩(Gouraud shading)을 위해 적색, 녹색 및 청색값(r,g,b)을 텍스쳐 맵핑(texture mapping)하기 위한 택스쳐 맵 좌표(u,v) 또는 퐁 셰이딩(Phong shading)을 위한 정점 수직 좌표 N(x,y,z 좌표를 가짐) 등의 그의 표면 특성을 나타내는 값에 의해서도 규정된다. 삼각형으로부터 구축된 3차원 객체를 표시할 때, 각각의 삼각형은 먼저 3차원 좌표계에서 동차 좌표계(homogeneous coordinate)로 변환되어야 한다. 통상 이것은 삼각형 정점 각각에 대하여 동차 좌표값을 발생하는 원근 변환(perspective trasformation)을 사용하여 달성된다. 즉, 변환의 결과, 각각의 삼각형 정점은 수평 및 수직 표시 좌표(x,y)(일반적으로 z값은 가시도 결정(visibility determination_을 위해 유지됨) 뿐만 아니라 텍스쳐 맵 좌표(u,v) 등의 표면값 및 동차 좌표 w에 의해 나타내어진다.
애플리케이션에 따라, 삼각형은 셰이드(shade)되고 및/또는 텍스쳐 맵핑될 수 있다. 셰이딩이 고우러드 셰이딩인가 또는 퐁 셰이딩인가에 따라, 셰이딩 처리는 텍스쳐 맵핑과 매우 유사하게 되고, 이들 양자는 삼각형 내의 각 화소에 대한 색상의 결정에 기여한다. 텍스쳐 맵핑 및 셰이딩에 있어서, 화소 색을 나타내는 값 또는 값들은 그의 동차 좌표계에 규정되어 있는 삼각형의 각 화소에 할당되어야 한다. 일반적으로, 이것은 그의 각각이 수직 방향으로 하나의 화소폭을 갖는 수평 스팬으로 삼각형을 분할하고, 그 스팬의 단점(endpoint)에 대하여 텍스쳐 맵핑 또는 셰이딩값을 결정한 후, 그 사이의 화소에 대한 값을 결정하는 것에 의해 실행된다. 이 처리는 텍스쳐 맵핑에 대하여 다음에 설명하지만, 고우러드 또는 퐁 셰이딩에 대한 값의 결정과 마찬가지이다.
도 1에는 그의 각각이 그 자신의 값 세트(x,y,z,w,u,v)에 의해 유일하게 규정되는 3개의 정점 P0, P1, P2를 갖는 삼각형(10)이 도시되어 있다. 도면에 도시된 스팬(12) 등의 주어진 스팬에 대하여, 그 스팬내 화소 각각에 대한 값은 결정되어야 한다. 각각의 화소는 그의 3차원 직교 좌표(x,y,z) 및 원근 변환으로부터 찾은 그의 값 w에 의해 규정된다. 그러나, 텍스쳐 맵핑에 필요한 u 및 v의 값은 w를 사용하여 그 다음에 계산되어야 한다. 이 계산 처리는 그 화소를 포함하는 스팬의 끝에서의 값을 사용하고, 그 계산은 셰이딩 동작을 위해 r,g,b 또는 N을 결정하기 위한 계산과 매우 유사하다.
도 1을 참조할 때, 정점 P0가 값(x0,y0,z0,w0,u0,v0)에 의해 규정되고 정점 P1이 값(x1,y1,z1,w1,u1,v1)에 의해 규정되면, 스팬(12)의 단점 P3에 대한 소망값은 P0및 P1에 대한 값으로부터 찾을 수 있다. P3은 직교 좌표 x3및 y3을 갖고, 동차 좌표 w3은 다음과 같이 결정될 수 있고,
P3에 대한 u3의 값은 다음과 같이 계산될 수 있고,
여기서, t는 P0에서 t=0이고 P1에서 t=1로 되는 P0와 P1사이의 정규화 위치값(즉, 0부터 1까지)이다. 마찬가지로, 단점 P3에 대한 v3의 값은 다음과 같이 계산될 수 있다.
단점 P3과 같이, P4를 포함하는 선분이 P1과 P2사이를 연장하므로, 단점 P4에 대한 u4및 v4의 값은 정점P1을 규정하는 값과 정점 P2를 규정하는 값(즉, x2,y2,z2,w2,u2,v2)으로부터 계산될 수 있다.
도 1의 스팬(12)과 같은 스팬을 따른 점에 대한 u 및 v의 값은 단점에 있어서 u,v,w에 관한 상기 식을 사용하여 결정될 수 있다. 따라서, 스팬(12)에 위치한 점 P5에 대하여, 다음의 계산을 할 수 있다
.
이 방식으로, 삼각형의 모든 화소에 대해 맵핑이 종료될 때까지 각 스팬의 각 화소에 대한 u 및 v값을 찾을 수 있다.
객체의 삼각형 각각에 대하여 상기 계산을 실행하는 것은 표면 디테일이 제공되는 가장 정확한 방식이지만, 통상 다수의 계산이 요구되므로 처리 부담이 많게 된다. 이들 계산의 최대 계산 비용은 분할 기능을 실행하는 것이다. 예를 들면, u5를 결정하기 위해 필요한 계산은 5개의 분리된 분할 기능을 요구한다. 비록 1/w3및 1/w4의 값을 미리 계산해 둘 수는 있지만, 삼각형의 각 화소에 대하여 하나의 분할 기능이 계속 요구된다. 이들 분할을 실행하는 것은 회로 및 성능에 관하여 매우 고가이다.
실행되는 분할 횟수를 저감하는 하나의 방법은 u 또는 v에 대한 상기 식을 w0=w1로 가정하는 직선 개산(linear approximation)으로 치환하는 것이다. 예를 들면, 점 P5에 대한 값 u5를 결정하는 직선 개산은 다음과 같이 표현할 수 있다
.
v,r,g,b 또는 N의 값을 결정하기 위해 마찬가지 직선 개산을 사용할 수 있다. 직선 개산은 계산을 위한 분할을 요구하지 않으므로, 정확한 식보다 디지털 컴퓨터에서 계산하는 것이 매우 빠르게 된다. 그러나, w3및 w4의 값이 가깝지 않을 때, 개산도 그에 대응하여 부정확하게 된다. 그 결과, 이 종류의 직선 개산에 의존하는 텍스쳐 맵핑 또는 셰이딩을 사용하는 화상은 시각적 인공물(visible artifacts)을 갖는 경향이 있고, 그의 중대도(severity)는 계산에 사용되는 2개의 단점에 대한 w의 값 사이의 차분에 의존한다.
Donovan에게 허여된 미국 특허 5,594,846호는 각 스팬을 다수의 선분으로 나누고, 그 선분을 분리하는 점이 상술한 방식으로 수학적으로 계산된 u 등의 표면 특성을 갖는 스팬에 의한 렌더링 접근 방법(span-base rendering approach)을 개시하고 있다. 계산된 점 사이의 스팬 부분에 대한 u값은 보간(interpolation)에 의해 결정된다. 선분을 분리하는 계산된 점은, 보간의 사용에 기인하는 u의 오차가 소정의 양을 넘는 일없이, 형성된 선분이 가능한한 길게 되도록 선택된다. 이것에 의해, Donovan의 방법은 오차를 소망 임계값 이하로 유지하면서 비교적 적은 수의 계산을 허용한다. 물론, 스팬을 선분으로 나누는 스팬마다의 처리는 각 스팬에 대하여 결정된 각각의 새로운 점이 적어도 하나의 분할 동작을 사용하여 계산될 것을 요구한다.
본 발명은 다각형을 연속하는 작은 다각형으로 분할하기 위해, 다각형의 적응 세분(adaptive subdivision)을 사용하는 것에 의해, 모든 최종 다각형의 변 (및 다각형이 3개 이상의 변을 가지면, 대각선)에 대한 최대 오차가 소정의 임계값 이하로 될 때까지, 동차 좌표계에 있어서 다각형에 의해 그래픽적으로 표현된 객체의 다각형상에 표면 모델(즉, 텍스쳐 맵핑 또는 셰이딩을 위한 소망값)을 맵핑하기 위해 필요한 처리 시간 및 리소스의 현저한 저감을 허용한다. 다각형의 정점에 대한 표면 모델로부터의 적절한 값은 미리 알고 있고, 본 발명의 방법에 사용되도록 구해진다. 그후 다각형의 변 ( 및 필요에 따라, 대각선)은 그 변 또는 대각선을 따라 표면 모델값을 결정하기 위한 직선 보간의 사용으로부터 기인하는 각각에 대한 최대 오차를 결정하기 위해 테스트되고, 어떤 변 또는 대각선에 대한 오차가 소정의 임계값을 초과하면, 다각형은 부분 다각형으로 세분된다. 테스팅 처리는 부분 다각형의 아직 테스트되지 않은 변에 대하여 반복되고, 어떤 변 또는 대각선이 임계값을 초과하면, 그러한 변 또는 대각선을 포함하는 부분 다각형(들)은 세분된다. 이 처리는 임계값을 넘는 다각형 변 또는 대각선이 없을 때까지 계속되고, 이점에 있어서, 다각형 또는 부분 다각형의 점에 할당될 표면 모델로부터의 나머지 값은 다각형 또는 부분 다각형의 변을 따른 직선 보간과 다각형 또는 부분 다각형의 수평 스팬을 따른 직선 보간에 의해 결정된다.
다각형의 변에 대한 오차 테스팅을 제한하는 것에 의해 변과 마찬가지로 스팬에 대한 모든 오차가 소망 임계값 이하로 되는 것이 충분히 보장된다. 본 출원인은 직선 보간에 기인하는 최대 오차가 항상 다각형의 변 (및/또는 3개 이상의 변을 갖는 다각형에 대해서는 대각선)에 있다는 것을 발견하였다. 본 발명에 있어서, 3개 이상의 변을 갖는 다각형은 렌더링 처리가 단순화 되도록 공지의 방식으로 삼각형으로 분할되는 것이 바람직하다. 일단 모든 삼각형의 변이 선택된 임계값 이하의 최대 오차를 갖는 점으로 삼각형이 세분되면, 이들 다른 보간의 어느 것도 임계값 이상의 오차를 나타내지 않는다는 확신을 갖고, 모든 나머지 점을 직선 보간에 의해 계산할 수 있다. 따라서, 분할 동작에 의해 계산되어야 할 표면 모델 할당 횟수는 충분히 저감되고, 보간에 기인하는 시각적 인공물의 중대도가 소정의 수용가능한 임계값 이하로 유지된다.
본 발명은 표면 모델에서 렌더링되는 객체로의 맵핑을 모두 요구하는 텍스쳐 맵핑 또는 고우러드 또는 퐁 셰이딩 등의 기능에 특히 적절하다. 원근 변환을 사용하여 처음에 렌더링된 3차원 객체를 변환하는 것에 의해 얻는 객체는 동차 좌표계(예를 들면, x,y,z)에 렌더링된다. 일단 삼각형의 정점에 대한 적절한 맵핑값이 얻어지면, 삼각형 변 각각에 대한 최대 오차는 다음의 식을 사용하여 찾을 수 있고
여기서, 변의 제1 단점은 좌표(x0,y0,z0)를 갖는 정점 P0이고, 변의 제2 단점은 좌표(x1,y1,z1)를 갖는 정점 P1이며, α=min(w0,w1)/max(w0,w1)이다.
삼각형의 세분은 다수의 상이한 방식으로 실행될 수 있다. 기존의 정점과 원래의 삼각형 변 중 하나 사이에 새로운 삼각형 변을 작성하는 것에 의해, 그 삼각형이 2개의 삼각형으로 세분된다. 마찬가지로, 두번째 새로운 변도 세번째 부분 삼각형을 작성한다. 새로운 삼각형 변을 작성할 때, 그 변과 원래의 삼각형 변을 그 변의 중점에서 교차시키는 것에 의해 그 교점에서 만들어진 새로운 정점에 대한 값의 계산이 간단하게 된다. 또한, 원래의 변을 그 변을 따라 있는 최대 오차의 점에서 교차시키는 것에 의해, 그 변을 따른 추가 세분이 필요하게 될 가능성이 줄어든다. 하나의 실시예에서, 삼각형은 4개의 부분 삼각형으로 세분되고, 새로운 정점은 원래의 삼각형 변 각각의 중점에 위치하게 된다. 따라서, 부분 삼각형 각각은 원래의 삼각형과 유사하다.
본 발명은 삼각형을 세분하는 몇가지 비순환적 방법을 커버한다. 첫 번째로 균일 세분은 삼각형의 적어도 하나의 변이 소정의 임계값을 초과하는 최대 오차를 갖는가를 먼저 체크하는 것을 수반한다. 그렇다면, 각 변에 대한 최대 오차를 임계값 이하로 유지하기 위해 각각 나누어져야 할 선분이 몇 개인가를 결정하기 위해 삼각형의 변을 체크한다. 상이한 변에 대하여 필요한 선분의 개수 중에서, 가장 큰 것이 변의 각각이 분할될 선분의 개수로서 사용된다. 그후, 삼각형 변 각각을 등거리의 선분으로 세분하여, 변당 선분의 총수가 이전에 결정된 최대 개수로 된다. 그후, 각 변의 선분을 분리하는 점에서 새로운 정점이 만들어지고, 그것은 다수의 내부 삼각형이 작성되도록, 각각이 삼각형의 세변 중 하나와 평행한 직선과 서로 연결된다. 그후, 작성된 삼각형의 각 정점에 대하여 소망 표면 모델값이 정확히 계산되고 나서, 나머지 화소에 대한 값이 직선 보간에 의해 결정된다.
다른 비반복 세분 방법에서, 삼각형은 w-이등변 삼각형(w-isosceles triangle)만이 존재하도록 (필요에 따라) 분할된다. w-이등변 삼각형은 3개의 정점 중 2개가 동차 좌표 w에 대하여 동일한 값을 갖는 삼각형이다. 이 실시예에서, 각 w-이등변 삼각형은 다수의 부등변 사각형으로 분할되고, 부등변 사각형의 평행한 변은 w-이등변 삼각형의 밑변에 평행하고, 그 밑변은 동일한 값의 w를 갖는 2개의 정점에 의해 한정되는 변이다. 소망 표면 모델값(예를 들면, u)은 각 부등변 사각형의 정점에 대하여 정확히 계산된다. 그후, 각 부등변 사각형은 부분 삼각형으로 나누어지고, 그들 대부분 또는 모두는 w-이등변일 뿐만아니라 기하학적으로 이등변이다. 그후, 부분 삼각형의 내부 정점에 대한 소망 표면 모델값을 직선 보간을 사용하여 찾는다. 일단 이들이 결정되면, 나머지 화소에 대한 값은 직선 보간에 의해 결정된다. 이 처리는 w-이등변 삼각형 각각의 부등변 사각형 각각에 대하여 실행된다.
도 1은 수평 스팬을 사용하여 다각형에 대한 표면 디테일을 맵핑하는 종래 방법을 설명하는 도면.
도 2는 본 발명에 사용되기에 적합한 컴퓨터 시스템의 개략적 블록도.
도 2a는 도 2에 도시한 비디오 컨트롤러의 더욱 상세한 개략적 블록도.
도 3a는 본 발명에 따라 표면 디테일이 맵핑되는 삼각형을 도시한 도면.
도 3b는 본 발명에 따라 표면 디테일을 맵핑하는 절차를 설명하는 흐름도.
도 4는 본 발명에 따라 4개의 부분 삼각형으로 세분된 삼각형을 도시한 도면.
도 5는 본 발명에 따라 2개의 부분 삼각형으로 세분된 삼각형을 도시한 도면.
도 6은 본 발명에 따라 3개의 부분 삼각형으로 세분된 삼각형을 도시한 도면.
도 7은 본 발명의 비순환적 균일 삼각형 세분 방법을 설명하는 흐름도.
도 7a는 도 7에 도시한 방법에 따라 세분된 삼각형을 도시한 도면.
도 8 및 도 8a는 w-이등변 삼각형이 내부 부분 삼각형을 각각 갖는 부등변 사각형으로 나누어지는 비순환적 삼각형 세분 방법을 설명하는 흐름도.
도 8b는 도 8 및 도 8a에 도시된 방법을 사용하는 삼각형 세분법을 설명하는 흐름도.
*도면의 주요 부분에 대한 부호의 설명
100 : 컴퓨터 시스템 105 : CPU
110 : 시스템 RAM 115 : ROM
130 : 버스 140, 145, 197 : 컨트롤러
146 : CD-ROM 드라이브 147 : CD-ROM
142 : 디스켓 151 : 고정 디스크 드라이브
152 : 하드 디스크 160 : DMA 컨트롤러
165 : 비디오 컨트롤러 166 : 버스 인터페이스
167 : 그래픽 프로세서 169 : 드라이버 회로
196 : 주변 장치
처음에, 본 발명의 구성요소는 컴퓨터 분야의 숙련자에게 명확한 바와 같이, 본 명세서의 기술에 따라 프로그램된 종래의 범용 디지털 컴퓨터를 사용하여 형편좋게 구현될 수 있다는 것에 유의해야 한다. 적절한 소프트웨어 코딩은 소프트웨어 분야의 숙련자에게 명확한 바와 같이, 현재 기재된 기술에 따라 용이하게 준비될 수 있다. 본 발명은 당업자에게 명확한 바와 같이, 응용 주문형 집적 회로(application specific integrated circuits)를 마련하는 것에 의해 또는 종래 콤포넌트 디바이스 및 회로의 적절한 네트워크를 상호접속하는 것에 의해 구현될 수 있다.
도 2는 본 발명이 구현될 수 있는 IMB PC 호환 컴퓨터 등의 컴퓨터 시스템(100)의 시스템 아키택쳐를 도시하고 있다. 도 2의 예시적인 컴퓨터 시스템은 단지 예시만을 목적으로 한다. 비록 다음의 설명은 IBM PC 호환 컴퓨터 등의 특정 컴퓨터 시스템을 설명하는데 일반적으로 사용되는 것이지만, 그의 설명 및 개념은 도 2와 유사한 아키택쳐를 갖는 시스템을 포함하는 다른 시스템에도 균일하게 적용된다.
컴퓨터 시스템(100)은 종래 마이크로프로세서를 포함할 수 있는 중앙 처리 장치(central processing unit : CPU)(105), 정보의 일시 저장을 위한 랜덤 액세스 메모리(random access memory : RAM)(110) 및 정보의 영구 저장을 위한 리드 온리 메모리(read only memory : ROM)(115)를 구비한다. 메모리 컨트롤러(120)는 시스템 RAM(110)을 제어하기 위해 마련된 것이다. 버스 컨트롤러(125)는 버스(130)를 제어하기 위해 마련되고, 인터럽트 컨트롤러(135)는 다른 시스템 장치로부터 여러 가지 인터럽트 신호를 수신하여 처리하기 위해 사용된다.
대용량 기억 장치는 디스켓(142), CD-ROM(147) 또는 하드 디스크(152)에 의해 마련될 수 있다. 데이터 및 소프트웨어는 디스켓(142) 및 CD-ROM(147) 등의 유동 매체(removable media)를 거쳐 컴퓨터 시스템(100)과 교환될 수 있다. 디스켓(142)은 컨트롤러(140)에 의해 버스(130)에 접속된 디스크 드라이브(141)에 삽입된다. 마찬가지로, CD-ROM(147)은 컨트롤러(145)에 의해 버스(130)에 접속된 CD-ROM 드라이브(146)에 삽입된다. 마지막으로, 하드 디스크(152)는 컨트롤러(150)에 의해 버스(130)에 접속된 고정 디스크 드라이브(151)의 일부이다.
컴퓨터 시스템(100)으로의 사용자 입력은 다수의 장치에 의해 제공될 수 있다. 예를 들면, 키보드(156) 및 마우스(157)는 키보드와 마우스 컨트롤러(155)에의해 버스(130)에 접속된다. 옵션 주변 장치(196)는 RS-232 실리얼 포트 컨트롤러 또는 파라렐 포트 컨트롤러일 수 있는 컨트롤러(197)에 의해 버스(130)에 접속될 수 있다. 펜 및/또는 타블렛 및 음성 입력용 마이크로폰 등의 다른 입력 장치가 버스(130) 및 적절한 컨트롤러/소프트웨어를 통해 컴퓨터 시스템(100)에 접속될 수 있다는 것은 당업자에게 명확하다. DMA 컨트롤러(160)는 시스템 RAM(110)에 대한 직접 메모리 액세스를 실행하기 위해 마련된 것이다. 가시 표시(visual display)는 비디오 표시 장치(170)를 제어하는 비디오 컨트롤러(165)에 의해 발생된다.
도 2a를 참조하면, 비디오 컨트롤러(165)는 CPU(105) 또는 버스(130)를 액세스할 수 있는 컴퓨터(100) 내의 다른 장치와 비디오 컨트롤러(165) 사이의 그래픽 및 상태 정보의 바람직한 양방향 정보 교환이 허용되도록 버스(130)에 결합된 버스 인터페이스(166)를 구비한다. 또한, 비디오 컨트롤러(165)는 버스 인터페이스(166)에 결합된 그래픽 프로세서(167), 비디오 메모리(168), 및 표시 장치(170)에 결합된 드라이버 회로(169)를 구비한다. 그래픽 프로세서(167)는 버스 인터페이스(166)를 거쳐 공지의 방식으로 버스(130)에 있는 비디오 커맨드, 상태 정보 및 화상 데이터를 포함하는 그래픽 정보를 수신한다. 또한, 그래픽 프로세서(167)는 수신한 비디오 커맨드 또는 상태 정보를 해석하고, 그것에 응답하여 적절한 그래픽 처리 타스크를 실행한다. 이들 타스크는 그래픽 프로세서(167) 내에 또는 외부에 위치하는 저장 매체에 포함된 프로그램 코드 스테이트먼트(program code statements)로서 저장된 스레드 또는 그래픽 루틴의 일부분에 기초한다. 그러한 저장 매체는 온-보드(on-board) 비디오 메모리(168) 뿐만 아니라 그래픽 프로세서(167)의 일체화된 부품으로서 그 내부에 배치된 ROM 메모리(167a)를 구비할 수 있다.
또한, 온-보드 메모리(168)는 상술한 그래픽 프로세서(167)에 의해 처리가 실시되는 하나 이상의 화상 데이터 프레임을 구비한다. 일단 화상 데이터 프레임이 처리되면, 그래픽 프로세서(167)는 당분야에서 알려진 바와 같이, 표시 장치(170)로의 전송을 위한 대응 구동 신호가 발생되도록 그 프레임을 드라이버 회로(169)로 전달한다.
도 2를 참조하면, 컴퓨터 시스템(100)은 시스템이 버스(191) 및 네트워크(195)로 개략적으로 나타낸 근거리 통신망(local area network : LAN) 또는 광역 네트워크(wide area network : WAN) 또는 이서넷에 상호접속되는 것을 허용하는 통신 어댑터(190)를 구비한다. 또한, 통신 어댑터(190)는 PCMCIA 규격에 준하는 임의의 개수의 주변 장치가 당분야의 범위 내의 방식으로 컴퓨터 시스템(100)과 인터페이스하는 것을 허용하는 PCMCIA 버스 어댑터일 수 있다.
컴퓨터 시스템(100)은 일반적으로 미국 플로리다주 보카 라톤 소재 인터네셔널 비즈니스 머신 코포레이션으로부터 입수가능한 OS/2TM운영 시스템 또는 미국 워싱턴주 레드몬드 소재 마이크로소프트사로부터 입수가능한 WindowsNT 등의 운영 시스템 소프트웨어에 의해 제어 조정된다. 운영 시스템은 시스템 리소스의 할당을 제어하고, 처리 스케쥴링, 메모리 관리 및 네트워킹 등의 타스크와 그들사이의 I/O 서비스를 실행한다.
본 발명의 다음의 바람직한 실시예 각각에 있어서, 다음에 기술된 표면 맵핑 기술 및 적어도 하나의 순환적 또는 비순환적 삼각 세분 방법은 상술한 컴퓨터(100) 등의 범용 처리 시스템에서 실행되는 독립 루틴의 형태를 취한다. 이들 루틴은 컴퓨터(100)가 컴퓨터 판도가능 저장 매체로부터 그들의 대응 프로그래밍 명령을 판독하여 실행할 때 컴퓨터(100)가 비직선 투영 렌더링 기술 및 바람직한 실시예의 처리를 실행하는 것을 허용한다.
이들 루틴을 포함하는 저장 매체는 컴퓨터(100)의 내부에 또는 외부에 위치하는 플로피 디스크(142), CD-ROM(147) 등의 광디스크 또는 그의 자기 광학 변종, 하드 드라이브(152) 또는 디스크 어레이를 포함하는 모든 종류의 디스크 매체를 포함할 수 있다. 또한, 저장 매체는 ROM(115), 시스템 RAM(110), EPROM, EEPROM, 플래쉬 EEPROM 또는 컴퓨터 판독가능 명령 뿐만 아니라 당업자에게 이해되는 바와 같이 모든 루틴 조합을 저장하기에 적합한 모든 다른 종류의 매체를 포함할 수 있다.
또한, 이들 루틴은 그래픽 프로세서(167) 내에 일체화된 ROM 메모리(167a) 또는 비디오 메모리(168) 등의 그래픽 프로세서(167)(도 2a)에 의해 어드레스가능한 저장 매체 내에 수용될 수 있다. 또한, 비디오 컨트롤러(165)의 그래픽 프로세서(167)는 CPU(105) 또는 버스(130)에 결합된 다른 장치에 의해 버스 상의 그래픽 정보를 독립적으로 사용하여 상술한 비직선 렌더링 처리 및 루틴을 실행할 수 있다.
본 발명은 3차원 모델링된 객체로부터 텍스쳐 맵핑 및/또는 고우러드 또는 퐁 셰이딩을 위한 직선 근사값을 제공한다. 본 발명의 바람직한 실시예는 상이한 종류의 다각형에 의한 3차원 렌더링에 균일하게 적용가능하다. 그러나, 3개 이상의 변을 갖는 다각형에 대하여, 렌더링 처리는 델로네 삼각 분할 등의 방법에 의해 그들을 삼각형으로 줄이는 것에 의해, 렌더링 처리가 단순화된다. 따라서, 다음의 설명은 삼각형의 렌더링에 관한 것이다. 그러나, 당업자라면 본 발명의 원리가 다른 형태에도 물론 확장될 수 있다는 것을 알 것이다.
도 3A에는 표시 공간 즉, 사용자에게 표시될 화상의 화소에 대응하는 2차원 좌표계에 있어서 삼각형을 도시한 것이다. 상술한 바와 같이, 그래픽 화상은 통상 3차원 공간에서 정의된 후, 예를 들면 원근 변환을 통해 2차원 뷰잉 공간으로 변환된다. 도 3A의 실시예에서는 원근 변환의 사용에 의해 삼각형의 정점 P0,P1,P2이 형성되고, 이들 각각은 텍스쳐 맵핑 좌표(u,v) 등의 적절한 표면 모델 파라미터 뿐만 아니라, x 좌표, y 좌표 및 동차 좌표 w를 구비하는 한 세트의 값에 의해 정의된다. 그후, 삼각형의 다른 화소에 대한 표면 모델값을 결정할 필요가 있다. 다음의 설명은 텍스쳐 맵핑값 u의 값을 찾는 것에 관한 것이다. 택스쳐 맵핑에 대하여, 텍스쳐 맵핑값 v의 적절한 값을 결정하기 위해 처리가 반복된다. 당업자라면 이 절차가 r,g,b(고우러드 셰이딩) 또는 N(퐁 셰이딩)의 값을 찾는 데도 균일하게 적용가능한 것을 알 것이다.
본 발명의 여러 실시예는 장래 과도하게 될 보간에 의해 발생되는 오차로 인한 시각적 인공물의 발생을 회피하는 선택 방식으로 삼각형 화소의 표면 맵핑값의 결정에 직선 보간을 사용한다. 일반적으로, 삼각형 변 각각은 정확한 계산보다는 직선 보간의 사용에 의해 초래되는 최대 오차에 대하여 테스트된다. 최대 오차가 소정의 임계값 보다 적으면, 삼각형 내에 모든 화소를 렌더링하기 위해 보간이 사용된다. 그러나, 어떤 변의 최대 오차가 임계값을 초과하면, 각 삼각형 변의 최대 오차가 임계값 이하로 저감되도록 삼각형이 세분된다.
도 3B는 본 발명에 따라 표면 디테일을 맵핑하는 순환 방법을 설명하는 것이다. 도 3b의 단계(301)에서, 최대 오차를 테스트할 필요가 있는가를 알아보기 위해 삼각형의 크기를 결정한다. 단계(303)에서, 삼각형이 충분히 작다고(예를 들면, 각 변의 길이가 2 화소 이하임) 결정되면, 삼각형의 정점에서의 u의 값을 사용하여 삼각형의 다른 화소 각각에 대한 u의 값을 보간한다(단계 305). 이 경우, 삼각형은 직선 보간의 사용이 어떠한 현저한 시각적 인공물을 발생시키지 않을 정도로 작다.
단계(303)의 테스트에 의해 삼각형이 단계(305)에서 직선 보간을 허용하는 최대 크기보다 크다고 결정되면, 직선 보간의 사용에 기인하는 최대 오차를 삼각형 변 각각에 대하여 찾는다(단계 307). 주어진 변에 대한 최대 오차는 그 변의 단점에 있는 2개의 정점 각각에 대한 x,y,w의 값을 사용하여 찾는다. 예를 들면, 도 3A의 삼각형 변(14)의 최대 오차 e를 결정하기 위해, 정점 P0(즉, x0,y0,z0) 및 정점 P1(즉, x1,y1,z1)의 x,y,z의 값은 다음의 식에서 사용되고
여기서, α=min(w0,w1)/max(w0,w1)이다.
도 3B를 다시 참조하면, 삼각형의 세변 중 어느 것(예를 들면, 도 3A의 삼각형의 변(14, 16, 18))에 대한 e의 값이 소정의 임계값보다 크면(단계 309), 삼각형은 세분되고(단계 311), 세분에 의해 작성된 삼각형에 대하여 절차가 반복된다. 단계(313)에 도시한 바와 같이, 삼각형이 방금 세분되었으면 세분시 만들어진 삼각형 중 하나일 수 있는 다음 삼각형으로 처리가 진행한다. 특정 삼각형에 대하여, 단계(309)에서 임계값을 넘는 최대 오차를 갖는 삼각형의 변이 없을 때, 삼각형의 나머지 점은 직선 보간을 사용하여 맵핑된다(단계 305). 그후 모든 삼각형이 테스되었는가의 여부를 판정하기 위해 체크를 실행하고(단계 315), 그렇지 않으면, 다음 테스트되지 않은 삼각형에 대하여 절차가 사용된다(단계 313). 일단 모든 삼각형의 점이 맵핑되면, 절차는 종료한다.
상기 절차의 임계값은 미리 결정되어 당해 애플리케이션에 대하여 특정된다. 일반적으로, 최대 허용가능 근사 오차가 줄어들므로, 더 높은 화질은 더 낮은 임계값으로부터 기인한다. 그러나, 계산 트래드오프(computational tradeoff)에 대하여, 더 낮은 임계값은 통상 객체의 더 많은 양의 삼각형의 세분을 요구한다.
상술한 바와 같이, 바람직한 실시예의 최대 오차값의 테스팅은 삼각형의 변으로 제한된다. 예를 들면, 도 3A에 도시한 삼각형에 대하여, 이들 변을 따른 최대 오차가 임계값을 초과하는 가를 판정하기 위해 삼각형의 변(14, 16, 18)만이 테스트된다. 이것은 삼각형의 변을 따른 최대 오차가 항상 스팬 상의 것보다 항상 크다는 것을 본 발명자가 발견했기 때문이다. 일단 필요한 삼각형의 세분이 최종 삼각형의 변을 따른 모든 최대 오차를 임계값 이하의 양으로 저감하면, 삼각형의 스팬을 따른 최대 오차도 임계값 이하로 된다. 따라서, 삼각형의 다른 화소 모두에 대한 u 및 v 값을 결정하기 위해 직선 보간을 사용할 수 있다.
삼각형에 의한 렌더링에 대하여, 삼각형 변 중 하나의 최대 오차가 임계값을 넘으면, 삼각형이 세분되는 방식을 수반하는 여러 가지 상이한 반복 실시예가 있다. 도 4는 본 발명에 따라 삼각형의 각 변의 중점을 연결하는 것에 의해 4개의 분리된 삼각형으로 분할된 삼각형을 도시하고 있다. 이것에 의해, 이들 중점은 새로운 정점 P3,P4,P5로 된다. 이 방식으로 삼각형을 분할하는 것에 의해, 하드웨어 구현이 세분의 간단함으로 인해 더욱 용이하게 된다. 또한, 4개의 부분 삼각형 각각이 원래의 삼각형과 유사하므로, 부분 삼각형에 대하여 필요한 셋업 계산도 단순하게 된다.
도 5는 P0와 P4사이로 연장하는 새로운 삼각형 변의 하나의 단점인 새로운 정점 P4를 작성하는 것에 의해 2개의 삼각형으로 세분된 삼각형을 도시하고 있다. 이 방식으로 삼각형을 세분할 때, 새로운 정점은 최대 오차가 임계값을 초과하는 변을 따라 작성되는 것이 바람직하다. 도 5에 도시한 세분에 있어서, 변(16)이 분할되는 정점 P4는 정점 P1과 P2사이의 중점에 위치할 수 있다. 새로운 정점의 위치로서 변의 중점을 선택하는 것은 새로운 정점의 t값이 0.5로 되므로, 세분 처리를 단순화한다. 그러나, 점 P4도 분할되는 변(16)을 따른 최대 오차의 점으로서 선택될 수 있다. 분할점으로서 최대 오차의 점을 사용하는 것에 의해, 새로운 정점의 다른 변에 대하여 작성된 새로운 삼각형 변이 임계값 이하로 될 가능성이 증가한다. 이러한 최대 오차점은 다음의 식에 의해 결정되는 그의 t값에 의해 위치결정된다.
상술한 절차에 있어서, 최대 오차가 임계값을 초과하는 삼각형 변 각각은 새로운 정점에 의해 분할된다. 도 6에 도시한 예에서, 삼각형 변(14, 16)은 모두 분할되고, 그 각각에 대하여 임계값을 초과하는 최대 오차를 갖는가를 찾는다. 단일 분할된 변과 같이, 이들 2개의 분할된 변은 중점에서 또는 각 변의 최대 오차점에서 분할될 수 있다. 어떠한 경우에도, 원래의 삼각형은 3개의 삼각형으로 세분된다.
세분의 횟수에 관계없이, 새로운 삼각형 변은 이들 변 중 어떤 변의 최대 오차가 임계값을 초과하는가를 알기 위해 체크된다. 그렇다면, 삼각형은 다시 세분된다. 그렇지 않으면, 새로운 정점의 u값이 정확히 계산된다(즉, w에 의한 분할을 수반함). 새로운 정점에 의해 작성된 새로운 삼각형 변을 따른 점의 u값은 직선 보간에 의해 찾는다. 그후, 상술한 바와 같이, 삼각형의 변을 연결하는 스팬을 따른 점에 대하여 직선 보간을 사용한다. 그후, 객체의 렌더링에 사용되었던 삼각형 각각에 대하여 전체 절차가 반복된다.
도 4 내지 도 6과 관련하여 설명된 다른 종류의 세분 각각을 포함하는 도 3B의 방법은 절차를 필요한 수 만큼의 세분으로 제한시킨다. 그러나, 이 방법도 삼각형 변의 반복 체킹 및 새로운 삼각형을 작성하기 위한 삼각형의 전진 세분을 요구하는 점에 있어서 순환적이다. 반복 알고리즘은 일반적으로 높은 메모리 요구로 인해 하드웨어 가속법(hardware acceleration)에 적합하지 않다. 이하, 순환을 요구하지 않는 본 발명에 따른 2가지 세분 방법을 설명한다.
순환적 방법과 같이, 다음 방법은 직선 보간의 사용에 의해 발생된 삼각형의 최대 오차가 항상 삼각형 변에 위치한다는 효과를 사용한다. 도 7은 삼각형의 균일 세분 즉, 삼각형의 각 변에 동일한 수의 세분점이 있는 삼각형 세분을 사용하는 방법을 설명하는 흐름도이다.
도 7의 단계(701)에서, 상술한 실시예와 마찬가지 방식으로, 삼각형 변 각각에 대하여 최대 오차를 체크한다. 삼각 변 각각의 최대 오차가 임계값을 초과하지 않으면(단계 703), 삼각형의 모든 u값이 직선 보간에 의해 결정되고(단계 705), 절차가 종료한다. 상기 실시예와 같이, 이 실시예는 u값의 결정에 대하여 설명되지만, 당업자라면 동일한 방법이 고우러드 및 퐁 셰이딩에 필요한 v 좌표 또는 값의 결정에도 적용되는 것을 이해할 것이다.
단계(703)에서, 적어도 하나의 변이 임계값을 초과하는 최대 오차를 갖는 가를 찾고, 그 삼각형 변 상에 새로운 정점을 작성하는 것에 의해 삼각형의 변을 선분으로 나눈다. 먼저, 임계값보다 큰 최대 오차를 방지하기 위해 그 변에 필요한 최대 선분수를 결정하기 위해 각 변을 체크한다(단계 707). 최대 선분수 n은 그 변의 최대 오차 및 그 변을 한정하는 각 정점에서의 값을 사용하여 각 변에 대하여 찾을 수 있다. 예를 들면, 정점 P0및 P1에 의해 한정되는 도 3A에 도시한 삼각형의 변(14)은 다음과 같이 찾을 수 있는 최대 선분수 n을 갖고
여기서, ℓ은 변의 길이이고, β = 1/α = max(w0,w1)/min(w0,w1)이다.
각 변에 대하여 최대 선분수 n을 결정한 후, 3개의 변 각각에 대하여 가장 큰 n의 값을 각 변이 분할된 선분수로서 선택한다. 따라서, 변의 끝에 있는 정점으로부터 또한 서로 같은 거리에, 각 변을 따라 n-1개의 새로운 정점이 위치한다.(단계 709) 새로운 정점과 삼각형 변에 평행한 내부 스팬을 연결하는 것에 의해 다수의 부분 삼각형이 만들어진다(단계 711). 도 7A는 각 변이 3개의 선분으로 분할될 때 이 방식으로 도 3A의 삼각형을 세분한 것을 도시하고 있다. 삼각형 변 상에 있는 것 뿐만 아니라 내부에 있는 것을 포함하여, 각각의 최종 삼각형의 새로운 정점에 대한 u값을 정확히 계산한다(단계 713). 마지막으로, 삼각형내 다른 화소에 대한 나머지 u값을 직선 보간을 사용하여 찾는다(단계 715). 최대 보간 오차가 임계값을 초과하는 것을 충분히 방지하도록 작은 선분으로 변이 분할되므로, 삼각형의 내부 스팬의 최대 오차에 대해서도 마찬가지로 이것이 성립한다. 또한, 이 방법에는 순환이 필요없으므로, 시스템 메모리의 오버택싱(overtaxing)이 방지된다.
도 8 및 도 8a는 삼각형을 세분하는 다른 비순환적 방법을 설명하는 것이다. 상기와 같이, 이 방법은 값 u를 텍스쳐 맵핑하는 것에 대하여 설명되지만, 텍스쳐 맵핑값 v결정 및 고우러드 또는 퐁 셰이딩에 필요한 맵핑값 결정에도 적용가능하다. 이 방법에서, 세분은 w-이등변 삼각형(즉, w의 값이 2개의 정점에서 같은 삼각형) 특성의 이점을 취한다. 이 방법은 다른 방법과 같이, 상기 실시예에 대하여 설명된 것과 마찬가지 방식으로 삼각형의 각 변의 최대 오차를 체크하는 것부터 시작한다(단계 801). 삼각형 변 중 어느 변에 대하여 최대 오차가 소정의 임계값 보다 크지 않으면(단계 803), 보간에 의해 모든 u값을 결정하고(단계 805), 절차를 종료한다.
단계(803)에서, 어떤 변에 대한 최대 오차가 임계값보다 크면, 삼각형이 w-이등변인가를 판정하기 위해 삼각형의 정점에서의 w값을 체크한다(단계 807). 삼각형이 w-이등변이 아니면, 2개의 w-이등변 삼각형으로 나누어야 한다(단계 809). w의 값은 각각의 삼각형 변을 따라 선형으로 변하므로, 이러한 삼각형 분할은 w의 값이 그 변에 대향하는 정점의 w값과 동일한 점을 찾기 위해 삼각형 변 중 하나를 따라 직선 보간하는 것에 의해 용이하게 달성될 수 있다. 그 점 및 대향하는 정점으로부터 새로운 삼각형 변을 작성하는 것에 의해, 각각 w값이 동일한 2개의 단점을 갖는 밑변을 공유하는 2개의 삼각형이 발생된다.
일단 삼각형이 w-이등변 삼각형으로 분할되면, 이등변 삼각형 중 하나를 선택하고(단계 811), 이 방법은 단계(813)로 진행한다. 원래의 삼각형이 w-이등변으로 판정되면, 이 방법은 단계(807)에서 단계(813)로 직접 진행한다. 다음의 설명에서, w의 값이 동일한 2개의 단점을 갖는 w-이등변 삼각형의 변은 밑변이라고 하고, 변은 삼각형의 밑변이 아닌 2개의 변 각각을 설명하기 위해 사용된다. 단계(813)에서, 삼각형의 2개의 변 중 (어느것이라도 더 길면) 더 긴변을 그변을 따른 최대 오차 e가 임계값을 초과하는 것을 방지하기 위해 필요한 최소한의 수의 선분으로 분할한다. 이러한 분할은 제1 정점으로부터 그 변을 따른 최대로 가능한 오프셋을 찾는 것에 의해 달성된다.
세분될 삼각형이 도 3a에 도시된 것이고, 2개이 변 중 더 긴 변이 변(14)이면, 변(14)은 정점 P0와 P1사이에서 분할된다. 최대 오프셋 △x는 다음과 같이 찾을 수 있고
여기서, e는 상기와 같이 계산되는 그 변의 최대 오차이고, w1은 정점 P1에서의 w의 값이고, w0은 정점 P0에서의 w의 값이다. 이 식은 P0에 대하여 변(14)을 따른 제1 신규 정점의 위치를 제공한다. 다음 △x는 P1및 새로 작성된 정점을 사용하여 상술한 바와 같이 찾을 수 있다. 이것은 다음의 새로운 정점을 제공한다. 이 처리는 최대 오프셋 △x의 값이, 그 변을 따른 모든 새로운 정점이 확립되는 점에 있어서 삼각형 변을 따른 나머지 거리를 초과할 때까지 계속된다.
일단 그 삼각형의 변(14)을 따른 새로운 정점이 작성되면, 변(14)의 새로 작성된 정점에서 반대 변(도 3A의 변(18))으로 연장하고 밑변(16)에 평행한 새로운 밑변을 형성하는 것에 의해 그 삼각형으로부터 부등변 사각형이 작성된다. 도 8B는 이러한 종류의 삼각형 분할을 그림으로 설명하는 것이다. 부등변 사각형이 작성된 후, 부등변 사각형의 정점의 u값을 정확히 계산한다(단계 817). 그후, 각 부등변 사각형을 개별적으로 조작하고, 단계(819)에서 제1 부등변 사각형을 선택한다.
단계(821)에서, 시험될 부등변 사각형 내에 이등변 삼각형을 작도한다. 이들 삼각형은 원래의 삼각형의 밑변이 아닌 변 중 더 긴변부터 시작해서 작도된다. 도 8B는 그러한 삼각형을 설명하는 것이다. 예를 들어, 부등변 사각형(20)을 취할 때, 변(14)이 부등변 사각형(20)의 더 짧은 평행 밑변과 만나는 점부터 부등변 사각형(20)의 더 긴 밑변을 따라 있는 점으로 새로운 변(23)을 연장하는 것에 의해 이등변 삼각형(22)을 형성한다. 이 점은 삼각형 변(23)의 길이가 원래의 삼각형의 변(14)과 선을 공유하는 부등변 사각형 변의 길이와 같도록 선택된다. 따라서, 새로 작성된 삼각형(22)은 기하학적으로 이등변 삼각형이다. 또한, 부등변 사각형(20)의 더 긴 밑변은 w가 일정한 값인 직선이므로, 삼각형(22)도 w-이등변 삼각형이다.
삼각형(22)을 작성한 후, 변(23)과 부등변 사각형(20)의 더 긴 밑변의 교차점에서 부등변 사각형(20)의 더 짧은 평행변과의 교차점으로 변을 연장하는 것에 의해 다른 이등변 삼각형(24)을 형성한다. 새로운 변은 변(23)과 길이가 같으므로, 다른 삼각형(24)도 기하학적으로 이등변이고 w-이등변이다. 이 처리는 부등변 사각형(20) 내에 기하학적으로 유사한 이등변 삼각형을 위한 공간이 더 이상 남지 않을 때까지 계속된다. 마지막 삼각형 변은 마지막 새로운 삼각형 변과 부등변 사각형(20)의 더 긴 밑변의 교차점과 더 짧은 밑변이 원래의 삼각형의 변(18)과 교차하는 점 사이에서 작성된다. 이것은 기하학적으로는 이등변이 아니지만, 그럼에도 불구하고 w-이등변인 2개 이상의 삼각형을 작성한다.
도 8을 다시 참조하면, 일단 시험될 부등변 사각형의 내부 삼각형이 작도되면(단계 821), 내부 삼각형의 새로 작성된 정점의 u의 값은 보간에 의해 결정된다. 부등변 사각형의 정점에서 u의 값이 계산되었으므로, 또한 u는 w가 일정한 직선에 대하여 선형으로 변하므로, 부등변 사각형의 평행한 밑변을 따라 보간을 사용하는 것은 새로운 정점 각각에서 u의 정확한 값을 발생시킨다. 이러한 보간은 도 8a의 단계(823)로서 나타내어져 있다. 내부 삼각형의 모든 정점에 대한 u값이 허용되었으면, 그 삼각형의 나머지 u값을 보간에 의해 결정한다(단계 825). 부등변 사각형의 평행하지 않은 변은 임계값보다 크 오차를 방지할 정도로 충분히 짧기 때문에, 또한 평행하지 않은 부등변 사각형 변 보다 더 긴 내부 삼각형 변은 없으므로, 그들 점의 u의 보간에 기인하는 오차가 임계값을 어느쪽에서든 초과하지 않는다는 확신을 갖고 이들 내부 u점에 대하여 보간을 사용할 수 있다.
단계(827)에서, 모든 부등변 사각형의 u 값이 결정되었는가의 여부를 판정하기 위해 체크한다. 그렇지 않다면, 처리는 다음 부등변 사각형으로 이행하고(단계 829), 단계(821)부터 다시 시작해서 반복된다. 그 삼각형에 대한 부등변 사각형이 더 이상 남아있지 않으면, 원래의 삼각형의 분할에 기인하였고 아직 검사되지 않은 다른 w-이등변 삼각형이 있는가를 판정한다(단계 831). 그렇다면, 처리는 다음 w-이등변 삼각형으로 이행하고(단계 833), 단계(813)부터 시작해서 반복된다.
도 7 내지 도 8B의 비순환적 방법은 도 3 내지 도 6의 순환적 방법의 반복을 요구하지 않는다. 그러나, 양 방법에는 약간의 기본 원리가 존재한다. 모든 방법은 (직선 수학적 계산보다는) u를 결정하기 위한 보간에 기인하는 최대 오차가 항상 삼각형의 변 중 하나에 존재한다는 사실에 의존한다. 이것은 삼각형의 변이 그들에서 찾을 수 있는 최대 오차가 주어진 임계값 이하로 되도록 충분히 짧은 크기로 삼각형이 줄어든 것을 일단 알고 있으면 보간을 자유롭게 사용하는 상기 방법의 구현을 허용한다.
이상 본 발명은 그의 바람직한 실시예에 관하여 도시하고 설명하였지만, 당업자라면 첨부된 특허청구의 범위에 의해 한정된 본 발명의 정신 및 범위를 이탈하지 않고 여러 가지 변경이 가능하다는 것을 알 것이다. 상술한 바와 같이, 텍스쳐 맵핑 좌표u에 대하여 설명된 기술은 텍스쳐 맵핑 좌표 v의 값을 할당하는 데도 사용될 수 있고, 고우러드 셰이딩 및 퐁 셰이딩 등의 다른 종류의 비선형 맵핑에도 마찬가지로 적용가능하다. 고우러드 셰이딩에 대하여, 색값 적(r), 녹(g), 청(b)은 상술한 텍스쳐 맵핑 실시예에서 사용된 u 및 v값 대신 이들 값으로 단순히 치환하는 것에 의해 원근법적으로 정확한 방식으로 근사될 수 있다. 마찬가지로, 퐁 셰이딩 표면 디테일링을 채용할 때 적절한 원근법적으로 정확한 근사값을 얻기 위해 u 및 v값을 정상값 N으로 치환할 수 있다.
본 발명은 다각형을 연속하는 작은 다각형으로 분할하기 위해, 다각형의 적응 세분을 사용하는 것에 의해, 모든 최종 다각형의 변 (및 다각형이 3개 이상의 변을 가지면, 대각선)에 대한 최대 오차가 소정의 임계값 이하로 될 때까지, 동차 좌표계에 있어서 다각형에 의해 그래픽적으로 표현된 객체의 다각형상에 표면 모델(즉, 텍스쳐 맵핑 또는 셰이딩을 위한 소망값)을 맵핑하기 위해 필요한 처리 시간 및 리소스의 현저한 저감을 허용한다.

Claims (54)

  1. 객체 좌표계(object coordinate system) 내의 점에 의해 정해지고 다각형에 의해 그래픽적으로 표현된 객체(polygon-based, graphically-represented object)의 원근 투영(perspective projection)의 다각형 상으로 다수의 모델값을 포함하는 그래픽 표면 모델을 맵핑하는 방법에 있어서,
    (a) 정점에 할당될 정확한 모델값이 주어질 때, 어느 하나의 부분 다각형 변의 길이에 걸친 직선 보간에 의한 모델값의 결정이 소정의 임계값을 초과하는 보간 오차를 발생하지 않도록 다수의 변 및 다수의 정점을 각각 갖는 부분 다각형으로 다각형을 세분하는 단계;
    (b) 상기 부분 다각형의 정점에 대한 정확한 모델값을 결정하는 단계; 및
    (c) 보간에 의해 비정점 객체 점에 대응하는 모델값을 결정하는 단계를 포함하는
    그래픽 표면 모델 맵핑 방법.
  2. 제 1 항에 있어서,
    상기 다각형은 삼각형인 그래픽 표면 모델 맵핑 방법.
  3. 제 1 항에 있어서,
    주어진 부분 다각형에 대하여, 다수의 정점은 객체 좌표(x0,y0,z0)를 갖는 제1 정점 P0및 객체 좌표(x1,y1,z1)를 갖는 제2 정점 P1를 구비하고, 상기 정점 P0및 P1에 의해 한정된 부분 다각형 면에 대한 최대 오차 e를 결정하는 단계는 α=min(w0,w1)/max(w0,w1)일 때
    로 되는 최대 오차를 찾는 단계를 포함하는
    그래픽 표면 모델 맵핑 방법.
  4. 제 1 항에 있어서,
    상기 다각형을 세분하는 단계는 최대 보간 오차가 임계값을 초과하는 다각형의 제1 변을 따라 새로운 정점이 작성되도록 다각형을 세분하는 단계를 포함하는
    그래픽 표면 모델 맵핑 방법.
  5. 제 4 항에 있어서,
    상기 새로운 정점은 제1 변의 최대 보간 오차의 점에 실질적으로 위치하는 그래픽 표면 모델 맵핑 방법.
  6. 제 5 항에 있어서,
    상기 제1 변은 객체 좌표(x0,y0,z0)를 갖는 제1 정점 P0및 객체 좌표(x1,y1,z1)를 갖는 제2 정점 P1에 의해 한정되고, 상기 제1 변의 최대 오차점 tmaxerror은 다음과 같이 결정되는 그래픽 표면 모델 맵핑 방법
    .
  7. 제 4 항에 있어서,
    상기 새로운 정점은 실질적으로 상기 제1 변의 중점에 위치하는 그래픽 표면 모델 맵핑 방법.
  8. 제 1 항에 있어서,
    상기 다각형은 삼각형이고, 상기 삼각형을 세분하는 단계는 새로운 정점이 원래의 삼각형 변 각각의 중점에 작성되도록 삼각형을 4개의 삼각형으로 세분하는 단계를 포함하는 그래픽 표면 모델 맵핑 방법.
  9. 제 1 항에 있어서,
    상기 보간은 직선 보간인 그래픽 표면 모델 맵핑 방법.
  10. 객체 좌표계(object coordinate system) 내의 점에 의해 정해지고 삼각형에 의해 그래픽적으로 표현된 객체(triangle-based, graphically-represented object)의 원근 투영(perspective projection)의 삼각형 상으로 다수의 모델값을 포함하는 그래픽 표면 모델을 맵핑하는 방법에 있어서,
    (a) 삼각형의 각 정점에 대한 정확한 모델값을 구하는 단계;
    (b) 삼각형의 각 변에 대하여, 그 삼각형 변을 따른 모든 객체 점에 모델값이 할당되도록, 그 변의 단점에 있는 정점의 모델값에 따라, 보간이 사용에 기인하는 최대 보간 오차를 결정하는 단계;
    (c) 각 변의 최대 오차와 소정의 임계값을 비교하는 단계;
    (d) 삼각형을 부분 삼각형으로 세분하고, 삼각형 변 중 임의의 변의 최대 오차가 임계값을 초과하면 각 부분 삼각형에 대하여 상기 단계 (a), (b), (c) 및 (d)를 반복하는 단계; 및
    (e) 보간을 사용하여 비정점 객체점에 대응하는 모델값을 결정하는 단계를 포함하는
    그래픽 표면 모델 맵핑 방법.
  11. 제 10 항에 있어서,
    제1 끝에 있어서 객체 좌표가 (x1,y1,z1)인 정점 P1및 제2 끝에 있어서 객체 좌표가 (x0,y0,z0)인 정점 P0를 갖는 변에 대하여, 그 변에 대한 최대 오차는 α=min(w0,w1)/max(w0,w1)일 때
    로 되는 그래픽 표면 모델 맵핑 방법.
  12. 제 10 항에 있어서,
    상기 삼각형을 세분하는 단계는 실질적으로 삼각형 변 중 하나를 따라 최대 보간 오차의 점에 새로운 정점을 작성하는 단계를 포함하고, 상기 변이 동차 좌표 w1을 갖는 제1 끝에서 정점 P1을 갖고 동차 좌표 w2를 갖는 제2 끝에서 정점 P2를 가지면, 그 변에 대한 최대 오차점 tmaxerror은 다음과 같이 결정되는 그래픽 표면 모델 맵핑 방법
    .
  13. 제 10 항에 있어서,
    상기 삼각형을 세분하는 단계는 새로운 정점이 작성될 삼각형 변의 실질적으로 중점에 새로운 정점을 작성하는 단계를 포함하는 그래픽 표면 모델 맵핑 방법.
  14. 제 10 항에 있어서,
    상기 삼각형을 세분하는 단계는 새로운 정점이 원래의 삼각형 변 각각의 중점에 작성되도록 삼각형을 4개의 삼각형으로 세분하는 단계를 포함하는 그래픽 표면 모델 맵핑 방법.
  15. 객체 좌표계(object coordinate system) 내의 점에 의해 정해지고 삼각형에 의해 그래픽적으로 표현된 객체(triangle-based, graphically-represented object)의 원근 투영(perspective projection)의 삼각형 상으로 다수의 모델값을 포함하는 그래픽 표면 모델을 맵핑하고, 상기 삼각형이 다수의 변 및 다수의 정점을 갖는 그래픽 표면 모델 맵핑 방법에 있어서,
    (a) 정점에 할당될 정확한 모델값이 주어질 때, 어느 하나의 구간의 길이에 걸친 직선 보간에 의한 모델값의 결정이 임계값을 초과하는 오차를 발생하지 않는 길이를 각각의 구간이 갖도록, 삼각형 변 각각을 다수의 구간으로 분할하기 위해 삼각형 변을 따라 새로운 정점을 작성하는 단계;
    (b) 선분 사이의 교점에 정점을 갖는 내부 부분 삼각형이 작성되도록, 원래의 삼각형 변에 평행한 선분과 상기 새로운 정점을 서로 연결하는 단계;
    (c) 상기 부분 삼각형의 정점 각각에 대한 정확한 모델값을 결정하는 단계; 및
    (d) 보간을 사용하여 비정점 객체점에 대응하는 모델값을 결정하는 단계를 포함하는
    그래픽 표면 모델 맵핑 방법.
  16. 제 15 항에 있어서,
    삼각형의 각 변에 대하여, 삼각형의 그 변을 따라 객체점에 모델값을 할당할 때 보간의 사용에 기인하는 보간 오차가 임계값을 초과하지 않으면, 상기 단계 (a) 내지 (c)를 생략하는 단계를 더 포함하는 그래픽 표면 모델 맵핑 방법.
  17. 객체 좌표계(object coordinate system) 내의 점에 의해 정해지고 삼각형에 의해 그래픽적으로 표현된 객체(triangle-based, graphically-represented object)의 원근 투영(perspective projection)의 w-이등변 삼각형(w-isosceles triangle) 상으로 다수의 모델값을 포함하는 그래픽 표면 모델을 맵핑하고, 상기 삼각형이 2개의 변 및 하나의 밑변을 갖고, 상기 밑변이 동일한 값의 동차 좌표 w를 각각 갖는 2개의 정점에 의해 한정되는 그래픽 표면 모델 맵핑 방법에 있어서,
    (a) 4개의 정점, 삼각형의 밑변에 평행한 2개의 밑변 및 삼각형 변 중 하나와 직선을 각각 공유하는 2개의 변을 각각 갖고, 상기 정점에 할당될 정확한 모델값이 주어질 때, 그의 변을 따른 모델값의 보간이 소정의 임계값을 초과하는 보간 오차를 발생하지 않는 길이의 변을 갖는 다수의 부등변 사각형으로 삼각형을 분할하는 단계;
    (b) 각 부등변 사각형의 정점에 대한 정확한 모델값을 결정하는 단계;
    (c) 각 부등변 사각형의 내부를 다수의 w-이등변 부분 삼각형으로 세분하는 단계; 및
    (d) 보간에 의해 삼각형의 나머지 객체점에 대한 모델값을 결정하는 단계를 포함하는
    그래픽 표면 모델 맵핑 방법.
  18. 제 17 항에 있어서,
    상기 단계 (c)는 각 부등변 사각형 내에 다수의 기하학적 이등변 부분 삼각형을 형성하는 단계를 포함하는 그래픽 표면 모델 맵핑 방법.
  19. 제 17 항에 있어서,
    삼각형의 각 변에 대하여, 삼각형의 그 변을 따라 객체점에 모델값을 할당할 때 보간의 사용에 기인하는 보간 오차가 임계값을 초과하지 않으면, 상기 단계 (a) 내지 (c)를 생략하는 단계를 더 포함하는 그래픽 표면 모델 맵핑 방법.
  20. 제 17 항에 있어서,
    w-이등변이 아닌 삼각형을 2개의 w-이등변 삼각형으로 분할하는 것에 의해 상기 w-이등변 삼각형을 작성하는 단계를 더 포함하는 그래픽 표면 모델 맵핑 방법.
  21. 제 17 항에 있어서,
    상기 단계 (d)는 보간에 의해 이등변 부분 삼각형의 정점에 대한 모델값을 먼저 결정한 후, 보간에 의해 삼각형의 다른 나머지 객체점에 대한 모델값을 결정하는 단계를 포함하는 그래픽 표면 모델 맵핑 방법.
  22. 객체 좌표계(object coordinate system) 내의 점에 의해 정해지고 다각형에 의해 그래픽적으로 표현된 객체(polygon-based, graphically-represented object)의 원근 투영(perspective projection)의 다각형 상으로 다수의 모델값을 포함하는 그래픽 표면 모델을 맵핑하기 위한 컴퓨터 프로그램 제품(computer program product)에 있어서,
    정점에 할당될 정확한 모델값이 주어질 때, 어느 하나의 부분 다각형 변의 길이에 걸친 직선 보간에 의한 모델값의 결정이 소정의 임계값을 초과하는 보간 오차를 발생하지 않도록, 다수의 변 및 다수의 정점을 각각 갖는 부분 다각형으로 다각형을 세분하는 단계 (a)를 실행하기 위한 프로그램 코드;
    상기 부분 다각형의 정점에 대한 정확한 모델값을 결정하는 단계 (b)를 실행하기 위한 프로그램 코드; 및
    보간에 의해 비정점 객체 점에 대응하는 모델값을 결정하는 단계 (c)를 실행하기 위한 프로그램 코드를 포함하는
    컴퓨터 프로그램 제품.
  23. 제 22 항에 있어서,
    상기 단계 (a)를 실행하기 위한 프로그램 코드는 최대 보간 오차가 임계값을 초과하는 제1 변을 따라 새로운 정점이 작성되도록 다각형을 세분하기 위한 프로그램 코드를 포함하는
    컴퓨터 프로그램 제품.
  24. 제 22 항에 있어서,
    상기 단계 (a)를 실행하기 위한 프로그램 코드는 실질적으로 상기 제1 변의 중점에 새로운 정점을 위치결정하기 위한 프로그램 코드를 더 포함하는 컴퓨터 프로그램 제품.
  25. 제 22 항에 있어서,
    상기 다각형은 삼각형이고, 상기 단계 (a)를 실행하기 위한 프로그램 코드는 새로운 정점이 원래의 삼각형 변 각각의 중점에 작성되도록 삼각형을 4개의 삼각형으로 세분하기 위한 프로그램 코드를 더 포함하는 컴퓨터 프로그램 제품.
  26. 객체 좌표계(object coordinate system) 내의 점에 의해 정해지고 삼각형에 의해 그래픽적으로 표현된 객체(triangle-based, graphically-represented object)의 원근 투영(perspective projection)의 삼각형 상으로 다수의 모델값을 포함하는 그래픽 표면 모델을 맵핑하기 위한 컴퓨터 프로그램 제품에 있어서,
    삼각형의 각 정점에 대한 정확한 모델값을 구하는 단계 (a)를 실행하기 위한 프로그램 코드;
    삼각형의 각 변에 대하여, 그 삼각형 변을 따른 객체 점에 모델값이 할당되도록, 그 변의 단점에 있는 정점의 모델값에 따라, 보간의 사용에 기인하는 최대 보간 오차를 결정하는 단계 (b)를 실행하기 위한 프로그램 코드;
    각 변의 최대 오차와 소정의 임계값을 비교하는 단계 (c)를 실행하기 위한 프로그램 코드;
    삼각형을 부분 삼각형으로 세분하고, 삼각형 변 중 임의의 변의 최대 오차가 임계값을 초과하면 각 부분 삼각형에 대하여 상기 단계 (a), (b), (c) 및 (d)를 반복하는 단계 (d)를 실행하기 위한 프로그램 코드; 및
    보간을 사용하여 비정점 객체점에 대응하는 모델값을 결정하는 단계 (e)를 실행하기 위한 프로그램 코드를 포함하는
    컴퓨터 프로그램 제품.
  27. 객체 좌표계(object coordinate system) 내의 점에 의해 정해지고 삼각형에 의해 그래픽적으로 표현된 객체(polygon-based, graphically-represented object)의 원근 투영(perspective projection)의 삼각형 상으로 다수의 모델값을 포함하는 그래픽 표면 모델을 맵핑하고, 상기 삼각형이 다수의 변 및 다수의 정점을 갖는 컴퓨터 프로그램 제품에 있어서,
    정점에 할당될 정확한 모델값이 주어질 때, 어느 하나의 구간의 길이에 걸친 직선 보간에 의한 모델값의 결정이 임계값을 초과하는 오차를 발생하지 않는 길이를 각각의 구간이 갖도록, 삼각형 변 각각을 다수의 구간으로 분할하기 위해 삼각형 변을 따라 새로운 정점을 작성하는 단계 (a)를 실행하기 위한 프로그램 코드;
    선분 사이의 교점에 정점을 갖는 내부 부분 삼각형이 작성되도록, 원래의 삼각형 변에 평행한 선분과 상기 새로운 정점을 서로 연결하는 단계 (b)를 실행하기 위한 프로그램 코드;
    상기 부분 삼각형의 정점 각각에 대한 정확한 모델값을 결정하는 단계 (c)를 실행하기 위한 프로그램 코드; 및
    직선 보간을 사용하여 각 비정점 객체점에 대응하는 모델값을 결정하는 단계(d)를 실행하기 위한 프로그램 코드를 포함하는
    컴퓨터 프로그램 제품.
  28. 제 27 항에 있어서,
    삼각형의 각 변에 대하여, 삼각형의 그 변을 따라 객체점에 모델값을 할당할 때 보간의 사용에 기인하는 보간 오차가 임계값을 초과하지 않으면, 상기 단계 (a) 내지 (c)를 생략하기 위한 프로그램 코드를 더 포함하는 컴퓨터 프로그램 제품.
  29. 객체 좌표계(object coordinate system) 내의 점에 의해 정해지고 삼각형에 의해 그래픽적으로 표현된 객체(triangle-based, graphically-represented object)의 원근 투영(perspective projection)의 w-이등변 삼각형 상으로 다수의 모델값을 포함하는 그래픽 표면 모델을 맵핑하고, 상기 삼각형이 2개의 변 및 하나의 밑변을 갖고, 상기 밑변이 동일한 값의 동차 좌표 w를 각각 갖는 2개의 정점에 의해 한정되는 컴퓨터 프로그램 제품에 있어서,
    4개의 정점, 삼각형의 밑변에 평행한 2개의 밑변 및 삼각형 변 중 하나와 직선을 각각 공유하는 2개의 변을 갖고, 상기 정점에 할당될 정확한 모델값이 주어질 때, 그의 변을 따른 모델값의 보간이 소정의 임계값을 초과하는 보간 오차를 발생하지 않는 길이의 변을 갖는 다수의 부등변 사각형으로 삼각형을 분할하는 단계 (a)를 실행하기 위한 프로그램 코드;
    각 부등변 사각형의 정점에 대한 정확한 모델값을 결정하는 단계 (b)를 실행하기 위한 프로그램 코드;
    각 부등변 사각형의 내부를 다수의 w-이등변 부분 삼각형으로 세분하는 단계 (c)를 실행하기 위한 프로그램 코드; 및
    보간에 의해 삼각형의 나머지 객체점에 대한 모델값을 결정하는 단계 (d)를 실행하기 위한 프로그램 코드를 포함하는
    컴퓨터 프로그램 제품.
  30. 제 29 항에 있어서,
    삼각형의 각 변에 대하여, 삼각형의 그 변을 따라 객체점에 모델값을 할당할 때 보간의 사용에 기인하는 보간 오차가 임계값을 초과하지 않으면, 상기 단계 (a) 내지 (c)를 생략하기 위한 프로그램 코드를 더 포함하는 컴퓨터 프로그램 제품.
  31. 제 29 항에 있어서,
    상기 단계 (c)를 실행하기 위한 프로그램 코드는 각 부등변 사각형 내에 다수의 기하학적 이등변 삼각형을 형성하기 위한 프로그램 코드를 더 포함하는 컴퓨터 프로그램 제품.
  32. 제 29 항에 있어서,
    w-이등변이 아닌 삼각형을 2개의 w-이등변 삼각형으로 분할하는 것에 의해 상기 w-이등변 삼각형을 작성하기 위한 프로그램 코드를 더 포함하는 컴퓨터 프로그램 제품.
  33. 객체 좌표계(object coordinate system) 내의 점에 의해 정해지고 다각형에 의해 그래픽적으로 표현된 객체(polygon-based, graphically-represented object)의 원근 투영(perspective projection)의 다각형 상으로 다수의 모델값을 포함하는 그래픽 표면 모델을 맵핑하기 위한 프로그램 코드를 저장하는 저장 매체를 포함하는 컴퓨터 장치에 있어서,
    상기 저장 매체는
    정점에 할당될 정확한 모델값이 주어질 때, 어느 하나의 부분 다각형 변의 길이에 걸친 직선 보간에 의한 모델값의 결정이 소정의 임계값을 초과하는 보간 오차를 발생하지 않도록, 다수의 변 및 다수의 정점을 각각 갖는 부분 다각형으로 다각형을 세분하는 단계 (a)를 실행하기 위한 프로그램 코드;
    상기 부분 다각형의 정점에 대한 정확한 모델값을 결정하는 단계 (b)를 실행하기 위한 프로그램 코드; 및
    보간에 의해 비정점 객체 점에 대응하는 모델값을 결정하는 단계 (c)를 실행하기 위한 프로그램 코드를 포함하는
    컴퓨터 장치.
  34. 제 33 항에 있어서,
    상기 단계 (a)를 실행하기 위한 프로그램 코드는 최대 보간 오차가 임계값을 초과하는 제1 변을 따라 새로운 정점이 작성되도록 다각형을 세분하기 위한 프로그램 코드를 포함하는
    컴퓨터 장치.
  35. 제 33 항에 있어서,
    상기 단계 (a)를 실행하기 위한 프로그램 코드는 실질적으로 상기 제1 변의 중점에 새로운 정점을 위치결정하기 위한 프로그램 코드를 더 포함하는 컴퓨터 장치.
  36. 제 33 항에 있어서,
    상기 다각형은 삼각형이고, 상기 단계 (a)를 실행하기 위한 프로그램 코드는 새로운 정점이 원래의 삼각형 변 각각의 중점에 작성되도록 삼각형을 4개의 삼각형으로 세분하기 위한 프로그램 코드를 더 포함하는 컴퓨터 장치.
  37. 객체 좌표계(object coordinate system) 내의 점에 의해 정해지고 삼각형에 의해 그래픽적으로 표현된 객체(triangle-based, graphically-represented object)의 원근 투영(perspective projection)의 삼각형 상으로 다수의 모델값을 포함하는 그래픽 표면 모델을 맵핑하기 위한 프로그램 코드를 저장하는 저장 매체를 포함하는 컴퓨터 장치에 있어서,
    상기 저장 매체는
    삼각형의 각 정점에 대한 정확한 모델값을 구하는 단계 (a)를 실행하기 위한 프로그램 코드;
    삼각형의 각 변에 대하여, 그 삼각형 변을 따른 객체 점에 모델값이 할당되도록, 그 변의 단점에 있는 정점의 모델값에 따라, 보간의 사용에 기인하는 최대 보간 오차를 결정하는 단계 (b)를 실행하기 위한 프로그램 코드;
    각 변의 최대 오차와 소정의 임계값을 비교하는 단계 (c)를 실행하기 위한 프로그램 코드;
    삼각형을 부분 삼각형으로 세분하고, 삼각형 변 중 임의의 변의 최대 오차가 임계값을 초과하면 각 부분 삼각형에 대하여 상기 단계 (a), (b), (c) 및 (d)를 반복하는 단계 (d)를 실행하기 위한 프로그램 코드; 및
    보간을 사용하여 비정점 객체점에 대응하는 모델값을 결정하는 단계 (e)를 실행하기 위한 프로그램 코드를 포함하는
    컴퓨터 장치.
  38. 객체 좌표계(object coordinate system) 내의 점에 의해 정해지고 삼각형에 의해 그래픽적으로 표현된 객체(triangle-based, graphically-represented object)의 원근 투영(perspective projection)의 삼각형 상으로 다수의 모델값을 포함하는 그래픽 표면 모델을 맵핑하기 위한 프로그램 코드를 저장하는 저장 매체를 포함하고, 상기 삼각형이 다수의 변 및 다수의 정점을 갖는 컴퓨터 장치에 있어서,
    상기 저장 매체는
    정점에 할당될 정확한 모델값이 주어질 때, 어느 하나의 구간의 길이에 걸친 직선 보간에 의한 모델값의 결정이 임계값을 초과하는 오차를 발생하지 않는 길이를 각각의 구간이 갖도록, 삼각형 변 각각을 다수의 구간으로 분할하기 위해 삼각형 변을 따라 새로운 정점을 작성하는 단계 (a)를 실행하기 위한 프로그램 코드;
    선분 사이의 교점에 정점을 갖는 내부 부분 삼각형이 작성되도록, 원래의 삼각형 변에 평행한 선분과 상기 새로운 정점을 서로 연결하는 단계 (b)를 실행하기 위한 프로그램 코드;
    상기 부분 삼각형의 정점 각각에 대한 정확한 모델값을 결정하는 단계 (c)를 실행하기 위한 프로그램 코드; 및
    직선 보간을 사용하여 각 비정점 객체점에 대응하는 모델값을 결정하는 단계(d)를 실행하기 위한 프로그램 코드를 포함하는
    컴퓨터 장치.
  39. 제 38 항에 있어서,
    상기 저장 매체는 삼각형의 각 변에 대하여, 삼각형의 그 변을 따라 객체점에 모델값을 할당할 때 보간의 사용에 기인하는 보간 오차가 임계값을 초과하지 않으면, 상기 단계 (a) 내지 (c)를 생략하기 위한 프로그램 코드를 더 포함하는 컴퓨터 장치.
  40. 객체 좌표계(object coordinate system) 내의 점에 의해 정해지고, 삼각형에 의해 그래픽적으로 표현된 객체(triangle-based, graphically-represented object)의 원근 투영(perspective projection)의 w-이등변 삼각형 상으로 다수의 모델값을 포함하는 그래픽 표면 모델을 맵핑하기 위한 프로그램 코드를 저장하는 저장 매체를 포함하고, 상기 삼각형이 2개의 변 및 하나의 밑변을 갖고, 상기 밑변이 동일한 값의 동차 좌표 w를 각각 갖는 2개의 정점에 의해 한정되는 컴퓨터 장치에 있어서,
    상기 저장 매체는
    4개의 정점, 삼각형의 밑변에 평행한 2개의 밑변 및 삼각형 변 중 하나와 직선을 각각 공유하는 2개의 변을 갖고, 상기 정점에 할당될 정확한 모델값이 주어질 때, 그의 변을 따른 모델값의 보간이 소정의 임계값을 초과하는 보간 오차를 발생하지 않는 길이의 변을 갖는 다수의 부등변 사각형으로 삼각형을 분할하는 단계 (a)를 실행하기 위한 프로그램 코드;
    각 부등변 사각형의 정점에 대한 정확한 모델값을 결정하는 단계 (b)를 실행하기 위한 프로그램 코드;
    각 부등변 사각형의 내부를 다수의 w-이등변 부분 삼각형으로 세분하는 단계 (c)를 실행하기 위한 프로그램 코드; 및
    보간에 의해 삼각형의 나머지 객체점에 대한 모델값을 결정하는 단계 (d)를 실행하기 위한 프로그램 코드를 포함하는
    컴퓨터 장치.
  41. 제 40 항에 있어서,
    상기 저장 매체는 삼각형의 각 변에 대하여, 삼각형의 그 변을 따라 객체점에 모델값을 할당할 때 보간의 사용에 기인하는 보간 오차가 임계값을 초과하지 않으면, 상기 단계 (a) 내지 (c)를 생략하기 위한 프로그램 코드를 더 포함하는 컴퓨터 장치.
  42. 제 40 항에 있어서,
    상기 단계 (c)를 실행하기 위한 프로그램 코드는 각 부등변 사각형 내에 다수의 기하학적 이등변 삼각형을 형성하기 위한 프로그램 코드를 더 포함하는 컴퓨터 장치.
  43. 제 40 항에 있어서,
    상기 저장 매체는 w-이등변이 아닌 삼각형을 2개의 w-이등변 삼각형으로 분할하는 것에 의해 상기 w-이등변 삼각형을 작성하기 위한 프로그램 코드를 더 포함하는 컴퓨터 장치.
  44. 객체 좌표계(object coordinate system) 내의 점에 의해 정해지고 다각형에 의해 그래픽적으로 표현된 객체(polygon-based, graphically-represented object)의 원근 투영(perspective projection)의 다각형 상으로 다수의 모델값을 포함하는 그래픽 표면 모델을 맵핑하기 위한 프로그램 코드를 저장하는 저장 매체와 통신하는 그래픽 프로세서를 포함하고, 호스트 프로세서와 사용자에게 그래픽 화상을 표시하는 표시 장치 사이에서 그래픽 데이터를 교환하기 위한 비디오 컨트롤러 장치에 있어서,
    상기 저장 매체는
    정점에 할당될 정확한 모델값이 주어질 때, 어느 하나의 부분 다각형 변의 길이에 걸친 직선 보간에 의한 모델값의 결정이 소정의 임계값을 초과하는 보간 오차를 발생하지 않도록, 다수의 변 및 다수의 정점을 각각 갖는 부분 다각형으로 다각형을 세분하는 단계 (a)를 실행하기 위한 프로그램 코드;
    상기 부분 다각형의 정점에 대한 정확한 모델값을 결정하는 단계 (b)를 실행하기 위한 프로그램 코드; 및
    보간에 의해 비정점 객체 점에 대응하는 모델값을 결정하는 단계 (c)를 실행하기 위한 프로그램 코드를 포함하는
    비디오 컨트롤러 장치.
  45. 제 44 항에 있어서,
    상기 단계 (a)를 실행하기 위한 프로그램 코드는 최대 보간 오차가 임계값을 초과하는 제1 변을 따라 새로운 정점이 작성되도록 다각형을 세분하기 위한 프로그램 코드를 포함하는
    비디오 컨트롤러 장치.
  46. 제 44 항에 있어서,
    상기 단계 (a)를 실행하기 위한 프로그램 코드는 실질적으로 상기 제1 변의 중점에 새로운 정점을 위치결정하기 위한 프로그램 코드를 더 포함하는 비디오 컨트롤러 장치.
  47. 제 44 항에 있어서,
    상기 다각형은 삼각형이고, 상기 단계 (a)를 실행하기 위한 프로그램 코드는 새로운 정점이 원래의 삼각형 변 각각의 중점에 작성되도록 삼각형을 4개의 삼각형으로 세분하기 위한 프로그램 코드를 더 포함하는 비디오 컨트롤러 장치.
  48. 객체 좌표계(object coordinate system) 내의 점에 의해 정해지고 삼각형에 의해 그래픽적으로 표현된 객체(triangle-based, graphically-represented object)의 원근 투영(perspective projection)의 삼각형 상으로 다수의 모델값을 포함하는 그래픽 표면 모델을 맵핑하기 위한 프로그램 코드를 저장하는 저장 매체와 통신하는 그래픽 프로세서를 구비하고, 호스트 프로세서와 그래픽 화상을 사용자에게 표시하는 표시 장치 사이에서 그래픽 데이터를 교환하기 위한 비디오 컨트롤러에 있어서,
    상기 저장 매체는
    삼각형의 각 정점에 대한 정확한 모델값을 구하는 단계 (a)를 실행하기 위한 프로그램 코드;
    삼각형의 각 변에 대하여, 그 삼각형 변을 따른 객체 점에 모델값이 할당되도록, 그 변의 단점에 있는 정점의 모델값에 따라, 보간의 사용에 기인하는 최대 보간 오차를 결정하는 단계 (b)를 실행하기 위한 프로그램 코드;
    각 변의 최대 오차와 소정의 임계값을 비교하는 단계 (c)를 실행하기 위한 프로그램 코드;
    삼각형을 부분 삼각형으로 세분하고, 삼각형 변 중 임의의 변의 최대 오차가 임계값을 초과하면 각 부분 삼각형에 대하여 상기 단계 (a), (b), (c) 및 (d)를 반복하는 단계 (d)를 실행하기 위한 프로그램 코드; 및
    보간을 사용하여 비정점 객체점에 대응하는 모델값을 결정하는 단계 (e)를 실행하기 위한 프로그램 코드를 포함하는
    비디오 컨트롤러.
  49. 객체 좌표계(object coordinate system) 내의 점에 의해 정해지고 삼각형에 의해 그래픽적으로 표현된 객체(triangle-based, graphically-represented object)의 원근 투영(perspective projection)의 삼각형 상으로 다수의 모델값을 포함하는 그래픽 표면 모델을 맵핑하기 위한 프로그램 코드를 저장하는 저장 매체와 통신하는 그래픽 프로세서를 구비하고, 상기 삼각형이 다수의 변 및 다수의 정점을 갖고, 호스트 프로세서와 그래픽 화상을 사용자에게 표시하는 표시 장치 사이에서 그래픽 데이터를 교환하기 위한 비디오 컨트롤러에 있어서,
    상기 저장 매체는
    정점에 할당될 정확한 모델값이 주어질 때, 어느 하나의 구간의 길이에 걸친 직선 보간에 의한 모델값의 결정이 임계값을 초과하는 오차를 발생하지 않는 길이를 각각의 구간이 갖도록, 삼각형 변 각각을 다수의 구간으로 분할하기 위해 삼각형 변을 따라 새로운 정점을 작성하는 단계 (a)를 실행하기 위한 프로그램 코드;
    선분 사이의 교점에 정점을 갖는 내부 부분 삼각형이 작성되도록, 원래의 삼각형 변에 평행한 선분과 상기 새로운 정점을 서로 연결하는 단계 (b)를 실행하기 위한 프로그램 코드;
    상기 부분 삼각형의 정점 각각에 대한 정확한 모델값을 결정하는 단계 (c)를 실행하기 위한 프로그램 코드; 및
    직선 보간을 사용하여 각 비정점 객체점에 대응하는 모델값을 결정하는 단계(d)를 실행하기 위한 프로그램 코드를 포함하는
    비디오 컨트롤러.
  50. 제 49 항에 있어서,
    상기 저장 매체는 삼각형의 각 변에 대하여, 삼각형의 그 변을 따라 객체점에 모델값을 할당할 때 보간의 사용에 기인하는 보간 오차가 임계값을 초과하지 않으면, 상기 단계 (a) 내지 (c)를 생략하기 위한 프로그램 코드를 더 포함하는 비디오 컨트롤러.
  51. 객체 좌표계(object coordinate system) 내의 점에 의해 정해지고 삼각형에 의해 그래픽적으로 표현된 객체(triangle-based, graphically-represented object)의 원근 투영(perspective projection)의 w-이등변 삼각형 상으로 다수의 모델값을 포함하는 그래픽 표면 모델을 맵핑하기 위한 프로그램 코드를 저장하는 저장 매체와 통신하는 그래픽 프로세서를 구비하고, 상기 삼각형이 2개의 변 및 하나의 밑변을 갖고, 상기 밑변이 동일한 값의 동차 좌표 w를 각각 갖는 2개의 정점에 의해 한정되고, 호스트 프로세서와 그래픽 화상을 사용자에게 표시하는 표시 장치 사이에서 그래픽 데이터를 교환하기 위한 비디오 컨트롤러에 있어서,
    상기 저장 매체는
    4개의 정점, 삼각형의 밑변에 평행한 2개의 밑변 및 삼각형 변 중 하나와 같은 직선을 각각 공유하는 2개의 변을 갖고, 상기 정점에 할당될 정확한 모델값이 주어질 때, 그의 변을 따른 모델값의 보간이 소정의 임계값을 초과하는 보간 오차를 발생하지 않는 길이의 변을 갖는 다수의 부등변 사각형으로 삼각형을 분할하는 단계 (a)를 실행하기 위한 프로그램 코드;
    각 부등변 사각형의 정점에 대한 정확한 모델값을 결정하는 단계 (b)를 실행하기 위한 프로그램 코드;
    각 부등변 사각형의 내부를 다수의 w-이등변 부분 삼각형으로 세분하는 단계 (c)를 실행하기 위한 프로그램 코드; 및
    보간에 의해 삼각형의 나머지 객체점에 대한 모델값을 결정하는 단계 (d)를 실행하기 위한 프로그램 코드를 포함하는
    비디오 컨트롤러.
  52. 제 51 항에 있어서,
    상기 저장 매체는 삼각형의 각 변에 대하여, 삼각형의 그 변을 따라 객체점에 모델값을 할당할 때 보간의 사용에 기인하는 보간 오차가 임계값을 초과하지 않으면, 상기 단계 (a) 내지 (c)를 생략하기 위한 프로그램 코드를 더 포함하는 비디오 컨트롤러.
  53. 제 51 항에 있어서,
    상기 단계 (c)를 실행하기 위한 프로그램 코드는 각 부등변 사각형 내에 다수의 기하학적 이등변 삼각형을 형성하기 위한 프로그램 코드를 더 포함하는 비디오 컨트롤러.
  54. 제 52 항에 있어서,
    상기 저장 매체는 w-이등변이 아닌 삼각형을 2개의 w-이등변 삼각형으로 분할하는 것에 의해 상기 w-이등변 삼각형을 작성하기 위한 프로그램 코드를 더 포함하는 비디오 컨트롤러.
KR1019980004857A 1997-02-19 1998-02-17 그래픽 표면 모델 맵핑을 위한 방법 및 장치 KR19980071435A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US3811197P 1997-02-19 1997-02-19
US60/038,111 1997-03-18
US8/819,312 1997-03-18
US08/819,312 US5905500A (en) 1997-02-19 1997-03-18 Method and apparatus for adaptive nonlinear projective rendering

Publications (1)

Publication Number Publication Date
KR19980071435A true KR19980071435A (ko) 1998-10-26

Family

ID=26714877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980004857A KR19980071435A (ko) 1997-02-19 1998-02-17 그래픽 표면 모델 맵핑을 위한 방법 및 장치

Country Status (5)

Country Link
US (1) US5905500A (ko)
EP (1) EP0860798A3 (ko)
JP (1) JPH10247253A (ko)
KR (1) KR19980071435A (ko)
CN (1) CN1138219C (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703709B1 (ko) * 2005-06-02 2007-04-06 삼성전자주식회사 그래픽스 처리장치와 처리방법, 및 그 기록 매체
KR101944932B1 (ko) * 2017-08-03 2019-02-01 인천대학교 산학협력단 메쉬 품질 향상을 위한 그래픽 처리 장치 및 방법
CN110689783A (zh) * 2019-11-20 2020-01-14 张庆生 一种图形组合用数学教具

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009188A (en) 1996-02-16 1999-12-28 Microsoft Corporation Method and system for digital plenoptic imaging
US6023277A (en) * 1996-07-03 2000-02-08 Canon Kabushiki Kaisha Display control apparatus and method
US6208350B1 (en) * 1997-11-04 2001-03-27 Philips Electronics North America Corporation Methods and apparatus for processing DVD video
FR2772162B1 (fr) * 1997-12-10 2000-02-25 Ge Medical Syst Sa Procede de segmentation semi-automatique pour l'estimation de volumes tridimensionnels
JPH11203501A (ja) * 1998-01-14 1999-07-30 Sega Enterp Ltd 画像処理装置及び画像処理方法
WO1999063489A1 (en) * 1998-06-05 1999-12-09 Evans & Sutherland Computer Corporation Method and system for antialiased procedural solid texturing
US6317133B1 (en) * 1998-09-18 2001-11-13 Ati Technologies, Inc. Graphics processor with variable performance characteristics
US6751354B2 (en) * 1999-03-11 2004-06-15 Fuji Xerox Co., Ltd Methods and apparatuses for video segmentation, classification, and retrieval using image class statistical models
JP3638568B2 (ja) * 2001-06-08 2005-04-13 株式会社ソニー・コンピュータエンタテインメント 画像処理プログラム、画像処理プログラムを記録した記録媒体、画像処理装置及び方法
FR2837597A1 (fr) * 2002-03-25 2003-09-26 Thomson Licensing Sa Procede de modelisation d'une scene 3d
US7286140B2 (en) * 2002-07-26 2007-10-23 Sun Microsystems, Inc. Hardware acceleration of display data clipping
KR100528343B1 (ko) * 2003-07-14 2005-11-15 삼성전자주식회사 3차원 객체의 영상 기반 표현 및 편집 방법 및 장치
ATE376699T1 (de) * 2004-01-06 2007-11-15 Nxp Bv Verfahren zur wiedergabe graphischer objekte
US8059133B2 (en) * 2004-05-03 2011-11-15 Trident Microsystems (Far East) Ltd. Graphics pipeline for rendering graphics
US7601121B2 (en) * 2004-07-12 2009-10-13 Siemens Medical Solutions Usa, Inc. Volume rendering quality adaptations for ultrasound imaging
US7362325B2 (en) * 2004-12-21 2008-04-22 Qualcomm Incorporated 2D/3D line rendering using 3D rasterization algorithms
CN101290684B (zh) * 2007-04-19 2012-07-18 深圳迈瑞生物医疗电子股份有限公司 三维超声图像的快速体绘制方法与装置
US9180302B2 (en) 2012-08-31 2015-11-10 Greatbatch Ltd. Touch screen finger position indicator for a spinal cord stimulation programming device
US9594877B2 (en) 2012-08-31 2017-03-14 Nuvectra Corporation Virtual reality representation of medical devices
US9259577B2 (en) 2012-08-31 2016-02-16 Greatbatch Ltd. Method and system of quick neurostimulation electrode configuration and positioning
US9471753B2 (en) 2012-08-31 2016-10-18 Nuvectra Corporation Programming and virtual reality representation of stimulation parameter Groups
US9375582B2 (en) 2012-08-31 2016-06-28 Nuvectra Corporation Touch screen safety controls for clinician programmer
US8868199B2 (en) 2012-08-31 2014-10-21 Greatbatch Ltd. System and method of compressing medical maps for pulse generator or database storage
US8761897B2 (en) 2012-08-31 2014-06-24 Greatbatch Ltd. Method and system of graphical representation of lead connector block and implantable pulse generators on a clinician programmer
US8812125B2 (en) 2012-08-31 2014-08-19 Greatbatch Ltd. Systems and methods for the identification and association of medical devices
US9507912B2 (en) 2012-08-31 2016-11-29 Nuvectra Corporation Method and system of simulating a pulse generator on a clinician programmer
US8983616B2 (en) 2012-09-05 2015-03-17 Greatbatch Ltd. Method and system for associating patient records with pulse generators
US10668276B2 (en) 2012-08-31 2020-06-02 Cirtec Medical Corp. Method and system of bracketing stimulation parameters on clinician programmers
US8903496B2 (en) 2012-08-31 2014-12-02 Greatbatch Ltd. Clinician programming system and method
US9615788B2 (en) 2012-08-31 2017-04-11 Nuvectra Corporation Method and system of producing 2D representations of 3D pain and stimulation maps and implant models on a clinician programmer
US8757485B2 (en) 2012-09-05 2014-06-24 Greatbatch Ltd. System and method for using clinician programmer and clinician programming data for inventory and manufacturing prediction and control
US9767255B2 (en) 2012-09-05 2017-09-19 Nuvectra Corporation Predefined input for clinician programmer data entry
JP5940039B2 (ja) * 2013-10-31 2016-06-29 京セラドキュメントソリューションズ株式会社 色変換テーブル作成装置、画像形成装置、色変換テーブル作成方法、及び色変換テーブル作成プログラム
JP6910130B2 (ja) 2015-11-06 2021-07-28 三星電子株式会社Samsung Electronics Co.,Ltd. 3dレンダリング方法及び3dレンダリング装置
CN114113864B (zh) * 2021-12-09 2022-08-16 西安交通大学 一种频响测量用单点采样优化方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5097427A (en) * 1988-07-06 1992-03-17 Hewlett-Packard Company Texture mapping for computer graphics display controller system
JP3024145B2 (ja) * 1989-07-12 2000-03-21 株式会社日立製作所 テクスチャマッピング方法
US5255352A (en) * 1989-08-03 1993-10-19 Computer Design, Inc. Mapping of two-dimensional surface detail on three-dimensional surfaces
GB2240015A (en) * 1990-01-15 1991-07-17 Philips Electronic Associated Texture memory addressing
US5307450A (en) * 1991-02-19 1994-04-26 Silicon Graphics, Inc. Z-subdivision for improved texture mapping
JP2713323B2 (ja) * 1992-03-02 1998-02-16 インターナショナル・ビジネス・マシーンズ・コーポレイション 等値サーフェイスを効率的に生成し等値サーフェイス画像データ及び表面等値線画像データをディスプレイするための方法及び装置
US5469535A (en) * 1992-05-04 1995-11-21 Midway Manufacturing Company Three-dimensional, texture mapping display system
US5490240A (en) * 1993-07-09 1996-02-06 Silicon Graphics, Inc. System and method of generating interactive computer graphic images incorporating three dimensional textures
US5550960A (en) * 1993-08-02 1996-08-27 Sun Microsystems, Inc. Method and apparatus for performing dynamic texture mapping for complex surfaces
GB9406512D0 (en) * 1994-03-31 1994-05-25 Argonaut Software Limited Texture mapping in 3-d computer graphics
DE69529544T2 (de) * 1994-04-28 2003-12-11 Sun Microsystems Inc Vorrichtung und Verfahren zum direkten Berechnen von Koordinaten eines abzuschneidenden Gebiets
US5594846A (en) * 1994-12-19 1997-01-14 Sun Microsystems, Inc. Perspective correction of texture in graphics by adaptive approximation
US5649082A (en) * 1995-03-20 1997-07-15 Silicon Graphics, Inc. Efficient method and apparatus for determining texture coordinates for lines and polygons

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703709B1 (ko) * 2005-06-02 2007-04-06 삼성전자주식회사 그래픽스 처리장치와 처리방법, 및 그 기록 매체
KR101944932B1 (ko) * 2017-08-03 2019-02-01 인천대학교 산학협력단 메쉬 품질 향상을 위한 그래픽 처리 장치 및 방법
CN110689783A (zh) * 2019-11-20 2020-01-14 张庆生 一种图形组合用数学教具

Also Published As

Publication number Publication date
EP0860798A3 (en) 2000-11-02
CN1138219C (zh) 2004-02-11
EP0860798A2 (en) 1998-08-26
JPH10247253A (ja) 1998-09-14
US5905500A (en) 1999-05-18
CN1191352A (zh) 1998-08-26

Similar Documents

Publication Publication Date Title
KR19980071435A (ko) 그래픽 표면 모델 맵핑을 위한 방법 및 장치
CN113424224B (zh) 识别并保留优选点的合并点云的方法
US6940505B1 (en) Dynamic tessellation of a base mesh
US9013499B2 (en) Methods and apparatus for multiple texture map storage and filtering including irregular texture maps
US7027050B1 (en) 3D computer graphics processing apparatus and method
EP2181433B1 (en) Methods and apparatus for multiple texture map storage and filtering
EP0531157B1 (en) Three dimensional graphics processing
US5630039A (en) Tessellating complex in polygons in modeling coordinates
US6239808B1 (en) Method and apparatus for determining texture values of graphical images
US7884825B2 (en) Drawing method, image generating device, and electronic information apparatus
JP3030206B2 (ja) グラフィック多角形をクリップ領域にクリップする方法および装置
US6292192B1 (en) System and method for the direct rendering of curve bounded objects
JPH07152923A (ja) テクスチャ処理されたオブジェクトをレンダリングする方法及び装置
WO2000002165A1 (fr) Procede permettant de produire des donnees de polygone et afficheur d'images utilisant lesdites donnees
US5841443A (en) Method for triangle subdivision in computer graphics texture mapping to eliminate artifacts in high perspective polygons
EP0633550A2 (en) Image processing method and apparatus thereof
JPH04220783A (ja) 表示装置及び表示方法
US20120139916A1 (en) System and associated methodology for three-dimensional rendering of data containing clipping shapes
JPH07182537A (ja) 図形描画装置および図形描画方法
JPH11126261A (ja) テクスチャマッピング方法及びその装置
JP4311877B2 (ja) 副標本化テクスチャ端縁部のアンチエイリアシング
EP0574245A2 (en) Method and apparatus for variable expansion and variable shrinkage of an image
US20030063084A1 (en) System and method for improving 3D data structure representations
JPH06215143A (ja) グラフィックス・オブジェクト表現方法と装置
KR100328593B1 (ko) 3-d 그래픽용 고속 클립핑 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid