SlideShare a Scribd company logo
1 of 11
고급 텍스쳐기법
with 텍스쳐 좌표생성
GPG STUDY 5.5
현시점의 그래픽스 상황 분석
런타임 텍스처 매핑
• 애니메이션
• 조명 (반사, 굴절)
• 범프 매핑
텍스처 애니메이션
• 텍스처는 좌표에 따라 매쉬에 입혀지는 모양이 정해진다.
• 텍스처 좌표를 변경시켜서 애니메이션을 만들 수 있다.
• 2차원 좌표계이므로 3x3 행렬을 통한 변환이 가능하다.
• (u, v, 1) * 3x3Matrix = ( u’, v’ )
텍스처 투영
• Spot 광원(Light)을 텍스쳐 투영을 통해 표현 가능
• 특정 위치에 가상의 광원을 설정한다.
• 광원 텍스처를 기준으로 광원방향으로 씬의 입체를 투영한다
• 평면에 투영된 입체의 vertex에 대응되는 광원 텍스쳐를 블랜딩.
HOW 2 2-0
• 카메라의 2차원 투영과 유사한 방식으로 진행하자.
• Viewing Transformation 조명공간 좌표계 변환
HOW 2 2-0
• 투영 좌표 ( -1 ~ 1)  텍스쳐 좌표 (0 ~ 1)
• (result * 0.5f) + 0.5f
텍스처 투영 결과
텍스쳐 투영 문제점
• 텍스쳐 반복문제
• 매핑된 텍스쳐 좌표가 0~1을 넘어가면 경계선에서 반복 패턴이 그려진다.
• 해결 : 반복 안한다.
• Shine-through
• 빛이 물체를 뚫고 앞에도 찍히고 뒤에도 찍힌다.
• 해결 : back-face 컬링처럼 노멀값 내적연산을 통해서 뒷면은 제외시킨다.
반사 매핑
• 구(Sphere) Map 활용
• 공간상의 한점을 중심으로 들어오는 주변의 모습을 담은 맵
• 구 맵 생성에 대한 자세한 논의는 논문 [Blyth99]를 참조할 것
반사 매핑
• 정점에서 Sphere map의 텍스쳐 좌표 받아오기
• 반사 객체 위치를 중점으로 하는 Sphere map 사용
• World Matrix의 역행렬을 활용하여 정점의 법선을 World좌표계로 변환
• View Matrix를사용하여 View 좌표계로 변환
• 정점 법선의 x, y 성분을 택스쳐의 u,v 좌표계로 사용

More Related Content

What's hot

[0618 석재호]용기에담긴액체를위한굴절매핑
[0618 석재호]용기에담긴액체를위한굴절매핑[0618 석재호]용기에담긴액체를위한굴절매핑
[0618 석재호]용기에담긴액체를위한굴절매핑Jaeho Seok
 
포인트 셰도우
포인트 셰도우포인트 셰도우
포인트 셰도우Sukwoo Lee
 
Rendering realistic Ice objects
Rendering realistic Ice objectsRendering realistic Ice objects
Rendering realistic Ice objectsyong gyun im
 
니시카와젠지의 3 d게임 팬을 위한「gravity daze」그래픽스 강좌
니시카와젠지의 3 d게임 팬을 위한「gravity daze」그래픽스 강좌니시카와젠지의 3 d게임 팬을 위한「gravity daze」그래픽스 강좌
니시카와젠지의 3 d게임 팬을 위한「gravity daze」그래픽스 강좌민웅 이
 
Data Visualization and t-SNE
Data Visualization and t-SNEData Visualization and t-SNE
Data Visualization and t-SNEHyeongmin Lee
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow MappingSukwoo Lee
 
