KR0179354B1 - 텍스쳐 매핑 방법 및 화상 처리 장치 - Google Patents

텍스쳐 매핑 방법 및 화상 처리 장치 Download PDF

Info

Publication number
KR0179354B1
KR0179354B1 KR1019950008249A KR19950008249A KR0179354B1 KR 0179354 B1 KR0179354 B1 KR 0179354B1 KR 1019950008249 A KR1019950008249 A KR 1019950008249A KR 19950008249 A KR19950008249 A KR 19950008249A KR 0179354 B1 KR0179354 B1 KR 0179354B1
Authority
KR
South Korea
Prior art keywords
polygon
texture
data
texture data
coordinate
Prior art date
Application number
KR1019950008249A
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 사또오 후미오
Application granted granted Critical
Publication of KR0179354B1 publication Critical patent/KR0179354B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

종래 발생했던 텍스쳐 변형을 방지하기 위한 방법 및 장치를 제공한다. 이를 위해, 3차원 공간의 다각형에 대한 텍스쳐 매핑에서 깊이 정보 Z의 값은 2차원 텍스쳐 좌표에 대해 모든 정점 정보에 가상적으로 공급되어 3차원 공간상에 텍스쳐 데이타를 한정하고, 텍스쳐 데이타는 다각형 공간(시점 좌표)에 가상적으로 배치된다. 다각형의 각 정점과 대응하는 텍스쳐 데이타의 정점간의 선형변환이 실행되고, 좌표 변환 처리가 실행되어 다각형과 텍스쳐 데이타간의 동일 크기 및 동일 좌표값을 얻는다. 선형 변환 계수 및 깊이값 Z을 이용하여, 다각형 상의 각 화소는 선형 변환되고, 대응하는 텍스쳐 데이타의 좌표 값을 얻기 위한 역변환이 실행된다.

Description

