1. 基本操作:
glTranslatef();
glRotatef();
glBegin(); // GL_TRIANGLES/QUADS
glColor*();
glVertex*();
glEnd();
2. 纹理映射:
Aux_RGBImageRec *auxDIBImageLoad(char *);
// 此结构里包含了sizeX(图像宽度),sizeY(图像高度)和data(图像数据)
glGenTextures();
glBindTexture();
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN/MAG_FILTER,GL_LINEAR);
// MIN,当图片显示小于实际图片时;GL_LINEAR线性滤波就是找最近的两幅图片进行线性叠加;
// 其他还是有,GL_NEAREST,就是使用最接近的图片做纹理。
glTexImage2D(GL_TEXTURE_2D,0,3,TextureImage[0]->sizeX,TextureImage[0]->sizeY,0,GL_RGB,GL_UNSIGNED_BYTE, TextureImage[0]->data);
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data);
释放TextureImage[0]->data,释放TextureImage[0]
glBindTexture();
glTexCoord*();glVertex^();
3. 光照:
glEnable(GL_LIGHTING);
glEnable(GL_LIGHTi);
glLightfv(GL_LIGHTi,GL_AMBIENT,light_ambient[i]);
// 同样设置GL_DIFFUSE/GL_POSITION
4. 混合:
glEnable(GL_BLEND);
glColor4f(1.0,1.0,1.0,0.5);
glBlentFunc(GL_SRC_ALPHA,GL_ONE);
glTranslatef();
glRotatef();
glBegin(); // GL_TRIANGLES/QUADS
glColor*();
glVertex*();
glEnd();
2. 纹理映射:
Aux_RGBImageRec *auxDIBImageLoad(char *);
// 此结构里包含了sizeX(图像宽度),sizeY(图像高度)和data(图像数据)
glGenTextures();
glBindTexture();
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN/MAG_FILTER,GL_LINEAR);
// MIN,当图片显示小于实际图片时;GL_LINEAR线性滤波就是找最近的两幅图片进行线性叠加;
// 其他还是有,GL_NEAREST,就是使用最接近的图片做纹理。
glTexImage2D(GL_TEXTURE_2D,0,3,TextureImage[0]->sizeX,TextureImage[0]->sizeY,0,GL_RGB,GL_UNSIGNED_BYTE, TextureImage[0]->data);
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data);
释放TextureImage[0]->data,释放TextureImage[0]
glBindTexture();
glTexCoord*();glVertex^();
3. 光照:
glEnable(GL_LIGHTING);
glEnable(GL_LIGHTi);
glLightfv(GL_LIGHTi,GL_AMBIENT,light_ambient[i]);
// 同样设置GL_DIFFUSE/GL_POSITION
4. 混合:
glEnable(GL_BLEND);
glColor4f(1.0,1.0,1.0,0.5);
glBlentFunc(GL_SRC_ALPHA,GL_ONE);