KR20030014516A - apparatus and method for processing bump mapping - Google Patents

apparatus and method for processing bump mapping Download PDF

Info

Publication number
KR20030014516A
KR20030014516A KR1020010048545A KR20010048545A KR20030014516A KR 20030014516 A KR20030014516 A KR 20030014516A KR 1020010048545 A KR1020010048545 A KR 1020010048545A KR 20010048545 A KR20010048545 A KR 20010048545A KR 20030014516 A KR20030014516 A KR 20030014516A
Authority
KR
South Korea
Prior art keywords
vector value
value
bump
vector
polygon
Prior art date
Application number
KR1020010048545A
Other languages
Korean (ko)
Other versions
KR100420859B1 (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 한탁돈
Priority to KR10-2001-0048545A priority Critical patent/KR100420859B1/en
Publication of KR20030014516A publication Critical patent/KR20030014516A/en
Application granted granted Critical
Publication of KR100420859B1 publication Critical patent/KR100420859B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details

Abstract

PURPOSE: A system and a method for processing bump mapping are provided to reduce the amount of computation with respect to bump mapping using polar coordinate system. CONSTITUTION: A system for processing bump mapping includes the first and second computation units and a memory. The first computation unit receives a direction vector value of an incident light with respect to a polygon to be mapped, an intermediate vector value of the direction vector value and a point vector value, and a vertical vector value, and converts the direction vector value and intermediate vector value from a three-dimensional object space into a three-dimensional bump space. The memory stores a bump vector map having a perturbed normal vector value of pixels for the polygon and a look-up table having parameters. The second computation unit receives the converted direction vector value and intermediate vector value from the first computation unit and reads the perturbed normal vector value and required parameters from the bump vector map and memory, to compute a color value of each pixel of the polygon.

Description

범프 매핑 처리 장치 및 방법{apparatus and method for processing bump mapping}Apparatus and method for processing bump mapping}

본 발명은 3차원 그래픽 가속기 시스템에 관한 것으로, 특히 현실적인 영상 처리를 위한 범프 매핑 장치 및 방법에 관한 것이다.The present invention relates to a three-dimensional graphics accelerator system, and more particularly to a bump mapping apparatus and method for realistic image processing.

현재, 대부분의 3차원 그래픽 가속기 시스템에서는 현실적인 영상 처리를 위하여 텍스쳐 매핑, 범프 매핑, 환경 매핑, 변위 매핑 등이 사용되고 있다.Currently, texture mapping, bump mapping, environment mapping, displacement mapping, etc. are used for realistic image processing in most 3D graphics accelerator systems.

이 중에서 텍스쳐 매핑은 가장 기본적으로 사용되어지고 있는 방법으로, 객체 표면에 무늬를 입힘으로써, 객체에 어느 정도의 현실감을 부여해준다.Among them, texture mapping is the most commonly used method. By giving a pattern to the surface of an object, it gives a certain degree of realism to the object.

이러한 텍스쳐의 효과에 굴곡이나 반사 효과를 더해주면 훨씬 더 현실감 있는 영상을 만들어낼 수 있다.Adding a bend or reflection effect to these textures creates a much more realistic image.

범프 매핑은 이러한 현실감 있는 영상을 위해 밋밋한 객체의 표면에 울퉁불퉁한 굴곡을 가미하는 기법이다.Bump mapping is a technique that adds bumpy curvature to the surface of a flat object for such realistic images.

이는 복잡한 객체의 모델링 과정 없이 간단한 기하학 매핑을 통하여 복잡한 객체를 표현해 내는데 유용하게 사용된다.This is useful for expressing complex objects through simple geometry mapping without modeling complex objects.

도 1은 일반적인 범프 매핑 방법을 보여주는 도면이다.1 is a diagram illustrating a general bump mapping method.

종래 기술은 도 1에 도시된 바와 같이 기본적으로 두 가지 과정을 거쳐 수행된다.The prior art is basically performed through two processes as shown in FIG.

첫 번째 과정은 지역 공간 정보(local space information)로부터 노말 벡터를 변형하는 과정이고, 두 번째 과정은 변형된 노말 벡터와 조명 파라메터들(illumination parameters)로부터 조명값인 픽셀 컬러값을 계산하는 과정이다.The first process is to transform a normal vector from local space information, and the second process is to calculate a pixel color value that is an illumination value from the modified normal vector and illumination parameters.

최종적으로 픽셀 컬러값에 따라 범프 매핑을 수행한다.Finally, bump mapping is performed according to pixel color values.

좀 더 상세히 설명하면, 첫 번째 과정은 객체 위의 한 점에서의 접평면에 수직인 노말 벡터 N을 굴곡 표면에 수직인 방향으로 변형(perturb)하는 과정으로, 하기 수학식 1과 같이 변형된 노말 벡터 N'을 계산한다.In more detail, the first process is a process of perturbing a normal vector N perpendicular to a tangent plane at an point on an object in a direction perpendicular to a curved surface. Calculate N '.

N' = N + Bu(N×Pv) - Bv(N×Pu)N '= N + B u (N × P v )-B v (N × P u )

이 과정을 수행하기 위해서는 객체 위의 한 점 P에서 매개변수 u, v에 대해 편미분된 탄젠트 플레인(tangent plane) 위의 벡터 Pu, Pv와 이 점에 매핑되어질 범프 맵 위의 방향 매개 변수 u, v에 대한 기울기(slope) Bu, Bv를 필요로 한다.In order to perform the process parameters at a point P above the object variables u, v a tangent plane (tangent plane) vector P u, P v and direction parameters in the above to be a bump map mapped to a point on the partial derivatives of variables u We need the slopes B u , B v for, v .

이 과정은 범프 매핑 처리에 있어서, 상당한 계산 로직 및 계산량을 요구한다.This process requires considerable computational logic and computational amount in the bump mapping process.

두 번째 과정은 위와 같이 변형된 노말 벡터 N'에 대한 새로운 조명을 계산하는 과정으로, 퐁 조명 모델(Phong Illumination Model)을 기반으로 계산된다.The second process is to calculate a new light for the modified normal vector N 'as described above, and is calculated based on the Phong Illumination Model.

퐁 조명 모델은 주변 환경에서 입사되는 주변광(ambient light), 입사광과 객체 표면을 구성하는 분자와의 상호작용에 의해 나오는 확산광(diffuse light), 반들거리고 윤기가 나는 객체의 표면에서 반사되는 경면광(specular light)으로 구성된다.The Phong lighting model is designed to reflect ambient light incident from the environment, diffuse light from the interaction of the incident light with the molecules that make up the object surface, and the specular surface reflected from the shiny, shiny object's surface. It consists of specular light.

그러므로, 하기 수학식 2, 3, 4와 같이, 주변광 Ig, 확산광 Id, 그리고 경면광 Is을 계산한다.Therefore, as shown in Equations 2, 3, and 4, the ambient light I g , the diffused light I d , and the specular light I s are calculated.

