-
Texture Mapping
벽지를 벽에 붙이는 것이라고 생각하면 된다.
Parameterization
여러가지 방식
Texture Mapping
- 텍스처 정의
- 텍스처에서 표면으로 매핑 지정
- 스캔 변환 중 텍스처 값 조회
scan 변환시, 어디로 부터 map을 하는 것인가?
- 이미지 좌표계(x, y)에서
- 모델링 좌표계(u, v)에서
- 텍스처 이미지(s, t) 통해서 값을 읽어온다.
텍스처 매핑은 2D 투영 변환입니다.
텍스처 좌표계(s, t) -> 이미지 좌표계(x, y)Scan conversion
스캔 라인을 가로질러/아래로 텍스처 좌표 보간
이중선 보간을 이용해서 근사값을 구한다.
- 폴리곤을 더 작은 폴리곤으로 자른다.
- 각 픽셀의 원근감 분할
원근 보정 보건
위 방법대로 하면, 왼쪽처럼 나온다.
하지만, OpenGL에서는 원근 보정 보건법을 이용해서 평평하게 보이게 만들어 준다.
Texture Filtering
1:1 이 안되면 Aliasing이 일어난다.
필터의 크기는 투영 왜곡에 따라 다르다.
Mip Maps
보통의 방법은 Original을 가지고, 값을 가져오는 형태이다.
이 방법이 될 수 도 있고, 안되는 수도 있다.
Mip maps 방법을 통해서
각 픽셀에 대해 두 개의 가장 가까운 레벨 사이를 선형으로 보간을 한다.(: 삼선형 보관볍).
빠르고, 쉽다.Summed-area tables
bounding box의 값을 구하기 위해서 A,B를 빼고, C는 A,B로 인해서 2번 계산되어서 1번 더해준다.
- 직사각형 내의 모든 값의 합을 계산하려면 두 항목을 빼십시오.
- 매우 비스듬한 투영을 캡처할 때 더 나은 성능을 보여준다.
- 그러나 단일 바이트에 값을 저장할 수 없습니다.
Modulation textures
모델의 텍스처를 값을 곱해서, Model에 texture를 입을 수 있다.
Illumination Mapping
Bump Mapping
표면의 질감(normal 값)을 model의 표면에 대입한다.
Displacement Mapping
Normal Mapping Problem(=Bump mapping) 단점
- 시차를 표현을 못한다.
- 그림자 표현을 못한다.
- 실루엣을 표현을 못한다.
Displacement Mapping
객체의 geometry까지 변경한다.
Environment Mapping
저비용으로 완전 반사체를 구현할 수 있다
Cube Mapping
Environment Mapping을 이용해서, 환경맵을 구현할 때 쓸 수 있다.
Solid Textures
내부가 꽉찬 텍츠처를 구현하는 것이다.
3D 위치(x,y,z)로 인덱싱된 texture 값이다.
- 용량이 크다
- 계산은 빠르게 된다.
-
ex) Perlin Noise이 있다.
'그래픽스' 카테고리의 다른 글
Shading (0) 2021.11.29 illumination 조명 (0) 2021.11.17 Rendering Pipeline (0) 2021.11.15 3D Object - Curve & Surface (0) 2021.11.08 3D Object (0) 2021.11.01