Chap 9 Texture void gl EnableGlenum mode modeGLTEXTURE1
Chap 9. 텍스쳐(Texture)
텍스쳐 기능 활성화 • 활성화/비활성화 형식: – void gl. Enable(Glenum mode) mode=GL_TEXTURE_1 D, GLTEXTURE_2 D, GL_TEXTURE_3 D − void gl. Disable(mode) • 텍스쳐 영상 준비 – 배열에 저장: Glubyte My. Texture[Width][Height][3] – Width=텍스쳐 s축, Height=텍스쳐 y축 – My. Texture[w][h][3], 텍셀의 RGB성분 저장 9
텍스쳐 매핑 방법 할당(1) • 수동 텍스쳐 매핑 • • • gl. Begin(GL_POLYGON); gl. Normal 3 f(0. 0, 1. 0); gl. Tex. Coord 2 f(0. 2, 0. 8); 텍스쳐 정점 a를 gl. Vertex 3 f(7. 5, 10. 5, 0. 0); 물체 정점 A에 할당 gl. Normal 3 f(0. 0, 1. 0); gl. Tex. Coord 2 f(0. 4, 0. 2); 텍스쳐 정점 b를 gl. Vertex 3 f(0. 0, 3. 8, 0. 0); 물체 정점 B에 할당 gl. Normal 3 f(0. 0, 1. 0); gl. Tex. Coord 2 f(0. 8, 0. 4); 텍스쳐 정점 c를 gl. Vertex 3 f(12. 0, 0. 0); 물체 정점 C에 할당 gl. End( ); 11
텍스쳐 영상 방법 할당(3) • 명령어 • 모든 축에 대해 명시 …………… gl. Enable(GL_TEXTURE_GEN_S); gl. Enabl e(GL_TEXTURE_GEN_T); gl. Enable(GL_TEXTURE_GEN_R); …………… • 좌표 자동 할당 – gl. Enable(GL_TEXTURE_GEN_S); – 텍스쳐 s축 – GL_TEXTURE_GEN_T – GL_TEXTURE_GEN_R…. . – gl. Tex. Gen{ifd}[v](coord, pname, param); – cood: 자동 매핑하고자 하는 축(예, s, t) – pname: 설정 매개변수 이름 - param: 상 수값(표참조) gl. Tex. Geni(GL_S, GL_TEXTURE_GEN_M ODE, GL_OBJECT_LINEAR); gl. Tex. Genfv(GL_S, GL_OBJECT_PLANE, My. Plane); My. Plane[]: Ax+By+Cz+D=0에서 계수 저 장 • 예: 물체 정점과 My. Plane을 기준으로 텍스 쳐 좌표 자동 할당 Static Glfloat My. Plane[]={1. 0, 0. 0}; gl. Tex. Geni(GL_S, GL_TEXTURE_GEN_MODE, GL_EYE_LINEAR); gl. Tex. Genfv(GL_S, GL_EYE_PLANE, My. Plane); gl. Enable(GL_TEXTURE_GEN_S); 13
텍스쳐 파라미터 명시(1) • 텍스쳐를 어떻게 확장할까? 화소의 텍스쳐를 어떻게 정할까? • 명령어 void gl. Tex. Parameter(target, pname, param); target: GL_TEXTURE_2 D. . pname: 파라미터 이름 param: 상수 • gl. Tex. Parameter() 함수의 파라미터 텍스쳐 확장 target GL_TEXTURE_2 D GL_TEXTURE_3 D pname param 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_NEAR EST, …………………. GL_TEXTURE_BORDER_CO LOR Any 4 Values in[0. 0, 1. 0] 화소 텍셀결정 14
텍스쳐 파라미터 명시(2) • 영상 확장: GL_TEXTURE_WRAP_S… – GL_REPEAT – GL_CLAMP • 화소결정: GL_TEXTURE_MAG_, GL_TEXTURE_MIN_ – GL_NEAREST – GL_LINEAR 15
텍스쳐 환경 명시 • 물체 면의 색과 텍스쳐를 혼합 • 명렬어 – gl. Tex. Env(target, pname, param) pname param GL_TEXTURE_ENV_MODE GL_DECAL, GL_REPLACE, GLMODULATE, GL_BLEND GL_TEXTURE_ENV_COLOR RGBA 배열 16
- Slides: 17