KR100261076B1 - 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치 - Google Patents

범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치 Download PDF

Info

Publication number
KR100261076B1
KR100261076B1 KR1019950040496A KR19950040496A KR100261076B1 KR 100261076 B1 KR100261076 B1 KR 100261076B1 KR 1019950040496 A KR1019950040496 A KR 1019950040496A KR 19950040496 A KR19950040496 A KR 19950040496A KR 100261076 B1 KR100261076 B1 KR 100261076B1
Authority
KR
South Korea
Prior art keywords
bump
element value
bump mapping
values
mapping
Prior art date
Application number
KR1019950040496A
Other languages
English (en)
Other versions
KR970029185A (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 KR1019950040496A priority Critical patent/KR100261076B1/ko
Priority to JP8296815A priority patent/JP3021368B2/ja
Priority to US08/748,489 priority patent/US5808619A/en
Priority to DE19646194A priority patent/DE19646194B4/de
Publication of KR970029185A publication Critical patent/KR970029185A/ko
Application granted granted Critical
Publication of KR100261076B1 publication Critical patent/KR100261076B1/ko

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • G06T15/83Phong shading

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

본 발명은 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치에 관한 것으로서, 주변요소값을 계산하는 단계; 확산요소값을 범프맵핑하고, 범프맵핑/퐁 쉐이딩 선택신호에 따라 범프 맵핑된 확산요소값 또는 범프맵핑 이전의 확산요소값을 선택적으로 출력하는 단계; 거울요소값을 범프 맵핑하고, 범프맵핑/퐁 쉐이딩 선택신호에 따라 범프맵핑된 거울요소값 또는 범프맵핑 이전의 거울요소값을 선택적으로 출력하는 단계; 및 주변요소값, 확산요소값과 거울요소값을 가산하여 상기 밝기값을 구하는 단계로 이루어진다. 따라서, 물체의 울통불퉁한 모양을 표현할 수 있으므로 이를 실시간 3차원 애니메이션에 적용하여 활용할 경우 영상의 사실성을 높일 수 있고, 실제 주로 사용되고 있는 다각형 모델에서 사용이 가능하므로 실용성이 높고, 다각형간의 불연속성이 나타나지 않으며, 구조가 간단하여 실제 구현하기가 용이하며, 필요에 따라 퐁 쉐이딩 기능한 수행시킬 수 있다.

Description

범프맵핑과 퐁 쉐이딩을 동시에 수행하는 랜더링방법 및 장치
제1도는 본 발명의 동작원리를 설명하기 위한 맵 공간과 축 벡터의 예.
제2도는 본 발명에 의한 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링장치를 나타낸 블록도.
제3도는 제2도에 도시된 2차 보간기의 구조도.
본 발명은 범프 맵핑(bump mapping)과 퐁 쉐이딩(phong shading)을 동시에 수행하는 렌더링(rendering)방법 및 장치에 관한 것이다.
일반적으로, 범프 맵핑은 나무껍질처럼 울퉁불퉁한 물체를 표현하기 위한 방법으로서, 모델에서는 물체의 기본윤각만을 다각형으로 표현하고, 실세계에서 얻은 맵 데이터를 렌더링과정에서 적용하는 측면에서 기본적으로 텍스처 맵핑(texture mapping)과 유사하다. 그러나, 범프 맵이라고 불리는 맵 데이터는 요철 면의 울퉁불퉁한 정도에 관한 기하학적인 데이터라는 점과, 이를 다각형에 단순히 입히는 것이 아니라 범프 맵의 기하학적인 정보를 추출해서 현 상태의 빛과 눈의 위치와의 관계에 따라 다각형의 각 화소(pixel)의 밝기를 계산하는 측면에서 텍스쳐 맵핑보다 더욱 사실적인 영상을 얻을 수 있는 렌더링방법이다.
따라서, 범프 맵핑은 실세계에서 얻은 데이터인 범프 맵을 사용함으로써 사실적인 요철효과를 표현할 수 있고, 적은 숫자의 다각형만을 모델에서 사용함으로써 빠르게 처리할 수 있다. 또한, 범프 맵핑을 사용하면 물체, 빛, 눈의 위치가 변경될 때, 요철면에서 튀어나오거나, 들어간 각 부분의 밝기 변화가 각 화소에서 적절히 이루어진다.
상술한 바와 같이 각 요철 부위는 쉐이딩 효과에 의해 표현된다. 그런데, Gouraud 쉐이딩이나 퐁 쉐이딩과 같은 대부분이 쉐이딩 기법은 법선 벡터(normal vector)에 따라 각 화소의 밝기가 결정된다. 이에 착안하여 Blinn은 범프 맵에 다라 각 화소의 법선 벡터를 변경시킴으로써 요철 효과를 얻을 수 있는 법선 벡터 수정(normal vector perturbation)법에 기초한 범프 맵핑을 제시하였다. 그러나, 이 방법은 물체의 면이 매개변수로 표시되는 곡면함수(parametric surface)일 경우에만 적용할 수 있기 때문에 실제 주로 사용되고 있는 다각형 모델에서는 적용할 수 없는 단점이 있다.
최근에 Ernst등은 이러한 단점을 보완하여 법선벡터수정법을 기초로 하여 다각형 모델에 적용되는 범프 맵핑 방법을 제시하였으나, 이 방법은 다각형 사이의 경계선에서 불연속적으로 쉐이딩된다는 단점이 있다.
한편, 범프 맵핑을 실시간으로 처리하기 위해서는 이를 위한 렌더링 하드웨어가 필수적이나, 아직까지 실제 구현된 경우는 없다. 다만, Ernst등이 제안한 회로가 있으나 실제 구현하기에 매우 복잡한 구조로 되어 있다. 예를 들어, 광원이 한 개인 경우, 화소마다 3차원 벡터의 내적(dot product)계산을 2번, 승산을 12번, 제산을 5번, 아크탄젠트 계산을 2번 이상 수행해야 한다. 또한, 화질의 측면에서 볼때도 다각형의 경계선에서 불연속적으로 쉐이딩되는 단점이 있다. 또한, 수행속도 면에서 볼 때 광원과 물체 사이의 상대적인 위치가 변경될 때마다 내부에서 사용되는 테이블을 다시 계산해야 하기 때문에 이 부분에서 수행속도가 느려진다.
반면, Blinn의 방법은 기본적으로 하드웨어를 고려하고 있지 않기 때문에 실제로 하드웨어로 구축하기에는 부적당하다. 예를 들어, 각 화소마다 곡면의 편미분 벡터를 구해야 하고, 3차원 벡터 외적(cross product) 계산을 적어도 두 번 수행해야 하며, 3차원 벡터의 길이를 구해야 한다.
따라서 본 발명의 목적은 범프 맵핑과 퐁 쉐이딩을 동시에 수행하기 위한 렌더링방법 및 장치를 제공하는데 있다.
상기 목적을 달성하기 위하여 본 발명에 의한 범프 맵핑과 퐁쉐이딩을 동시에 수행하는 렌더링방법은 사용자가 3차원상의 다각형 모델을 생성하는 모델링부, 상기 생성된 다각형 모델을 스크린상의 위치로 변환하는 기하학적 엔진과 스크린상에서 화소단위의 연산을 수행한 후 프레임버퍼에 저장하는 라스터 엔진을 구비하는 렌더링장치에 있어서, 상기 라스터 엔진은 주변요소값, 확산요소값 및 거울요소값으로 이루어지는 임의의 지점에서 바라보는 물체의 밝기값을 구하기 위하여 상기 주변 요소값을 계산하는 단계;
상기 확산요소값을 범프 맵핑하고, 범프맵핑/퐁 쉐이딩 선택신호에 따라 상기 범프 맵핑된 확산요소값 또는 범프 맵핑 이전의 확산요소값을 선택적으로 출력하는 단계;
상기 거울요소값을 범프 맵핑하고, 범프맵핑/퐁 쉐이딩 선택신호에 따라 상기 법프 맵핑된 거울요소값 또는 범프 맵핑 이전의 거울요소값을 선택적으로 출력하는 단계 및 상기 주변요소값, 확산요소값과 거울요소값을 가산하여 상기 밝기값을 구하는 단계로 이루어지는 것을 특징으로 한다.
상기 목적을 달성하기 위하여 본 발명에 의한 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링장치는 사용자가 3차원상의 다각형 모델을 생성하는 모델링부, 상기 생성된 다각형 모델을 스크린상의 위치로 변환하는 기하학적 엔진과 스크린상에서 화소단위의 연산을 수행한 후프레임버퍼에 저장하는 라스터 엔진을 구비하는 렌더링장치에 있어서, 상기 라스터 엔진은 주변요소값, 확산요소값 및 거울요소값으로 이루어지는 임의의 지점에서 바라보는 물체의 밝기값을 구하기 위하여 상기 다각형의 각 꼭지점에서 주어진 접선벡터를 2차 선형보간하여 상기 다각형의 각 꼭지점에서 계산되어 선형보간되 축벡터와 범프맵핑 이전의 확산용소값을 구하는 제1보간부;
상기 다각형의 각 꼭지점에서 주어진 법선벡터를 2차 선형보간하여 상기 다각형의 각 꼭지점에서 계산되어 선형보간된 축벡터와 범프맵핑 이전의 거울요소값을 구하는 제2보간부;
상기 다각형 내부의 각 화소의 맵 공간상의 위치값을 2차 선형보간하는 제3보간부;
상기 제3보간부에서 출력되는 각 화소의 맵 공간상의 위치값에 의해 수정된 법선벡터를 출력하는 범프 맵;
상기 제1보간부에서 출력되는 상기 다각형의 각 꼭지점에서 계산되어 선형보간된 축벡터와 범프맵핑 이전의 확산요소값을 상기 범프매벵서 출력되는 수정된 법선벡터로 내적연산하여 범프맵핑된 확산요소값을 출력하는 제1승산기;
범프 맵핑/퐁 쉐이딩 절환신호에 의해 상기 제1승산기에서 출력되는 범프맵핑된 확산요소값 또는 상기 범프맵핑 이전의 확산요소값을 선택적으로 출력하는 제1멀티플렉서;
상기 제2보간부에서 출력되는 상기 다각형의 각 꼭지점에서 계산되어 선형보간된 축벡터와 범프맵핑 이전의 거울요소값을 상기 범프맵에서 출력되는 수정되 법선벡터로 내적연산하는 제2승산기;
상기 범프 맵핑/퐁 쉐이딩 절환신호에 의해 상기 제2승산기에서 출력되는 범프맵핑된 거울요소값 또는 상기 범프맵핑 이전의 거울요소값을 선택적으로 출력하는 제2멀티플렉서;
상기 제2멀티플렉서에서 출력되는 거울요소값에 거울반사지수를 승산하여 최종 거울요소값을 출력하는 지수연산부; 및
상기 주변요소값, 상기 제1멀티플렉서에서 출력되는 확산요소값, 상기 지수연산부에서 출력되는 거울요소값을 더하는 가산기로 구성되는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 일실시예에 대하여 상세히 설명하기로 한다.
제2도는 본 발명에 의한 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링장치를 나타낸 블록도로서, 제1 내지 제3보간부(21,22,23), 범프 맵(24), 제1 및 제2승산기(25,26), 제1 및 제2멀티플렉서(27,28), 지수연산부(29)와 가산기(30)로 구성된다.
제3도는 제2도에 도시된 2차 보간기(Q1;Quadratic Interpolator)의 구조도로서, 2개의 누적기(accumulator)로 구성된다.
제2도의 구성에 의거하여 본 발명의 동작을 설명하면 다음과 같다.
퐁 조명 모델(phong illumination model)에서는 우리가 바라보는 물체의 한 지점의 밝기(intensity)가 다음(1)식과 같이 정의된다.
여기서 Hi=(Li+e)/│(Li+E)│
상기 (1)식에서, N은 해당 지점의 단위 법선벡터, E는 해당 지점에서 눈의 방향을 나타내는 단위 벡터, Li는 해당 지점에서 iI번째 광원의 방향을 나타내는 단위벡터, Ia는 주변 광원의 밝기, Ili는 i번째 광원의 밝기, ka는 주변반사(ambient-reflection)상수, kd는 확산반사(diffuse-reflection)상수, ka는 거울반사(specular reflection) 상수, ns는 거울반사 지수, x는 물체의 확산색을 각각 나타낸다. 한편, 상기 (1)식에서 각 항을 주변요소, 확산효소, 거울요소라 부른다.
곡면의 물체가 여러개의 다각형으로 근시 표현되어 있는 경우, 다각형 내부의 각 점의 법선벡터가 결정되어 있지 않다. 퐁 쉐이딩에서는 다각형 내부의 각 점에서 법선벡터를 구하기 위해 해당 다각형의 꼭지점에서의 법선벡터를 선형보간(linear interpolation)한다.
기존의 범프 맵핑방법에서 사용되는 범프 맵은 높이 데이터를 가지고 있으나, 본 발명에서 사용되는 범프 맵은 높이 데이터를 가지고 있으나, 본 발명에서 사용되는 범프 맵은 단위 법선벡터를 가진다. 범프 맵이 정의된 공간을 맵 공간(map space)이라 하고, 이의 좌표축을 제1도에 도시된 바와 같이 u,v,h라 한다. 즉, 표면의 요철높이 h가 u와 v(이때 u와 v는 정수)의 위치에 따라 결정된다. 이때, 이미지 처리기법을 사용하면 맵 공간에서의 단위 법선벡터 N*=(n*u,n*v,n*h)를 계산할 수 있다. 범프 맵 B(u,v)(제2도의 24)는 이러한 단위 법선벡터를 저장한 것이다.
본 발명이 제시하는 범프 맵핑방법의 핵심은 다각형 상에서 맵 공간의 축방향을 계산하고, 이에 따라 N*을 변환시키는 것이다.
다각형 상에 맵 공간의 축방향을 계산하기 위한 어핀(affine)변환행렬을 M이라 할 때, 다음과 같이 M을 계산한다.
입력으로 주어진 다각형 P는 삼각형이고 P의 각 꼭지점 i에는 꼭지점의 3차원 좌표값와 범프 맵의 위치(ui, vi)(단, 1≤i≤3)가 지정되어 있는 것으로 가정한다. 다각형 P의 법선벡터 Np와 맵 공간의 h축을 맞추도록 하면 행렬 M은 다음 (2)식과같은 조건을 만족한다.
상기 (2)식과 같은 조건을 만족하는 행렬 M은 연립방정식의 해를 구함으로써 얻을 수 있다.
맵 공간에서 두 축방향 단위벡터를 U*=(1,0,0)와 V*=(0,1,0)라 한다. 이들을 동차(homogeneous)좌표로 변환하여 행렬 M을 곱하면 P상의 축방향의 벡터인 Up와 Vp를 구할 수 있다. 그러나, Np와 각 꼭지점 i에서 주어진 법선벡터 Ni는 일치하지 않는다. 따라서, h축을 다시 Ni와 맞추고, Up와 Vp를 다시 Ni에 수직인 평면에 사상(projection)시킨다. 사상시킨 벡터를 단위 벡터로 변환시킨 것을 제1도에 도시된 바와 같이 각각 Ui와 Vi로 표시하고, 이들을 축벡터라 한다. 이와 같이 축벡터를 구하는 과정을 각 꼭지점에서 모두 수행한다.
퐁 쉐이딩을 수행할 때, 각 꼭지점에서 주어진 법선벡터를 선형보간하여 닫 내부의 각 화소에서 법선벡터를 계산하고, N이라 한다. 본 발명에서는 이외에 범프 맵핑을 위해 각 꼭지점에서 계산된 축벡터도 선형보간하고, 각각 U와 V라 한다. 그러면, 각 화소의 (u,v)값에 의한 범프 맵 B(u,v)에 의해 수정되는 법선벡터 N'은 다음(3)식과 같이 표현된다.
상기 (3)식을 상기(1)식의 각 요소에 적용한다. 먼저, 주변요소 I(a)는 상수값 kaxIa이므로 쉽게 처리된다. 한편, 확산요소는 다음(4)식과 같이 처리된다.
이때,라 하면, 상기 (3)식은 다음 (4)식과 같이 벡터의 내적 형식으로 정리될 수 있다.
상기 (4)식에서,는 범프 맵핑을 하기 전의 확산 요소와 동일하고,값은 각각 U와 V를 마치 법선벡터인 것으로 간주하고, 확산요소값을 계산한 것과 같다. 따라서,값을 계산하는 방법과 동일하게 계산하면 이들 값을 계산할 수 있다. 즉,퐁 쉐이딩의 확산 요소를 구하는 어떠한 방법이라도 이들 값을 구하는데 사용될 수 있다.
거울 요소에 대해서도 같은 방법으로 계산하면 다음 (5)식과 같이 나타낼 수 있다.
이때,이다. 이 경우에도, 역시 퐁 쉐이딩의 거울 요소를 구하는 어떠한 방법이라도를 구하기 위해서 사용될 수 있다.
상술한 바대로 작동되는 렌더링장치를 제2도를 참조하여 설명하기로 한다.
먼저, 한 개의 광원에서 평행한 빛이 비추어진다고 가정한다. 즉, n=1이고 동일하 다각형 내부에서는 광원의 방향 Li이 동일하다.
렌더링장치가 구동되기 윗해서는 크게 모델링 단계, 기하학적 엔진, 라스터 엔진의 세 단계를 거친다. 라스터 엔진에서 동작하는 동작을 설명하기 전에 앞의 두 단계에서 필요한 작업을 설명하기로 한다.
먼저, 모델링 단계에서는 사용자가 3차원 상의 물체를 생성하는 단계로서, 렌더링장치가 구동되기 위하여 사용자가 미리 적절한 자료를 준비한다. 이 단계에서 물체들은 다각형으로 모델링되어 있고, 모드 삼각형으로 이루어져 있다고 가정한다. 퐁 쉐이딩을 위해서 각 꼭지점마다 벱가 지정된다. 범프 맵핑을 위해서는 이외에 각 꼭지점 마다 (ui,vi)값을 지정하고, 이를 이용하여 축벡터를 계산하여 모델에 저장한다. 그런데, 한 꼭지점에 인접되어 있는 삼각형은 여러개일 수 있으며, 각 삼각형 입장에서 계산된 축벡터는 차이가 있을 수 있다. 이 경우에는 각 삼각형에 대해 축벡터의 평균을 구하여 모델에 저장한다.
다음, 기하 엔진 단계은 생성된 모델을 스크린상의 위치로의 변환(perspective transform)등 3차원상의 작업이 핵심인 단계이다. Bishop과 Weimer는 퐁 쉐이딩을 위한 하드웨어를 제안하였는데, 이 방법에서는 테일러(Taylor) 급수를 이용하고, 또한 2차 보간(quadratic interpolation) 방식을 취한다. 즉, 삼각형의 세 꼭지점에서 상기 (1)식을 이용하여 확산요소값과 거울 요소값을 계산한 후, 라스터엔진에서는 다각형의 배부 위치에서 이들 값을 화면의 좌표값에 대해 2차 보간한다. 이를 변형하여 동일한 결과를 얻을 수 있는데 먼저 2차 식의 계수는 6개이므로 다음(6)식이 성립된다.
상기 (6)식에서, x와 y는 화면의 좌표를 나타낸다. 삼각형의 세 꼭지점과 변의 중간점에서 각각 확산요소값을 대입하여 연립방정식의 해를 구하면 상기(6)식의 계수를 구할 수 있다. 라스터 엔진에서는 이 계수를 이용하여 포워드 차이(forward difference)를 계산하면 인접한 화소에서 두 번의 가산으로 확산요소값을 구할 수 있다. 이는 거울 요소값에 대해서도 동일하다.
상기 (4)식과 (5)식을 계산하기 위해서 상술한 방법을 그대로 이용한다. 즉, 삼각형의 세 꼭지점과 각 변의 중간점에서 각각를 계산하여 연립방정식의 해를 각각 구하고, 상기 (6)식과 같은 2차 식으로 표현한다. 이때 2차식의 계수를 얻는다.
기하 엔진 단게에서는 각 삼각형에 대해 스팬(span)을 생성하여 각 스팬을 라스터 엔진에 전달한다. 이와 함께 상기 (6)식의 2차식을 이용하여 각 스팬의 시작점에서를 계산하여 라스터 엔진의 입력값으로 전달한다. 그리고, 2차 보간을 위해서 x좌표값이 1 증가할 때 각값의 증가분과 이들의 증가분를 계산하여 라스터 엔진의 입력으로 전달한다.
화면의 각 화소에서의 (u, v)값을 계산하는 방법은 텍스쳐 맵핑에서 사용되는 방법인 2차 보간법을 사용한다. 이를 위해서도 2차 보간 계수가 필요한데 u와 v에 대해 각각 상술한 바와 동일한 방법으로 계산하여 라스터 엔진의 입력으로 전달한다.
다음 Z 버퍼링, 텍스처 맵핑, 앤티에얼리싱(antialiasing)등과 같은 스크린상의 화소 단위의 연산을 수행한 후 그 결과를 프레임 버퍼에 저장하는 라스터 엔진 단계에서 범프 맵핑을 위한 회로에 대하여 제2도와 제3도를 참조하여 설명하면 다음과 같다.
제1내지 제3보간부(21,22,23)의 2차 보간기(QI)에 있어서 LOAD/ADD 제어가 LOAD상태일 경우 두 개의 누적기에 각각 x와를 저장한다. 한편, ADD일 경우에 더한 후에 이를 다시 X에 더한다. 이때, X는이다. 이때, 제1 내지 제3보간부(21,22,23)에 입력되는 자료는 미리 지정된 셋방향의 벡터에 대한 밝기값이다.
현재 화소의 (u, v)값을 이용하여 범프 맵(24)에서단위 법선벡터 N*를 찾는다. 범프 맵(24)의 한 화소는 3바이트(byte)로 구성되며, 각 바이트는 단위 법선벡터의 각 성분값이다.
제1 및 제2승산기(25,26)에서는 찾아낸 단위 법선벡터와 2차 보간기(QI)의 출력에 벡터 내적 연산을 수행한다. 거울 요소인 경우, 지수연산을 수행해야 하는데 이는 테이블을 참조하는 것으로 구현할 수 있으며, 이 부분은로 표시되어 있다.
가산기(30)에서는 계산된 확산요소와 거울요소에 주변요소를 더하여 최종 결과를 출력한다.
제2도의 장치에서는 Ernst등이 제시한 회로에 비하여 매우 간단한 구조이기 때문에 실제 구현하기가 용이하다. 또한만 이용하면 바로 퐁 쉐이딩을 위한 하드웨어가 된다. 이를 이용하여 범프 맵핑을 수행하는 모드와 퐁 쉐이딩만 수행하는 모드를 두어 퐁 쉐이딩만 필요한 경우 제1 및 제2멀티플렉서(MUX:27,28)에 의한 모드 절환으로 제2도의 장치를 이용할 수 있다. 이때, 모드절환은 BPSELECT 신호로 제어한다.
제2도의 장치중 범프 맵(24)과 지수연산부(29)에서 룩업 테이블을 위해서 메모리를 이용한다.
이제까지 설명하 동작원리는 실제 주로 사용하고 있는 다각형 모델에서 사용가능하도록 고안된 것이다. 또한, 이 방법에서는 삼각형 사이의 경계선에서 동일한 축벡터가 사용되므로 삼각형 사이가 연속적으로 쉐이딩된다.
상술한 바와같이 본 발명에 의하 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링장치에서는 물체의 울퉁불퉁한 모양을 표현할 수 있으므로 이를 실시간 3차원 애니메이션에 적용하여 활용할 경우 영상의 사실성을 높일 수 있다. 또한, 실제 주로 사용되고 있는 다각형 모델에서 사용이 가능하므로 실용성이 높고, 기존 방법의 단점인 다각형간의 불연속성이 나타나지 않는다. 또한, 기존 회로에 비해 구조가 간단하여 실제 구현하기가 용이하며, 퐁 쉐이딩도 동시에 수행되므로 필요에 따라 퐁 쉐이딩 기능만 수행시킬 수 있다.

Claims (4)

  1. 사용자가 3차원상의 다각형 모델을 생성하는 모델링부, 상기 생성된 다각형 모델을 스크린상의 위치로 변환하는 기하학적 엔진과 스크린상에서 화소단위의 연산을 수행한 후 프레임버퍼에 저장하는 라스터 엔진을 구비하는 렌더링장치에 있어서, 상기 라스터 엔진은 주변요소값, 확산요소값 및 거울요소값으로 이루어지는 임의의 지점에서 바라보는 물체의 밝기값을 구하기 위하여 상기 주변요소값을 계산하는 단계; 상기 확산요소값을 범프 맵핑하고, 범프맵핑/퐁 쉐이딩 선택신호에 따라 상기 범프 맵핑된 확산요소값 또는 범프 맵핑 이전의 확산요소값을 선택적으로 출력하는 단계; 상기 거울요소값을 범프 맵핑하고, 범프맵핑/퐁 쉐이딩 선택신호에 따라 상기 범프 맵핑된 거울요소값 또는 범프 맵핑 이전의 거울요소값을 선택적으로 출력하는 단계 및 상기 주변요소값, 상기 확산요소값과 상기 거울요소값을 가산하여 상기 밝기값을 구하는 단계로 이루어지는 것을 특징으로 하는 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법.
  2. 제1항에 있어서, 상기 범프 맵핑에 사용되는 범프 맵은 단위 법선벡터를 저장하는 것을 특징으로 하느 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법.
  3. 사용자가 3차원상의 다각형 모델을 생성하는 모델링부, 상기 생성된 다각형 모델을 스크린상의 위치로 변환하는 기하학적 엔진과 스크린상에서 화소단위의 연산을 수행한 후 프레임버퍼에 저장하는 라스터 엔진을 구비하는 렌더링장치에 있어서, 상기 라스터 엔진은 주변요소값, 확산요소값 및 거울요소값으로 이루어지는 임의의 지점에서 바라보는 물체의 밝기값을 구하기 위하여 상기 다각형의 각 꼭지점에서 주어진 법선벡터를 2차 선형보간하여 상기 다각형의 각 꼭지점에서 계산되어 선형 보간된 축벡터와 범프맵핑 이전의 확산요소값을 구하기 위한 제1보간부; 상기 다각형의 각 꼭지점에서 주어진 법선벡터를 2차 선형보간하여 상기 다각형의 각 꼭지점에서 계산되어 선형보간된 축벡터와 범프맵핑 이전의 거울요소값을 구하기 위한 제2보간부; 상기 다각형 내부의 각 화소의 맵 공간상의 위치값을 2차 선형보간하기 위한 제3보간부; 상기 제3보간부에서 출력되는 각 화소의 맵 공간상의 위치값에 의해 수정된 법선벡터를 출력하기 위한 범프 맵; 상기 제1보간부에서 출력되는 상기 다각형의 각 꼭지점에서 계산되어 선형보간된 축벡터와 범프맵핑 이전의 확산요소값을 상기 범프맵에서 출력되는 수정된 법선벡터로 내적연산하여 범프맵핑된 확산요소값을 출력하기 위한 제1승산기; 범프 맵핑/퐁 쉐이딩 절환신호에 의해 상기 제1승산기에서 출력되는 범프맵핑된 확산요소값 또는 상기 범프맵핑 이전의 확산요소값을 선택적으로 출력하기 위한 제1멀티플렉서; 상기 제2보간부에서 출력되는 상기 다각형의 각 꼭지점에서 계산되어 선형보간된 축벡터와 범프맵핑 이전의 거울요소값을 상기 범프 맵에서 출력되는 수정되 법선벡터로 내적연산하기 위한 제2승산기; 상기 범프 맵핑/퐁 쉐이딩 절환신호에 의해 상기 제2승산기에서 출력되는 범프맵핑된 거울요소값 또는 상기 범프맵핑 이전의 거울요소값을 선택적으로 출력하기 위한 제2멀티플렉서; 상기 제2멀티플렉서에서 출력되는 거울요소값에 거울반사지수를 승산하여 최종 거울요소값을 출력하기 위한 지수연산부; 및 상기 주변요소값, 상기 제1멀티플렉서에서 출력되는 확산요소값, 상기 지수연산부에서 출력되는 거울요소값을 더하기 위한 가산기를 포함하는 것을 특징으로 하는 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링장치.
  4. 제3항에 있어서, 상기 범프 맵은 단위 법선벡터를 저장하는 것을 특징으로 하는 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링장치.
KR1019950040496A 1995-11-09 1995-11-09 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치 KR100261076B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1019950040496A KR100261076B1 (ko) 1995-11-09 1995-11-09 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치
JP8296815A JP3021368B2 (ja) 1995-11-09 1996-11-08 画素の法線ベクトルを用いたバンプマッピングレンダリング方法及びそれを具現するレンダリング装置
US08/748,489 US5808619A (en) 1995-11-09 1996-11-08 Real-time rendering method of selectively performing bump mapping and phong shading processes and apparatus therefor
DE19646194A DE19646194B4 (de) 1995-11-09 1996-11-08 Echtzeit-Wiedergabeverfahren zum wahlweisen Ausführen von Bump-Mapping- und Phong-Schattierungs-Prozessen und zugehörige Vorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950040496A KR100261076B1 (ko) 1995-11-09 1995-11-09 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치

Publications (2)

Publication Number Publication Date
KR970029185A KR970029185A (ko) 1997-06-26
KR100261076B1 true KR100261076B1 (ko) 2000-07-01

Family

ID=19433533

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950040496A KR100261076B1 (ko) 1995-11-09 1995-11-09 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치

Country Status (4)

Country Link
US (1) US5808619A (ko)
JP (1) JP3021368B2 (ko)
KR (1) KR100261076B1 (ko)
DE (1) DE19646194B4 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101428577B1 (ko) * 2012-08-06 2014-08-11 동명대학교산학협력단 적외선 동작 인식 카메라를 사용하여 화면상에 네추럴 유저 인터페이스 기반 입체 지구본을 제공하는 방법

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6724383B1 (en) * 1997-02-21 2004-04-20 Mental Images G.M.B.H. System and computer-implemented method for modeling the three-dimensional shape of an object by shading of a two-dimensional image of the object
US9098297B2 (en) * 1997-05-08 2015-08-04 Nvidia Corporation Hardware accelerator for an object-oriented programming language
JP3514945B2 (ja) * 1997-05-26 2004-04-05 株式会社ソニー・コンピュータエンタテインメント 画像作成方法および画像作成装置
US6226006B1 (en) * 1997-06-27 2001-05-01 C-Light Partners, Inc. Method and apparatus for providing shading in a graphic display system
JP3035571B2 (ja) 1997-12-22 2000-04-24 株式会社島精機製作所 画像処理装置
US6014144A (en) * 1998-02-03 2000-01-11 Sun Microsystems, Inc. Rapid computation of local eye vectors in a fixed point lighting unit
US6762768B2 (en) * 1998-06-01 2004-07-13 Ati Technologies, Inc. Method and apparatus for rendering an object using texture variant information
US6480205B1 (en) 1998-07-22 2002-11-12 Nvidia Corporation Method and apparatus for occlusion culling in graphics systems
JP3605317B2 (ja) * 1999-06-07 2004-12-22 株式会社ソニー・コンピュータエンタテインメント 画像描画方法、画像描画装置及び記録媒体
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6717577B1 (en) 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US6844880B1 (en) 1999-12-06 2005-01-18 Nvidia Corporation System, method and computer program product for an improved programmable vertex processing model with instruction set
US7209140B1 (en) 1999-12-06 2007-04-24 Nvidia Corporation System, method and article of manufacture for a programmable vertex processing model with instruction set
US7071937B1 (en) 2000-05-30 2006-07-04 Ccvg, Inc. Dirt map method and apparatus for graphic display system
JP4443012B2 (ja) 2000-07-27 2010-03-31 株式会社バンダイナムコゲームス 画像生成装置、方法および記録媒体
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US7196710B1 (en) 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US6825851B1 (en) 2000-08-23 2004-11-30 Nintendo Co., Ltd. Method and apparatus for environment-mapped bump-mapping in a graphics system
US6980218B1 (en) 2000-08-23 2005-12-27 Nintendo Co., Ltd. Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
US7576748B2 (en) 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US6597356B1 (en) 2000-08-31 2003-07-22 Nvidia Corporation Integrated tessellator in a graphics processing unit
US6731298B1 (en) 2000-10-02 2004-05-04 Nvidia Corporation System, method and article of manufacture for z-texture mapping
US6828980B1 (en) 2000-10-02 2004-12-07 Nvidia Corporation System, method and computer program product for z-texture mapping
US6850244B2 (en) * 2001-01-11 2005-02-01 Micron Techology, Inc. Apparatus and method for gradient mapping in a graphics processing system
US6614431B1 (en) 2001-01-18 2003-09-02 David J. Collodi Method and system for improved per-pixel shading in a computer graphics system
US6781594B2 (en) * 2001-08-21 2004-08-24 Sony Computer Entertainment America Inc. Method for computing the intensity of specularly reflected light
US7046245B2 (en) * 2001-10-10 2006-05-16 Sony Computer Entertainment America Inc. System and method for environment mapping
US8133115B2 (en) 2003-10-22 2012-03-13 Sony Computer Entertainment America Llc System and method for recording and displaying a graphical path in a video game
US7525543B2 (en) * 2004-08-09 2009-04-28 Siemens Medical Solutions Usa, Inc. High performance shading of large volumetric data using screen-space partial derivatives
US20060071933A1 (en) 2004-10-06 2006-04-06 Sony Computer Entertainment Inc. Application binary interface for multi-pass shaders
US7636126B2 (en) 2005-06-22 2009-12-22 Sony Computer Entertainment Inc. Delay matching in audio/video systems
DE102005048100B4 (de) * 2005-09-30 2018-07-05 Robert Bosch Gmbh Elektrisches Gerät, insbesondere elektronisches Steuergerät für Kraftfahrzeuge
US7880746B2 (en) 2006-05-04 2011-02-01 Sony Computer Entertainment Inc. Bandwidth management through lighting control of a user environment via a display device
US7965859B2 (en) 2006-05-04 2011-06-21 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
US8115774B2 (en) * 2006-07-28 2012-02-14 Sony Computer Entertainment America Llc Application of selective regions of a normal map based on joint position in a three-dimensional model
US10786736B2 (en) 2010-05-11 2020-09-29 Sony Interactive Entertainment LLC Placement of user information in a game space
US9342817B2 (en) 2011-07-07 2016-05-17 Sony Interactive Entertainment LLC Auto-creating groups for sharing photos
US10140751B2 (en) 2013-08-08 2018-11-27 Imagination Technologies Limited Normal offset smoothing
IL233523A (en) 2014-07-06 2017-06-29 Au10Tix Ltd A system and method for quantifying repetition such as in the analysis of laminated documents
CN113706693B (zh) * 2021-08-27 2023-11-17 武汉大学 一种微光条件下偏振三维重建方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2710616B2 (ja) * 1987-09-22 1998-02-10 大日本印刷株式会社 三次元物体を二次元表現する上での物体表面処理方法および処理装置
JPH04106672A (ja) * 1990-08-28 1992-04-08 Hitachi Ltd 物体の照明条件推定方法,物体の3次元情報生成方法,物体の形状と質感の生成方法,物体の形状と質感の生成装置
JPH05298460A (ja) * 1992-04-16 1993-11-12 Dainippon Printing Co Ltd 貝殻質感表現装置
JP3107452B2 (ja) * 1992-04-28 2000-11-06 株式会社日立製作所 テクスチャマッピング方法およびその装置
JP2682559B2 (ja) * 1992-09-30 1997-11-26 インターナショナル・ビジネス・マシーンズ・コーポレイション 物体の画像をディスプレイ装置上に表示する装置及び方法並びにコンピュータ・グラフィックス表示システム
JPH07296187A (ja) * 1994-04-28 1995-11-10 Sony Corp 画像表示処理装置
JPH08263694A (ja) * 1995-03-22 1996-10-11 Tsuneo Ikedo バンプマップシェーディング回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101428577B1 (ko) * 2012-08-06 2014-08-11 동명대학교산학협력단 적외선 동작 인식 카메라를 사용하여 화면상에 네추럴 유저 인터페이스 기반 입체 지구본을 제공하는 방법

Also Published As

Publication number Publication date
KR970029185A (ko) 1997-06-26
DE19646194B4 (de) 2005-12-08
DE19646194A1 (de) 1997-05-15
JP3021368B2 (ja) 2000-03-15
US5808619A (en) 1998-09-15
JPH09167255A (ja) 1997-06-24

Similar Documents

Publication Publication Date Title
KR100261076B1 (ko) 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치
US6417858B1 (en) Processor for geometry transformations and lighting calculations
US5745666A (en) Resolution-independent method for displaying a three-dimensional model in two-dimensional display space
US5659671A (en) Method and apparatus for shading graphical images in a data processing system
Bishop et al. Fast phong shading
US5561746A (en) Image synthesizing system with surface data perspective transformation
JP4385524B2 (ja) ポリゴンデータの生成方法及び、これを用いた画像表示装置
US8289323B2 (en) Drawing processing apparatus, texture processing apparatus, and tessellation method
US7170527B2 (en) Interactive horizon mapping
US5739820A (en) Method and apparatus for specular reflection shading of computer graphic images
US6437781B1 (en) Computer graphics system having per pixel fog blending
US6518968B1 (en) Method and apparatus for performing H-space bump mapping suitable for implementation with H-space lighting in a graphics pipeline of a computer graphics display system
JPH05307610A (ja) テクスチャマッピング方法およびその装置
US7071937B1 (en) Dirt map method and apparatus for graphic display system
EP1704535B1 (en) Method of rendering graphical objects
US7015930B2 (en) Method and apparatus for interpolating pixel parameters based on a plurality of vertex values
KR100559127B1 (ko) 화상처리장치
JP4060375B2 (ja) スポットライト特性形成方法及びこれを用いた画像処理装置
JPH06266852A (ja) 画像合成装置
KR100848687B1 (ko) 3차원 그래픽 처리 장치 및 그것의 동작 방법
JPH11185052A (ja) 3次元コンピュータグラフィックスのテクスチャマッピング座標計算装置および方法
Bennebroek et al. Design principles of hardware-based Phong shading and bump-mapping
Kim et al. A fast and efficient bump mapping algorithm by angular perturbation
Szirmay-Kalos et al. Hardware implementation of Phong shading using spherical interpolation
JP2000057372A (ja) 画像処理装置、画像処理方法及び記憶媒体

Legal Events

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

Payment date: 20080328

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee