|
|
//选择纹理
void Animation::SelectTexture(GLuint texture)
{
glBindTexture (GL_TEXTURE_2D, texture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
}
void Animation: rawSky()
{
SelectTexture(oTexture[0]);
glBegin(GL_QUADS);
//前面
glTexCoord2f(0,0); glVertex3f(-MX,0,-MZ);
glTexCoord2f(1,0); glVertex3f( MX,0,-MZ);
glTexCoord2f(1,1); glVertex3f( MX, MY/2,-MZ);
glTexCoord2f(0,1); glVertex3f(-MX, MY/2,-MZ);
glEnd();
SelectTexture(oTexture[1]);
glBegin(GL_QUADS);
//左面
glTexCoord2f(0,0); glVertex3f(-MX, 0, MZ);
glTexCoord2f(1,0); glVertex3f(-MX, 0,-MZ);
glTexCoord2f(1,1); glVertex3f(-MX, MY/2, -MZ);
glTexCoord2f(0,1); glVertex3f(-MX, MY/2, MZ);
glEnd();
SelectTexture(oTexture[2]);
glBegin(GL_QUADS);
//后面
glTexCoord2f(0,0); glVertex3f( MX, 0, MZ);
glTexCoord2f(1,0); glVertex3f(-MX, 0, MZ);
glTexCoord2f(1,1); glVertex3f(-MX, MY/2, MZ);
glTexCoord2f(0,1); glVertex3f( MX, MY/2, MZ);
glEnd();
SelectTexture(oTexture[3]);
glBegin(GL_QUADS);
//右面
glTexCoord2f(0,0); glVertex3f( MX, 0, -MZ);
glTexCoord2f(1,0); glVertex3f( MX, 0, MZ);
glTexCoord2f(1,1); glVertex3f( MX, MY/2, MZ);
glTexCoord2f(0,1); glVertex3f( MX, MY/2, -MZ);
glEnd();
SelectTexture(oTexture[4]);
glBegin(GL_QUADS);
//顶面
glTexCoord2f(0,0); glVertex3f(-MX, MY/2, -MZ);
glTexCoord2f(1,0); glVertex3f(-MX, MY/2, MZ);
glTexCoord2f(1,1); glVertex3f( MX, MY/2, MZ);
glTexCoord2f(0,1); glVertex3f( MX, MY/2, -MZ);
glEnd();
}
是不是没过虑好???对那些参数不太了解,,,,感谢回复! |
|