텍스쳐 매핑 방법 및 화상 처리 장치
제1도는 3각형 다각형과 그 변형의 일예를 도시하는 도면.
제2도는 텍스쳐 매핑에서 다각형의 변화율과 텍스쳐 변형을 도시하는 도면.
제3도는 다각형 분할의 일예를 도시하는 도면.
제4도는 임의 화소들이 4각형 다각형상에서 정렬되는 라인 및 4각형 다각형 상의 라인에 대응하는 텍스쳐 데이타상의 화소들이 정렬되는 라인을 도시하는 도면.
제5도는 4각형 다각형으로의 텍스쳐 매핑을 행하는 경우의 텍스쳐 변형(스윔)의 원인을 설명하기 위한 도면.
제6도는 2단 DDA 시스템을 도시하는 도면.
제7a도는 본 발명의 기본 개념을 설명하기 위한 도면.
제7b도는 본 발명의 제1실시예에 따른 화상 처리 장치를 도시하는 블록도.
제8도는 본 발명의 제1실시예에 따른 화상 처리 장치를 도시하는 플로우 챠트.
제9도는 본 발명의 제2실시예에 따른 화상 처리 방법을 도시하는 플로우 챠트.
* 도면의 주요부분에 대한 부호의 설명
11 : 모델 정보 메모리 12 : 정보 격납부
13 : 외부 메모리 14 : 사전 처리부
15 : 묘화 처리부 16 : 프레임 메모리
17 : 표시 제어부 18 : 표시부
본 발명은 3차원 컴퓨터 그래픽을 실행하는 화상 처리 시스템에 관한 것으로, 특히 텍스쳐 매핑 처리에 특징을 갖는 텍스쳐 매핑 방법과 화상 처리 장치 및 방법에 관한 것이다.
최근, 3차원 컴퓨터 그래픽(three-dimensional computer graphics)을 사용한 많은 게임기가 시판되고 있다. 이들 게임기에서는 다각형(polygon)에 사진 등의 화상 데이타를 붙여서 텍스쳐 매핑을 실행하는 일은 거의 없고, 그에 따라 모델의 현실성이 결여된다고 하는 문제가 있었다. 이 텍스쳐 매핑을 실행하지 않는 이유의 하나로는 텍스쳐 데이타와 다각형 데이타간의 형상이 서로 크게 상이한 경우 텍스쳐 변형[스윔(swim)]이 발생하게 되며, 이러한 텍스쳐 변형은 오히려 부자연스런 화상이 제공되는 것을 들 수 있다.
종래에 모델을 구성하는 다각형의 대부분은 3각형을 기초로 하는 다각형이었다. 이 때문에 4각형의 텍스쳐 데이타를 텍스쳐 매핑하는 방법은 3각형의 다각형을 2개 조합하여 4각형의 텍스쳐 데이타를 구성하는 방법이 중심이었다.
그러나, 이 방법에 의하면, 제1도에 도시된 바와 같이 목표 형상(destination)이 되는 대상의 다각형이 텍스쳐 데이타와 상이한 형상으로 변형된 경우에는 텍스쳐 스윔이라고 하는 문제가 발생한다.
대상이 되는 다각형이 제1도에 도시한 바와 같이 2개의 다각형으로 구성되는 경우, 각각의 다각형의 변화율을 구하는 방법은 x와 y의 각각의 편미분(d/dxdy)을 구함으로써 가능하다. 예컨대, 제1도에 도시된 바와 같이 정사각형 데이타가 변형된 경우 그 변형율은 제2도에 도시된 바와 같이 된다. 즉, 다각형 A에 있어서는 원래의 도형에 대한 변화율은 우측 하방으로 된다. 제2도의 다각형 A의 정점 P2는 원형에 대해서 하방으로 이동한다. 유사하게 다각형 B의 변화율은 우측 상방으로 된다. 이와 같이 다각형들은 일차 독립 관계를 갖는다. 따라서 원래는 동일한 변화율을 갖는 다각형 A와 B의 사이에서 서로 다른 결과가 얻어진다.
텍스쳐 매핑에 있어서는 각 다각형의 변화율에 따라서 소스 데이타(텍스쳐 데이타)를 다각형상에 매핑한다. 이 때문에 실제의 텍스쳐 데이타는 2개의 다각형 사이의 경계선상에서 서로 다른 방향으로 절곡되어 나타난다. 매핑 데이타에는 불연속면이 형성되는데, 이것은 텍스쳐 변형으로 나타난다.
예를 들어, 텍스쳐 데이타가 판벽(plate wall) 패턴의 모양을 나타낸다고 가정한다. 이 데이타는 깊이를 표시하도록 묘화되는 것이 바람직함에도 불구하고, 절곡된 상태로 묘화되어 버린다.
상기와 같은 텍스쳐 스윔을 제거하기 위하여 종래에는 다음과 같은 대응책을 행하였다. 즉, 제3도에 도시된 바와 같이 다각형을 작은 영역들로 분할하여, 즉 다각형 분할을 실행하고, 각 다각형에서의 화소당 변화율을 감소시키는 것으로 대응해 왔다. 그러나, 이 방법에 의하면 다각형의 수가 증가하고, 그에 따라 좌표 변환이나 광원 계산 등의 다각형에 대한 연산량이 크게 증가함으로써, 점점 기하학적 연산의 부담이 가중되고 있었다.
종래의 대부분의 다각형들은 3각형을 기초로 하고 있지만, 일부의 다각형에서 텍스쳐 매핑을 주관심사라는 가정하에 4각형 다각형을 기초로 텍스쳐 매핑을 실행하는 방법이 제안되고 있다. 이 방법에 따르면 2개의 3각형 다각형을 기초로 이들을 서로 조합함으로써 4각형 텍스쳐 매핑과 대응하려는 것이다.
제4도에 도시된 바와 같이, 4각형을 구성하는 3각형 다각형을 2개 준비하여 에지 부분(예컨대, 제4도의 흑색 동그라미 부분)만의 변화율을 각각의 다각형을 기초로 하여 x와 y의 편미분(d/dxdy)을 사용하여 구한다. 이 연산에 의해 에지 부분에서의 변화율이 결정된다. 다음에 이 값을 사용하여 에지들 사이의 주사선 A상의 화소들이 DDA(디지탈 미분 연산)에 따라 선형 보간되어 각 화소의 변화율을 구한다. 그 다음에 이 변화율에 따라서 텍스쳐 매핑을 실행하는 것이다.
도면 제4도의 예에서는 선 A에 대응하는 변화율을 갖는 화소들상의 선은 우측 방향으로 상승한다.
4각형 다각형을 기초로 하는 상기 텍스쳐 매핑에서는 3각형 다각형에 기초한 텍스쳐 매핑에 비하여 양단부(좌우 에지) 사이의 변화율을 이용하여 DDA를 실행하기 때문에 텍스쳐 데이타에서의 불연속면의 제거를 행하고 있다.
이러한 4각형 다각형의 경우에 있어서도 이하의 이유로 텍스쳐의 스윔이 발생한다.
4각형 텍스쳐 매핑 방법의 개념은 제5도에 도시되어 있다. 제4도 및 제5도에 도시된 바와 같이 에지들간의 보간은 선형 보간 함수 f(x)를 사용하여 실행된다. 이 때문에 예를 들어, 제5도의 텍스쳐 데이타의 중점 Q에 대한 매핑 위치는 보간 함수 f(x)에 따라 다각형 데이타상의 P점이 된다. 그러나, 본래의 4각형 다각형에 있어서의 중점은 대각선의 교점으로 표시된 P'점이다. 이 P'점은 매핑시의 위치와는 다른 위치를 갖는다. 이 때문에 대각선과 같은 텍스쳐 데이타를 4각형 다각형 데이타상에서 매핑하는 경우, 그에 따른 데이타는 제5도에 도시한 바와 같이 곡선이 되며, 텍스쳐의 스윔이 발생한다.
실제의 텍스쳐 매핑시에 사용할 매핑 함수로는 비선형 함수 g(x)를 사용하여 매핑할 필요가 있다. 이 함수 g(x)는 깊이(Z값)의 역수 1/Z에 기초한 함수이다. 이와 같은 함수 g(x)를 사용하여 보간을 실행해야 하지만, 연산량 등의 제한 때문에 종래에는 선형 보간이 실행되어 왔다.
제5도에 도시된 바와 같이 4각형 다각형을 사용한 텍스쳐 매핑의 경우에 있어서도 텍스쳐 매핑시에 텍스쳐의 스윔이 발생한다. 그래서, 이 문제를 해결하기 위한 방법으로서 비선형 DDA(디지탈 미분 분석)를 이용한 방법을 사용할 수 있다. 이 방법은 2단 DDA를 사용하는 방법이다. 종래의 DDA는 단지 선형 변환만으로 대응할 수 있었지만, 제6도에 도시된 2단 DDA를 사용함으로써, 비선형 변환이 실행될 수 있다. 제6도에서 명백히 알 수 있는 바와 같이 선형 DDA는 제1단(DDA 블록 B)에서 실행된다. 이 연산은 다음과 같이 표시된다.
이 x에 대한 결과를 제2단에서의 승산용 계수로 사용한다.
이것에 의해 다음과 같은 비선형 변환이 실행될 수 있다.
여기서, g(x)는 2차식이 되므로, 이 근사식을 구하기 위해서는 적어도 3개 지점의 좌표 정보가 필요하다. 일반적으로, 양 단부의 지점과 중점의 3개 지점으로부터 a, b, c의 각 계수를 계산한다. 그러나, 이 방법에 의하면 각 주사선마다 각각의 계수를 구할 필요가 있다. 또한, 각 계수를 구하기 위해서는 식 (3)으로 나타낸 바와 같이 2제곱 데이타를 2제곱 데이타로 제산(除算)해야 하기 때문에 제산 사이클이 2배가 된다. 또, 이 제산을 두번 실행해야만 한다. 이 때문에 고속 시스템을 기대할 수 없고, 반복적인 처리를 필요로 하는 게임 소프트웨어용으로는 적합하지 않다. 또한, 결과식은 근사식이기 때문에 정확한 텍스쳐 매핑을 실행할 수 없다고 하는 문제가 있었다.
3각형 다각형으로의 텍스쳐 매핑, 4각형 다각형으로의 텍스쳐 매핑 등에서 발생된 텍스쳐의 스윔 문제의 원인은 2차원 공간(텍스쳐 공간)을 3차원 공간(다각형 공간)으로 매핑하기 위함이다. 즉, 텍스쳐 소스 데이타는 깊이 정보(Z값)를 갖지 않기 때문에 투시 변환으로 발생되는 패턴 변형을 전혀 고려할 수 없기 때문에 텍스쳐의 스윔이 발생하는 것이다.
텍스쳐의 스윔을 예방하기 위한 종래의 방법으로는 예를 들어 3각형 다각형을 사용하여 텍스쳐 매핑을 행하는 경우, 다각형 분할을 실행하여 텍스쳐의 스윔을 억제하였다. 이 방법은 텍스쳐의 스윔을 제거하도록 다각형 분할에 의해 투시 변환에서의 1/Z 곡선을 분할하여 선형으로 근사시키는 방법과 등가이다. 4각형 다각형을 이용한 텍스쳐 매핑시에 스윔을 제거하기 위해 비선형 DDA를 사용하는 것도 1/Z 곡선에 근사시키는 것과 등가이다. 이와 같이 투시 변환에 의한 변환을 어떻게 고려할지의 여부에 따라 텍스쳐의 스윔 문제는 귀착된다.
새로운 매핑 방법은 투시 매핑으로서 제안되어 있다. 이 방법은 투시 변환을 기초로 하여 고안된 것으로서, 투시 매핑이라고도 칭한다. 종래의 텍스쳐 매핑과는 달리 투시 매핑에서는 텍스쳐의 스윔이 발생하지 않는다. 이 방법에서는 다음과 같은 이유로 해서 각 화소마다 투시 변환, 즉, 1/Z 처리를 행하고 있다. 즉, 모델을 구성하는 다각형은 Z방향으로의 기울기를 가지고 있고, 각 화소들은 서로 다른 Z값을 가지고 있기 때문이다. 이 때문에 각 화소마다 1/Z 계산, 즉 제산이 실행되어야만 한다. 컴퓨터는 이러한 제산 처리로 인하여 과부하가 걸린다. 종래의 대부분의 게임기에 있어서 가상적 현실감을 실현하기 위해 텍스쳐 데이타로서 실제의 사진 등을 다각형상에 붙여서 텍스쳐 매핑을 이용하는 것은 다음과 같은 이유로 해서 거의 사용되지 않고 있다. 즉, 텍스쳐 매핑에 있어서 텍스쳐 데이타의 형상과 다각형 데이타의 형상과 다각형 데이타의 형상들 사이에 큰 차이가 존재하는 경우, 텍스쳐 변형(스윔)이 발생할 수 있고, 붙여진 화상 데이타에 흐트러짐이 발생될 수 있기 때문이다. 이러한 텍스쳐 변형(스윔)을 방지하기 위하여 각 화소마다 각 화소의 Z값으로 제산을 행하는 방법이 알려져 있지만, 연산량이 바람직하지 않게 증가되는 문제가 있다.
상기한 바와 같이 종래의 텍스쳐 매핑은 텍스쳐의 스윔이 발생하거나 또는 각 화소마다 화소의 Z값으로 제산을 행하는 방대한 처리량을 필요로 한다. 이들 텍스쳐 변형(스윔)이 발생하는 원인은 투시 변환에 기인하는 변형이 고려되지 않는다는 가정하에 기초된다. 즉, 텍스쳐 데이타는 2차원 데이타이고, 붙이는 대상으로서 다각형 데이타는 3차원 데이타이며, 깊이 정보(Z값)을 누락시킨 상태에서 텍스쳐 데이타를 다각형 데이타상에 매핑하고 있기 때문이다. 이 처리에서는 투시 변환에 기초한 변형을 전혀 고려하지 않고 있다. 또한, 투시 변환을 고려한 방법으로서 투시 매핑 방법이 있지만, 이 투시 매핑 방법은 각 화소마다 각 화소의 Z값으로 제산을 행하는 방법으로서 연산량이 방대해 지는 문제가 있었다.
본 발명의 목적은 연산량을 크게 저감하고, 종래의 장치에서 발생하였던 텍스쳐 변형(스윔)의 발생을 제거할 수 있는 텍스쳐 매핑 방법 및 화상 처리 장치를 제공하는데 있다.
본 발명의 상기한 목적을 실현하기 위해서는, 메모리 장치에 저장된 다각형으로 구성된 모델 정보에 기초하여표시 좌표계로 좌표 변환을 실행하는 좌표 변환 단계와, 다각형의 각 정점의 휘도로부터 휘도의 경사도를 구하는 연산 단계와, 이 연산 단계에 의한 연산 결과를 임시 저장하는 단계와, 상기 연산 결과로부터 다각형의 세이딩(shading), 텍스쳐 매핑 등을 실행하는 묘화 처리 단계와, 상기 묘화 처리 단계에 의한 묘화 처리 결과를 메모리에 저장하는 단계와, 상기 묘화 처리 결과를 상기 메모리로부터 판독하여 지정된 표시 좌표에 지정된 크기로 상기 판독 데이타를 표시하는 표시 제어 단계를 구비한 화상 처리 방법에 있어서, 3차원 공간상의 다각형에 대한 상기 텍스쳐 매핑은, 텍스쳐 데이타를 3차원 공간상에서 평면으로 한정하고 다각형의 공간(시점 좌표)에 가상적으로 상기 텍스쳐 데이타를 배치하도록 2차원 텍스쳐 좌표에 대하여 가상적으로 깊이 정보(Z)의 값을 모든 정점에 제공하는 단계와; 다각형 데이타와 텍스쳐 데이타간의 동일한 크기 및 동일한 좌표값을 구하기 위해서 상기 3차원 공간상에서 다각형의 각 정점과 텍스쳐 데이타의 대응하는 정점 사이의 선형 변환을 실행하는 단계와; 다각형 및 텍스쳐 데이타가 서로 동일하게 변환된 후, 상기 선형 변환으로 구한 계수와 다각형상의 각 화소의 깊이값(Z)을 사용하여 다각형상의 각 화소의 선형 매핑을 실행함으로써 대응하는 텍스쳐 데이타의 좌표값을 구하는 단계를 포함한다.
상기 방법에 의하면, 3차원 컴퓨터 그래픽의 텍스쳐 매핑에 있어서 텍스쳐 좌표를 3차원 좌표로 변환하고, 동일한 3차원 공간중의 데이타 평면으로부터 데이타 평면으로의 선형 매핑을 실행함으로써 종래의 장치에서 발생되었던 텍스쳐 변형(스윔)의 발생을 방지할 수 있다. 또한, 좌표 변환은 선형 매핑에 의해 실행되기 때문에 연산량을 크게 감소시킬 수 있다.
본 발명의 추가의 목적 및 장점들은 하기의 실시예의 설명으로부터 명백해질 것이다. 본 발명의 목적 및 장점들은 특허 청구의 범위에서 특정한 설비 및 조합에 의해 실현되고 얻어질 수 있다.
이하, 본 명세서의 일부를 구성하는 첨부 도면을 참조하여 본 발명의 실시예를 설명한다.
제7a도는 본 발명의 기본 개념을 설명하기 위한 도면이다. 제7b도는 본 발명의 제1실시예에 따른 화상 처리 장치의 구성을 도시하는 블록도이다. 제8도는 본 발명의 제1실시예에 따른 화상 처리 방법을 나타내는 플로우 챠트이다.
제7a도에 도시된 바와 같이, 본 발명에 따르면 3차원 공간상의 다각형에 대하여 텍스쳐 데이타를 매핑하는 경우, 2차원 텍스쳐 좌표에 대하여 가상적으로 깊이 정보 Z의 값을 모든 정점 정보에 제공하고, 텍스쳐 데이타를 3차원 공간상에서 평면으로 정의한다. 이 3차원 공간상에서 평면으로 정의된 텍스쳐 데이타는 다각형 공간(시점 좌표)에 가상적으로 배치된다. 다각형의 각 정점과 대응하는 텍스쳐 데이타의 정점 사이에서 선형 변환을 실행함으로써 다각형과 텍스쳐 데이타 사이에서 동일한 크기와 동일한 좌표값을 설정한다.
선형 변환 계수와 깊이값 z를 사용하여 다각형상의 각 화소에 대해 선형 매핑을 실행하고, 대응하는 텍스쳐 데이타의 좌표값을 구하는 역변환을 실행하도록 하고 있다.
제7b도를 참조하면 모델 정보 메모리(11)는 기억 매체로서 ROM 카세트, 하드 디스크, CD-ROM 등을 사용한다. 이 모델 정보 메모리(11)에는 다각형을 기초로 한 모델 정보(모델 좌표계상에서의 각 다각형의 각 정점의 좌표값, 휘도, 텍스쳐 번호)가 기억되어 있다. 이 정보는 정보 격납부(12) 또는 외부 메모리(13)에 일시적으로 저장한다. 다음에, 이 저장된 데이타는 사전 처리부(14)로 전송되어, 본체 좌표계로부터 월드 좌표계로의 좌표 변환을 행한다. 이 변환 결과는 정보 격납부(12) 또는 외부 메모리(13)에 저장된다. 또한, 이 저장된 좌표값을 다시 독출하여 사전 처리부(14)로 전송하고 시점 좌표계상의 데이타로 변환한다. 변환된 데이타는 다시 정보 격납부(12) 또는 외부 메모리(13)에 저장한다. 시점 좌표계상의 데이타로 변환된 데이타는 독출되어 표시 좌표계상의 데이타로 변환된다. 다음에 변환된 데이타는 정보 격납부(12) 또는 외부 메모리(13)에 저장한다.
이 결과에 기초하여 묘화 처리부(15)는 다각형의 묘화 처리를 실행한다. 다각형의 묘화 처리는 사전 처리부(14)에서 처리되고 정보 격납부(12) 또는 외부 메모리(13)에 저장된 다각형의 각 정점 데이타, 각 정점의 휘도 데이타 및 텍스쳐 번호에 기초하여 텍스쳐 매핑을 실행하기 위한 세이딩과 같은 연산 묘화 처리이다.
이하에서는 다각형의 텍스쳐 매핑을 실행하기 위한 처리 순서에 대하여 설명한다. 텍스쳐 매핑이 실행되는 다각형에서 다각형의 각 정점 좌표의 z값을 각 정점의 좌표값으로서의 X 및 Y와 승산된다[제8도의 단계 S1; 제7b도의 사전 처리부(14)]. 이 처리는 투시 변환의 역변환에 대응한다. 예컨대 4각형 다각형인 경우, 각 정점 Pn(n=1∼4)의 좌표를 (x'1,y'1,z'1), (x'2, y'2, z'2), (x'3, y'3, z'3), (x'4, y'4, z'4)로 정의하면, 투시 변환의 역변환은 식 (4)와 같이 실행된다.
그 결과, 다각형의 정점 좌표 P'n은 투시 변환 이전의 상태로 복귀된다.
다각형의 정점들중 하나는 원점으로 평행 이동된다(제8도의 단계 S3). 이 경우에, 다각형의 어느 정점을 원점으로서 정의할지의 여부를 결정해야만 한다. 원칙적으로는 텍스쳐 데이타의 원점이 되는 정점을 매핑하는 다각형의 정점을 원점으로 정의한다(제8도의 단계 S2).
이 평행 이동의 연산은 식 (5)에 도시된 행렬식(matrix)을 사용하여 실행된다. 식 (5)는 점 P1을 원점으로 평행 이동시킨 경우에 얻어진다.
상기 결과를 이용하여 다각형을 원점으로 평행 이동시킨다. 이 결과, 각 정점 P'은 식 (6)으로 나타낸 바와 같이 Pdn으로 변환된다.
그 결과, 식 (6)으로 나타낸 바와 같이, 다각형의 정점들중 하나가 원점으로 이동한다. 따라서, 이 다각형의 정상 벡터를 구한다(제8도의 단계 S4). 이 정상 벡터를 구하기 위하여 일반적으로 다각형의 정점들중 임의의 정점에 기초하여 반시계 방향으로 연속된 3개의 점을 선택하여, 그 중심이 되는 정점에 대하여 그 양단의 정점 정보의 외적(outer product)을 구한다. 식 (7)에서 P4, P1 및 P2의 3개의 정점에 기초하여 정상 벡터 N이 구해진다.
식 (7)의 정상 벡터에 대하여 이 정상 벡터의 방향으로부터 가상적으로 다각형을 관측하는 것으로 가정한다. 이것은 시점을 정상 벡터의 방향으로 향하도록 함으로써 실행될 수 있고, 이 좌표 변환은 어파인 변환(affine transform)을 이용하여 실행될 수 있다. 여기서, 어파인 변환은 단지 회전 이동만이 관련된다(제8도의 단계 S5).
여기에서, Tr(X,Y,Z)는 X, Y, Z축상의 회전 이동을 나타낸다.
식 (8)에서 얻어진 결과는 다각형의 정점들중 한 점을 원점으로 이동하고 법선 방향에서 다각형을 관측한 경우의 정점 데이타가 된다.
이 다각형의 좌표값으로부터 크기를 조사한다(제8도의 단계 S6). 텍스쳐 데이타는 다각형의 크기와 동일한 크기를 갖도록 스케일링 된다(제8도의 단계 S7). 텍스쳐 데이타의 각 정점 Tn(n=1∼4)에 대한 스케일링 행렬은 식 (9)로 나타낸다 이 경우에, 각 텍스쳐 데이타의 정점 정보는 종래의 X, Y(U,V)로 제한되지 않고, 또한 z=1의 z값을 포함한다. 따라서, 텍스쳐 데이타는 종래의 2차원 데이타로부터 3차원 데이타로 변환된다.
스케일된 텍스쳐 데이타는 다각형 데이타의 크기와 동일 크기를 갖는다. 스케일된 텍스쳐 데이타와 다각형 데이타는 3차원 공간상에서 평면을 구성하고 선형 변환에 의해 서로간의 좌표 매핑이 실행될 수 있다. 즉, 식 (8)에서 얻어진 다각형 좌표는 식 (9)에서 구해진 좌표와 동일하다.
상기 식에서 각 다각형의 정점은 대응값을 구하기 위해 좌표 변환된다. 실제로는 텍스쳐 매핑에서 화소 단위로 이와 같은 처리를 실행할 필요가 있다. 1화소/다각형을 가정하면, 평행 이동 또는 회전 이동과 같은 좌표 변환에 사용되는 계수들은 다각형이 평면으로 정의되기 때문에 변화됨이 없이 유지되어야 한다. 다각형의 각 화소의 z값을 구한다(제8도의 단계 S8). 이 z값을 식 (4)에 대입하고(제8도의 단계 S9), 각 화소의 좌표값을 식 (4)에 대입한다(제8도의 단계 S10). 또한 식 (8)을 계산한다. 그 결과 얻어진 좌표값들은 식 (9)에서 구한 텍스쳐 데이타의 좌표값이 된다. 이 정보는 다각형의 화소에 대해 α블렌딩 등의 처리를 실행하면서 대입한다(제8도의 단계 S11). 이 처리는 다각형의 모든 화소에 대해 실행(단계 S12)되고, 그에 따라 어떠한 텍스쳐 변형(스윔)도 발생하지 않는 텍스쳐 매핑이 가능하게 된다. 이 처리들은 제7b도에 도시된 정보 격납부(12), 외부 메모리(13), 사전 처리부(14) 및 묘화 처리부(15)의 사이에서 연산 처리에 의해 실행된다.
이 실시예에 따르면, 대부분의 연산 처리는 승산 및 가산에 의해 연산된다. 제산 처리는 회전 이동 계수를 구할 경우에만 필요하다. 또한, 제산 처리는 스케일링에서 텍스쳐 데이타를 감소시키기 위한 경우에도 필요하다. 그러나, Sx, Sy 및 Sz의 각 계수는 제산된 결과를 이용하면 제산 횟수를 저감할 수 있게 된다.
제7b도와 제9도를 참조하여 제2실시예를 설명한다.
다각형에 기초한 모델 정보(모델 좌표계에서의 각 다각형의 정점에 대한 좌표값, 휘도, 텍스쳐 등)는 ROM 카세트, 하드 디스크 또는 CD-ROM 등의 모델 정보 메모리(11)에 저장되어 있다. 또한, 모델 정보 메모리(11)에는 각 모델의 절대값(X,Y,Z)의 초기값을 나타내는 월드 맵이 저장되어 있다. 이 데이타들은 화상 처리부의 정보 격납부(12) 또는 외부 메모리(13)에 일시 저장한 후 정보 격납부(12)에 저장한다.
먼저, 최초에 관측자가 있는 위치(시점 좌표)를 사전 처리부(14)에서 정보 격납부(12) 또는 외부 메모리(13)로부터 월드맵을 독출하고 이 월드맵을 이용하여 구할 수 있다(단계 S21,S22).
사전 처리부(14)는 사전 처리부(14)에서 구한 관측자의 좌표값(시점 위치)으로부터 표시 대상 모델을 후방 클립핑 처리(back정사각형 clipping process)에 의해 선택한다(단계 S23). 이 처리에서 클립핑 윈도우(clipping window)를 준비하고, 이 클립핑 윈도우의 범위내에 있는 모델이면서 관측자의 위치로부터 모델까지의 소정값보다 작은 거리를 갖는 대상을 표시 대상으로 사용한다. 상기 선택된 모델을 모델 좌표계(x,y,z)로부터 시점 좌표계(X,Y,Z)로의 변환은 정보 격납부(12)에 저장된 모델 정보에 기초하여 어파인 변환식 (10)을 사용해서 사전 처리부(14)에서 실행된다(단계 S24).
식 (10)에서 얻어진 변환 결과는 정보 격납부(12) 또는 외부 메모리(13)로 전송된다. 상기한 처리는 사전 처리부(14)에서 완성된 후, 각각의 다각형 정보(식 (10)에 의해 변환된 좌표값, 휘도, 텍스쳐 좌표 등)를 정보 격납부(12) 또는 외부 메모리(13)로부터 묘화 처리부(15)로 전송한다.
묘화 처리부(15)는 DDA를 사용하여 다각형의 세이딩을 실행한다. 다각형의 묘화 처리의 결과로서 얻어진 화소 데이타는 프레임 메모리(16)의 오프 스크린 영역에 2차원의 텍스쳐 데이타로서 저장된다(단계 S25). 이 2차원 텍스쳐 데이타는 가상 캔버스상에 모델로서 붙이는 데이타로서 이용된다. 이 상태에서, 모델은 어떠한 깊이도 나타냄이 없이 편평한 상태로 설정된다.
한편, 묘화 처리부(15)가 묘화 처리를 실행하는 동안, 사전 처리부(14)에서는 월드맵을 이용하여 표시 대상 모델에 대하여 가상 캔버스상에 다각형의 묘화 처리로부터 얻어진 2차언 텍스쳐(후에 3차원 텍스쳐가 된다)를 붙이기 위한 가상 캔버스의 위치를 산출한다(단계 S27). 이 계산 방법은 후술한다.
사전 처리부(14)에 의해 좌표 변환된 모델의 모든 다각형 데이타중 X 및 Y방향의 최대 및 최소값을 구하고, 그 최대 및 최소값을 기초로하여 텍스쳐 모델 또는 그 일부와 동일한 크기를 갖는 가상 캔버스가 다각형을 기초로서 준비한다. 만일 다각형이 3각형에 기초하는 경우, 2개의 다각형을 조합함으써 가상 캔버스를 준비한다. 이 가상 캔버스의 좌표값(x,y,z)은 식 (11)을 사용하여 표시 좌표계(X,Y,Z)의 좌표값으로 좌표 변환된다.
여기서, 계수 Tr, Td는 표시 제어부(17)로 전송된다. 사전 처리부(14)에서는 식 (11)에 의해 얻어진 결과(X,Y,Z)를 기초로 투시 변환을 실행한다. 이 투시 변환은 후방 클립핑을 행하는 동안 얻어진 관측자의 위치(시점 위치)로부터 모델까지의 거리 Z'을 이용하여 가상 캔버스의 4개의 정점에 대해 실행된다(단계 S28∼S30). 식 (11)에서 얻어진 결과를 기초로 투시 변환에서 얻어진 변환 결과는 정보 격납부(12) 또는 외부 메모리(13)로 전송된다. 이 변환에 의해 가상 캔버스는 깊이가 표시된 상태로 설정된다.
가상 캔버스의 좌표 및 투시 변환 처리와 모델의 텍스쳐 데이타로의 변환이 완성되었을 때, 가상 캔버스의 좌표값은 표시 제어부(17)로 전송된다. 표시 제어부(17)에서, 대상 모델의 2차원 텍스쳐 데이타의 텍스쳐 패턴은 가상 캔버스의 좌표값을 기초로 텍스쳐 DDA에 의해 변환되고, 텍스쳐 매핑은 가상 캔버스상에서 실행된다. 얻어진 데이타는 프레임 메모리(16)의 온 스크린 영역의 가상 캔버스 좌표 값으로 기입된다. 텍스쳐 모델은 솔리드 모델로 되고 가상 캔버스에 표시된다. 프레임 메모리(16)에 기입된 데이타는 표시 제어부(17)에 의해 제어되고 표시부상에 표시된다(단계 S31∼S33).
제2실시예에서, 가상 캔버스의 크기가 텍스쳐 데이타의 크기와 같기 때문에, 이 가상 캔버스를 원점(텍스쳐 데이타의 좌표값과 동일한 좌표값)에 준비하고, 제1실시예에서와 같이 2차원의 텍스쳐 데이타에 깊이값 Z(Z=1)를 제공함으로써 표시 좌표계상에서의 좌표 변환의 역변환을 실행한다. 따라서, 텍스쳐의 변형이 발생되지 않는 텍스쳐 매핑이 실행될 수 있다(단계 S29).
원점에 위치한 기본 가상 캔버스상의 데이타를 표시 좌표계상의 데이타로 변환하는 좌표 변환을 나타내는 식 (12)의 역변환은 식 (13)으로 표시된다. 이 식의 계수는 사전 처리부(14)에서 좌표 변환하는 동안 얻어진 계수의 부호가 반전되는 것과 같이 처리가 매우 간단하기 때문에 사전 처리부(14)로부터 보내진 좌표 변환 계수를 이용하여 계산될 수 있다(단계 S31).
식 (13)을 행렬로 나타내면 다음과 같다.
이 방법에서, 식 (14)에 의해 표시된 역변환에 의해 표시 좌표계상에서의 표시 위치의 가상 캔버스로부터 기본 가상 캔버스로의 좌표 변환이 가능하다(단계 S32 및 S33). 식 (14)는 가상 캔버스의 각각의 화소의 Z값을 DDA 연산에 따라 표시 제어부(17) 또는 묘화 처리부(15)에서 구하는 동안 계산된다.
상기 실시예에 따르면, 텍스쳐 데이타의 크기는 가상 캔버스의 크기와 일치하고, 텍스쳐 데이타는 다각형이 가상적으로 존재하는 공간과 동일한 공간에서의 데이타와 일치한다. 이 때문에, 좌표 변환의 역변환이 가상 캔버스에 대해 실행되는 경우에, 가상 캔버스는 텍스쳐 데이타의 좌표값에 대응시킬 수 있게 된다. 이 때문에, 가상 캔버스의 이동에 관한 좌표 변환값의 부호를 반전시키는 방식으로 동작이 실행될 수 있다. 이 역변환과 관련된 연산량은 거의 영이다. 또한, 연산은 승산 및 가산만을 필요로 함으로써 고속 동작을 실현할 수 있다.
본 발명은 상기 실시예에 한정되지 않는다. 예컨대, 제1실시예에서, 표시 제어부 및 묘화 처리부를 사전 처리부의 일부로서 구성할 수도 있다. 제2실시예에서, 각 화소의 깊이 정보를 미리 묘화 처리부에서 계산할 수 있고, 그 계산 결과는 프레임 메모리에 저장할 수 있으며, 역변환을 실행하는 경우에 그 저장된 값을 독출하면서 역변환을 실행해도 된다. 본 발명은 그 기술적 사상 및 범위내에서 여러 가지 변형 및 수정이 가능함을 이해할 수 있을 것이다.
상기한 바와 같이, 본 발명에 따르면, 종래의 텍스쳐 매핑에서 발생한 텍스쳐 변형(스윔)이 발생하지 않고, 투시 변환에서 각 화소에 대한 제산에 의해 발생되는 연산량의 증가를 억제시킬 수 있다. 컴퓨터 시뮬레이션을 실행한 결과, 본 발명의 방법은 종래의 방법의 약 1/16 정도의 연산량만을 필요로 한다.
기타의 장점 및 변형은 당업자에게 쉽게 이해될 수 있을 것이다. 따라서, 넓은 범위의 본 발명은 특정 세부 사항, 대표적인 장치 및 여기에 기술된 실시예에 한정되지 않는다. 따라서, 여러가지 변경이 청구범위 및 그것의 등가물에 의해 한정되는 일반적 발명 개념의 정신 및 범위로부터 벗어남이 없이 이루어질 수 있다.

