QT5 OpenGL(七, 透明度设置)
2016-04-08 18:14
543 查看
概要
效果图
正常立体图
透明度为05的
透明度为01的
图形设置为绿色时
部分代码的更改
![](http://img.blog.csdn.net/20160408180130188)
![](http://img.blog.csdn.net/20160408180154501)
![](http://img.blog.csdn.net/20160408180205049)
![](http://img.blog.csdn.net/20160408181333662)
其实最主要的就是加了
这两行的代码。
WINGDIAPI void APIENTRY glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
这个函数前三个参数表示色彩值, 分别为red green blue, 而最后一个值 为alpha通道。
前面色彩值的设置决定了立体图形整体的色彩基调。 而最后一个alpha通道 设置区间为0 - 1 , 0表示完全透明,而1表示完全不透明。
效果图
正常立体图
透明度为05的
透明度为01的
图形设置为绿色时
部分代码的更改
概要
我们在做与UI或者图形,图片有关的项目时,总会遇到透明度的设置。 opengl也有自己的透明度设置。 值得一提得是,普通的平面图形透明度设置是改变单张平面的显示效果, 而立体图形的呢,这就会使多个平面的图形出现。效果图
正常立体图
透明度为0.5的
透明度为0.1的
图形设置为绿色时
部分代码的更改
void OpenglWidget::initializeGL() { loadGLTextures(); glEnable( GL_TEXTURE_2D ); glShadeModel( GL_SMOOTH ); glClearColor( 0.0, 0.0, 0.0, 0.5 ); glClearDepth( 1.0 ); glEnable( GL_DEPTH_TEST ); glDepthFunc( GL_LEQUAL ); glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST ); glLightfv( GL_LIGHT1, GL_AMBIENT, lightAmbient ); glLightfv( GL_LIGHT1, GL_DIFFUSE, lightDiffuse ); glLightfv( GL_LIGHT1, GL_POSITION, lightPosition ); glEnable( GL_LIGHT1 ); glColor4f(1, 1, 1, 0.5); glBlendFunc( GL_SRC_ALPHA, GL_ONE ); }
其实最主要的就是加了
glColor4f(1, 1, 1, 0.5); glBlendFunc( GL_SRC_ALPHA, GL_ONE );
这两行的代码。
WINGDIAPI void APIENTRY glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
这个函数前三个参数表示色彩值, 分别为red green blue, 而最后一个值 为alpha通道。
前面色彩值的设置决定了立体图形整体的色彩基调。 而最后一个alpha通道 设置区间为0 - 1 , 0表示完全透明,而1表示完全不透明。
相关文章推荐
- 在HI3531上移植和运行QT4.8.6
- windows 下QT5.5+vs2013开发环境搭建
- Qt使用数据库(2)
- QT在Label上画矩形
- QT官网文档网址
- PCL+Qt+VS可视化点云(二)出现 no override found for ‘vtkRenderWindow’错误解决方法
- Qt之主窗口背景图片动态拉伸
- Qt使用VS编译时“转到COFF期间失败”解决方法
- Qt QLineEdit 限制输入类型以及大小Int 和double
- 编译 arm 版的qt
- qt绘图
- Qt制作贪吃蛇游戏
- qt stylesheet
- module "Qt.WebSockets" is not installed
- Qt使用数据库(1)
- QT加载qwt开源控件库
- QT5 OpenGL (六, 键盘事件, 开关灯,放大缩小综合运用)
- QT 学习之analogclock改进
- QT 练手纪实
- QtCreator编译learnopengl的HelloWindow