주변광 Ig= Iaka Ambient light I g = I a k a

여기서, Ia는 주변광의 세기, ka는 주변 계수이다.Where I a is the intensity of ambient light and k a is the ambient coefficient.

확산광 Id= Iikdcosθ 0≤θ≤2πDiffused light I d = I i k d cosθ 0≤θ≤2π

= Iikd(LㆍN)= I i k d (LN)

여기서, Ii는 광원의 빛의 세기, kd는 확산 계수, L은 입사광의 방향 벡터, N은 표면 노말 벡터이다.Where I i is the light intensity of the light source, k d is the diffusion coefficient, L is the direction vector of the incident light, and N is the surface normal vector.

경면광 Is= IikscosnMirror light I s = I i k s cos n Ω

= Iiks(RㆍV)n = I i k s (RV) n

여기서, ks는 경면 계수, n은 반사율, R은 반사광의 방향 벡터, V는 시점의 방향 벡터이다.Where k s is the mirror coefficient, n is the reflectance, R is the direction vector of the reflected light, and V is the direction vector of the viewpoint.

이와 같이, 계산된 값을 이용하여 하기 수학식 5와 같이 조명값 I를 결정한다.As such, the illumination value I is determined using the calculated value as shown in Equation 5 below.

I = Ig+ Id+ Is I = I g + I d + I s

= Iaka+ Ii(kd(LㆍN) + ks(RㆍV)n)= I a k a + I i (k d (L · N) + k s (R · V) n )

결정된 조명값을 이용하여 각 픽셀에 대해 색 처리를 수행함으로써, 범프 매핑을 완료한다.Bump mapping is completed by performing color processing on each pixel using the determined illumination value.

하지만, 이러한 방법은 계산이 복잡하고, 연산량이 많아 범프 매핑에 대한 비용이 증가하였다.However, this method has a complicated calculation and a large amount of calculation, which increases the cost of bump mapping.

그러므로, 범프 매핑에 대한 비용을 줄이기 위하여 계산량이 많은 벡터 R 대신에 계산량이 적은 벡터 H를 사용하는 방법이 제안되었다.Therefore, a method of using a low computation vector H instead of a high computation vector R has been proposed to reduce the cost for bump mapping.

벡터 H는 하기 수학식 6과 같이 빛의 방향 벡터 L과 시점 벡터 V 사이의 중간 방향으로 향하는 가상 표면의 단위 노말 벡터이다.The vector H is a unit normal vector of a virtual surface directed in the middle direction between the light direction vector L and the viewpoint vector V as shown in Equation 6 below.

H = (L + V)/2H = (L + V) / 2

벡터 H를 사용하면 조명값 I는 하기 수학식 7과 같이 계산된다.Using the vector H, the lighting value I is calculated as shown in Equation 7 below.

I = Ig+ Id+ Is I = I g + I d + I s

= Iaka+ Ii(kd(LㆍN) + ks(RㆍH)n)= I a k a + I i (k d (LN) + k s (RH) n )

그러나, 이러한 범프 매핑 방법 역시, 상당한 계산량을 요구하므로 범프 매핑 처리 알고리즘 및 하드웨어의 구조가 복잡하고 이에 따른 매핑 처리 비용도 증가하고 있다.However, such a bump mapping method also requires a considerable amount of computation, and thus the structure of the bump mapping algorithm and hardware is complicated, and the mapping process cost is also increased.

본 발명은 이러한 문제들을 해결하기 위한 것으로, 범프 매핑 처리 알고리즘 및 하드웨어 구조가 간단한 범프 매핑 처리 장치 및 방법을 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve such problems, and an object thereof is to provide a bump mapping processing apparatus and method having a simple bump mapping processing algorithm and a hardware structure.

도 1은 일반적인 범프 매핑 처리 과정을 보여주는 도면1 is a view illustrating a general bump mapping process

도 2는 본 발명에 따른 범프 매핑의 수행도2 is an illustration of bump mapping according to the present invention;

도 3은 본 발명에 따른 범프 매핑을 처리하기 위한 흐름도3 is a flow chart for processing bump mapping in accordance with the present invention.

도 4는 본 발명에 따른 범프 매핑을 처리하기 위한 블록도4 is a block diagram for processing bump mapping according to the present invention.

도 5는 본 발명에 따른 범프 매핑 처리 장치를 보여주는 구성 블록도5 is a block diagram illustrating a bump mapping apparatus according to the present invention;

도 6은 본 발명에 따른 범프 매핑과 함께 수행되는 렌더링 과정을 보여주는 흐름도6 is a flow chart showing a rendering process performed with bump mapping according to the present invention.

본 발명에 따른 범프 매핑 처리 방법은 외부로부터 매핑하고자 하는 폴리곤에 대한 입사광의 방향 벡터값 L, 방향 벡터값 L과 시점 벡터값 V의 중간 벡터값 H, 그리고 수직 벡터값 N을 입력받아, 방향 벡터값 L'과 중간 벡터값 H'을 3차원 물체 공간에서 3차원 범프 공간으로 변환되도록 연산하는 단계과, 연산 결과 변환된 방향 벡터값 L'과 중간 벡터값 H'을 입력받고 메모리에 저장된 범프 벡터 맵으로부터 폴리곤에 대한 픽셀의 변형된 노말 벡터값 N' 및 메모리에 저장된 룩-업 테이블로부터 필요한 매개 변수들을 읽어와서 매핑하고자 하는 폴리곤의 각 픽셀 색깔값을 연산하는 단계를 포함하여 이루어진다.The bump mapping method according to the present invention receives a direction vector value L, an intermediate vector value H of the direction vector value L, a viewpoint vector value V, and a vertical vector value N of the incident light with respect to a polygon to be externally mapped. Calculating the value L 'and the intermediate vector value H' to be converted from the 3D object space to the 3D bump space, and receiving the converted direction vector value L 'and the intermediate vector value H' and storing the bump vector map in memory. And calculating each pixel color value of the polygon to be mapped by reading the modified normal vector value N 'of the pixel for the polygon from the required parameters from the look-up table stored in memory.

방향 벡터값 L과 중간 벡터값 H을 3차원 물체 공간에서 3차원 범프 공간으로 변환되도록 연산하는 단계에서, 수직 벡터값 N이라 하면, 변환된 방향 벡터값 L'은이고, 변환된 중간 벡터값 H'은이다.In the step of calculating the direction vector value L and the intermediate vector value H to be converted from three-dimensional object space to three-dimensional bump space, the vertical vector value N is In other words, the converted direction vector value L ' And the transformed intermediate vector value H ' to be.