Claims (6)

  1. 메모리 장치에 저장된 다각형으로 구성된 모델 정보를 기초로 표시 좌표계로 좌표 변환을 실행하는 좌표 변환 처리 단계와, 다각형의 각 정점의 휘도로부터 휘도의 경사도를 구하는 연산 처리 단계와, 이 연산 처리 단계에 의한 연산 처리 결과를 일시 저장하는 단계와, 상기 연산 결과로부터 다각형의 세이딩, 텍스쳐 매핑 등을 실행하는 묘화 처리 단계와, 상기 묘화 처리 단계에 의한 묘화 처리 결과를 메모리에 저장하는 단계와, 상기 묘화 처리 결과를 상기 메모리로부터 독출하여 지정된 표시 좌표에 지정된 크기로 상기 독출 데이타를 표시하는 표시 제어 단계를 구비한 화상 처리 방법에 있어서, 3차원 공간상의 다각형에 대하여 상기 텍스쳐 매핑은, 텍스쳐 데이타를 3차원 공간상에서 평면으로 한정하고 다각형의 공간(시점 좌표)에 가상적으로 배치하도록 2차원 텍스쳐 좌표에 대하여 가상적으로 깊이 정보 Z의 값을 모든 정점에 제공하는 단계(S1∼S6)와; 다각형과 텍스쳐 데이타간의 동일한 크기 및 동일한 좌표값을 구하기 위해서 상기 3차원 공간상에서 다각형의 각 정점과 텍스쳐 데이타의 대응하는 정점 사이의 선형 변환을 실행하는 단계(S7)와; 다각형과 텍스쳐 데이타가 서로 동일하게 변환된 후에, 상기 선형 변환으로 얻어진 계수와 다각형상의 각 화소의 깊이값 Z을 이용하여 다각형상의 각 화소의 선형 매핑을 실행함으로써 대응하는 텍스쳐 데이타의 좌표값을 구하는 단계를 포함하는 것을 특징으로 하는 화상 처리 방법.
  2. 제1항에 있어서, 상기 텍스쳐 데이타를 3차원 텍스쳐 데이타로 변환하기 위하여 2차원 텍스쳐 좌표에 공급된 Z값은 투영면상의 Z값인 것을 특징으로 하는 화상 처리 방법.
  3. 메모리 장치에 저장된 다각형으로 구성된 모델 정보를 기초로 표시 좌표계로 좌표 변환을 실행하는 좌표 변환 수단과, 다각형의 각 정점의 휘도로부터 휘도의 경사도를 구하는 연산부와, 상기 연산부로부터의 연산 결과를 저장하는 수단과, 상기 연산 결과로부터 다각형의 세이딩, 텍스쳐 매핑 등을 실행하는 묘화 처리부와, 상기 묘화 처리부의 묘화 처리 결과를 메모리에 저장하는 수단과, 상기 묘화 처리 결과를 상기 메모리로부터 독출하고 지정된 표시 좌표에 지정된 크기로 상기 독출 데이타를 표시하는 표시 기능을 갖는 표시 제어부를 구비한 화상 처리 장치에 있어서, 3차원 공간상의 다각형에 대하여 상기 텍스쳐 매핑을 실행하기 위한 수단은, 2차원 텍스쳐 좌표에 대하여 가상적으로 깊이 정보 Z의 값을 모든 정점에 제공하는 수단과; 텍스쳐 데이타를 3차원 공간상에서 평면으로 한정하고 다각형의 공간(시점 좌표)에 상기 텍스쳐 데이타를 가상적으로 배치하도록 상기 깊이 정보를 텍스쳐 데이타의 각 정점에 제공하는 수단과; 다각형과 텍스쳐 데이타를 동일한 3차원 공간으로 이동시킨 후, 3차원 공간상에서 다각형의 각 정점과 대응하는 텍스쳐 데이타의 정점간의 선형 변환을 실행하여, 다각형과 텍스쳐 데이타간의 동일한 크기 및 동일한 좌표값을 구하는 연산 수단과; 다각형과 텍스쳐 데이타가 서로 동일하게 되도록 변환된 후에, 상기 선형 변환의 계수와 다각형상의 각 화소의 깊이값 Z를 이용하여 다각형상의 각 화소의 선형 매핑을 실행함으로써 대응하는 텍스쳐 데이타의 좌표값을 구하는 수단을 구비하는 것을 특징으로 하는 화상 처리 장치.
  4. 제3항에 있어서, 상기 텍스쳐 데이타를 3차원 텍스쳐 데이타로 변환하기 위하여 2차원 텍스쳐 좌표에 공급된 Z값은 투영면상의 Z값인 것을 특징으로 하는 화상 처리 방법.
  5. 제3항에 있어서, 상기 데이타의 각 화소의 Z값은 DDA에 따라 계산되는 것을 특징으로 하는 화상 처리 장치.
  6. 메모리 장치에 저장된 다각형으로 구성된 모델 정보를 기초로 표시 좌표계로 좌표 변환을 실행하는 좌표 변환 처리 단계와, 다각형의 각 정점의 휘도로부터 휘도의 경사도를 구하는 연산 처리 단계와, 상기 연산 처리 단계에 의한 연산 처리 결과를 저장하는 단계와, 상기 연산 결과로부터 다각형의 세이딩, 텍스쳐 매핑 등을 실행하는 묘화 처리 단계와, 상기 묘화 처리 단계에 의한 묘화 처리 결과를 메모리에 저장하는 제1저장 단계와, 상기 묘화 처리 결과를 상기 메모리로부터 독출하고 지정된 표시 좌표에 지정된 크기로 상기 독출 데이타를 표시하는 표시 처리 단계를 포함하는 화상 처리 방법에 있어서, 3차원 공간상의 다각형에 대하여 텍스쳐 매핑을 실행하는 방법은, 텍스쳐 데이타를 3차원 공간상에서 평면으로 한정하기 위하여 2차원 텍스쳐 좌표에 대해 가상적으로 깊이 정보 Z의 값을 모두 1로 하여 정점 정보에 제공하는 단계와; 다각형의 공간(시점 좌표)에 상기 텍스쳐 데이타를 가상적으로 배치하는 단계와, 다각형과 텍스쳐 데이타에 의해 각각 형성된 평면 사이에서 법선 방향이 서로 일치하도록 좌표 변환 계수를 계산하는 단계와, 변환 계수를 사용하여 각 화소를 변환하는 단계와, Z값을 각 화소와 승산하는 단계와, 얻어진 좌표값을 사용하여 텍스쳐 데이타를 선형 매핑하는 단계를 포함하는 것을 특징으로 하는 화상 처리 방법.
KR1019950008249A 1994-04-05 1995-04-06 텍스쳐 매핑 방법 및 화상 처리 장치 KR0179354B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP94-067142 1994-04-05
JP6067142A JPH07282292A (ja) 1994-04-05 1994-04-05 テクスチャマッピング方法及び画像処理装置

Publications (1)

Publication Number Publication Date
KR0179354B1 true KR0179354B1 (ko) 1999-05-15

Family

ID=13336368

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950008249A KR0179354B1 (ko) 1994-04-05 1995-04-06 텍스쳐 매핑 방법 및 화상 처리 장치

Country Status (3)

Country Link
EP (1) EP0676724A3 (ko)
JP (1) JPH07282292A (ko)
KR (1) KR0179354B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997042605A1 (en) * 1996-05-06 1997-11-13 Philips Electronics N.V. Method and device for graphics mapping of a surface onto a two-dimensional image
US5841442A (en) * 1996-12-30 1998-11-24 Cirrus Logic, Inc. Method for computing parameters used in a non-homogeneous second order perspective texture mapping process using interpolation
US5835097A (en) * 1996-12-30 1998-11-10 Cirrus Logic, Inc. Non-homogenous second order perspective texture mapping using linear interpolation parameters
US6208350B1 (en) * 1997-11-04 2001-03-27 Philips Electronics North America Corporation Methods and apparatus for processing DVD video
US6201546B1 (en) 1998-05-29 2001-03-13 Point Cloud, Inc. Systems and methods for generating three dimensional, textured models
DE10008385A1 (de) * 2000-02-23 2001-08-30 Dimension 3D Systems Gmbh Verfahren zur automatischen Verknüpfung von Bildbereichen einer dreidimensionalen Darstellung eines Objektes mit Funktionen
US7035451B2 (en) 2000-08-09 2006-04-25 Dynamic Digital Depth Research Pty Ltd. Image conversion and encoding techniques
JP3597792B2 (ja) 2001-04-05 2004-12-08 コナミ株式会社 3次元画像処理方法、装置、3次元画像処理プログラム及びビデオゲーム装置
US9940747B2 (en) * 2015-12-02 2018-04-10 Biosense Webster (Israel) Ltd. Mapping 3D to 2D images

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4974177A (en) * 1985-10-04 1990-11-27 Daikin Industries Ltd. Mapping circuit of a CRT display device
US5224208A (en) * 1990-03-16 1993-06-29 Hewlett-Packard Company Gradient calculation for texture mapping
JP3181445B2 (ja) * 1993-08-31 2001-07-03 株式会社東芝 画像処理装置及び方法

