自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 问答 (1)
  • 收藏
  • 关注

原创 设计模式-生成器模式

生成器模式在复杂对象构造场景中极具优势,尤其适合多参数、多步骤、多形态的对象构建。但其缺点在于代码复杂度较高,需权衡使用场景。

2025-03-06 00:42:30 922

原创 设计模式-抽象工厂模式

提供一个接口创建一系列相关或互相依赖的对象,而无需指定它们具体的类。

2025-01-15 23:11:33 385

原创 设计模式-工厂方法模式

特性简单工厂方法模式工厂方法模式创建对象的方式通过一个工厂类创建所有对象通过子类工厂创建特定对象开闭原则违反(新增产品需修改工厂类)符合(新增产品只需增加新工厂类)职责集中度职责集中在一个工厂类职责分散到多个工厂类类数量较少较多(每个产品对应一个工厂类)适用场景产品类型少且不频繁变化产品类型多且可能频繁变化。

2025-01-15 03:05:39 789

原创 visual studio C++ 运行Qt项目时出现的问题

这个方法的好处是一个项目可以单独设置一个编译器,例如你有个项目是Qt5的 有个项目是Qt6, 就可以针对项目的版本需求来设置。右键此电脑--->选择属性---->选择高级系统设置---->环境变量, 把对应的路径粘贴过去即可。这个方法就是全局设置,所有的qt项目都会应用到这个版本的编译器。这个方法只针对这一个项目设置,其他项目的属性是不会生效的。对着项目右键弹出一个菜单, 然后点击属性。在属性中选择调试, 在环境一栏中添加。这个方法就是在系统的环境变量中添加。这个目录是你QT的安装目录。

2024-12-17 19:58:26 343

原创 vtk 中的矩阵乘法顺序PreMultiply和PostMultiply

本质上这两个函数接口是为了满足不同的变换需要,是想先应用新的矩阵还是想先应用现用的矩阵。

2024-08-05 15:18:22 549

原创 QT+CMake+VTK在QT中导入VTK库的方法

之前写了一个在CMake中使用绝对路径导入的方法链接如下从环境搭建开始说起, 但是这个方法切换版本可能有点麻烦, 因为是使用系统环境变量的方式, 让CMake的在系统环境变量中找到VTK的库, 如果有版本切换(debug和release互相切换)的需要请在CMakeGUI中切换或者使用(这样不就背离了我想要的不设置绝对路径了吗)

2024-06-14 10:34:11 1236

原创 QtOpenGLWidget的析构问题QOpenGLVertexArrayObject::destroy() failed to restore current context

发生的原因:我想在QOpenGLWidget的析构函数 delete 掉我的网格类对象,网格类对象内使用了VAO对象也就是。这个问题的原因就是因为在OpenGL窗口结束了之后,最后在析构的时候还有使用到OpenGL的东西,导致的上下文不不正确。OpenGL对自身的上下文是非常敏感的,稍有不慎可能就会导致内存泄漏,或者没有释放正确,就比如。所以在MyOpenGLWidget的析构函数中加入下面的函数来确保上下文正确。由于上下文的问题没有办法正确的释放。这个类,两个类的析构大致如下。

2023-12-26 15:35:41 868 1

原创 opengl纹理

学习记录笔记—学习记录笔记—学习记录笔记。

2023-12-10 22:56:22 79 1

原创 opengl着色器

总结下来就是着色器可以理解为跑在GPU的程序,给GPU运行的程序,通过OpenGL提供的接口将程序丢给GPU来运行,极大的减少CPU的负担,提高渲染的效率等。上述主要提到了两个比较重要的着色器,顶点着色器和片段着色器,这两个着色器尤为重要。

2023-12-05 18:18:10 88 1

原创 设计模式笔记——观察者模式(Observer)

阅读设计模式-可复用面向对象软件的基础一书做的笔记。

2023-10-13 01:02:19 95

原创 设计模式笔记

子类(派生类)对父类(基类)进行拓展,但不能改变父类(基类)原有的功能,保证继承的稳定性和正确性,例如一个函数可以接受父类(基类)对象,那么也可以接受子类(派生类)对象,接收子类(派生类)对象时并不会影响到函数逻辑和结果。在许多时候一个类的设计是没办法遵循说有的原则,设计模式也是如此,设计模式本身就是围绕着设计原则展开的,例如抽象工厂模式,它所遵循的设计原则有单一职责原则和开闭原则,因此可以搭配其他的设计模式一起来完成一个模块的设计。增加系统的灵活性,降低类与类之间的耦合度,提高代码的复用。

2023-08-01 16:25:20 112 1

原创 Qt+VTK+Cmake在Qt项目引入VTK

笔记只讲述如何简单的引入VTK并运行一个简单的实例,其他的内容暂时不多赘述。

2023-07-21 20:14:53 1993 1

原创 vtk.js+react 实现ArrowSource 平移,缩放,旋转

中没有提供可以直接对该对象位置的变换接口,只能通过对它进行矩阵变换来改变它的位置整体的大小。该类提供了一个创建mat4的系统变换矩阵。参数为真时,两端将会翻转即尖端位于。实现方法主要使用到的API。箭头的轴底坐默认是在。,箭头的尖端默认是在。

2023-07-19 10:44:50 521

原创 vscode 出现error while fetching extensions.xhr failed 问题

vscode 出现error while fetching extensions.xhr failed 问题

2023-02-10 18:35:01 4696 5

原创 Ubuntu22.04.1 Server版本 配置C++开发环境----笔记

个人笔记仅供参考

2022-10-01 14:32:51 1159

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除