[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1MoonLightMS
 
Real-Time Global Illumination Techniques
Real-Time Global Illumination TechniquesReal-Time Global Illumination Techniques
Real-Time Global Illumination TechniquesJangho Lee
 
자동 동적 3차원 입체시각
자동 동적 3차원 입체시각자동 동적 3차원 입체시각
자동 동적 3차원 입체시각민웅 이
 
11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법noerror
 

What's hot (11)

[0618 석재호]용기에담긴액체를위한굴절매핑
[0618 석재호]용기에담긴액체를위한굴절매핑[0618 석재호]용기에담긴액체를위한굴절매핑
[0618 석재호]용기에담긴액체를위한굴절매핑
 
190909 ambient
190909 ambient190909 ambient
190909 ambient
 
포인트 셰도우
포인트 셰도우포인트 셰도우
포인트 셰도우
 
Rendering realistic Ice objects
Rendering realistic Ice objectsRendering realistic Ice objects
Rendering realistic Ice objects
 
니시카와젠지의 3 d게임 팬을 위한「gravity daze」그래픽스 강좌
니시카와젠지의 3 d게임 팬을 위한「gravity daze」그래픽스 강좌니시카와젠지의 3 d게임 팬을 위한「gravity daze」그래픽스 강좌
니시카와젠지의 3 d게임 팬을 위한「gravity daze」그래픽스 강좌
 
Data Visualization and t-SNE
Data Visualization and t-SNEData Visualization and t-SNE
Data Visualization and t-SNE
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow Mapping
 
[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1
 
Real-Time Global Illumination Techniques
Real-Time Global Illumination TechniquesReal-Time Global Illumination Techniques
Real-Time Global Illumination Techniques
 
자동 동적 3차원 입체시각
자동 동적 3차원 입체시각자동 동적 3차원 입체시각
자동 동적 3차원 입체시각
 
11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법
 

Viewers also liked

GPG Study 4.3 카메라 제어기법
GPG Study 4.3 카메라 제어기법GPG Study 4.3 카메라 제어기법
GPG Study 4.3 카메라 제어기법연우 김
 
Effective C++ Chaper 1
Effective C++ Chaper 1Effective C++ Chaper 1
Effective C++ Chaper 1연우 김
 
어서 와! 번역은 처음이지?
어서 와! 번역은 처음이지?어서 와! 번역은 처음이지?
어서 와! 번역은 처음이지?복연 이
 
[11 0723] gpg 2.1.9 c++를 위한 폐기 매커니즘 구현(공개)
[11 0723] gpg 2.1.9 c++를 위한 폐기 매커니즘 구현(공개)[11 0723] gpg 2.1.9 c++를 위한 폐기 매커니즘 구현(공개)
[11 0723] gpg 2.1.9 c++를 위한 폐기 매커니즘 구현(공개)SeungMin Yang
 
Gpg 1.13 ~ 1.14
Gpg 1.13 ~ 1.14Gpg 1.13 ~ 1.14
Gpg 1.13 ~ 1.14sj k
 
[GPG 스터디] 1.6 범용 핸들 기반 자원 관리자
[GPG 스터디] 1.6 범용 핸들 기반 자원 관리자 [GPG 스터디] 1.6 범용 핸들 기반 자원 관리자
[GPG 스터디] 1.6 범용 핸들 기반 자원 관리자 Sehyeon Nam
 
[GPG 스터디] 1.3 자동적인 단일체 유틸리티
[GPG 스터디] 1.3 자동적인 단일체 유틸리티[GPG 스터디] 1.3 자동적인 단일체 유틸리티
[GPG 스터디] 1.3 자동적인 단일체 유틸리티Sehyeon Nam
 
[11 0730] gpg 2.1.11 게임에 내장되는 프로파일링 모듈(공개)
[11 0730] gpg 2.1.11 게임에 내장되는 프로파일링 모듈(공개)[11 0730] gpg 2.1.11 게임에 내장되는 프로파일링 모듈(공개)
[11 0730] gpg 2.1.11 게임에 내장되는 프로파일링 모듈(공개)SeungMin Yang
 
[11 0916] gpg 2.1.22 비디오 게임에서의 웹 카메라 활용(공개)
[11 0916] gpg 2.1.22 비디오 게임에서의 웹 카메라 활용(공개)[11 0916] gpg 2.1.22 비디오 게임에서의 웹 카메라 활용(공개)
[11 0916] gpg 2.1.22 비디오 게임에서의 웹 카메라 활용(공개)SeungMin Yang
 
[12 0210] gpg 2.3.7 전략적 판단 기법
[12 0210] gpg 2.3.7 전략적 판단 기법[12 0210] gpg 2.3.7 전략적 판단 기법
[12 0210] gpg 2.3.7 전략적 판단 기법SeungMin Yang
 
[C++ korea] effective modern c++ study item 1정은식
[C++ korea] effective modern c++ study item 1정은식[C++ korea] effective modern c++ study item 1정은식
[C++ korea] effective modern c++ study item 1정은식은식 정
 
The Binding of Isaac (아이작의 구속) 포스트모템
The Binding of Isaac (아이작의 구속) 포스트모템The Binding of Isaac (아이작의 구속) 포스트모템
The Binding of Isaac (아이작의 구속) 포스트모템연우 김
 
Effective c++ chapter3, 4 요약본
Effective c++ chapter3, 4 요약본Effective c++ chapter3, 4 요약본
Effective c++ chapter3, 4 요약본Dong Chan Shin
 
[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규ChangKyu Song
 

Viewers also liked (20)

GPG Study 4.3 카메라 제어기법
GPG Study 4.3 카메라 제어기법GPG Study 4.3 카메라 제어기법
GPG Study 4.3 카메라 제어기법
 
Effective C++ Chaper 1
Effective C++ Chaper 1Effective C++ Chaper 1
Effective C++ Chaper 1
 
어서 와! 번역은 처음이지?
어서 와! 번역은 처음이지?어서 와! 번역은 처음이지?
어서 와! 번역은 처음이지?
 
[11 0723] gpg 2.1.9 c++를 위한 폐기 매커니즘 구현(공개)
[11 0723] gpg 2.1.9 c++를 위한 폐기 매커니즘 구현(공개)[11 0723] gpg 2.1.9 c++를 위한 폐기 매커니즘 구현(공개)
[11 0723] gpg 2.1.9 c++를 위한 폐기 매커니즘 구현(공개)
 
op
opop
op
 
Gpg study3.7
Gpg study3.7Gpg study3.7
Gpg study3.7
 
Gpg 1.13 ~ 1.14
Gpg 1.13 ~ 1.14Gpg 1.13 ~ 1.14
Gpg 1.13 ~ 1.14
 
[GPG 스터디] 1.6 범용 핸들 기반 자원 관리자
[GPG 스터디] 1.6 범용 핸들 기반 자원 관리자 [GPG 스터디] 1.6 범용 핸들 기반 자원 관리자
[GPG 스터디] 1.6 범용 핸들 기반 자원 관리자
 
[GPG 스터디] 1.3 자동적인 단일체 유틸리티
[GPG 스터디] 1.3 자동적인 단일체 유틸리티[GPG 스터디] 1.3 자동적인 단일체 유틸리티
[GPG 스터디] 1.3 자동적인 단일체 유틸리티
 
[11 0730] gpg 2.1.11 게임에 내장되는 프로파일링 모듈(공개)
[11 0730] gpg 2.1.11 게임에 내장되는 프로파일링 모듈(공개)[11 0730] gpg 2.1.11 게임에 내장되는 프로파일링 모듈(공개)
[11 0730] gpg 2.1.11 게임에 내장되는 프로파일링 모듈(공개)
 
[11 0916] gpg 2.1.22 비디오 게임에서의 웹 카메라 활용(공개)
[11 0916] gpg 2.1.22 비디오 게임에서의 웹 카메라 활용(공개)[11 0916] gpg 2.1.22 비디오 게임에서의 웹 카메라 활용(공개)
[11 0916] gpg 2.1.22 비디오 게임에서의 웹 카메라 활용(공개)
 
Gpg study1.8
Gpg study1.8Gpg study1.8
Gpg study1.8
 
Gpg study 01
Gpg study 01Gpg study 01
Gpg study 01
 
[12 0210] gpg 2.3.7 전략적 판단 기법
[12 0210] gpg 2.3.7 전략적 판단 기법[12 0210] gpg 2.3.7 전략적 판단 기법
[12 0210] gpg 2.3.7 전략적 판단 기법
 
[C++ korea] effective modern c++ study item 1정은식
[C++ korea] effective modern c++ study item 1정은식[C++ korea] effective modern c++ study item 1정은식
[C++ korea] effective modern c++ study item 1정은식
 
GPG 1권 4.12 VIPM
GPG 1권 4.12 VIPMGPG 1권 4.12 VIPM
GPG 1권 4.12 VIPM
 
The Binding of Isaac (아이작의 구속) 포스트모템
The Binding of Isaac (아이작의 구속) 포스트모템The Binding of Isaac (아이작의 구속) 포스트모템
The Binding of Isaac (아이작의 구속) 포스트모템
 
Effective c++ chapter3, 4 요약본
Effective c++ chapter3, 4 요약본Effective c++ chapter3, 4 요약본
Effective c++ chapter3, 4 요약본
 
Id142 plan
Id142 planId142 plan
Id142 plan
 
[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규
 

More from 연우 김

GPG 3.8 퍼지 논리
GPG 3.8 퍼지 논리GPG 3.8 퍼지 논리
GPG 3.8 퍼지 논리연우 김
 
Effective c++ 정리 chapter 8
Effective c++ 정리 chapter 8Effective c++ 정리 chapter 8
Effective c++ 정리 chapter 8연우 김
 
Effective c++ 정리 chapter 6
Effective c++ 정리 chapter 6Effective c++ 정리 chapter 6
Effective c++ 정리 chapter 6연우 김
 
Effective c++ 정리 chapter 4
Effective c++ 정리 chapter 4Effective c++ 정리 chapter 4
Effective c++ 정리 chapter 4연우 김
 
Effective C++ 정리 chapter 3
Effective C++ 정리 chapter 3Effective C++ 정리 chapter 3
Effective C++ 정리 chapter 3연우 김
 
Effective c++ 챕터 2 정리
Effective c++ 챕터 2 정리Effective c++ 챕터 2 정리
Effective c++ 챕터 2 정리연우 김
 

More from 연우 김 (6)

GPG 3.8 퍼지 논리
GPG 3.8 퍼지 논리GPG 3.8 퍼지 논리
GPG 3.8 퍼지 논리
 
Effective c++ 정리 chapter 8
Effective c++ 정리 chapter 8Effective c++ 정리 chapter 8
Effective c++ 정리 chapter 8
 
Effective c++ 정리 chapter 6
Effective c++ 정리 chapter 6Effective c++ 정리 chapter 6
Effective c++ 정리 chapter 6
 
Effective c++ 정리 chapter 4
Effective c++ 정리 chapter 4Effective c++ 정리 chapter 4
Effective c++ 정리 chapter 4
 
Effective C++ 정리 chapter 3
Effective C++ 정리 chapter 3Effective C++ 정리 chapter 3
Effective C++ 정리 chapter 3
 
Effective c++ 챕터 2 정리
Effective c++ 챕터 2 정리Effective c++ 챕터 2 정리
Effective c++ 챕터 2 정리
 

Gpg study5.5

  • 1. 고급 텍스쳐기법 with 텍스쳐 좌표생성 GPG STUDY 5.5
  • 3. 런타임 텍스처 매핑 • 애니메이션 • 조명 (반사, 굴절) • 범프 매핑
  • 4. 텍스처 애니메이션 • 텍스처는 좌표에 따라 매쉬에 입혀지는 모양이 정해진다. • 텍스처 좌표를 변경시켜서 애니메이션을 만들 수 있다. • 2차원 좌표계이므로 3x3 행렬을 통한 변환이 가능하다. • (u, v, 1) * 3x3Matrix = ( u’, v’ )
  • 5. 텍스처 투영 • Spot 광원(Light)을 텍스쳐 투영을 통해 표현 가능 • 특정 위치에 가상의 광원을 설정한다. • 광원 텍스처를 기준으로 광원방향으로 씬의 입체를 투영한다 • 평면에 투영된 입체의 vertex에 대응되는 광원 텍스쳐를 블랜딩.
  • 6. HOW 2 2-0 • 카메라의 2차원 투영과 유사한 방식으로 진행하자. • Viewing Transformation 조명공간 좌표계 변환
  • 7. HOW 2 2-0 • 투영 좌표 ( -1 ~ 1)  텍스쳐 좌표 (0 ~ 1) • (result * 0.5f) + 0.5f
  • 9. 텍스쳐 투영 문제점 • 텍스쳐 반복문제 • 매핑된 텍스쳐 좌표가 0~1을 넘어가면 경계선에서 반복 패턴이 그려진다. • 해결 : 반복 안한다. • Shine-through • 빛이 물체를 뚫고 앞에도 찍히고 뒤에도 찍힌다. • 해결 : back-face 컬링처럼 노멀값 내적연산을 통해서 뒷면은 제외시킨다.
  • 10. 반사 매핑 • 구(Sphere) Map 활용 • 공간상의 한점을 중심으로 들어오는 주변의 모습을 담은 맵 • 구 맵 생성에 대한 자세한 논의는 논문 [Blyth99]를 참조할 것
  • 11. 반사 매핑 • 정점에서 Sphere map의 텍스쳐 좌표 받아오기 • 반사 객체 위치를 중점으로 하는 Sphere map 사용 • World Matrix의 역행렬을 활용하여 정점의 법선을 World좌표계로 변환 • View Matrix를사용하여 View 좌표계로 변환 • 정점 법선의 x, y 성분을 택스쳐의 u,v 좌표계로 사용