广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    opengl背景设置

    来源:网络收集  点击:  时间:2024-02-17
    【导读】:
    今天有网友问我opengl背景设置。小编在网上查阅了资料,再根据个人经验所得,得出了以下结论,希望对你们有帮助!工具/原料more程序源码图片方法/步骤1/4分步阅读

    通常在OpenGL里面绘制的都是默认的黑色背景,对于有些时候,太过于单调了,现在我们可以对它加上背景,实现一个不错的图形。

    2/4

    首先,先定义个导入图片的函数。LoadTexture(const char * filename, int width, int height){GLuint texture;unsigned char * data;FILE * file;//读文件file = fopen(filename, rb);if (file == NULL) return 0;data = (unsigned char *)malloc(width * height * 3);fread(data, width * height * 3, 1, file);fclose(file);glGenTextures(1, texture);glBindTexture(GL_TEXTURE_2D, texture);glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);//线性滤图glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);//生成纹理glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_BGR_EXT, GL_UNSIGNED_BYTE, data);free(data); //释放纹理return texture; }在后面我们就可以调用这个函数来实现纹理的导入了。

    3/4

    接着再定义个设置背景的函数。Background(){glBindTexture(GL_TEXTURE_2D, texture);glBegin(GL_QUADS);glTexCoord2d(0.0, 0.0); glVertex2d(-1.0, -1.0);glTexCoord2d(1.0, 0.0); glVertex2d(+1.0, -1.0);glTexCoord2d(1.0, 1.0); glVertex2d(+1.0, +1.0);glTexCoord2d(0.0, 1.0); glVertex2d(-1.0, +1.0);glEnd(); return ;}

    4/4

    glDisable(GL_DEPTH_TEST);glLoadIdentity();//导入纹理texture = LoadTexture(C:\\Users\\Administrator\\Desktop\\zuixin\\zuixin\\UI\\xiaoge.bmp, 640, 640); glEnable(GL_TEXTURE_2D);glPushMatrix();glScalef(100, 70, 1);glTranslatef(0, 0, -150);Background();//背景方块glPopMatrix();最后在绘制函数里面调用并调整大小,就可以得到我们想要的背景了。

    注意事项

    可以上网搜索不同的图

    还有不同的程序

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_59257.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 07:02:33  耗时:0.025
    0.0255s