zoukankan      html  css  js  c++  java
  • opengl纹理

    glDepthRange(0.0, 1.0);
     glClearDepth(1.0);
     
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        glClearColor(0.0, 0.0, 0.0, 1.0);

        //glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
     
        AUX_RGBImageRec *textureImage[1];
        textureImage[0] = auxDIBImageLoadA(TEXT("D:/aa.bmp"));
      

        GLuint texture[1];
        glEnable(GL_TEXTURE_2D);
     glGenTextures(1, &texture[0]);
     glBindTexture(GL_TEXTURE_2D, texture[0]);

     
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

     glTexParameteri(GL_TEXTURE, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
     glTexParameteri(GL_TEXTURE, GL_TEXTURE_MAG_FILTER,GL_LINEAR);
        //glTexImage2D(GL_TEXTURE_2D, 0, 3, textureImage[0]->sizeX, textureImage[0]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, textureImage[0]->data);//此函数失效,可使用gluBuild2DMipmaps()
        gluBuild2DMipmaps(GL_TEXTURE_2D, 3, textureImage[0]->sizeX, textureImage[0]->sizeY, GL_RGB, GL_UNSIGNED_BYTE, textureImage[0]->data);

     glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
     

     glBindTexture(GL_TEXTURE_2D, texture[0]);
        //glColor4f(1.0, 0.0, 0.0, 0.5);
     glBegin(GL_QUADS);
         glTexCoord2f(0.0f, 0.0f); glVertex3f(-10.0f, -10.0f,  10.0f); // 纹理和四边形的左下
      glTexCoord2f(1.0f, 0.0f); glVertex3f( 10.0f, -10.0f,  10.0f); // 纹理和四边形的右下
      glTexCoord2f(1.0f, 1.0f); glVertex3f( 10.0f,  10.0f,  10.0f); // 纹理和四边形的右上
      glTexCoord2f(0.0f, 1.0f); glVertex3f(-10.0f,  10.0f,  10.0f); // 纹理和四边形的左上
      // 后面
      
     glEnd();


     glFlush(); 
     glDisable(GL_TEXTURE_2D);
     

  • 相关阅读:
    1082 射击比赛 (20 分)
    1091 N-自守数 (15 分)
    1064 朋友数 (20 分)
    1031 查验身份证 (15 分)
    1028 人口普查 (20 分)
    1059 C语言竞赛 (20 分)
    1083 是否存在相等的差 (20 分)
    1077 互评成绩计算 (20 分)
    792. 高精度减法
    791. 高精度加法
  • 原文地址:https://www.cnblogs.com/lizhengjin/p/1528847.html
Copyright © 2011-2022 走看看