90 likes | 236 Vues
Texture Mapping. Texture Mapping. Menggambar “tekstur” pada permukaan suatu poligon Tekstur berupa gambar yang akan ditempelkan pada permukaan poligon Ibarat menempelkan gambar di sekeliling kardus. Gambar tekstur. Ilustrasi. +. =. Objek. Objek dengan tekstur. TGA Texture.
E N D
Texture Mapping • Menggambar “tekstur” pada permukaan suatu poligon • Tekstur berupa gambar yang akan ditempelkan pada permukaan poligon • Ibarat menempelkan gambar di sekeliling kardus
Gambar tekstur Ilustrasi + = Objek Objek dengan tekstur
TGA Texture • Texture mapping mengunakanlibrary texture TGA • Format gambar : TGA(TruevisionGraphics Adapter) • Beberapaketentuan: • Kedalamanwarna 8, 24, atau 32 bit • Dimensigambar (panjangataulebar) haruspangkat 2, misal 8, 16, 32, 128, 512 pixel • Yang bisadiberi texture adalahobjekprimitif (GL_POLYGONdkk)
Specify Texture • Simpan image ke array imageData • glTexImage2D (GL_TEXTURE_2D, 0, texFormat, imageWidth, imageHeight, 0, texFormat, GL_UNSIGNED_BYTE, imageData);
Parameter Wrapping • glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); • glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); Filtering • glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); • glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
Color Blend • glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
Bind Texture and Draw • glEnable(GL_TEXTURE_2D); // Enable texture mapping • glBindTexture(GL_TEXTURE_2D,1); // Bind texture indeks 1 • glBegin(GL_QUADS); • glTexCoord2f(0.0f,0.0f); // kiribawah • glVertex3f(-3.0f,-3.0f,0.0f); • glTexCoord2f(1.0f,0.0f); // kananbawah • glVertex3f(3.0f,-3.0f,0.0f); • glTexCoord2f(1.0f,1.0f); // kananatas • glVertex3f(3.0f,3.0f,0.0f); • glTexCoord2f(0.0f,1.0f); // kananbawah • glVertex3f(-3.0f,3.0f,0.0f); • glEnd();