- 博客(88)
- 资源 (14)
- 收藏
- 关注
原创 3D Gaussian Splatting复现
最近3D Gaussian Splatting很火,网上有很多复现过程,大部分都是在Windows上的。Linux上配置环境会方便简单一点,这里记录一下我在Linux上复现的过程。
2024-01-04 10:19:18 5933 10
原创 Linux 编译安装colmap
COLMAP可以作为独立的app,通过命令行或者图形交互界面使用,也可以作为一个库被包含到其他源代码中。这里记录一下编译安装colmap的过程,首先需要安装好CUDA,CUDA具体安装过程这里就不赘述了。
2023-12-03 19:33:25 2798 2
原创 QtConcurrent和QFuture的使用
Concurrent是并发的意思,而QtConcurrent同std一样,是一个命名空间(namespace),想使用它需要先在Project工程文件中导入模块,并包含头文件QtConcurrent提供了一些高级的 API,使得在编写多线程的时候,无需使用低级线程原语,如读写锁,等待条件或信号。使用QtConcurrent编写的程序会根据可用的处理器内核数自动调整使用的线程数。QtConcurrent中使用最多的是它的run()函数,每调用一次函数,就会新建立一个线程运行我们让它执行的函数。
2023-08-29 14:38:06 707
原创 QMap或结构体根据value排序
QMap是Qt的一个关联式容器,可以用于存储键值对,并提供了快速的查找和访问方式。当我们向QMap中插入元素时,默认按照键值对的大小升序排序。如果我们现在有一个这样一个需求,QMap<QString, double> map,存储的数据为名字对应值,如:(apple, 12.2),(orange, 23.3),(banana, 10.5)。
2023-08-25 14:19:50 555
原创 UE 调试技巧
想要查找到某个UI对应的UMG文件在哪选择 Tool→Debug→Widget Reflector,点击后会弹出来一个窗口,点击 Pick Hit 按钮后,把鼠标放到游戏运行时显示出来的UI界面中,放在哪个控件上面就会显示出这个控件所在的UMG文件是什么名字,并找到对应的UMG文件。在蓝图中找到弃用函数并删除一般我们在C++中需要删除的函数,都会先加上弃用标记,然后在蓝图中找到这些弃用的函数被调用地方,替换成新的函数接口。确保蓝图中没有再使用弃用函数后,再在C...
2022-05-25 11:42:42 1479
原创 QT 读Excel表格
#ifndef UICOMMONMODULE_AXEXCELFUNCTION_H#define UICOMMONMODULE_AXEXCELFUNCTION_H#include "UI/ComDefined.h"#include <QObject>#include <QColor>class QAxObject;namespace UICommonMdl{ typedef enum { AX_EXCEL_NULL = 0, //EXCEL未存在 AX.
2022-04-13 11:27:22 689
原创 UE GamePlay学习笔记
初学UE就一直对其中的基本类有一些问题,UE中的ACtor、Pawn、Character、Controller、PlayerController这些究竟是什么?他们的作用是什么?应该在用在什么地方?最近学习了大钊老师的GamePlay框架讲解,在这里记录一下。 参考:https://www.bilibili.com/video/BV1ED4y1D7Sf https://zhuanlan.zhihu.com/p/22833151Actor:...
2022-03-29 12:32:37 3190
原创 UE DataTable - 数据表
一、DataTable 是什么DataTable 就是数据表(以下简称 DT),也就是一个二维的 M 行 N 列的矩阵,如下图所示就是一个七行六列的数据表:程序可以通过策划配置的数据表找到对应关系做相应的逻辑,对策划很友好。...
2022-03-28 19:06:18 4418 3
原创 虚幻引擎 遇到的问题总结
C4458:declaration of "xxx" hides class member 这个错误是由于声明的变量在其他头文件里(UE自带的)有同名的变量了,类的内层的作用域与外层作用域中同名的变量会隐藏外层的同名变量,导致报这个错误。不是语法的错误,换一个变量名就不会出现这个错误了。...
2022-02-12 00:28:45 5808 3
原创 UE 在C++中生成一个基于蓝图的Actor
简介在UE4游戏场景中看到的所有对象皆是Actor,而Actor复杂的功能是由许多不同的Component共同实现的。Actor是Object的基类,它是一个可以放置或生成在世界中的对象。当我们想要在场景中创建一个物体时,先要创建一个继承于Actor的C++类,再基于该C++类创建蓝图类,然后只要把这个蓝图拖进场景中就可以了。那我们如果想要使用代码在场景中批量生成已经创建好的蓝图,也就是动态创建该怎么办呢?代码实现首先在头文件中声明要创建的...
2022-02-08 16:06:35 3528
原创 C++容器 vector
介绍vector 容器是STL中最常用的容器之一,它和 array 容器非常类似,都可以看做是对C++普通数组的“升级版”。不同之处在于,array 实现的是静态数组(容量固定的数组),而 vector 实现的是一个动态数组,即可以进行元素的插入和删除,在此过程中,vector 会动态调整所占用的内存空间,整个过程无需人工干预。vector 常被称为向量容器,因为该容器擅长在尾部插入或删除元素,在常量时间内就可以完成,时间复杂度为O(1)。而对于在容器头部或者中部...
2022-01-31 13:51:38 2993
原创 C++ stringstream
简介在做LeetCode算法题的时候看到有使用stringstream类处理字符串,自己对这个类不是很了解,查了资料在这里记录一下。首先,需要包含头文件<sstream>,在标准库中:#include <sstream><sstream> 定义了三个类:istringstream、ostringstream 和 stringstream,分别用来进行流的输入、输出和输入输出操作。本文以 stringstre...
2022-01-30 21:59:29 11885 4
原创 C++容器 pair
介绍std::pair是一个类模板,它提供了一种将两个异构对象存储为一个单元的方法。pair由< 键 , 值 >构成的“键值对”数据类型,每行都表示一个键值对,其中第一个元素作为键(key),第二个元素作为值(value),例如:<"C++", "C++ Primer Plus"><"Python", "Python机器学习及实践"><"Java", "Java语言程序设计">初始化pair类型对象...
2022-01-28 18:36:02 5505
原创 Ubuntu 安装Docker和Pythorch
背景实验室有两台空闲的RTX2070super,所以想把一台改成GPU服务器,能让多人共同使用GPU资源而不相互干扰,同时系统资源分配比较灵活。经过一番踩坑,终于搭建了成功了,这里记录一下搭建的步骤。服务器配置CPU: I7-9700K 主板: 微星Z390 gaming pro carbon 内存: 海盗船16G DDR4 3200MHZ x4 固态: Intel 760P 1T NVME固态 机械: 希捷2T 显卡: 2070Super安装步骤1.安装...
2021-12-11 14:30:19 1115
原创 在VSCode中使用Pytorch遇到的问题
按教程在VSCode中输入代码,提示缺少模块,于是在终端中安装缺少的模块,发现在VSCode的终端中激活不了conda的虚拟环境。由于VSCode的终端使用的是PowerShell,于是我直接打开PowerShell,发现果然在PowerShell中也不能激活conda的虚拟环境。上网查了查发现是因为PowerShell并不支持切换conda的虚拟环境,但是可以通过初始化的方法对终端进行设置,这里记录一下。使用管理员权限打开powershell,执......
2021-10-21 16:11:48 5696 11
原创 用Anaconda安装PyTorch
简介Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。PyTorch是一个开源的Python机器学习库,基于Torch,其底层和Torch框架一样,但是使用Python重新写了很多内容,不仅更加灵活,支持动态图,而且提供了Python接口。是一个以Python优先的深度学习框架,不仅能...
2021-10-21 11:44:24 667
原创 Unity3D 协程
简介什么是协程?unity协程是一个能够暂停协程执行,暂停后立即返回主函数,执行主函数剩余的部分,直到中断指令完成后,从中断指令的下一行继续执行协程剩余的函数。函数体全部执行完成,协程结束。由于中断指令的出现,使得可以将一个函数分割到多个帧里去执行。协程和线程的区别?线程是利用多核达到真正的并行计算,缺点是会有大量的锁、切换、等待的问题,而协程是非抢占式,需要用户自己释放使用权来切换到其他协程, 因此同一时间其实只有一个协程拥有运行权, 相当于单线程的能力。协...
2021-09-28 18:41:13 1069
原创 Unity3D 调用其他脚本函数方法
第一种,被调用脚本函数为static类型,调用时直接用 脚本名.函数名()第二种,GameObject.Find("脚本所在的物体的名字").SendMessage("函数名"); //能调用public和private类型函数第三种,GameObject.Find("脚本所在的物体的名字").GetComponent<脚本名>().函数名(); //只能调用public类型函数...
2021-09-24 17:41:17 20927 5
原创 Unity3D 资源加载 Resources.Load
在unity中,一般声音、预制体、材质以及其他各种资源的加载都可以使用拖拽的方式,在组件界面里把资源拖进去即可。但是有时我们也会想要在脚本中加载资源,或者对资源进行统一管理,这时候我们就可以使用Unity提供的资源加载函数——Resources.Load。加载资源(返回一个泛型对象):var 变量= Resources.Load<T>("Resources文件夹下的文件路径");...
2021-09-02 01:07:33 3111
原创 UE 宏定义GENERATED_BODY
在学习UE4的时候,看到C++工程中,在实现父类的BeginPlay()和Tick()以及SetupPlayerInputComponent()这些虚函数时,都能看到里面有用到Super类型,如下:// Called when the game starts or when spawnedvoid AMyActor::BeginPlay(){ Super::BeginPlay(); }// Called every framevoid AMyActor::Tick(floa...
2021-08-09 02:03:28 1200
原创 WinForm TabControl美化
设置Alignment=left设置DrawMode=OwnerDrawFixed // 设置该属性,可以自己绘制标签内的字设置ItemSize=30,100设置SizeMode=Fixed
2021-04-10 17:47:51 8786 5
原创 小数的二进制和十六进制表示
简述今天在研究生复试面试的过程中被问到小数的二进制和十六进制形式怎么表示,然而这个知识点已经记不得了,只能尴尬的和老师说这个知识点没有掌握好,回去会继续学习。不过最后的成绩还不错,复试第三,回去查了下小数的二进制和十六进制的表示方法,在这里做一个记录。十进制小数转N进制小数,方法为小数部分乘N取整,每次乘以相应基数之后取结果的整数部分即可。需要注意的是并非所有的十进制小数都能完全转化为N进制小数,这时就需要取近似值。下面详细说下十进制小数转为二进制小数和十六进制小数的方法。小数用二进制表示.
2021-03-27 17:26:11 11785
原创 Linux FFmpeg依赖库编译
使用libfreetype库在视频顶部的指定文件中绘制文本字符串或文本。要启用此过滤器的编译,您需要使用配置FFmpeg--enable-libfreetype。要启用默认字体后备和字体选项,您需要使用配置FFmpeg--enable-libfontconfig。要启用text_shaping选项,您需要使用配置FFmpeg--enable-libfribidi。https://blog.csdn.net/quantum7/article/details/104460115/...
2021-02-23 09:56:17 1017
原创 Unity3D 官方资源包Standard Assets导入
简述在使用Unity2018以上的版本时,在Import Package,不再有官方的资源包了,变成了只有一个自定义包的选项,那我们应该怎么使用官方的标准资源包呢?下载官方资源包这是因为这个资源包不再默认提供,我们可以直接去资源商店下载。资源商店在Unity中点击Asset Store,会打开资源商店的网页。在资源商店中,搜索 standard assets ,然后把它添加到我的资源中就可以在Unity中下载了。之后我们就可以在Unity中的Package Mana.
2021-02-15 22:37:00 34368 16
原创 C++ CURL使用
httpclientdemo.cpp// httpclientdemo.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <string>#include "include/curl/curl.h"#include "hmac.h"#include "sha1.h"#include "json.h"#include <cstdio>#include .
2021-02-09 17:03:53 9829
原创 Windows 麦克风音频采集 PCM、G711a格式
// MicAudioGatherDlg.h : 头文件//#pragma once#include <windows.h>#include "G711Codec.h"#ifndef _INC_MMSYSTEM#pragma warning(disable: 4201)#include <mmsystem.h>#endif#pragma comment(lib, "winmm.lib")#define BUFFER_SIZE 1024#define P.
2021-02-09 13:47:26 4326
原创 Linux 编译FFmpeg
一、简介FFmpeg(Fast Forward Mpeg)是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源框架,其中大部分功能都是使用C语言从头开发的,保证了它的高可移植性和编解码质量。FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等,基本上谈到对视频、音频的操作都离不开FFmpeg。最近一个项目上需要用到视频的格式转换,这里记录一下FFmpeg的编译。二、FFmpeg编译https://blog.csdn.net/m0_37684310/.
2021-02-08 17:50:14 878
原创 Windows下编译OpenSSL
一、OpenSSL简介OpenSSL是一个开源的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。SSL能使用户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对用户进行认证。这里是在Windows环境下编译OpenSSL的源码,记录一下我编译的过程。发下我编译好的OpenSSL库,可以直
2021-01-27 18:36:04 1922 3
MicAudioGatherDlg.zip
2021-02-09
opensll_lib.rar
2021-01-28
QT socket通信.zip
2020-07-18
Internationalization.zip
2020-05-09
C#读写三菱PLC和西门子PLC数据程序(源代码)
2019-05-10
QT 串口通信助手
2019-04-03
QT TableView自定义委托
2019-03-29
QT 串口通讯助手
2019-03-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人