OpenGL总结3 您所在的位置:网站首页 怎么更换背景颜色为渐变 OpenGL总结3

OpenGL总结3

2024-07-12 15:09| 来源: 网络整理| 查看: 265

OpenGL修改背景色,因为需要从qt中将信号传入OpenGL显示类,用来更新背景色,此时踩了个坑。 OpenGL修改背景色要用到两个函数:

glClearColor(color,color1,color2,alpha); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

OpenGL利用glClearColor中设置的颜色对背景色进行更新,glClear负责清空缓存更新背景色。这两个语句顺序一定不能变,一定要先设置背景色再更新,否则就会出现背景色的延迟,每次显示的背景色都是上一次设置的背景色。因为改变顺序后每次都是先更新了背景色值后才进行重新设置背景色的值,所以每次被刷新的相当于上一次的颜色。

OpenGL有超多类似的坑,只要顺序不对显示的结果就千奇百怪,最重要的是它不报错,有的时候看到显示错误,但是很难找到原因。当然也可以通过glGetError()函数获得gl的错误,可以添加代码将错误信息输出到控制台。但对与IDE本身是无法返回错误信息的,只能通过OpenGL的函数进行获取。

我在修改颜色的时候还遇到一个问题是,颜色值必须是浮点型,否则背景和glColor都无法更改颜色,颜色为黑色,具体原因还没有找到,但是glColoriv这个函数无法改变颜色。这一点作为记录参考。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有