Chap 9. 텍스쳐(Texture).

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

1 Kim, Sung-Ho School of Computer, Information and Communication Engineering Sangji Univ.
Texture Mapping 년 봄학기 5/23/2014 박경신. OpenGL Texturing  OpenGL 에서 텍스쳐 맵핑 (texture mapping) 을 위한 3 단계 텍스쳐 활성화 glEnable(GL_TEXTURE_2D) 텍스쳐 맵핑방법.
장. 텍스쳐 학습목표 텍스쳐의 정의와 종류를 이해한다. 평면 다각형의 텍스쳐 매핑 방법을 이해한다. 파라미터로 표현된 곡면 다각형의 텍스쳐 매핑 방법을 이해한다. 파라미터로 표현할 수 없는 곡면 다각형의 텍스쳐 매핑 방법을 이해 한다. 텍스쳐 매핑에서 에일리어싱이.
Billboard copyright
수학을 통해 배우는 IT 과학의 세계 전북대: 한상언 교수.
오라클 백업과 복구.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
텍스쳐 매핑 실습.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
이산적 기법들 최 수 미
11장. 텍스쳐 학습목표 텍스쳐의 정의와 종류를 이해한다. 평면 다각형의 텍스쳐 매핑 방법을 이해한다.
그래픽 하드웨어.
MATLAB을 이용한 디지털영상처리 Chapter 5 기하 변환과 영상 정합
Lecture #8 제 5 장. 관측(viewing).
모 바 일 게 임 제 작 한국IT전문학교 박재성.
텍 스 처 매 핑.
Texture Mapping 김 성 남 1.
음 영 (Shading).
1장 – 그래픽스 시스템과 모델 2장 – 그래픽스 프로그래밍 3장 – 입력과 상호작용 4장 – 기하학적 객체와 변환
Practice - texture mapping
제 9 장 구조체와 공용체.
-Part2- 제3장 포인터란 무엇인가.
조 병 규 Software Quality Lab. 한국교통대학교
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
2장. 그래픽 하드웨어 학습목표 그래픽 출력장치의 일반적인 작동원리를 이해한다.
제 1 장. 컴퓨터 그래픽스 시스템과 모델 - 3D 컴퓨터 그래픽스 구조 - OpenGL API 개요
학습목표 8장. 가시성 판단 후면제거의 정의와 처리방법을 이해한다. 절단작업의 정의와 처리방법을 이해한다.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
2장. 그래픽 하드웨어 학습목표 그래픽 출력장치의 일반적인 작동원리를 이해한다.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
23장. 구조체와 사용자 정의 자료형 2.
학습목표 11장. 텍스쳐 텍스쳐의 정의와 종류를 이해한다. 평면 다각형의 텍스쳐 매핑 방법을 이해한다.
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
14장. 포인터와 함수에 대한 이해.
JA A V W. 03.
프로그래밍 개요
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express Slide 1 (of 22)
CHAP 5. 레이아웃.
Chapter 4 MPEG-2 부호기 전체 구조와 알고리즘 ( 4.6 ~ 4.10 )
TFT-LCD 구조 동작원리 응용분야.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
2차시: 달의 공전 지구과학
나만의 자료 형을 만들 수 있다. C는 int, float, char 등의 자료 형을 제공한다.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
USN(Ubiquitous Sensor Network)
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
Clipping 이진학.
4장 기하학적 객체와 변환 - 기하 1장 – 그래픽스 시스템과 모델 2장 – 그래픽스 프로그래밍 3장 – 입력과 상호작용
1차시: 낮과 밤이 생기는 원리 지구과학
정다면체, 다면체와 정다각형, 다각형의 관계 한림초등 학교 영제 6학년 5반 송명훈.
Parallel Mapping 정광일
OpenGL (spaceship movement) PROJECT 2012.
CAD 실습 2013년 2학기.
Canary value 스택 가드(Stack Guard).
IP-255S 설치 교육자료 101/102에 대한 설명을 시작 하겠습니다.
헤드라인 헤드라인 헤드라인 헤드라인 헤드라인 헤드라인 헤드라인 헤드라인 헤드라인 헤드라인 헤드라인 헤드라인 텍스트 샘플 텍스트
소리 편집 안 재 형.
시스템 인터페이스 Lab#5 쉡 실습.
13주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
1. 정투상법 정투상법 정투상도 (1) 정투상의 원리
웹 사이트 분석과 설계 [디자인 리서치] 학번: 이름 : 홍지애.
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
Summary of Pointers and Arrays
7. 힘과 운동 속력이 변하지 않는 운동.
바이트 순서 변환 함수 주소 변환 함수 바이트 조작 함수 원격지 호스트 정보를 얻는 함수
게임수학 제 8 장 고급 렌더링.
Lecture #6 제 4 장. 기하학적 객체와 변환 (1).
Presentation transcript:

Chap 9. 텍스쳐(Texture)

9.1 텍스쳐 맵  

텍스쳐 의미 및 종류 텍스쳐: 물체 표면에 인위적으로 미세한 굴곡을 부여하여 주름 면을 형성=>물체 면에 그림을 추가 방법 범프 맵: 법선벡터를 조정하여 굴곡이 있는 것 처럼 텍스쳐 맵: 캡쳐된 영상을 물체 표면에 붙이기 라이트 맵: 텍스쳐 영상에 조명효과 추가, 텍스쳐와 조명 혼합 주변 매핑: 물체 주변의 영상을 물체 면에 붙임, 반짝이는 물체

9.2 텍스쳐 맵 기법

조명과 음영 계산의 시점 그래픽(기하) 파이프라인 영상 파이프라인 후면제거