또한, 매핑하고자 하는 폴리곤의 각 픽셀 색깔값을 연산하는 단계는 변환된 방향 벡터값 L'과 중간 벡터값 H'을 입력받고 메모리에 저장된 범프 벡터 맵으로부터 폴리곤에 대한 픽셀의 변형된 노말 벡터값 N'을 읽어와서 이들을 연산하여 해당 픽셀의 확산광 방향 벡터 D 및 경면광의 방향 벡터 S를 구하는 단계와, 메모리에 저장된 룩-업 테이블의 코사인 테이블 및 파워 테이블로부터 필요한 매개 변수들을 읽어와서 이들을 연산하여 확산광과 경면광의 세기를 구하는 단계와, 외부로부터 인가되는 광의 파라메터들을 입력 받아 이들을 연산된 확산광과 경면광의 세기에각각 승산한 후, 승산된 확산광의 세기와 경면광의 세기를 가산하여 해당 픽셀의 색깔값을 구하는 단계로 이루어진다.In addition, the step of calculating each pixel color value of the polygon to be mapped includes the transformed normal vector value N of the pixel for the polygon from the bump vector map stored in memory after receiving the converted direction vector value L 'and the intermediate vector value H'. ', And calculate these to obtain the diffused light direction vector D and the specular light direction S of the corresponding pixel, and read the required parameters from the cosine table and the power table of the look-up table stored in the memory and compute these to diffuse Calculating the intensity of the light and the specular light, receiving the parameters of the light applied from the outside, and multiplying them by the calculated diffuse and specular light, respectively, and then adding the intensity of the multiplied diffused light and the specular light to add the color of the corresponding pixel. The process consists of finding the value.

여기서, 확산광의 방향 벡터 D는 변환된 방향 벡터값 L'에 변형된 노말 벡터값 N'을 감산하고, 경면광의 방향 벡터 S는 변형된 노말 벡터값 N'에 변환된 중간 벡터값 H'를 감산한다.Here, the direction vector D of the diffused light subtracts the modified normal vector value N 'to the converted direction vector value L', and the direction vector S of the specular light subtracts the converted intermediate vector value H 'to the modified normal vector value N'. do.

본 발명에 따른 범프 매핑 처리 장치는 외부로부터 매핑하고자 하는 폴리곤에 대한 입사광의 방향 벡터값 L, 방향 벡터값 L과 시점 벡터값 V의 중간 벡터값 H, 그리고 수직 벡터값 N을 입력받아, 방향 벡터값 L'과 중간 벡터값 H'을 3차원 물체 공간에서 3차원 범프 공간으로 변환되도록 연산하는 제 1 연산부와, 폴리곤에 대한 픽셀의 변형된 노말 벡터값 N'들을 갖는 범프 벡터 맵과 매개 변수들을 갖는 룩-업 테이블이 저장된 메모리부와, 제 1 연산부로부터 변환된 방향 벡터값 L'과 중간 벡터값 H'을 입력받고 메모리부에 저장된 범프 벡터 맵으로부터 폴리곤에 대한 픽셀의 변형된 노말 벡터값 N' 및 메모리에 저장된 룩-업 테이블로부터 필요한 매개 변수들을 읽어와서 매핑하고자 하는 폴리곤의 각 픽셀 색깔값을 연산하는 제 2 연산부를 포함하여 구성된다.The bump mapping apparatus according to the present invention receives the direction vector value L, the direction vector value L, the intermediate vector value H of the direction vector value L and the viewpoint vector value V, and the vertical vector value N of the incident light with respect to the polygon to be externally mapped. A first computing unit for converting the value L 'and the intermediate vector value H' from 3D object space to 3D bump space, and a bump vector map and parameters having the modified normal vector values N 'of the pixel for the polygon. A modified normal vector value N of pixels for a polygon from a memory unit having a look-up table having a look-up table and a direction vector value L 'and an intermediate vector value H' converted from a first calculator and a bump vector map stored in the memory unit And a second operation unit for reading the required parameters from the look-up table stored in the memory and calculating each pixel color value of the polygon to be mapped.

여기서, 제 1 연산부는 외부로부터 매핑하고자 하는 폴리곤에 대한 입사광의 방향 벡터값 L, 방향 벡터값 L과 시점 벡터값 V의 중간 벡터값 H, 그리고 수직 벡터값 N을 입력받아, 방향 벡터값 L'과 중간 벡터값 H'을 3차원 물체 공간에서 3차원 범프 공간으로 변환되도록 감산하는 4개의 감산기로 구성되고, 제 2 연산부는 변환된 방향 벡터값 L'과 중간 벡터값 H'을 입력받고, 메모리부에 저장된 범프 벡터 맵으로부터 폴리곤에 대한 픽셀의 변형된 노말 벡터값 N'과 메모리부에 저장된 룩-업 테이블로부터 필요한 매개 변수들을 읽어와서, 이들을 감산 및 가산하는 가/감산기와, 외부로부터 인가되는 광의 파라메터들과 가/감산기로부터 연산된 결과값을 승산하는 제 1, 제 2 승산기와, 제 1, 제 2 승산기로부터 연산된 결과값들을 가산하는 가산기로 구성된다.Here, the first calculator receives the direction vector value L of the incident light with respect to the polygon to be mapped from the outside, the intermediate vector value H of the direction vector value L, the viewpoint vector value V, and the vertical vector value N, and receives the direction vector value L '. And four subtractors for subtracting the intermediate vector value H 'from three-dimensional object space to three-dimensional bump space. The second operation unit receives the converted direction vector value L' and the intermediate vector value H ', and stores the memory. An adder / subtracter that reads the modified normal vector values N 'of the pixels for the polygons from the bump vector map stored in the part and the required parameters from the look-up table stored in the memory part, subtracts and adds them, and is applied from the outside. And first and second multipliers that multiply the parameters of the light and the result value calculated from the adder / subtracter, and an adder that adds the result values calculated from the first and second multipliers.

또한, 제 2 연산부는 제 1, 제 2 코사인 테이블, 파워 테이블을 갖는 룩-업 테이블과, 변환된 방향 벡터값 L'과 중간 벡터값 H'을 입력받고 메모리부에 저장된 범프 벡터 맵으로부터 폴리곤에 대한 픽셀의 변형된 노말 벡터값 N'과 룩-업 테이블로부터 필요한 매개 변수들을 읽어와서, 이들을 감산 및 가산하는 가/감산기와, 외부로부터 인가되는 광의 파라메터들과 가/감산기로부터 연산된 결과값을 승산하는 제 1, 제 2 승산기와, 제 1, 제 2 승산기로부터 연산된 결과값들을 가산하는 가산기로 구성될 수도 있다.Also, the second operation unit receives a look-up table having first and second cosine tables and a power table, and converts a direction vector value L 'and an intermediate vector value H' into a polygon from a bump vector map stored in a memory unit. Read the modified normal vector value N 'of the pixel and the necessary parameters from the look-up table, and add / subtract them to subtract them, and calculate the result values from the externally applied parameters and adders / subtracters. The multiplier may include a first multiplier and a multiplier and an adder for adding the result values calculated from the first multiplier and the second multiplier.

