일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- C언어
- V3
- python
- 이터널리턴
- yolo
- CycleGAN
- 논문리뷰
- 헬스케어
- 딜러닝
- 파이썬
- 게임개발
- 설치
- 리뷰
- 언리얼엔진
- 호흡분석
- 텐서플로우
- pyqt5
- 욜로
- 논문
- ChatGPT
- NPY
- 딥러닝
- TensorFlow
- 프로그래머
- connx
- 파워셀
- 언어모델
- ctypes
- Detectron2
- 개발자
- Today
- Total
사냥꾼의 IT 노트
OpenGL로 배우는 3차원 컴퓨터 그래픽스 개념 정리 - 텍스처 본문
■텍스처 맵
●텍스처: 촬영된 영상을 물체면에 그대로 입히는 것
○원래는 서로 다른 색상과 법선 벡터를 정의하는 것이었지만 시간이 너무 많이 소요되어 폐기
●범프 맵핑: 법선 벡터 조정을 통해 물체면에 인위적으로 미세한 굴곡을 부여함으로써 주름 면을 생성하는 기법
●라이트 매핑: 물체면의 밝기를 계산하는 대신 텍스처와 조명 결과를 혼합하여 결과적인 영상을 직접 물체면에 입힘
●주변 매핑: 물체 외부 환경이 해당 물체면에 반사됨 (반쩍이는 물체면 표현)
●텍셀: 텍스처 영상의 기본 단위(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단계까지 한 픽셀이 될 때까지 생성
●텍스처 객체: 텍스처와 해당 텍스처에 적용되는 파라미터 값을 묶어서 하나의 텍스처 객체를 정의함
●래핑 모드: 주어진 텍스처를 어떻게 확장하느냐를 결정
●필터 모드: 보간 방법 및 안티 에일리어싱과 연관되어 있음
'OpenGL로 배우는 3차원 컴퓨터 그래픽스' 카테고리의 다른 글
OpenGL로 배우는 3차원 컴퓨터 그래픽스 개념 정리 - 프래그먼트 연산 (0) | 2020.12.07 |
---|---|
OpenGL로 배우는 3차원 컴퓨터 그래픽스 개념 정리 - 조명과 음영 (0) | 2020.12.07 |
OpenGL로 배우는 3차원 컴퓨터 그래픽스 개념 정리 - 래스터 변환 (0) | 2020.12.07 |
OpenGL로 배우는 3차원 컴퓨터 그래픽스 개념 정리 - 가시성 판단 (0) | 2020.12.07 |