텍셀과 텍스쳐 매핑 텍셀: 텟스쳐 영상의 기본 단위, 화소와 마찬가지로 (R,G,B,A)로 저장 예: 6☓5 크기의 2차원 배열로 저장. 텍스쳐 좌표는 정규화 형태로 표현. 텍스쳐 매핑: (s, t) 좌표로 표현된 2차원 텍스쳐 영상을 (x, y, z) 좌표로 표현된 3차원 물체면으로 사상

매핑 방법(1) 평면 사각형의 텍스쳐 매핑 곡면의 텍스쳐 매핑 파라미터 곡면 다각형 곡면 S-매핑

매핑방법(2) O-매핑 O-매핑 종류 주변매핑 S-매핑 O-매핑: 시점 반사벡터 방식 시점 반사벡터 방식

텍스쳐 기능 활성화 텍스쳐 영상 명시 텍스쳐 매핑 방법 할당 텍스쳐 파라미터 명시 텍스쳐 환경 명시 9.3 GL 텍스쳐 매핑 텍스쳐 기능 활성화 텍스쳐 영상 명시 텍스쳐 매핑 방법 할당 텍스쳐 파라미터 명시 텍스쳐 환경 명시

텍스쳐 기능 활성화 활성화/비활성화 형식: void glEnable(Glenum mode) mode=GL_TEXTURE_1D, GLTEXTURE_2D, GL_TEXTURE_3D − void glDisable(mode) 텍스쳐 영상 준비 배열에 저장: Glubyte MyTexture[Width][Height][3] Width=텍스쳐 s축, Height=텍스쳐 y축 MyTexture[w][h][3], 텍셀의 RGB성분 저장

텍스쳐 영상 명시 영상명시 void glTexImage2D(target, level, internalformat, width,height,border,format,type, Glvoid *texture); target=GL_TEXTURE_1D, internalformat=텍셀형식, format,type=텍셀형식 자료 크기, *texture=배열 glTexImage2D()의 기능 프로세서 메모리 => 텍스쳐 버퍼 (참고: 메모리=>프레임 버퍼) 기타 명령: glTexSubImage2d(): 텍스쳐 버퍼의 내용을 변경, 텍스쳐 무비 구현 가능 glCopyTexImage2D(); 화면 영상의 일부를 텍스쳐 바퍼로 복사

텍스쳐 매핑 방법 할당(1) 수동 텍스쳐 매핑 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( );

텍스쳐 영상 방법 할당(2) 자동 텍스쳐 매핑 기준 평면과 물체 정점과의 거리로 좌표 할당 GL_OBJECT_LINEAR: 정점/기준평면 물체공간에서 정의 GL_EYE_LINEAR: 정점/기준평면 시점 좌표계에서 정의 GL_SPHERE_MAP: 주변 매핑 반사 원구를 놓고 반사된 배경을 촬영 카메라를 회전시키며 주변 모습 촬영

텍스쳐 영상 방법 할당(3) 명령어 모든 축에 대해 명시 glTexGen{ifd}[v](coord, pname,param); cood: 자동 매핑하고자 하는 축(예,s, t) pname: 설정 매개변수 이름 - param: 상수값(표참조) glTexGeni(GL_S,GL_TEXTURE_GEN_MODE,GL_OBJECT_LINEAR); glTexGenfv(GL_S,GL_OBJECT_PLANE,MyPlane); MyPlane[]: Ax+By+Cz+D=0에서 계수 저장 예: 물체 정점과 MyPlane을 기준으로 텍스쳐 좌표 자동 할당 Static Glfloat MyPlane[]={1.0,0.0,0.0,0.0}; glTexGeni(GL_S,GL_TEXTURE_GEN_MODE,GL_EYE_LINEAR); glTexGenfv(GL_S,GL_EYE_PLANE,MyPlane); glEnable(GL_TEXTURE_GEN_S); 모든 축에 대해 명시 ……………………… glEnable(GL_TEXTURE_GEN_S);glEnable(GL_TEXTURE_GEN_T); glEnable(GL_TEXTURE_GEN_R); …………… 좌표 자동 할당 glEnable(GL_TEXTURE_GEN_S); 텍스쳐 s축 GL_TEXTURE_GEN_T GL_TEXTURE_GEN_R…..

텍스쳐 파라미터 명시(1) 텍스쳐 확장 화소 텍셀결정 텍스쳐를 어떻게 확장할까? 화소의 텍스쳐를 어떻게 정할까? 명령어 void glTexParameter(target,pname,param); target: GL_TEXTURE_2D.. pname: 파라미터 이름 param: 상수 glTexParameter() 함수의 파라미터 텍스쳐 확장 target pname param GL_TEXTURE_2D GL_TEXTURE_3D GL_TEXTURE_WRAP_S GL_REPEAT, GL_CLAMP GL_TEXTURE_WRAP_T GL_REPEAT,GL_CLAMP GL_TEXTURE_MAG_FILTER GL_NEAREST,GL_LINEAR GL_TEXTURE_MIN_FILTER GL_NEAREST,GL_LINEAR, GL_NEAREST_MIPMAP_NEAREST, …………………. GL_TEXTURE_BORDER_COLOR Any 4 Values in[0.0,1.0] 화소 텍셀결정

텍스쳐 파라미터 명시(2) 영상 확장: GL_TEXTURE_WRAP_S… GL_REPEAT GL_CLAMP 화소결정: GL_TEXTURE_MAG_, GL_TEXTURE_MIN_ GL_NEAREST GL_LINEAR

텍스쳐 환경 명시 물체 면의 색과 텍스쳐를 혼합 명렬어 glTexEnv(target,pname,param) pname GL_TEXTURE_ENV_MODE GL_DECAL, GL_REPLACE, GLMODULATE,GL_BLEND GL_TEXTURE_ENV_COLOR RGBA 배열