이와 같이, 본 발명은 기존의 직교 좌표계 방식에 비해 범프 매핑에 필요한 벡터의 접평면 공간으로의 변환 및 객체의 색을 결정하는데 필요한 하드웨어를 상당량 줄일 수 있는 장점이 있다.As described above, the present invention has the advantage of significantly reducing the hardware required to determine the color of the object and the transformation of the vector into the tangent plane space required for bump mapping compared to the conventional Cartesian coordinate system.

본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments taken in conjunction with the accompanying drawings.

상기와 같은 특징을 갖는 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명하면 다음과 같다.Referring to the accompanying drawings, preferred embodiments of the present invention having the features as described above are as follows.

먼저, 본 발명의 개념은 기존의 직교 좌표계 방식 대신에 극 좌표계 방식을이용하여 범프 매핑에 대한 연산량을 줄이고, 그에 따른 하드웨어를 줄임으로써, 가격 대 성능비가 우수한 범프 매핑 처리 장치를 구현할 수 있다.First of all, the concept of the present invention can implement a bump mapping processing apparatus having an excellent price-to-performance ratio by reducing the amount of computation for bump mapping and reducing hardware according to the polar coordinate system instead of the conventional Cartesian coordinate system.

본 발명에 따른 범프 매핑의 수행 알고리즘은 도 2에 도시된 바와 같이 크게 두 개의 부분으로 나뉘어진다.The algorithm for performing bump mapping according to the present invention is largely divided into two parts as shown in FIG. 2.

먼저, 범프 매핑 수행을 위한 준비 과정으로, 빛의 방향 벡터 L과 중간 벡터 H를 범프 벡터 공간으로 변환하는 과정을 수행한다.First, in preparation for performing bump mapping, a process of converting a light vector L and an intermediate vector H into a bump vector space is performed.

이는 주사 변환의 처리단위인 폴리곤이 입력되었을 때, 단 한 번만 수행해 주면 된다.This only needs to be done once when the polygon, which is the processing unit of the scan conversion, is entered.

이 과정에서는 임의의 기하학적인 위치에 있는 점 P를 폴리곤의 단위 공간인 범프 벡터 공간으로 이동함으로써, 위치 독립적인 수행을 보장해주게 된다.In this process, the position P is moved to the bump vector space, which is the unit space of the polygon, at a geometric position, thereby ensuring position-independent performance.

특히, 이 과정은 주사 변환과정과 중첩하여 수행이 가능하다.In particular, this process can be performed in overlap with the scan conversion process.

즉, 범프 매핑의 가미로 인한 오버헤드를 줄일 수 있다는 것을 의미한다.That is, it means that the overhead due to the addition of bump mapping can be reduced.

다음의 과정은 매핑하고자 하는 폴리곤에 대해 각 픽셀 당 처리하는 루틴으로, 주사 변환 과정에서 계산된 범프 맵 주소를 이용하여 범프 벡터 맵으로부터 해당 픽셀의 변형된 노말(normal) 벡터 N'을 가져와서, 폴리곤 처리 과정을 거쳐서 변환된 빛의 방향 벡터 L'과 중간 벡터 H'와의 합성을 통하여 픽셀의 컬러 값(빛의 세기)을 계산한다.The following process is a routine for processing each pixel for the polygon to be mapped. The modified normal vector N 'of the pixel is obtained from the bump vector map using the bump map address calculated in the scan conversion process. The color value of the pixel (light intensity) is calculated by combining the direction vector L 'and the intermediate vector H' of the converted light through the polygon process.

이 과정에서는 퐁 조명 모델을 적용하여 빛의 세기를 계산해낸다.In this process, the Phong lighting model is applied to calculate the light intensity.

즉, 폴리곤의 일정한 두 벡터(L',H')와 폴리곤을 따라서 계속해서 변하는 노말(normal) 벡터 N'을 이용하여 폴리곤 전체 픽셀에서의 컬러값을 구하기 위해 두번째 과정을 반복 수행한다.That is, the second process is repeated to obtain the color value of the entire pixel of the polygon using two constant vectors L 'and H' of the polygon and a normal vector N 'which continuously changes along the polygon.

도 3은 본 발명에 따른 범프 매핑을 처리하기 위한 흐름도이고, 도 4는 본 발명에 따른 범프 매핑을 처리하기 위한 블록도이다.3 is a flowchart for processing bump mapping according to the present invention, and FIG. 4 is a block diagram for processing bump mapping according to the present invention.

도 3 및 도 4에 도시된 바와 같이, 가장 먼저 수행되는 단계는 벡터 회전 유닛(vector rotation unit)으로, 이는 물체 공간 위의 기하학적 구조를 범프 벡터 공간으로 변환하는 과정을 담당한다.As shown in Figures 3 and 4, the first step is a vector rotation unit, which is responsible for converting the geometry on the object space into bump vector space.

그 다음 단계는 범프 벡터 맵으로부터, 주사 변환 과정을 통하여 구해진 범프 맵 주소를 이용하여 해당 픽셀의 변형된 노말 벡터를 구하는 과정이다.The next step is to obtain the modified normal vector of the corresponding pixel from the bump vector map using the bump map address obtained through the scan conversion process.

마지막으로 수행되는 단계는 조명 유닛(illumination unit)으로 퐁 조명 모델과 테이블 방식을 기반으로 하여 첫 번째 단계와 두 번째 단계로부터 벡터들을 입력 받아 해당 픽셀의 범프 매핑된 컬러값을 계산하는 과정이다.The final step is to calculate the bump-mapped color value of the pixel by receiving the vectors from the first and second steps based on the Phong illumination model and the table method as the illumination unit.

좀 더 상세히 설명하면 다음과 같다.A more detailed description is as follows.

벡터 회전(vector rotation) 단계는 3차원 물체 공간(3D object space)에서 3차원 범프 공간(3D bump space)으로의 변형(transform)을 수행한다.The vector rotation step performs a transformation from a 3D object space to a 3D bump space.

물체 공간에 있는 빛의 방향 벡터 L과 중간 벡터 H를 입력된 회전값 N을 이용하여 간단하게 회전하여 범프 공간에 있는 L'과 H'로 변환한다.Input rotational value N of direction vector L and intermediate vector H of light in object space Rotate simply to convert to L 'and H' in bump space.

여기서, 폴리곤(polygon)의 노말 벡터(normal vector)를 N:라 하면,Here, the normal vector of the polygon is N: Say,

L: L:

H: H:

이다.to be.

그 다음, 범프 벡터 로딩(bump vector loading) 단계는 주사 변환 과정을 거쳐서 생성된 각 픽셀의 범프 벡터 맵 주소를 가지고 범프 맵으로부터 기울어진 노말 벡터를 가져오는 일을 수행한다.Next, a bump vector loading step is performed to bring the inclined normal vector from the bump map with the bump vector map address of each pixel generated through the scan conversion process.