Also Published As

Publication number Publication date
JPH07282292A (ja) 1995-10-27
EP0676724A2 (en) 1995-10-11
EP0676724A3 (en) 1996-06-05

Similar Documents

Publication Publication Date Title
EP0360155B1 (en) Image transformation method and device
US5224208A (en) Gradient calculation for texture mapping
US5175808A (en) Method and apparatus for non-affine image warping
US6215496B1 (en) Sprites with depth
EP0638875B1 (en) A 3-dimensional animation generating apparatus and a method for generating a 3-dimensional animation
RU2215326C2 (ru) Иерархическое основанное на изображениях представление неподвижного и анимированного трехмерного объекта, способ и устройство для использования этого представления для визуализации объекта
US6292192B1 (en) System and method for the direct rendering of curve bounded objects
KR100567204B1 (ko) 픽셀 당 mip 매핑 및 3선형 필터링 방법 및 장치
US20080024490A1 (en) Real-time GPU rendering of piecewise algebraic surfaces
JPS63502464A (ja) 実時間像発生システムに於ける包括的な歪み補正
JPH0778267A (ja) 陰影を表示する方法及びコンピュータ制御表示システム
JPH07200867A (ja) 画像生成装置
JPH07120434B2 (ja) ボリュームレンダリングを行う方法及び装置
KR0179354B1 (ko) 텍스쳐 매핑 방법 및 화상 처리 장치
EP0377639B1 (en) Quadratic interpolation for shaded image generation
KR100594555B1 (ko) 삼각형 폴리곤 묘화 장치 및 삼각형 폴리곤 묘화 방법
US6351262B1 (en) Display techniques for three-dimensional virtual reality
JP3278501B2 (ja) 画像処理装置および方法
KR0166106B1 (ko) 화상 처리 장치 및 그 방법
US5821942A (en) Ray tracing through an ordered array
EP0250588B1 (en) Comprehensive distortion correction in a real time imaging system
JPH11149566A (ja) 曲面ディスプレイ用3次元cg描画装置
JP2878614B2 (ja) 画像合成方法及び装置
KR100283071B1 (ko) 고속 텍스쳐 매핑 방법
JP2830339B2 (ja) 画像変換方法

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

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee