NeHe 课程笔记02

来源:互联网 发布:安卓数据导入苹果手机 编辑:程序博客网 时间:2024/04/29 15:43
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);
原创粉丝点击