범프 벡터 맵은 앞서 설명한 바와 같이 물체의 접평면 위에 구성한다고 할 수 있다.As described above, the bump vector map may be configured on the tangent plane of the object.

이는 물체의 위치에 상관없이 범프 맵을 구성할 수 있다는 것을 의미한다.This means that the bump map can be constructed regardless of the position of the object.

이 맵의 구성은 일반적인 방식을 사용하여 오프라인에 계산한다.The composition of this map is calculated offline using the usual method.

그리고, 각 벡터의 배열 형식은 기존의 텍스쳐 맵과 동일하나, 각 셀(cell)의 크기는 normal 벡터값을 저장하기 위해 32비트로 구성되어 진다.The array format of each vector is the same as the existing texture map, but the size of each cell is composed of 32 bits to store a normal vector value.

마지막으로 조명 계산(Illumination computation) 단계는 상기의 두 단계를 거쳐 구해진 벡터들(L', H', N')을 이용하여 실제 매핑하고자 하는 폴리곤의 픽셀 컬러값을 구하는 단계이다.Lastly, the illumination computation step is to obtain pixel color values of polygons to be actually mapped using the vectors L ', H', and N 'obtained through the above two steps.

이 단계에서는 범프 매핑될 픽셀 컬러값을 계산하기 위해 확산광과 경면광의 세기 계산을 이용한다.In this step, the intensity calculation of diffused and specular light is used to calculate pixel color values to be bump mapped.

벡터 회전 유닛으로부터 계산된 회전(변환)된 빛의 방향 벡터 L'과 중간 벡터 H'와 범프 맵으로부터 가져온 변형된(perturbed) 노말 벡터, 그리고 퐁 조명 모델의 여러 매개 변수를 입력으로 받아 확산광의 세기와 경면광의 세기를 구한다.The intensity of the diffused light from the input of the rotated (transformed) direction vector L ', the intermediate vector H' calculated from the vector rotation unit, the perturbed normal vector from the bump map, and several parameters of the Phong illumination model. And the intensity of the specular light.

확산광의 세기와 경면광의 세기는 퐁 조명 모델을 기본으로 하며, 크게 내적(inner product) 연산과 power 연산으로 나뉘어진다.The intensity of diffused light and the intensity of specular light are based on the Phong lighting model and are largely divided into inner product operation and power operation.

이 두 연산에서는 기본적으로 LUT(Look-Up Table) 참조를 통하여 연산을 간결히 처리한다.These two operations basically handle the operation simply through a look-up table (LUT) reference.

내적 연산의 처리는 벡터의 감산과 코사인 테이블의 참조를 통하여 처리되는데 수행 연산은 다음과 같다.The processing of the dot product is handled by subtracting the vector and referencing the cosine table.

벡터의 감산은 하기와 같이 연산된다.Subtraction of the vector is calculated as follows.

확산광의 벡터 D = L' - N', 경면광의 벡터 S = N' - H'Diffuse Light Vector D = L '-N', Specular Light Vector S = N '-H'

코사인 테이블 참조를 통한 확산광과 경면광의 각은 하기와 같다.The angles of the diffused light and the specular light through the cosine table reference are as follows.

그리고, 파워(power) 연산의 처리는 단순한 코사인의 파워 테이블의 참조를 통하여 처리한다.The power operation is processed through a reference to a simple cosine power table.

이는 파워 연산 계산에 따른 지연과 계산량의 증가를 줄여주기 위한 것이다.This is to reduce the delay and the increase of the calculation amount due to the power calculation calculation.

즉, 매핑하고자 하는 폴리곤의 각 픽셀 색깔값을 연산하는 단계를 좀 더 상세히 설명하면 다음과 같다.That is, the steps of calculating each pixel color value of the polygon to be mapped in detail are as follows.

변환된 방향 벡터값 L'과 중간 벡터값 H'을 입력받고, 메모리에 저장된 범프 벡터 맵으로부터 폴리곤에 대한 픽셀의 변형된 노말 벡터값 N'을 읽어와서, 이들을 연산하여 해당 픽셀의 확산광 방향 벡터 D 및 경면광의 방향 벡터 S를 구한 다음, 메모리에 저장된 룩-업 테이블의 코사인 테이블 및 파워 테이블로부터 필요한 매개 변수들을 읽어와서, 이들을 연산하여 확산광과 경면광의 세기를 구한다.The transformed direction vector value L 'and the intermediate vector value H' are inputted, and the modified normal vector value N 'of the pixel for the polygon is read from the bump vector map stored in the memory, and these are calculated to calculate the diffuse light direction vector of the pixel. After obtaining the direction vector S of D and the specular light, the necessary parameters are read from the cosine table and the power table of the look-up table stored in the memory, and these are calculated to obtain the intensity of diffused and specular light.

그리고, 외부로부터 인가되는 광의 파라메터들을 입력 받아, 이들을 연산된 확산광과 경면광의 세기에 각각 승산한 후, 승산된 확산광의 세기와 경면광의 세기를 가산하여 해당 픽셀의 색깔값을 구한다.Then, the parameters of the light applied from the outside are input, and these are multiplied by the calculated intensity of diffused light and specular light, respectively, and the intensity of the multiplied diffused light and the intensity of specular light are added to obtain a color value of the corresponding pixel.

도 5는 본 발명에 따른 범프 매핑 처리 장치를 보여주는 구성 블록도이다.5 is a block diagram illustrating a bump mapping apparatus according to the present invention.

도 5에 도시된 바와 같이, 크게 제 1 연산부와 제 2 연산부, 그리고 메모리부로 구성된다.As shown in FIG. 5, a first operation unit, a second operation unit, and a memory unit are largely configured.

여기서, 제 1 연산부는 외부로부터 매핑하고자 하는 폴리곤에 대한 입사광의 방향 벡터값 L, 방향 벡터값 L과 시점 벡터값 V의 중간 벡터값 H, 그리고 수직 벡터값 N을 입력받아, 방향 벡터값 L'과 중간 벡터값 H'을 3차원 물체 공간에서 3차원 범프 공간으로 변환되도록 감산하는 4개의 감산기로 구성된다.Here, the first calculator receives the direction vector value L of the incident light with respect to the polygon to be mapped from the outside, the intermediate vector value H of the direction vector value L, the viewpoint vector value V, and the vertical vector value N, and receives the direction vector value L '. And four subtractors for subtracting the intermediate vector value H 'from three-dimensional object space to three-dimensional bump space.

그리고, 제 2 연산부는 변환된 방향 벡터값 L'과 중간 벡터값 H'을 입력받고, 메모리부에 저장된 범프 벡터 맵으로부터 폴리곤에 대한 픽셀의 변형된 노말 벡터값 N'과 메모리부에 저장된 룩-업 테이블로부터 필요한 매개 변수들을 읽어와서, 이들을 감산 및 가산하는 가/감산기와, 외부로부터 인가되는 광의 파라메터들과 가/감산기로부터 연산된 결과값을 승산하는 제 1, 제 2 승산기와, 제 1, 제 2 승산기로부터 연산된 결과값들을 가산하는 가산기로 구성된다.The second operation unit receives the transformed direction vector value L 'and the intermediate vector value H', and the modified normal vector value N 'of the pixel for the polygon from the bump vector map stored in the memory unit and the look stored in the memory unit- First and second multipliers for reading the necessary parameters from the up table, subtracting and adding them, multiplying the parameters of light applied from the outside with the result calculated from the adder / subtracter, and And an adder for adding the result values calculated from the second multiplier.

또한, 메모리부는 폴리곤에 대한 픽셀의 변형된 노말 벡터값 N'들을 갖는 범프 벡터 맵과, 매개 변수들을 갖는 룩-업 테이블이 저장된다.The memory section also stores a bump vector map with modified normal vector values N 'of pixels for the polygon, and a look-up table with parameters.

여기서, 룩-업 테이블은 제 1, 제 2 코사인 테이블, 파워 테이블로 구성되는데, 메모리부에 구성되지 않고 제 2 연산부 내에 따로 배치할 수도 있다.Here, the look-up table is composed of a first, a second cosine table, and a power table. The look-up table may not be configured in the memory unit but may be arranged separately in the second calculator.

또한, 본 발명은 전체적인 렌더링 과정과 결합하여 수행할 수가 있다.In addition, the present invention can be carried out in combination with the overall rendering process.

도 6은 본 발명에 따른 범프 매핑과 함께 수행되는 렌더링 과정을 보여주는 흐름도이다.6 is a flowchart illustrating a rendering process performed with bump mapping according to the present invention.

도 6에 도시된 바와 같이, 지역 공간 정보(local space information)는 범프 벡터 공간에서의 처리를 위해 기하학 처리 과정에서 입력받는 값으로 벡터의 회전을 위해 쓰여진다.As shown in FIG. 6, local space information is a value input during a geometric processing process for processing in a bump vector space and used for rotation of a vector.

그리고, 본 발명은 주사 변환 과정과 중첩하여 벡터 회전 과정이 수행되어지게 된다.In the present invention, the vector rotation process is performed in overlap with the scan conversion process.

또한, 매핑 처리 과정에서는 텍스쳐 매핑과 범프 매핑이 동시에 수행되어 지도록 설계되어 있다.Also, in the mapping process, texture mapping and bump mapping are performed at the same time.

이와 같이, 본 발명에 따른 범프 매핑 처리 장치 및 방법은 다음과 같은 효과가 있다.As described above, the bump mapping processing apparatus and method according to the present invention have the following effects.

첫 번째로, 빛의 방향 벡터 L, 중간 벡터 H, 그리고 폴리곤의 수직 벡터 N과 같이, 방향만을 필요로 하는 벡터를 기하학 처리(변환 및 빛의 세기 계산)의 용이함과 적은 데이터 이동량을 이용하기 위해 극 좌표계로 표현한다.First, in order to take advantage of the ease of geometry processing (transformation and light intensity calculation) and small amount of data movement for vectors requiring only directions, such as the direction vector L of light, the middle vector H, and the vertical vector N of polygons. Expressed in polar coordinates.

이는 기존의 직교 좌표계 방식에서의 변형과 라이팅(lighting)의 처리를 위해 필요로 했던 벡터 매트릭스 곱셈 연산과정과 두 벡터의 각을 통한 빛의 세기 과정을 간단한 산술연산을 통해 계산해 낼 수 있도록 하였고, 단위 벡터화 과정을 제거하였다.This makes it possible to calculate the vector matrix multiplication process and the light intensity process through the angles of two vectors required for the processing of transformation and lighting in the conventional Cartesian coordinate system by simple arithmetic operation. The vectorization process was removed.

또한, 벡터를 두 개의 좌표에 의해 표현함으로써, 실질적인 데이터의 이동량을 줄일 수 있다.In addition, by representing the vector by two coordinates, the amount of movement of the actual data can be reduced.

그리고, 이의 사용을 통해 하드웨어의 복잡도를 줄일 수 있게 된다.And, the use thereof can reduce the complexity of hardware.

두 번째로, 본 발명의 범프 매핑 하드웨어를 가미한 효과적인 렌더링 구조를 들 수 있다.Second, an effective rendering structure incorporating the bump mapping hardware of the present invention can be cited.

이는 범프 매핑 과정과 주사변환 과정을 병렬 수행함으로써, 기존의 순차적인 처리방식에 비해 범프 매핑 지원에 따른 수행 시간 지연을 줄일 수 있는 구조이다.By performing the bump mapping process and the scan conversion process in parallel, it is possible to reduce the execution time delay due to the bump mapping support as compared to the conventional sequential processing method.

순차적인 처리방식의 경우에는 실행 시간에 픽셀 데이터의 처리를 위해 프래그먼트 큐(fragment queue) 내에 불필요한 데이터를 길게 유지해야 한다.In the case of the sequential processing method, it is necessary to keep unnecessary data in the fragment queue for a long time to process the pixel data at execution time.

그러나, 본 구조와 같이 병렬수행처리를 해줌으로써, 프래그먼트 큐 내에 유용한 데이터의 유지 및 분산이 가능하게 된다.However, by performing parallel processing as in this structure, it is possible to maintain and distribute useful data in the fragment queue.

이와 같이, 처리시간을 줄여줌으로써, 렌더링 과정 및 매핑 처리 과정의 효과적인 처리가 가능하다.As such, by reducing the processing time, it is possible to effectively process the rendering process and the mapping process.

또한, 오프라인에 생성된 범프 벡터 맵과 본 구조를 사용하여 범프 매핑의 수행시간을 텍스쳐 매핑의 수행 시간과 거의 같게 할 수 있다.In addition, the bump vector map generated offline and the present structure may make the bump mapping execution time almost equal to the texture mapping execution time.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the technical spirit of the present invention.

따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.

Claims (8)

메모리부와 연산부를 갖는 범프 매핑 처리 장치의 범프 매핑 처리 방법에 있어서,In the bump mapping processing method of the bump mapping processing apparatus which has a memory part and an operation part, 외부로부터 매핑하고자 하는 폴리곤에 대한 입사광의 방향 벡터값 L, 상기 방향 벡터값 L과 시점 벡터값 V의 중간 벡터값 H, 그리고 수직 벡터값 N을 입력받아, 상기 방향 벡터값 L'과 중간 벡터값 H'을 3차원 물체 공간에서 3차원 범프 공간으로 변환되도록 연산하는 단계;The direction vector value L of the incident light with respect to the polygon to be mapped from the outside, the intermediate vector value H of the direction vector value L, the viewpoint vector value V, and the vertical vector value N are received, and the direction vector value L 'and the intermediate vector value are received. Calculating H 'to be converted from three-dimensional object space to three-dimensional bump space; 상기 연산 결과, 변환된 방향 벡터값 L'과 중간 벡터값 H'을 입력받고, 상기 메모리에 저장된 범프 벡터 맵으로부터 상기 폴리곤에 대한 픽셀의 변형된 노말 벡터값 N' 및 상기 메모리에 저장된 룩-업 테이블로부터 필요한 매개 변수들을 읽어와서, 상기 매핑하고자 하는 폴리곤의 각 픽셀 색깔값을 연산하는 단계를 포함하여 이루어지는 것을 특징으로 하는 범프 매핑 처리 방법.As a result of the operation, the transformed direction vector value L 'and the intermediate vector value H' are input, and the modified normal vector value N 'of the pixel for the polygon from the bump vector map stored in the memory and the look-up stored in the memory And calculating a pixel color value of the polygon to be mapped by reading necessary parameters from a table. 제 1 항에 있어서, 상기 방향 벡터값 L과 중간 벡터값 H을 3차원 물체 공간에서 3차원 범프 공간으로 변환되도록 연산하는 단계에서,The method of claim 1, wherein in the step of calculating the direction vector value L and the intermediate vector value H to be converted from three-dimensional object space to three-dimensional bump space, 상기 수직 벡터값 N이라 하면, 변환된 방향 벡터값 L'은이고, 변환된 중간 벡터값 H'은인 것을 특징으로 하는 범프 매핑 처리 방법.The vertical vector value N is In other words, the converted direction vector value L ' And the transformed intermediate vector value H ' Bump mapping processing method characterized in that. 제 1 항에 있어서, 상기 매핑하고자 하는 폴리곤의 각 픽셀 색깔값을 연산하는 단계는The method of claim 1, wherein calculating each pixel color value of the polygon to be mapped is performed. 상기 변환된 방향 벡터값 L'과 중간 벡터값 H'을 입력받고, 상기 메모리에 저장된 범프 벡터 맵으로부터 상기 폴리곤에 대한 픽셀의 변형된 노말 벡터값 N'을 읽어와서, 이들을 연산하여 상기 해당 픽셀의 확산광 방향 벡터 D 및 경면광의 방향 벡터 S를 구하는 단계;The transformed direction vector value L 'and the intermediate vector value H' are inputted, and the modified normal vector values N 'of pixels for the polygon are read from the bump vector map stored in the memory, and these are calculated to calculate the values of the corresponding pixel. Obtaining the diffused light direction vector D and the direction vector S of the specular light; 상기 메모리에 저장된 룩-업 테이블의 코사인 테이블 및 파워 테이블로부터 필요한 매개 변수들을 읽어와서, 이들을 연산하여 상기 확산광과 경면광의 세기를 구하는 단계;Reading required parameters from a cosine table and a power table of the look-up table stored in the memory, and calculating them to obtain the intensity of the diffused and specular light; 외부로부터 인가되는 광의 파라메터들을 입력 받아, 이들을 상기 연산된 확산광과 경면광의 세기에 각각 승산한 후, 상기 승산된 확산광의 세기와 경면광의 세기를 가산하여 상기 해당 픽셀의 색깔값을 구하는 단계로 이루어지는 것을 특징으로 하는 범프 매핑 처리 방법.Receiving parameters of light applied from the outside, multiplying them by the calculated intensity of diffused light and specular light, and then calculating the color value of the corresponding pixel by adding the intensity of the multiplied diffused light and the intensity of specular light; Bump mapping processing method, characterized in that. 제 3 항에 있어서, 상기 확산광의 방향 벡터 D는 상기 변환된 방향 벡터값 L'에 상기 변형된 노말 벡터값 N'을 감산하고, 상기 경면광의 방향 벡터 S는 상기 변형된 노말 벡터값 N'에 변환된 중간 벡터값 H'를 감산하는 것을 특징으로 하는 범프 매핑 처리 방법.4. The method of claim 3, wherein the direction vector D of the diffused light is subtracted from the modified normal vector value N 'to the transformed direction vector value L', and the direction vector S of the specular light is reduced to the modified normal vector value N '. Bump mapping processing method characterized in that the subtraction of the transformed intermediate vector value H '. 외부로부터 매핑하고자 하는 폴리곤에 대한 입사광의 방향 벡터값 L, 상기 방향 벡터값 L과 시점 벡터값 V의 중간 벡터값 H, 그리고 수직 벡터값 N을 입력받아, 상기 방향 벡터값 L'과 중간 벡터값 H'을 3차원 물체 공간에서 3차원 범프 공간으로 변환되도록 연산하는 제 1 연산부;The direction vector value L of the incident light with respect to the polygon to be mapped from the outside, the intermediate vector value H of the direction vector value L, the viewpoint vector value V, and the vertical vector value N are received, and the direction vector value L 'and the intermediate vector value are received. A first calculating unit which calculates H 'to be converted from a 3D object space into a 3D bump space; 상기 폴리곤에 대한 픽셀의 변형된 노말 벡터값 N'들을 갖는 범프 벡터 맵과, 매개 변수들을 갖는 룩-업 테이블이 저장된 메모리부;A memory portion storing a bump vector map having modified normal vector values N 'of pixels for the polygon and a look-up table having parameters; 상기 제 1 연산부로부터 변환된 방향 벡터값 L'과 중간 벡터값 H'을 입력받고, 상기 메모리부에 저장된 범프 벡터 맵으로부터 상기 폴리곤에 대한 픽셀의 변형된 노말 벡터값 N' 및 상기 메모리에 저장된 룩-업 테이블로부터 필요한 매개 변수들을 읽어와서, 상기 매핑하고자 하는 폴리곤의 각 픽셀 색깔값을 연산하는 제 2 연산부를 포함하여 구성되는 것을 특징으로 하는 범프 매핑 처리 장치.The transformed normal vector value N 'of the pixel for the polygon and the look stored in the memory are received from the first vector operation unit, the transformed direction vector value L' and the intermediate vector value H 'are received from the bump vector map stored in the memory unit. And a second calculating part which reads out necessary parameters from the up table and calculates each pixel color value of the polygon to be mapped. 제 5 항에 있어서, 상기 제 1 연산부는 외부로부터 매핑하고자 하는 폴리곤에 대한 입사광의 방향 벡터값 L, 상기 방향 벡터값 L과 시점 벡터값 V의 중간 벡터값 H, 그리고 수직 벡터값 N을 입력받아, 상기 방향 벡터값 L'과 중간 벡터값 H'을 3차원 물체 공간에서 3차원 범프 공간으로 변환되도록 감산하는 4개의 감산기로 구성되는 것을 특징으로 하는 범프 매핑 처리 장치.The method of claim 5, wherein the first operation unit receives a direction vector value L of the incident light with respect to the polygon to be mapped from the outside, an intermediate vector value H of the direction vector value L and the viewpoint vector value V, and a vertical vector value N. And four subtractors configured to subtract the direction vector value L 'and the intermediate vector value H' from 3D object space to 3D bump space. 제 5 항에 있어서, 상기 제 2 연산부는The method of claim 5, wherein the second operation unit 상기 변환된 방향 벡터값 L'과 중간 벡터값 H'을 입력받고, 상기 메모리부에저장된 범프 벡터 맵으로부터 상기 폴리곤에 대한 픽셀의 변형된 노말 벡터값 N'과 상기 메모리부에 저장된 룩-업 테이블로부터 필요한 매개 변수들을 읽어와서, 이들을 감산 및 가산하는 가/감산기;The transformed normal vector value N 'of the pixel for the polygon is received from the bump vector map stored in the memory unit and the look-up table stored in the memory unit. An adder / subtractor that reads the necessary parameters from the subtracter and subtracts them; 외부로부터 인가되는 광의 파라메터들과 상기 가/감산기로부터 연산된 결과값을 승산하는 제 1, 제 2 승산기;First and second multipliers for multiplying parameters of light applied from the outside by a result value calculated from the adder / subtracter; 상기 제 1, 제 2 승산기로부터 연산된 결과값들을 가산하는 가산기로 구성되는 것을 특징으로 하는 범프 매핑 처리 장치.And a adder configured to add result values calculated from the first and second multipliers. 제 5 항에 있어서, 상기 제 2 연산부는The method of claim 5, wherein the second operation unit 제 1, 제 2 코사인 테이블, 파워 테이블을 갖는 룩-업 테이블;A look-up table having a first and a second cosine table, a power table; 상기 변환된 방향 벡터값 L'과 중간 벡터값 H'을 입력받고, 상기 메모리부에 저장된 범프 벡터 맵으로부터 상기 폴리곤에 대한 픽셀의 변형된 노말 벡터값 N'과 상기 룩-업 테이블로부터 필요한 매개 변수들을 읽어와서, 이들을 감산 및 가산하는 가/감산기;The transformed direction vector value L 'and the intermediate vector value H' are input, and the necessary parameter is obtained from the modified normal vector value N 'of the pixel for the polygon and the look-up table from the bump vector map stored in the memory unit. Adder / subtracter to read them and subtract and add them; 외부로부터 인가되는 광의 파라메터들과 상기 가/감산기로부터 연산된 결과값을 승산하는 제 1, 제 2 승산기;First and second multipliers for multiplying parameters of light applied from the outside by a result value calculated from the adder / subtracter; 상기 제 1, 제 2 승산기로부터 연산된 결과값들을 가산하는 가산기로 구성되는 것을 특징으로 하는 범프 매핑 처리 장치.And a adder configured to add result values calculated from the first and second multipliers.
KR10-2001-0048545A 2001-08-11 2001-08-11 apparatus and method for processing bump mapping KR100420859B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0048545A KR100420859B1 (en) 2001-08-11 2001-08-11 apparatus and method for processing bump mapping

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0048545A KR100420859B1 (en) 2001-08-11 2001-08-11 apparatus and method for processing bump mapping

Publications (2)

Publication Number Publication Date
KR20030014516A true KR20030014516A (en) 2003-02-19
KR100420859B1 KR100420859B1 (en) 2004-03-02

Family

ID=27718862

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0048545A KR100420859B1 (en) 2001-08-11 2001-08-11 apparatus and method for processing bump mapping

Country Status (1)

Country Link
KR (1) KR100420859B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100750468B1 (en) * 2005-09-05 2007-08-22 장철진 Image bumping method by using virtual light
KR101526487B1 (en) * 2013-07-24 2015-06-10 디게이트 주식회사 Apparatus for rendering 3D object

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2682559B2 (en) * 1992-09-30 1997-11-26 インターナショナル・ビジネス・マシーンズ・コーポレイション Apparatus and method for displaying image of object on display device and computer graphics display system
KR970022816A (en) * 1995-10-10 1997-05-30 김광호 Apparatus and method for implementing bump mapping in hardware
JPH09231402A (en) * 1996-02-27 1997-09-05 Sony Corp Bump mapping method and picture generating device
JP4226663B2 (en) * 1997-11-07 2009-02-18 株式会社セガ Image generating apparatus and image generating method
JP2001509934A (en) * 1997-11-14 2001-07-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Method and apparatus for computer graphics bump mapping
US7034827B2 (en) * 1998-07-17 2006-04-25 Intel Corporation Extension of fast phong shading technique for bump mapping

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100750468B1 (en) * 2005-09-05 2007-08-22 장철진 Image bumping method by using virtual light
KR101526487B1 (en) * 2013-07-24 2015-06-10 디게이트 주식회사 Apparatus for rendering 3D object

Also Published As

Publication number Publication date
KR100420859B1 (en) 2004-03-02

Similar Documents

Publication Publication Date Title
US6275235B1 (en) High precision texture wrapping method and device
KR100261076B1 (en) Rendering method and apparatus of performing bump mapping and phong shading at the same time
US6417858B1 (en) Processor for geometry transformations and lighting calculations
US5136664A (en) Pixel rendering
US5900881A (en) Computer graphics circuit
JP3510950B2 (en) 3D image texture processing and shading method
US7102647B2 (en) Interactive horizon mapping
US6037947A (en) Graphics accelerator with shift count generation for handling potential fixed-point numeric overflows
JPH04222074A (en) Inclination computing method for texture map
JP4834773B2 (en) Light reflection intensity calculation circuit
US6614431B1 (en) Method and system for improved per-pixel shading in a computer graphics system
US7075530B2 (en) Fast lighting processors
US7139005B2 (en) Optimized fixed-point mathematical library and graphics functions for a software-implemented graphics rendering system and method using a normalized homogenous coordinate system
KR100420859B1 (en) apparatus and method for processing bump mapping
Kim et al. A fast and efficient bump mapping algorithm by angular perturbation
JP4683623B2 (en) Geometry arithmetic unit
Tatarchuk et al. Programming for real-time tessellation on gpu
Szirmay-Kalos et al. Hardware implementation of Phong shading using spherical interpolation
KR100507773B1 (en) Apparatus and method for bump mapping using polar coordinate system
JP4756107B1 (en) Graphics processing unit
Hast et al. Improved shading performance by avoiding vector normalization
Liang et al. Computation-effective 3-D graphics rendering architecture for embedded multimedia system
EP0817130A2 (en) Apparatus and method for calculating specular lighting
Lee et al. An effective hardware architecture for bump mapping using angular operation
KR930005776B1 (en) Apparatus and method for shading operation of image

Legal Events

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

Payment date: 20130219

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140218

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150611

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160122

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20170113

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20180112

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20190114

Year of fee payment: 16