自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 OSG设置不受光照影响的颜色的方法

将环境光、漫反射、镜面反射都设为黑色,然后使用setEmission填入想要的颜色。

2023-05-23 16:11:34 318

原创 vs 无法双击打开qt的ui文件的问题

在vs上双击ui文件的时候,遇到了ui designer会显示几秒,然后自动关掉的问题。点击在菜单栏中的Qt Vs Tool->Options。你会发现Qt Designer默认是不允许在分离窗口运行的。只要把下图框住的False改为True,就能双击打开ui文件了。...

2021-04-29 17:39:32 469 1

原创 关于osg怎么设置物体颜色的问题

osg设置物体颜色有两种方式,第一种是直接设置顶点的颜色,第二种是设置材质的颜色。一般只选其中一种。先说第一种,可以直接将每个顶点的颜色传入Geometry中。 osg::ref_ptr<osg::Geometry> geometry = new osg::Geometry; osg::ref_ptr<osg::Vec4Array> colors = new osg::Vec4Array; colors->push_back(osg::Vec...

2020-05-19 11:41:32 6053 2

原创 osg窗口界面添加了图形,却没有图形显示的问题

在使用的过程中出现了一个问题。添加了一个View后,却只有背景显示,没有图形的显示。后来,将相机的设置放到图形的设置之前才解决了问题。

2020-05-13 11:15:36 722

原创 Qt creator使用过程中崩溃

关掉有道词典。

2019-10-29 17:33:49 244 1

原创 在qt的QOpenGLWidget开启opengl的抗锯齿

在QOpenGLWidget的构造函数添加下面几句代码即可 QSurfaceFormat surfaceFormat; surfaceFormat.setSamples(4);//多重采样 setFormat(surfaceFormat); //setFormat是QOpenGLWidget的函数...

2019-03-25 16:47:27 3355 4

原创 opengl没有glLineStipple 的情况下绘制虚线

在高版本的opengl没有glLineStipple 这个函数。绘制虚线似乎有点束手无策了。实际上使用最简单的GL_LINES的方式就能绘制虚线了。比如绘制一条从(0, 0, 0)到(140, 140, 140)的线。首先需要将线分段成如下的顶点:float points[24] = { 0.0f, 0.0f, 0.0f, 20.0f,...

2019-03-22 18:08:21 2310

原创 qt注释类或者函数的方法

qt有一个方便注释类或者函数的方法。只要在类或者函数的上面一行输入“/**” + 回车键即可自动生成以下注释:/** * @brief * @param * @return */...

2019-03-20 15:04:31 4228

原创 qt 同时开启两个opengl窗口关闭时出现的错误

当同时开启两个opengl窗口然后关闭的时候,程序总是输出:Texture is not valid in the current context.Texture has not been destroyed解决这样的问题可以在继承QOpenGLWidget的窗口的析构函数中加入makeCurrent();...

2019-03-15 10:13:55 1208

原创 qt opengl 窗口变化时物体大小保持不变

可以重写resizeGL函数,并在其中根据窗口的大小重新生成投影矩阵,如://OpenGLWidget继承QOpenGLWidget和QOpenGLFunctions_4_0_Corevoid OpenGLWidget::resizeGL(int width, int height){ glViewport(0, 0, width, height); QM...

2019-02-27 11:16:27 1893

原创 c++函数返回引用的陷阱

这几句代码貌似没有问题。实际上,在字面值字符串传入const string&amp;的时候发生了隐式转换,生成了一个string的临时值。返回的是此临时值的引用。当代码执行到cout时,临时值已经被释放。所以name是一个未定义的值。函数返回引用是个危险的操作。如果该引用指向函数的参数,会出现上述问题;如果指向局部变量,该引用必然是个无效的引用,因为函数返回时局部变量已经被释放;如果该引用...

2018-12-15 09:55:16 1194 2

原创 使用qt的three.js的FontLoader导入字体失败的问题

本人在使用FontLoader导入字体时,出现了json解析错误的错误提示。对比了网页版的three.js和qt版的three.js源代码,发现json解析的语句不一样。qt版的是:onLoad( new THREE.Font( JSON.parse( text.substring( 65, text.length - 2 ) ) ) );虽然网页版的也有类似这句话,但是这句话放在了...

2018-12-12 18:07:20 3437 2

原创 qt的three.js偶尔获取世界坐标不正确的问题

当一个object3D对象的position或者rotation发生变化时,使用object3D对象的getWorldPosition()返回的世界坐标可能不正确。因为three.js的相对坐标改变后世界坐标默认不会自动更新,而是到了渲染时才更新。解决办法:在更改相对坐标后,如果要马上获取其世界坐标或者子对象的世界坐标,首先要调用object3D对象的updateMatrixWorld()强制...

2018-12-12 17:51:47 1061

原创 qml使用three.js导入外界模型的问题

相比于网页版的three.js,qt提供的three.js缺少了许多Loader。所以许多外界的3d模型无法直接导入。但是,qt提供的three.js是可以使用ObjectLoader直接导入json格式的3d模型的。所以只要想办法把其他格式的3d模型转换为json格式,就可以导入了。在github下载下来的three.js的editor文件夹里面有一个网页版的编辑3d模型的软件(点击inde...

2018-12-12 17:42:34 1059

原创 QML访问本地或C++处理过的图片

在QML中,访问路径跟C++有所不同。其默认访问的是资源文件。如果要访问本地路径则需要加上“file:///”,如想访问D盘的某张图片可以这样"file:///D:/图片.jpg"。如果想要将C++中的图片传递给QML则要借助库中的QQuickImageProvider,帮助文档有很详细的介绍。之后,QML就可以使用"image://(provider名称)/(图片id)"的格式来访问C++中...

2018-08-16 20:41:55 872

原创 关于Qt使用windeployqt打包exe后打不开的问题

如果使用到了Qt Quick,打包的命令记得要增加“--qmldir (加上Qt安装路径中QML文件夹的位置)”,如“windeployqt (exe文件名称)  --qmldir D:\Qt\Qt5.9.6\5.9.6\mingw53_32\qml”。如果还是不行,则打包后还要将“mingw53_32\bin”中的“Qt5Core.dll”复制并替换掉打包文件夹(需要打包的exe文件所在目录...

2018-08-16 20:31:09 6352 7

原创 C++联合体的作用——串口发送数据

    使用串口发送数据时,需要一个字节一个字节地发送,所以发送非char类型数据比较困难,比如发送一个int类型数据或者是一个double类型数据。这时,联合体的作用就体现出来了。    联合体中的各数据项使用的是同一块内存。如果将一个double类型数据和一个char类型数组放在一起,访问char类型数组的元素就等于访问double类型数据的各字节,如:union u{    double...

2018-03-29 10:43:24 990

空空如也

空空如也

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

TA关注的人

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