自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 UE4 开发笔记 第一记

导语: 实习也有两个月了,这两个月一直都是在用UE4相关的东西,也都没有时间好好的总结一下,以后花个时间好好总结下,先当做个笔记本吧,占个坑。UE4枚举UENUM的C++使用注意点: 虚幻4规定,UENUM的类名必须以大写字母E开头,就好像继承自Object的要以U开头一样。之前没命名对,在Editor里面Compile一直报错LNK2011类似的链接错误,这是由于UBT无法识别链接这个枚...

2019-08-18 14:02:19 374

原创 【C++】使用可变lambda, mutable关键字

默认情况下,对于一个值被拷贝的变量,lambda不会改变其值,如果我们希望能改变一个被捕获变量的值,就必须在参数列表尾加上关键字mutable。此处的意思是,默认lambda使用值捕获时,之后在lambda函数体内,使用被值捕获的变量时,该变量值将永远是其被捕获时,被lambda看到的值,一般这个值是无法改变的。如果加上mutable,则会使得该“值捕获变量”的值,可以在被捕获的值的基础上...

2019-05-24 18:21:29 10255 3

原创 C++ vector对象是如何增长的,VS2017下的1.5倍增长

《C++ Primer 5th》中,有说到当在vector中插入元素时,由于vector需要保持在内存中连续存储,因此,当插入之前,如果发现vector.size()=vector.capacity()时,就要进行扩容操作。Primer书上的结果说,一般扩容会使得容量变成之前的两倍,具体根据不同坏境,标准库的实现可能会有些不同。笔者,在VS2017+Windows10 的坏境下进行试验,发...

2019-05-22 17:13:59 471

原创 三路快排实现代码(C++)

三路快排,每次划分将数组划分为三部分,从左到右依次是小于key的部分,等于key的部分,大于key的部分。在下次子范围递归调用排序函数时,只需要对左右两个部分进行排序即可。解决了两路快排,在重复元素多时存在的效率问题。待排序数据通过C++随机数类 default_random_engine 生成.less<=more,说明排序还没完成。less,more位置元素都为即将要处理但还未处...

2019-05-19 15:54:49 761

原创 《剑指Offer》 面试题一:类对象赋值运算符函数重载

手敲实现了一下书中的CMyString类,发现有几个需要注意的点:要注意指针参数可能为空,即空指针的情况,其在实际运行时会引发异常。 cout不能输出空指针指向的内容,strcpy的参数必须是非空指针,否则会有异常 在赋值运算符重载时,应该注意:形参类型是常引用;返回值应为对象的引用,以保证“=”可以连等的写法(这个类似于<<与iostream的实现);在new新的空间写新内容...

2019-04-08 21:15:19 207

原创 【踩坑】并行线程消息通信——内存双缓冲存储区的实现(单向数据流动)

近期,由于需要将运行度差异较大的三个功能模块,整合到一个系统中,此处不如将三个模块分别记为,它们的关系用图表示如下: 其中,A,B,C三个模块分别运行在200Hz,40Hz和1kHz的频率上,且它们之间的数据流动方向是单向数据流动,即不存在两个并行模块同时往一个缓存Buffer里面写的情况,也就是说,没有写入竞争的情况发...

2019-04-03 22:43:14 634

原创 图形学笔记

1.对自由度的理解: 之前以为对于一个向量来说,如果是一个三维度向量,那么就是一个三自由度的,然而,这种认识还是太浅了。自由度的严格意义,应该是指相互独立、互相不可替代的维度种类数。例如在三维笛卡尔坐标系中,三维坐标就是三个自由度,因为的变化是不可以用的变化替代的。刚体的旋转和平移,也是两个自由度,因为再怎么旋也不能变成平移。2.旋转平移矩阵: , 其中左上角的矩阵为旋转部...

2019-04-03 21:41:04 423

原创 c++11 使用detach()时,主线程和孤儿detach线程的同步控制

在c++ 中,程序默认是只有一个Main Thread运行的,其入口函数是主函数main(),其中若开辟了其他的新的子线程,对这些子线程的处理方式有两种,一种是Join(),即main thread在被join的子线程没执行完的这段时间里,什么也不做,直到子线程执行完毕,才会继续向下执行 另一种是Detach(),如果没有其他一些同步措施的话,此时 子线程和main thread 完全分离,...

2018-12-26 21:18:45 11725 11

原创 openMP学习开发笔记

