컴퓨터 공학/Graphics

Texture Mapping

코딩하는 Español되기 2024. 6. 12. 15:58

Texture Mapping?

- 컴퓨터 그래픽스에서 3D 물체의 표면에 세부적인 질감을 묘사하는 방법

- 수많은 데이터를 추가하는 것 보다 잘 그려진 이미지를 활용하면 적은 양으로 풍부한 표현 가능

- 2D 이미지를 3D 데이터의 표면으로 사용

 

Texture Mapping을 위한 2D 이미지

File Format Extension Description
TGA *.tga Truevision TARGA
DDS *.dds DirectDraw Surface
PNG *.png Portable Network Graphics
JPEG *.jpg Joint Photographic Experts Group
PCX *.pcx ZSoft PCX
BMP *.bmp Windows/OS2 Bitmap
GL_ARB_texture_compression   using TGA texture loader

 

UV Maping

- 직접 3D 물체의 vertex에 2D 이미지의 위치를 지정

- Texel : Texture Mapping을 위해 사용될 Texture의 기본 단위

   *정규화 형태로 표현 : [0, 1]

 

UV Mapping in OpenGL 그림 및 코드

glBegin(GL_POLYGON);
	glNormal3f(0.0, 0.0, 1.0);
    glTexCoord2f(4.5/9, 5/6);
    glVertex3f(8.0, 12.0, -3.0);
    
    glNormal3f(0.0, 0.0, 1.0);
    glTexCoord2f(2/9, 1/6);
    glVertex3f(3.0, 2.0, 0.0);
    
    glNormal3f(0.0, 0.0, 1.0);
    glTexCoord2f(7/9, 1/6);
    glVertex3f(13.0, 2.0, 3.0);
glEnd();

 

 

MipMap Mapping(Minimap 오타 아닙니다.)

- 렌더링 속도를 향상하기 위한 패턴 생성 기법

- 같은 이미지를 다양한 해상도로 생성 후 상황에 맞는 이미지 사용

 

Level Of Details(LOD)

- 물체와 카메라의 거리에 따라 표현 정도를 다르게 하는 기법

- 거리가 멀 때 : 적은 Polygon으로 간단히 표현

- 거리가 가까울 때 : 많은 Polygon으로 상세히 표현