컴퓨터 공학/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으로 상세히 표현