QT5 OPenGL(二,平面图形上色)
2016-04-06 10:00
363 查看
概要
效果图
主要代码
重点解析
QT5 OPenGL(一)
/article/8043949.html
WINGDIAPI void APIENTRY glColor3f (GLfloat red, GLfloat green, GLfloat blue);
而最主要的是调用glColor3f这个函数。 里面有三个函数, 它们的值在0.0 - 1.0 之间, 参数从左到右分别为 红色, 绿色 和 蓝色, 也这就是对应的三原色。 我们可以从三原色混合产生各种不同的色彩。
可以记住最常用的几种色彩参数
红色:glColor3f (1.0, 0.0, 0.0)
绿色:glColor3f (0.0, 1.0, 0.0)
蓝色:glColor3f (0.0, 0.0, 1.0)
黑色:glColor3f (0.0, 0.0, 0.0)
白色:glColor3f (1.0, 1.0, 1.0)
而使用glColor3f 函数, 有一个特点就是,设置为某个色彩之后, 后面的颜色一直为这个色彩, 直到有设置另外的颜色。 而当设置其它颜色之后, 可以理解为从图形的某个点喷出一种色彩, 当多个点有不同的颜色,就会相互交互,形成有多种色彩的图案。
效果图
主要代码
重点解析
概要
这篇文章是在上一篇的基础上添加的,这样的目的是让学习的人,可以分模块地学习对应的功能,不需要一次性阅读所有的代码。上一篇的博客地址为:
QT5 OPenGL(一)
/article/8043949.html
效果图
主要代码
void OpenglWidget::paintGL() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glTranslatef( -1.5, 0.0, -6.0 ); glBegin( GL_QUADS ); glColor3f(1.0, 0.0, 0.0); glVertex3f( -1.0, 1.0, 0.0 ); glColor3f(0.0, 1.0, 0.0); glVertex3f( 1.0, 1.0, 0.0 ); glColor3f(0.0, 0.0, 1.0); glVertex3f( 1.0, -1.0, 0.0 ); glColor3f(1.0, 1.0, 1.0); glVertex3f( -1.0, -1.0, 0.0 ); glEnd(); glTranslatef( 3.0, 0.0, 0.0 ); glColor3f((GLfloat)0.3, (GLfloat)0.2, (GLfloat)0.5); glBegin( GL_TRIANGLES ); qDebug() << "this is a paintGL test!"; glVertex3f( 0.0, 1.0, 0.0 ); glVertex3f( -1.0, -1.0, 0.0 ); glVertex3f( 1.0, -1.0, 0.0 ); glEnd(); }
重点解析
我们可以很清楚的看到, 把绘制的图形进行着色的关键是重写paintGL() 函数。WINGDIAPI void APIENTRY glColor3f (GLfloat red, GLfloat green, GLfloat blue);
而最主要的是调用glColor3f这个函数。 里面有三个函数, 它们的值在0.0 - 1.0 之间, 参数从左到右分别为 红色, 绿色 和 蓝色, 也这就是对应的三原色。 我们可以从三原色混合产生各种不同的色彩。
可以记住最常用的几种色彩参数
红色:glColor3f (1.0, 0.0, 0.0)
绿色:glColor3f (0.0, 1.0, 0.0)
蓝色:glColor3f (0.0, 0.0, 1.0)
黑色:glColor3f (0.0, 0.0, 0.0)
白色:glColor3f (1.0, 1.0, 1.0)
而使用glColor3f 函数, 有一个特点就是,设置为某个色彩之后, 后面的颜色一直为这个色彩, 直到有设置另外的颜色。 而当设置其它颜色之后, 可以理解为从图形的某个点喷出一种色彩, 当多个点有不同的颜色,就会相互交互,形成有多种色彩的图案。
相关文章推荐
- 一劳永逸解决UAC问题,获取超级管理员 administrator权限
- Qt调用外部程序QProcess
- QWidget
- QT gluPerspective 报错
- QT5 OPenGL(一)
- 终于配置好了Mac上的QT
- Qt5布局管理(三)——QStackedWidget堆栈窗口类
- QT 智能提示设置
- qt5使用mysql
- PyQt4开关按钮ToggleButton
- Qt回忆录之配置开发环境
- Qt的信号和槽是如何工作的
- VS集成Qt环境搭建
- Qt Creator管理多个项目
- PyQt4单选框QCheckBox
- tq2440编译ARM版本的Qt4出错问题解决
- 将Qt 动态链接生成的exe及依赖dll打包方法
- QT学习笔记——“const"
- [Qt入门篇]5 Qt的属性系统——声明属性
- sublime text 2 运行pyqt没有显示