- 博客(29)
- 资源 (56)
- 收藏
- 关注
原创 OpenGL实战教程(10) -- 第九站:纹理贴图
纹理,指的是一张二维的图片,把它像贴纸一样贴在物体上面,让那个东西看起来像我们贴纸所要表现的东西那样。纹理映射功能将一些像素数据经过变换(即使是比较不规则的变换)将其附着到各种形状的多边形表面。利用纹理映射功能可以实现目前计算机动画中的大多数效果。1、启用纹理和载入纹理glEnable(GL_TEXTURE_2D); // 启用纹理功能 glDisable(GL_TEXTURE_2D); /...
2020-03-31 16:54:00 2092
原创 OpenGL实战教程(9) -- 第八站:颜色混合
混合用来实现半透明。但其实它也是十分灵活的,通过不同的设置得到不同的混合结果,产生一些有趣或者奇怪的图象。混合就是把两种颜色混在一起。具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。注意:只有在RGBA模式下,才可以使用混合功能,颜色索引模式下是无法使用混合功能的。1、混合功能开关glEnable(GL_BLEND); //打开混合功能...
2020-03-31 15:16:57 297
原创 OpenGL实战教程(8) -- 第七站:显示列表
1、为什么要用显示列表对于复杂的图形,有成千上万个顶点,每次刷新屏幕都于重新计算顶点,让CPU执行重复的工作,浪费了CPU资源和运行速度的下降。如果把计算好的结果存放到显示列表中,需要刷新屏幕时,只需要把数据刷新到显卡里就可以了,节省CPU计算资源。2、分配显示列表编号GLuint glGenLists (GLsizei range);GLsizei range:指定要分配几个显示列表。...
2020-03-31 14:30:33 267
原创 OpenGL实战教程(7) -- 第六站:光照
一、 光照模型在大自然中,某些物体会发光,例如太阳、电灯等,而其它物体不会发光,反射来自其它物体的光。这些光通过各种方式传播,最后进入眼睛——于是一幅画面就眼前形成了。OpenGL在处理光照时把光照系统分为三部分,分别是光源、材质和光照环境。光源就是发光源,如太阳或者电灯等。材质是指接受光照的物体表面,物体如何反射光线由物体表面决定,材质特点就决定了物体反射光线的特性。光照环境是指环境亮...
2020-03-31 13:38:03 559
原创 OpenGL实战教程(6) -- 第五站:模型变换和视图变换
***有关矩阵运行和透视原理,参考相关的数学知识。1、glMatrixMode函数:void glMatrixMode (GLenum mode)mode取值:GL_PROJECTION 投影,GL_MODELVIEW 模型视图,GL_TEXTURE 纹理(1)使用GL_MODELVIEW 参数:表示切换到模型操作方式。调用函数glLoadIdentity()加载单位矩阵,然后...
2020-03-31 11:52:50 385
原创 OpenGL实战教程(5) -- 第四站:使用颜色
1、 RGBA颜色RGBA模式中,每一个像素会保存以下数据:红色分量、绿色分量、蓝色分量和alpha分量,其中红、绿、蓝三种颜色相组合,就得到看到的颜色,而alpha不直接影响颜色,它表示与底色的组合关系(即透明程度)。glColor*系列函数可以用于设置颜色,其中三个参数的版本可以指定R、G、B的值,而A值采用默认;四个参数的版本可以分别指定R、G、B、A的值。例如:void glCo...
2020-03-30 15:42:37 1405
原创 OpenGL实战教程(4) -- 第三站:深入理解点、线、多边形的绘制(VS2015)
1、点点的大小默认为1个像素,但也可以用glPointSize修改大小。其函数原型如下:void glPointSize(GLfloat size); size必须大于0.0f,默认值为1.0f,单位为“像素”。glPointSize(5.0f);glBegin(GL_POINTS);glVertex2f(0.0f, 0.0f);glVertex2f(0.5f, 0.5f);glE...
2020-03-30 14:58:29 652
原创 OpenGL实战教程(3) -- 第二站:点、线、多边形的绘制(VS2015)
1、顶点函数OpenGL中顶点是图形绘制的基础。先了解一下顶点相关的函数:顶点函数:glVertexN?() 和 lVertexN?v()X:表示函数有几个参数:?:表示函数参数的类型:v: 表示参数是指针形式。如:glVertex2i(1, 3): 表示两个整数型参数,1=x坐标,3=y坐标,z坐标为0glVertex2f(1.0f, 3.0f):表示两个浮点型参数,z坐标=0...
2020-03-30 13:46:40 1147
原创 OpenGL实战教程(2) -- 第一站:画一个矩形(VS2015)
#include "stdafx.h"#include "glut.h"void Draw1Rect(void){ glClear(GL_COLOR_BUFFER_BIT); // 清除屏幕的内容 glColor3f(0.5, 0.5, 0); // 设置颜色,参数为红绿蓝分量 glRectf(-0.5f, -0.5f, 0.5f, 0.5f); // 在屏幕正中间画一个正方形...
2020-03-30 12:45:36 480
原创 OpenGL实战教程(1) -- 开发环境快速搭建(VS2015)
1、新建一个控制台程序(console)工程:系统自动生成一个简单的程序,编译成功。2、以glut库开发OPENGL在https://www.opengl.org/resources/libraries/glut/glut_downloads.php#3.6网址,下载glut库开发时需要以下文件:glut32.libglut.hglut.dll3、文件拷贝在工程目录下创建头文件目...
2020-03-30 11:59:21 367
原创 QT开发应用程序(19)-- 读取XML文件
1、修改工程文件PRO属性在工程文件设置中修改[Qt Modules] 中增加xml;或者直接修改pro文件:加一行:QT+=xml2、源程序XML例:把xml文件存入utf-8格式的文件中。(如果没有中文字符,文件存放格式可以忽略)<?xml version="1.0" encoding="utf-8"?><classes info="test"> ...
2020-03-30 11:03:59 470
原创 QT开发应用程序(18)-- 文件操作
1、QIODevice直接继承自QObject, 是输入/输出设备的抽象类。提供了公共实现和抽象接口用于读写块数据。Q3Socket,Q3SocketDevice,QAbstractSocket,QBuffer,QFile,QLocalSocket,QNetworkReply,QProcess是它的子类。2、QFile打开文件:bool open(OpenMode flag...
2020-03-27 20:24:57 844
原创 QT开发应用程序(17)-- 读写XLS文件
请注意,在工程文件pro里,增加CONFIG += qaxcontainer。有的网帖上写的是CONFIG += axcontainer,经测试,通不过。#ifndef QTEXCEL_H#define QTEXCEL_H#include <QObject>#include <QFile>#include <QString>#include &l...
2020-03-27 19:51:54 1750 5
原创 QT开发应用程序(16)-- TCP通讯实例
1、TCP Server端#include <QTcpServer>#include <QObject>#include "Myclientsocket.h"class MyServer : public QTcpServer{ Q_OBJECTpublic: MyServer (QObject *parent=0,int port=0); ...
2020-03-27 16:54:55 222
原创 QT开发应用程序(15)-- UDP通讯实例
头文件定义#include <QObject>#include <QUdpSocket> class QtUdp : public QObject{ Q_OBJECT public: UdpReceiver(QObject *p = 0); ~UdpReceiver(); public slots: void receiv...
2020-03-27 16:34:44 270
原创 QT开发应用程序(14)-- 线程
1、多线程间的控制有以下类提供对线程进行互斥和同步。QMutexQMutexLockerQReadWriteLockerQReadLockerQWriteLockerQSemephoreQWaitCondition2、线程头文件定义#include <QThread>class WorkThread : public QThread{ Q_OBJEC...
2020-03-27 16:24:25 179 1
原创 QT开发应用程序(13)--数据库操作
在工程中添加定义:QT+=sql头文件定义:include <QSqlDatabase>class MyDatabase{public: MyDatabase(); void connectMYSQL(); void createDB(); void initDB(); QSqlDatabase database;}MyDatabas...
2020-03-27 16:11:43 219
原创 QT开发应用程序(12)-- 模型视图代理
1、模型视图结构的理解Model-View-Controller (MVC) 是由三个对象构成,Model是模型,View是显示,Controller定义了用户界面和用户输入的交互。如果把View和Controller结合起来,就成为了Model/View(模型视图)模式,这种模式仍然是把数据的存储和显示分隔起来的。模型与数据源通信,为这个架构中的其它组件提供了接口。通信的本质依赖于数据源的类...
2020-03-27 15:56:05 369
原创 QT开发应用程序(11)--图形绘制和文本输出
代码演示:#include <QPainter>MyDraw::MyDraw(QWidget *parent) : QWidget(parent){ QLinearGradient linearGradient(0,0,400,400); linearGradient.setColorAt(0.0,Qt::white); linearGradien...
2020-03-27 14:52:40 620
原创 QT开发应用程序(10)--菜单和工具栏
主程序:MenuToolbar::MenuToolbar(QWidget *parent) : QMainWindow(parent){ createActions(); createMenus(); createToolBars();}创建动作:void MenuToolbar::createActions(){ //"打开"动作 ...
2020-03-27 14:32:25 227
原创 QT开发应用程序(9)-- 文件等功能对话框
1、取得文件对话框取得文件名的函数,有以下这些:QFileDialog::getOpenFileName()、QFileDialog::getSaveFileName()、QFileDialog::getOpenFileUrl()等。使用方法类似。 #include<QFileDialog>QString FileOpen(){ QString strFileN...
2020-03-27 14:12:23 293
原创 QT开发应用程序(8)--布局管理QSplitter, QDockWidget,QStackWidget,QLayout
1、QSplitter的使用#include <QApplication>#include<Qsplitter>#include<QTextEdit>#include <QTextCodec>int main(int argc, char *argv[]){ QApplication a(argc, argv); QF...
2020-03-27 12:16:34 434
原创 QT开发应用程序(7)-- QT的按钮和信号槽函数
1、创建一个基于Dialog的QT工程QT的按钮有五类:QPushButtonQRadioButtonQCheckButtonQCommandLinkButtonQDialogButtonBox还有工具条的QToolButton,在别的地方说明。在界面上各类按钮创建一个实例,并在右侧属性栏中修改其名称和图标,也可修改其它属性,如下图所示:2,指定各个按钮的点击信号的槽函数注意:...
2020-03-27 10:57:19 10198
原创 QT开发应用程序(6)-- 正则表达式QRegExp类
QRegExp是Qt的正则表达式类。Qt中有两个不同类的正则表达式.通配模式? 匹配任意单个字符, 例如, 1?2可以为1,后面跟任意单个字符, 再跟2匹配任意一个字符序列. 例如, 1*2, 可以为1, 后面跟任意数量的字符[] 匹配一个定义的字符集合. 例如, [a-zA-Z.]可以匹配 a到z之间任意一个字符和. [^a]匹配出小写a以外的字符.利用正则式验证文本框的输入只...
2020-03-26 15:51:13 1386
原创 QT开发应用程序(5)-- QVariant类
QVariant类似于C语言的union和类似于MFC的_variant_t。使用一系列的to函数取出来。QVariant可以保存很多Qt的数据类型,包括QBrush、QColor、QCursor、QDateTime、QFont、QKeySequence、QPalette、QPen、QPixmap、QPoint、QRect、QRegion、QSize和QString,并且还有C++基本类型,如...
2020-03-26 15:00:42 387
原创 QT开发应用程序(4)-- 容器类(QList, QLinkedList, QVector, QMap, QHash)
QList、QLinkedList、QVectorQList、QLinkedList和QVector提供的操作相似,用QList就可以代替其它两个,QList比QVector更快。元素的储存位置彼此相邻时使用QVector。QList list; list << “1” << “2” << “3”; // list: [“1”, “2”, “3”]for...
2020-03-26 14:33:38 565
原创 QT开发应用程序(3)-- 字符串类QString
1、字符串相加QString strName = " 我叫";strName = strName + " 包不同"; // strName :我叫包不同strName = " 我叫";strName += " 包不同"; // strName :我叫包不同2、字符串appendQString strName = " 我叫";QString strAppend = " 包不同";s...
2020-03-26 13:47:42 769
原创 QT开发应用程序(2)-- 创建一个应用程序
一、启动QT Creater点击菜单【文件】中的【新建】即可创建一个新应用二、创建一个窗体应用程序选择【Application】、【Qt Widgets Application】之后,点击【Choose】按钮。填写项目名称和路径名。点击【下一步】可以选择基类QMainWindow,QWidget,QDialog.也可以默认【QMainWindow】,直接点击【下一步】这点选择第一项,...
2020-03-26 12:38:01 1601
原创 QT开发应用程序(1)-- 环境搭建
QT开发应用程序(1)-- 环境搭建下载QT安装包下载地址:https://www.qt.io/download:由于下载时需要注册,也可以国内的镜像网站如https://mirrors.tuna.tsinghua.edu.cn上找它的下载源。根据需要选择下载指定的版本。下载成功后即可安装。在visual studio2015中安装QT开发插件在菜单【工具】查找【扩展和更新】进入扩...
2020-03-26 11:09:15 199
CocosApp03.zip
2020-04-22
CocosApp02.zip
2020-04-22
OpenCV.17.zip
2020-04-20
OpenCV.16.zip
2020-04-20
OpenCV.13.zip
2020-04-16
OpenCV.12.zip
2020-04-16
OpenCV.11.zip
2020-04-15
OpenCV_Practice9.zip
2020-04-15
OpenCV_Practice6.zip
2020-04-14
OpenCV_Practice5.zip
2020-04-14
OpenCV_Practice.zip
2020-04-13
ADO访问oracle数据库
2020-10-29
ThreadAndTimer.rar
2020-07-16
CocosApp实战(11) -- Tile地图.zip
2020-05-25
CocosApp实战(10) --粒子系统.zip
2020-05-21
CocosApp08- 网络特效.zip
2020-05-19
CocosApp04.zip
2020-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人