Download presentation
Presentation is loading. Please wait.
Published byGabriël Molenaar Modified 5년 전
1
학습목표 11장. 텍스쳐 텍스쳐의 정의와 종류를 이해한다. 평면 다각형의 텍스쳐 매핑 방법을 이해한다.
파라미터로 표현된 곡면 다각형의 텍스쳐 매핑 방법을 이해한다. 파라미터로 표현할 수 없는 곡면 다각형의 텍스쳐 매핑 방법을 이해한다. 텍스쳐 매핑에서 에일리어싱이 일어나는 이유와 앤티-에일리어싱 방법을 이해한다. 지엘의 텍스쳐 매핑방법을 이해한다.
2
원래의 정의 Section 01 텍스쳐 맵-텍스쳐 맵 물체면에 인위적으로 미세한 굴곡을 부여함으로써 주름 면을 형성
법선벡터 조정 = Bump Map 확산광 계수 변화, 표면 거칠기를 함수화하여 경면광에 반영 [그림 11-1] 법선벡터 변화에 의한 범프맵
3
다각형 분할 텍스쳐 맵 서로 다른 색, 표면 기울기를 부여 너무 많은 시간이 소요됨 대신 2차원 영상을 직접 평면 표면에 입힘
텍스쳐(Texture, Texture Image, Texture Map) [그림 11-3] 목재표면 [그림 11-4] 오렌지 [그림 11-5] 텍스쳐 I [그림 11-6] 텍스쳐 II
4
일반적 텍스쳐 매핑 라이트 매핑(Light Mapping) 텍스쳐 매핑 예
물체면의 밝기를 계산하는 대신 텍스쳐와 조명 결과를 혼합하여 결과적인 영상을 직접 물체면에 입힘. [그림 11-7] 예 [그림 11-8] 원구 [그림 11-9] 매핑결과 [그림 11-10] 라이트
5
주변 매핑(Environmental Mapping)
텍스쳐 매핑 예 주변 매핑(Environmental Mapping) 물체 외부 환경이 해당 물체면에 반사 반짝이는 물체면을 표현 [그림 11-11] 원구 [그림 11-12] 매핑 결과
6
Section 02 텍스쳐 매핑 기법-지엘의 텍스쳐 매핑
매핑 시기 기하 파이프라인과 영상 파이프라인 래스터 변환에서 만남 [그림 11-13] 지엘의 텍스쳐 매핑 시기 [그림 11-14] 기하 파이프라인과 영상 파이프라인
7
Texel(Texture Element)
텍셀 Texel(Texture Element) 텍스쳐 영상의 기본단위 화소와 마찬가지로 (R, G, B, A) 저장 예: 6☓5 크기의 2차원 배열로 저장. 텍스쳐 좌표는 정규화 형태로 표현. 텍스쳐 매핑: (s, t) 좌표로 표현된 2차원 텍스쳐 영상을 (x, y, z) 좌표로 표현된 3차원 물체면으로 사상 [그림 11-15] 텍스쳐 매핑
8
수작업 좌표명시 평면다각형으로의 텍스쳐 매핑 [그림 11-16] 수작업 텍스쳐 매핑 I
[그림 11-17] 수작업 텍스쳐 매핑 II
9
다각형에서 텍스쳐로 매핑 방향 화소별로 해당 텍스쳐를 구함 에일리어싱 발생가능 투상 이후에 텍스쳐를 가하는데 따른 오류
[그림 11-18]삼각형 내부화소 매핑 [그림 11-19] 에일리어싱 [그림 11-20] 원근변환
10
평면으로 곡면을 둘러싸는데 따르는 어려움 곡면의 텍스쳐 매핑 역으로 곡면으로 평면을 만드는데 따르는 어려움
[그림 11-21] 곡면 I [그림 11-22] 곡면 II
11
예: 원구(표면상의 점을 경도, 위도로 표현가능)
파라미터 곡면 예: 원구(표면상의 점을 경도, 위도로 표현가능) (11.3) (11.4) (11.5) [그림 11-23] 원구좌표 [그림 11-24] 평면 텍스쳐를 원구 표면으로 매핑 (11.7) (11.8) (11.9) (11.6)
12
2 단계 매핑(2-Stage Mapping) S 매핑의 예: 원기둥 중개면 다각형 곡면 곡면을 매개변수로 표시할 수 없을 때
S 매핑(S Mapping)에서는 텍스쳐를 원기둥, 육면체, 원구 등 중개면(仲介, Intermediate Surface)에 입힘. S 매핑의 예: 원기둥 중개면 (11.10) [그림 11-25] 원기둥 중개면 (11.11) (11.12) [그림 11-26] 좌표
13
O 매핑 다각형 곡면 물체를 중개면 내부에 넣고 물체면에 텍스쳐를 입힘. 원기둥, 육면체, 원구 중개면 [그림 11-27] 캡
[그림 11-28] 중개면 [그림 11-30] 확장 캡 [그림 11-34] 육면체 중개면 [그림 11-35] 물체 [그림 11-36] 매핑결과 [그림 11-32] 중개면 [그림 11-33] 매핑결과
14
다각형 곡면 O 매핑의 종류 물체면 법선벡터, 물체 중심, 중개면 법선벡터, 시점 반사벡터 [그림 11-29] O 매핑의 종류
15
주변매핑(Environmental Mapping)
경면 반사(Specular Reflection)를 위주로 표현할 수 있는 물체, 반사 매핑(Reflective Mapping). Ex. Terminator II 2단계 매핑 사용 O 매핑에서 시점 반사벡터를 사용 시점 위치에 따라 서로 다른 모습 [그림 11-37] Terminator II [그림 11-38] 중개면 텍스쳐 [그림 11-39] 주변매핑 [그림 11-40] 매핑 결과
16
주변매핑(Environmental Mapping)
원구 중개면의 예 물체주변 모습을 광각으로 반영 180도 어안렌즈로 촬영된 텍스쳐 [그림 11-41] 180도 [그림 11-42] 매핑결과 [그림 11-43] 시점 반사벡터에 의한 O 매핑
17
Section 03 앤티 에일리어싱-에일리어싱
텍스쳐 매핑 비선형 매핑(Non-Linear Mapping): 평면 사각형이 곡선 사변형(Curvilinear Quadrilateral)으로 점 샘플링(Point Sampling)에 의한 에일리어싱: 언더샘플링 [그림 11-44] 매핑과 역 매핑 [그림 11-45] 에일리어싱
18
축소관계(Magnification) 확장관계(Minification) 두 경우 모두 에일리어싱 발생가능 확장관계와 축소관계
여러 텍셀이 한 픽셀로 확장관계(Minification) 텍셀 크기 이하가 한 픽셀로 두 경우 모두 에일리어싱 발생가능 [그림 11-46] 축소관계와 확장관계
19
확장관계에 주로 사용 대부분 그래픽 카드에서 표준으로 채택 텍스쳐 경계선이 흐려짐 앤티에일리어싱: 양방향 선형보간
화소 중앙점이 텍셀의 점 p로 사상되었을 경우 대부분 그래픽 카드에서 표준으로 채택 텍스쳐 경계선이 흐려짐 [그림 11-47] 양방향 선형보간
20
점 샘플링과 양방향 선형보간 [그림 11-53] 점 샘플링과 양방향 선형보간
21
축소관계에 주로 적용: 한 화소가 여러 텍셀에 걸쳐짐
앤티에일리어싱: 밉맵(MipMap) 축소관계에 주로 적용: 한 화소가 여러 텍셀에 걸쳐짐 MIP Mapping: Multum in Parvo, Many Things in a Small Place 해상도 별로 평균치를 계산하여 텍스쳐 맵에 저장(R, G, B 별) 사전 필터링(Pre-Filtering), 다해상도 텍스쳐(Multi-Resolution Texture) [그림 11-48] 밉맵 생성과정
22
평균 낸 텍스쳐 값을 사용함으로써 앤티-에일리어싱을 기함.
밉맵 예시 해상도에 따라 밉맵을 선택 1 화소가 1 텍셀로 매핑: Map #1 1 화소가 4 텍셀로 매핑: Map #2 평균 낸 텍스쳐 값을 사용함으로써 앤티-에일리어싱을 기함. [그림 11-49] 밉맵 [그림 11-50] 밉맵 예시
23
3방향 선형보간 (Tri-linear Interpolation)
밉맵 적용결과 화면 해상도와 텍스쳐 해상도가 비슷해짐. 확장관계를 추가적으로 적용할 수 있음. 3방향 선형보간 (Tri-linear Interpolation) 1 화소가 2 텍셀로 매핑: Map #1과 Map #2를 보간하여 새로운 맵을 계산 여기에 양방향 선형보간을 적용
24
앤티에일리어싱 예시 점 샘플링과 밉맵에 의한 점 샘플링 [그림 11-51] Alias [그림 11-52] Anti-Alias
25
앤티에일리어싱 예시 밉맵을 사용한 점 샘플링과 양방향 선형보간 [그림 11-54] 밉맵에서의 점 샘플링과 양방향 선형보간
26
Section 04 지엘의 텍스쳐 매핑-지엘의 텍스쳐 매핑: glTexImage2D( );
프로세서 배열에 저장되어 있던 텍스쳐를 텍스쳐 메모리(Texture Memory, Texture Buffer)로 이동시키는 함수 청색 화살표로의 흐름 [그림 11-55] glTexImage2D 함수에 의한 데이터 흐름
27
glBegin(GL_POLYGON); glNormal3f(0.0, 0.0, 1.0);
지엘의 텍스쳐 매핑: 수동 매핑 glBegin(GL_POLYGON); glNormal3f(0.0, 0.0, 1.0); glTexCoord2f(0.2, 0.8); 텍스쳐 정점 a를 glVertex3f(7.5, 10.5, 0.0); 물체 정점 A에 할당 glTexCoord2f(0.4, 0.2); 텍스쳐 정점 b를 glVertex3f(0.0, 3.8, 0.0); 물체 정점 B에 할당 glTexCoord2f(0.8, 0.4); 텍스쳐 정점 c를 glVertex3f(12.0, 0.0, 0.0); 물체 정점 C에 할당 glEnd( ); [그림 11-56] 지엘의 수동 텍스쳐 매핑
28
void glTexGen{ifd}[v](GLenum coord, GLenum pname, TYPE param);
지엘의 텍스쳐 매핑: 자동 매핑 void glTexGen{ifd}[v](GLenum coord, GLenum pname, TYPE param); 기준평면과의 물체와의 거리 [그림 11-57] 거리에 의한 텍스쳐 매핑 [표 11-3] glTexGen*( ) 함수 파라미터
29
도구이용, 카메라(180도), 카메라(360)도 카메라(360도) 주변 매핑
[그림 11-58] 반사 [그림 11-59] 180도 [그림 11-60] 360도
30
GL_REPEAT, GL_CLAMP [그림 11-63] GL_REPEAT [그림 11-65] 예 II
[그림 11-66] 텍스쳐 매핑 결과
31
Thank you
Similar presentations