随笔分类 - qt
摘要:Detailed DescriptionQOpenGLWidget类是用于渲染OpenGL图形。 除了可以选择使用QPainter和标准的OpenGL渲染图形,QOpenGLWidget类提供了在Qt应用程序中显示OpenGL图形的功能。它使用起来非常简单:新建类继承于QOpenGLWidget,使
阅读全文
摘要:前言了解到这本书,是源于这篇文章。https://zhuanlan.zhihu.com/p/95943444加上最近恰好也想加深下对shader的理解,干脆先挖个坑,记录下后面读这本书的笔记。 一.环境搭建首先是练习环境的搭建,先前刚搭建好了 vscode 练习glsl的相关环境。VSCode +
阅读全文
摘要:直到目前,我们介绍opengl 的工程准备,窗口建立,画第一个三角形,着色器,纹理贴图。所有这些,都寻求问题描述简单,看上去是平面的操作一样。下面我们要进入opengl 的3D,因此需要了解一些必要的数学知识。本文就此做些简单介绍,向量,矩阵及其运算。如果你不能很好理解,至少看一遍吧,以后碰到不懂的
阅读全文
摘要:目录3D坐标系统点矩阵(单位矩阵、转置矩阵、逆矩阵;矩阵加法和乘法)变换矩阵(平移、缩放、旋转、投影[透视&推导/正射]、LookAt)旋转矩阵的数学推导向量及操作点积和叉积的应用局部和世界空间——模型矩阵M证明:一个变换矩阵就能完成不同坐标系下的坐标变换视觉空间和合成相机——模型-视图矩阵MV三维
阅读全文
摘要:目录 3D数学 向量 点乘 叉乘 矩阵 理解变换 视觉坐标 视图变换 模型变换 模型视图的二元性 投影变换 视口变换 模型视图矩阵 矩阵构造 单位矩阵 平移 旋转 缩放 综合变换 运用模型视图矩阵 更多对象 使用三角形批次类(GLTriangleBatch) 实例案例 投影矩阵 正投影 透视投影 模
阅读全文
摘要:这是GLSL shader学习系列的第二篇文章,本文中我们将会学习如何使用shader绘制一个圆形。 引子上一篇文章的内容比较简单易懂,由于gl_FragCoord能够表示每个像素点在画布中的坐标,因此很容易就能通过归一化得到连续渐变的效果。那么,如何使用着色器画出用明显边界感的圆形呢?这里需要使用
阅读全文
摘要:这是GLSL shader系列第一篇文章,本文学习目标: 安装编辑工具编写hello world程序安装插件我使用VSCode编写shader代码,在VSCode上有两个好用的插件需要先装一下: Shader languages support for VS Code glsl-canvas:主要用
阅读全文
摘要:什么是Shader Language Shader Language的发展方向是设计出在便携性方面可以和C++、Java等相比的高级语言,“赋予程序员灵活而方便的编程方式”,并“尽可能的控制渲染过程”同时“利用图形硬件的并行性,提高算法效率”。 Shader Language目前主要有3种语言: 基
阅读全文
摘要:一、OpenGL ES简介 在上一章中,我们介绍了OpenGL,知道了它是用于计算机图形绘制的编程接口标准,支持不同平台上的图形绘制,在计算机上发挥了重要作用。 后来,随着手机等移动设备性能的快速提高,人们已经不满足于将移动设备的应用止于通讯应用、记事等传统平面应用。而越来越注重移动设备功能的多样化
阅读全文
摘要:Detailed DescriptionQOpenGLWidget类是用于渲染OpenGL图形。 除了可以选择使用QPainter和标准的OpenGL渲染图形,QOpenGLWidget类提供了在Qt应用程序中显示OpenGL图形的功能。它使用起来非常简单:新建类继承于QOpenGLWidget,使
阅读全文
摘要:旧版本的Qt中,模块OpenGL提供了QGL开头类,不提倡使用,只是为了兼容低版本的Qt。新版本的Qt中,有两种方式:1、Qt的GUI模块中的QOpenGL开头的类。2、Qt的Widget模块中的QOpenGLWidget类。
阅读全文
摘要:Qt从5.2版开始提供了两个类QCommandLineOption和QCommandLineParser来解析应用的命令行参数。 一、命令行写法命令行:"-abc" 在QCommandLineParser的解析模式为ParseAsCompactedShortOptions(默认)时会被认为是3个参数
阅读全文
摘要:官方:https://www.qt.io/product/testing-toolshttps://doc.qt.io/qt-5/qttestlib-tutorial1-example.html 目录:使用 Qt Test 进行 C++ 单元测试 – 第 1 部分 – 简介使用 Qt Test 进行
阅读全文
摘要:一、编写单元测试 本节是关于如何编写一个简单的单元测试类,以及如何执行测试。 假设想测试 QString 类的行为。首先,需要一个包含测试函数的类,这个类必须继承自 QObject: #include <QTest> class TestQString: public QObject { Q_OBJ
阅读全文
摘要:1、常用宏 QBENCHMARK 计算运行时间,多次运行测量 QBENCHMARK_ONCE 计算运行时间,单次运行测量 QCOMPARE 比较是否相等 QEXPECT_FAIL 将下一个QCOMPARE或QVERIFY标记为预期测试,如果预期测试没有通过,可以终止剩余当前单元测试【可设置测试终止或
阅读全文
摘要:在介绍QT的单元测试框架之前,先说一下单元测试。单元测试最重要的就是要将应用拆分成一个个独立的可测试的函数模块。只有将应用拆分成一个个函数模块之后,应用才是可测的。所以开发领域衍生出来了一个概念,Test-driven development(TDD)测试驱动的开发。将应用拆分成一个个独立的可测试的
阅读全文

浙公网安备 33010602011771号