|
|
UINT g_cactus;
GLUquadricObj * g_text;
bool LoadPic(char *filename,GLuint &texture)
{
AUX_RGBImageRec * pImage=NULL;
pImage=auxDIBImageLoad(filename);
if(pImage==NULL)
return false;
glGenTextures(1,&texture);
glBindTexture(GL_TEXTURE_2D,texture);
gluBuild2DMipmaps(GL_TEXTURE_2D,4,
pImage->sizeX,
pImage->sizeY,
GL_RGB,GL_UNSIGNED_BYTE,
pImage->data);
free(pImage->data);
free(pImage);
return true;
}
void init()
{
g_text=gluNewQuadric();
LoadPic("aa.BMP",g_cactus);
}
void square()
{
glTranslatef(0,0,-6);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,g_cactus);
glBegin(GL_QUADS);
glVertex3f( 0, 1, 0);
glVertex3f(0,-1, 0);
glVertex3f( 1,-1, 0);
glVertex3f( 1,1, 0);
glEnd(); //绘制结束
}
int DrawGLScene(GLvoid)
{
init();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
square();
return TRUE; // 继续运行
}
运行结果:丢失图片纹理。 |
|