- 博客(11)
- 问答 (1)
- 收藏
- 关注
原创 vtk 中的矩阵乘法顺序PreMultiply和PostMultiply
本质上这两个函数接口是为了满足不同的变换需要,是想先应用新的矩阵还是想先应用现用的矩阵。
2024-08-05 15:18:22 333
原创 QT+CMake+VTK在QT中导入VTK库的方法
之前写了一个在CMake中使用绝对路径导入的方法链接如下从环境搭建开始说起, 但是这个方法切换版本可能有点麻烦, 因为是使用系统环境变量的方式, 让CMake的在系统环境变量中找到VTK的库, 如果有版本切换(debug和release互相切换)的需要请在CMakeGUI中切换或者使用(这样不就背离了我想要的不设置绝对路径了吗)
2024-06-14 10:34:11 811
原创 QtOpenGLWidget的析构问题QOpenGLVertexArrayObject::destroy() failed to restore current context
发生的原因:我想在QOpenGLWidget的析构函数 delete 掉我的网格类对象,网格类对象内使用了VAO对象也就是。这个问题的原因就是因为在OpenGL窗口结束了之后,最后在析构的时候还有使用到OpenGL的东西,导致的上下文不不正确。OpenGL对自身的上下文是非常敏感的,稍有不慎可能就会导致内存泄漏,或者没有释放正确,就比如。所以在MyOpenGLWidget的析构函数中加入下面的函数来确保上下文正确。由于上下文的问题没有办法正确的释放。这个类,两个类的析构大致如下。
2023-12-26 15:35:41 661 1
原创 opengl着色器
总结下来就是着色器可以理解为跑在GPU的程序,给GPU运行的程序,通过OpenGL提供的接口将程序丢给GPU来运行,极大的减少CPU的负担,提高渲染的效率等。上述主要提到了两个比较重要的着色器,顶点着色器和片段着色器,这两个着色器尤为重要。
2023-12-05 18:18:10 45 1
原创 设计模式笔记
子类(派生类)对父类(基类)进行拓展,但不能改变父类(基类)原有的功能,保证继承的稳定性和正确性,例如一个函数可以接受父类(基类)对象,那么也可以接受子类(派生类)对象,接收子类(派生类)对象时并不会影响到函数逻辑和结果。在许多时候一个类的设计是没办法遵循说有的原则,设计模式也是如此,设计模式本身就是围绕着设计原则展开的,例如抽象工厂模式,它所遵循的设计原则有单一职责原则和开闭原则,因此可以搭配其他的设计模式一起来完成一个模块的设计。增加系统的灵活性,降低类与类之间的耦合度,提高代码的复用。
2023-08-01 16:25:20 88 1
原创 vtk.js+react 实现ArrowSource 平移,缩放,旋转
中没有提供可以直接对该对象位置的变换接口,只能通过对它进行矩阵变换来改变它的位置整体的大小。该类提供了一个创建mat4的系统变换矩阵。参数为真时,两端将会翻转即尖端位于。实现方法主要使用到的API。箭头的轴底坐默认是在。,箭头的尖端默认是在。
2023-07-19 10:44:50 427
原创 vscode 出现error while fetching extensions.xhr failed 问题
vscode 出现error while fetching extensions.xhr failed 问题
2023-02-10 18:35:01 4073 5
空空如也
使用CMake安装dlib时,点击install生成时报错,错误代码MSB307
2022-01-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人