自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 问答 (6)
  • 收藏
  • 关注

原创 QT使用openg离屏渲染到纹理并存到opencv的mat中

负责opengl绘制的控件是openglwidget,不能把FBO和其附件的设置放在initalizeGL函数里执行,只能在里面gen,配置需要放在paintGL函数中。另外opengl的纹理有4字节对齐的,直接从FBO的纹理附件读取数据到mat时会导致图像有奇怪的歪斜和灰度。解决这个问题的方法是在调用glGetTexImage之前使用glPixelStorei(GL_PACK_ALIGNMENT,1)进行设置。...

2021-09-30 10:35:57 359

原创 opengl问题记录

使用顶点属性(调用完glEnableVertexAttribArray函数)之后一定要记得释放(在glDraw*命令后要调用glDisableVertexAttribArray释放对应的属性),否则的话绘制别的顶点时,如果后面绘制的数据量很大,会出现前后数据的内存交叠导致访问越界而崩溃。这有可能是opengl内部机制,猜测是前面顶点和后续顶点是在GPU的同一个位置,如果前面顶点占据的缓存如果不disable,后面顶点还是在相同位置进行访问,当后面顶点数远大于前面顶点数时,相同位置没有开辟足够的缓存,导致

2021-07-29 10:59:11 110 1

原创 VAO的使用注意事项

VAO,VBO,EBO必须gen、bind放在一起,不能在一个函数里gen,在另一个函数里bind数据。可以在初始化的时候bind无效的数据,当想要渲染的数据获得的时候再重新bind而不用gen了,但是首次的gen后面必须紧跟bind设置数据。...

2021-07-05 11:21:28 600 1

原创 opengl颜色不插值方法

颜色作为顶点的数据上传到顶点着色器,设置顶点着色器的一个输出为flat out vec3 color,然后在片段着色器中定义输入flat in vec3 color,使fragcolor=vec4(color,1.0)。按索引绘制时,绘制的三角形颜色为该三角形最后一个索引对应的点的颜色...

2021-06-28 16:31:15 312

原创 QT中使用原生opengl函数

跟着learnopengl网站学习的opengl,其使用的是glfw创建上下文,glad提供gl函数的地址。想在QT中仍然使用这一套流程,只是用QT的openglwidget代替glfw创建上下文,然后用glew提供gl函数的地址。在重写openglwidget类及initialize\paint\resize时,一开始是把glew的初始化和调用的gl函数(glbindvertex、gldrawelemnts等)直接写在这三个函数中了,界面都启动不起来,直接崩溃。后来在网上找了一堆资料,忘了在哪看的了,就抱

2021-06-23 21:57:24 883 1

原创 Eigen库使用记录

Eigen库提供动态大小的矩阵,但是如果后续想要对矩阵进行赋值运行时会崩溃,解决办法是在矩阵定义时使用如下方式对其初始化。Eigen::MatrixXd C=Eigen::MatrixXd::Random(m,n);矩阵C为m行n列,后续赋值不会崩溃...

2019-04-27 10:10:18 188

原创 SLAM十四讲里的问题

系统:ubuntu18.04 LTS问题:先编译了g2o,后来意识到libsuitesparse没装,于是sudo apt-get install libsuitesparse但是在ch7里的程序make过程中出错——undefined reference to `g2o::csparse_extension::cs_cholsolsymb(cs_di_sparse const*, dou...

2018-09-15 23:33:34 1928

原创 QT无标题栏最大化按钮

用ismaximized函数判断有问题,在底部缩放了窗口后需要点两次最大化按钮才能最大化。经过网上搜索解决了问题,感谢广大网友,代码记录如下:QDesktopWidget *desktopWidget=QApplication::desktop();QRect desktop=desktopWidget->availableGeometry();if(this->geome...

2018-09-01 11:09:04 620

原创 QT+VS2017问题

在VS2017下编译好QT项目后,运行时程序crashed,ig9icd64.dll访问0xFFFF...位置出错。经过网上搜索,该dll为英特尔核显驱动,遂更新之,亲测成功。

2018-08-20 15:58:20 1271

原创 C++condition_variable与unique_lock的使用体会

std::mutex mt;std::condition_variable cv;int shareData = 0;bool ready = false;bool ismain = false;int main(){    auto thread1 = [](int a)    {        std::unique_lock<std::mutex> lk(mt)...

2018-08-10 19:31:30 1730

原创 QT--opengl

编译环境VS2017+QT使用glutSolidSphere函数在QOpenglWidget里绘制球体会出错,目前只是弃用glut函数,改用纯opengl的三角形画的球。

2018-08-03 19:50:06 344

原创 QT 信号槽

使用C++11的bind对函数进行包装,可在非QT派生类中使用QT的方法和信号槽机制。但是如果被包装的函数在子线程中发射信号的话,对应的connect函数第五个参数设成阻塞的队列模式,在我遇到的问题中是可用的。...

2018-08-01 14:44:25 194 1

原创 C++学习笔记(1)

指针的阴影在学习C语言时,教师在课堂上讲的指针知识基本忘完,唯一记住的一点就是指针是一个危险的东东,好了,从此就对指针产生了心理阴影,到现在在使用指针时心里还犯嘀咕,时常感到无从下手,特别是在使用函数时,传递指针与传递值的联系与区别还有一些模糊。通过阅读《Effective C++》,现有如下体会,不仅是指针,还包括引用、函数形参等理解:1.在调用函数时,实参与形参之间执行了类似“

2016-02-25 21:39:36 213

空空如也

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

TA关注的人

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