사냥꾼의 IT 노트

OpenGL로 배우는 3차원 컴퓨터 그래픽스 개념 정리 - 텍스처 본문

OpenGL로 배우는 3차원 컴퓨터 그래픽스

OpenGL로 배우는 3차원 컴퓨터 그래픽스 개념 정리 - 텍스처

가면 쓴 사냥꾼 2020. 12. 7. 04:01

■텍스처 맵

●텍스처: 촬영된 영상을 물체면에 그대로 입히는 것

○원래는 서로 다른 색상과 법선 벡터를 정의하는 것이었지만 시간이 너무 많이 소요되어 폐기

●범프 맵핑: 법선 벡터 조정을 통해 물체면에 인위적으로 미세한 굴곡을 부여함으로써 주름 면을 생성하는 기법

●라이트 매핑: 물체면의 밝기를 계산하는 대신 텍스처와 조명 결과를 혼합하여 결과적인 영상을 직접 물체면에 입힘

●주변 매핑: 물체 외부 환경이 해당 물체면에 반사됨 (반쩍이는 물체면 표현)

●텍셀: 텍스처 영상의 기본 단위(R, G, B, A) 저장 

○배열 형식이며, 정규화 형태로 표현함

●텍스처 매핑: 2차원 텍스처 영상을 3차원 물체 면으로 사상하는 것

   1. 수작업 좌표 명시

   2. 화소 매핑: 화소별 무게중심 좌표를 이용해 보간에 의해 매핑 (다각형)

●원근 투상은 원래의 물체 길이를 보존하지 않기 때문에 원근 투상 이후에 텍스처를 가하는데는 오류가 따름

●곡면의 텍스처 매핑 

○파라미터 곡면의 텍스처의 경우 파라미터를 사용하면 됨

○S 매핑: 텍스처를 원기둥, 육면체, 원구 등 중개면에 입히는 기법

○O 매핑: 중개면 내부에 실제로 텍스처를 가할 물체를 넣고 텍스처를 입히는 방법

   1. 물체면 법선 벡터: 물체면의 법선 벡터가 중개면과 만나는 점을 구한 뒤 그 점의 텍스처 값을 해당 물체면의 텍스처로 사상하는 방법

   2. 물체 중심: 물체 중심으로부터 물체면을 향한 직선과 교차하는 중개면의 텍스처를 해당 물체면의 텍스처로 사용하는 방법

   3. 중개면 법선 벡터

   4. 시점 반사 벡터 (주변 매핑): 시점으로부터 물체면으로 향한 직선이 표면에 반사되어 중개면과 만나는 곳의 텍스처를 물체면의 텍스처로 사용하는 방법

●주변 매핑 (반사 매핑): 경면 반사를 위주로 표현할 수 있는 물체 (금속성 물체)에 물체를 에워 싼 주변 환경을 물체면에 매핑시키는 것 (180도 혹은 360도 시야각 범위에 있는 주변 모습을 사용)

○2단계 매핑 사용

○180도 어안렌즈로 찰영된 텍스처로, 주변 모습을 광각으로 매핑함

■안티 에일리어싱

●비선형 매핑

●점 샘플링: 텍스처 좌표가 속한 텍셀의 색을 그대로 취하는 것 -> 화소에 적용할 텍셀을 찾는 방법

●축소 관계: 여러 텍셀이 한 픽셀로 매핑되는 것

●확장 관계: 텍셀 크기 이하가 한 픽셀로 매핑되는 것

●양방향 선형 보간 (확장 관계): 대부분의 그래픽 카드에서 사용하는 기법으로, 텍셀 사이의 경계선이 흐려지는 블러링 효과가 발생함

●밉 매핑 (축소 관계): R, G, B별, 해상도 별로 평균치를 계산하여 텍스처 맵에 저장하는 기법 (저역 통과 필터)

○화면 해상도별로 필요한 텍스처를 미리 저장하기 때문에 매핑 속도가 향상됨

○한 화소가 여러 텍셀에 걸쳐지며, 평균 값을 사용함

●3방향 선형 보간 (밉 매핑의 적용 결과): 화면 해상도와 텍스처 해상도가 비스샣지며 확장 관계를 추가적으로 적용 가능함

●poping 현상: 카메라가 가까울수록 이미지가 확 바뀌는 현상

■OpenGL의 텍스처 매핑

●순서

   1. 텍스처 기능 활성화

   2. 텍스처 영상 명시: 배열 형태라 메인 메모리에 미리 로드해야 함

   3. 텍스처 매핑 방법 할당

   4. 텍스처 파라미터 명시

   5. 텍스처 환경 명시: 텍스처 색과 물체색을 임의로 조합

●수동 텍스처 매핑

●자동 텍스처 매핑: 물체 정점과 기준 평면의 거리를 기준으로 텍스처 좌표가 할당됨

●주변 매핑: 시점에서 물체면으로 입사하는 빛이 주변 원구와 만나는 점의 텍스처를 해당 물체면의 텍스처로 할당

●텍스처 파라미터 함수: 주어진 텍스처를 어떻게 확장할 것인지 / 주어진 화소의 텍스처를 어떻게 계산할 것인지

○GL_REPEAT (반복) vs GL_CLAMP (마지막 화소를 채움)

●밉맵 생성: 거리에 따라 하나를 선택하느냐, 두개 이상을 보간할 것이냐 -> 4단계까지 한 픽셀이 될 때까지 생성

●텍스처 객체: 텍스처와 해당 텍스처에 적용되는 파라미터 값을 묶어서 하나의 텍스처 객체를 정의함

●래핑 모드: 주어진 텍스처를 어떻게 확장하느냐를 결정

●필터 모드: 보간 방법 및 안티 에일리어싱과 연관되어 있음