最近用到openMp,于是查了些资料,了解了一下,一些笔记如下,分享出来,如有不当之处,还望给出指正。openMP是一种操作级并行的框架,它可以利用多线程来增强程序的性能。可以对 For循环,或者几个语句Sections块进行并行。openMP是一个跨平台的框架,已经被内置到很多IDE种,如VS2017。函数级别的并行,可能还是得用Thread来进行。(使用前提: 是计算机具有...

2018-12-25 21:15:24 311

原创 公式里面的arg是什么意思?

arg 是变元(即自变量argument)的英文缩写。 arg min 就是使后面这个式子达到最小值时的变量的取值 arg max 就是使后面这个式子达到最大值时的变量的取值例如 函数F(x,y):arg min F(x,y)就是指当F(x,y)取得最小值时,变量x,y的取值arg max F(x,y)就是指当F(x,y)取得最大值时,变量x,y的取值...

2018-09-07 17:21:11 9813 1

原创 【openGL】glClearDepth的坑

今晚上踩了一个关于glClearDepth的坑,本以为glClearDepth是基于世界坐标系而进行运作的,结果发现竟然是基于eye space的,即视觉坐标系,它的深度计算法则是:按照摄像机的指向,物体离摄像机的距离而进行计算的,以右手坐标系为例子,z轴正方向指向屏幕外。 此时,若摄像机的z坐标值为3.0f,指向原点, 那么若物体A的z坐标值为2.0f的话,那么它的depth值则应该为1.0f...

2018-07-11 22:39:14 1451

转载 VS2017中无法识别PlaySound标识符解决办法(《逐梦旅程:Windows游戏编程之从零开始》FirstBlood篇)

《逐梦旅程:Windows游戏编程之从零开始》FirstBlood篇 —— 按照浅墨的《逐梦旅程:Windows游戏编程之从零开始》照敲FirstBlood的代码,本以为可以播放出来一血音效,结果VS2017提示无法识别PlaySound,单独的添加 pragma (lib,”winmm.lib”) 和 #include “windows.h”无效,如下的方法可以解决:以下内容转自:http...

2018-05-13 15:52:14 2464

转载 什么是运动模糊(Motion Blur)

from:http://www.cnblogs.com/lancidie/archive/2011/02/24/1963474.html什么是运动模糊(Motion Blur) 运动模糊是景物图象中的移动效果。它比较明显地出现在长时间暴光或场景内的物体快速移动的情形里。为什么会出现运动模糊  摄影机的工作原理是在很短的时间里把场景在胶片上暴光。场景中的光线投射在胶片上,引起化学反应,最终产生图

2018-04-22 23:58:59 16085

原创 《3D数学基础:图形与游戏开发》 学习笔记(一)

(以下学习笔记为本人最近在学习本书的时候所记载,之中还加入了一些做项目过程中遇到的问题,以及相关知识的补充。笔者水平有限,文中不足之处,还请给予指正,谢谢~)1.将左手坐标系变换到右手坐标系,只需改变其中一个轴的方向即可。  若改变两个轴的方向,则与旋转坐标轴无异。  若改变两个轴的方向,则与旋转坐标轴无异。  左手坐标系有24种(4*2*3) ,右手坐标系也有24种。2.四种坐标系:物体坐标系、...

2018-04-09 18:20:17 10127 4

原创 VS2010 error C2873: “Matrix2r”: 符号不能用在 using 声明中

VS2010 error C2873: “Matrix2r”: 符号不能用在 using 声明中从Github上下载源码,在VS2010中编译出现多出类似错误:出现错误处的源码对using的使用情况如下:经过百度,发现using的这种新用法是为了取代typedef,但是却可以实现很多typedef不支持的特性,这是c++11新加入的特性错误原因:可能因为VS2010对c++11部分新特性的支持性不...

2018-03-26 21:58:21 2717

原创 CMake ERROR:could not find git for clone of xxx

利用CMake编译源码,出现 CMake ERROR:could not find git for clone of ExternalProject_Discregrid.之后查看项目目录下的CMakeLists.txt, 打开,发现:(这些本来都是没有被注释过的,用来从repositories添加外部项目的,可能是没有翻墙的原因,此处虽然给出了GIT_REPOSITORY后面的git地址,CMa...

2018-03-26 15:38:10 10530 6

原创 CF 122A- Lucky Division

CF 122A -Lucky Division直接上AC源码:【思路】之前以为只有4,7,或者47组成的数字才是Lucky Number,所以WA了好几次。后面仔细读题后,发现,Lucky Number有2种数:一种是只由4,7组成的数字(注意:如果是按各个数位进行判断的话,比如我就是计算出输入数字的千、百、十以及个位,此时要考虑前缀0的情况)另一种是可

2017-12-23 13:02:45 493

原创 OpenCV学习笔记【二】

一、改变图像的大小方法1:使用CvPyrDown()、CvPyrUp() CvPyrDown()可以实现对图像进行缩放(长、宽分别变成原来的1/2),采用Gaussian金字塔分解法是实现,通过拒绝掉偶数行、列得到。 向下采样导致图像放大,导致模糊。 CvPyrUp()可以实现对图像的放大(长、宽分别变成原来的2倍),同样采用的是Gaussian金字塔的方法,通过填充0偶数行、列,之后再进行插

2017-03-09 14:01:43 460

原创 Opencv学习笔记【一】

由于以后研究生会用到Opencv,于是最近开始了对Opencv的学习,我用的参考学习资料是 《Learnning Opencv》,开发环境是 VS2013+Opencv 2.4.13。  写博客的目的差不多像是写一篇学习笔记一样,我是菜鸟,文中难免会有不当之处,还请大家不吝赐教~。  (1)SVN     看《Learning Opencv》的时候,碰到了SVN这个词,SVN是Subv

2017-02-15 16:33:45 386

原创 尊重你自己的兴趣,所有走过的路都不会白费

转眼之间,大学就快过完了,现在只剩下最后半个学期了,现在这个时间点,感觉用一篇长文来回顾总结自己的大学最合适不过了,于是便有了这篇文章,文章可能会有点长,基本都是一些自己的经历与所获得的感悟。

2017-01-09 16:39:53 728 1

空空如也

空空如也

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

TA关注的人

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