自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Jetson AGX Orin 刷机

此账号不是Nvidia开发者账号,在Windows系统上注册为开发者即可:https://developer.nvidia.com/after_signup/complete_profile。终端输入“killall firefox”,然后手动启动Firefox浏览器,等待跳转至Nvidia官网进行登录操作。我的办法是换了一个用gmail邮箱重新注册了一个Nvidia账号。拿根网线和主线直连,多试几次。

2023-04-20 14:11:53 1314 2

原创 VisualStudio2019安装VisualAssist

2.删除“C:\Users\用户名\AppData\Local\Microsoft\VisualStudio\vs版本号\Extensions”文件夹;并解压,右键"VA_X_Setup2366_0.exe"设置兼容性,并勾选兼容模式,双击运行"VA_X_Setup2366_0.exe";3.删除“C:\Users\用户名\AppData\Local\Microsoft\VisualStudio\vs版本号”文件夹;10.拷贝VA_X.dll和PiaoYun.dll至扩展目录并覆盖。8.重复步骤1-5;

2023-04-17 11:02:47 1377 1

原创 【Premake5】第一个脚本

Premake5最近我在搭建一个OpenGL的基础开发环境,为了适配不同版本的VisualStudio,我决定试一试Premake,利用Premake自动化生成各个版本的vs解决方案。第一次看到这个软件是在 TheCherno 大神的教学视频里, 感觉lua脚本写着非常舒服,在学习的过程中顺便记录一下。1.准备环境新建一个空文件夹:C:\dev\HelloPremake2.准备代码新建src文件,并放入一个main.cpp文件:main.cpp内容:#include <stdio.h

2022-04-27 14:28:00 604

原创 【c++ warning】C26812: the enum type ‘xxx‘ is unscoped.Prefer ‘enum class‘ over ‘enum‘.

如果你在同一作用域下声明了某个枚举:enum xEventType { None = 0, MouseDown = 1, MouseUp = 2, MouseMove = 3, MouseWheel = 4, KeyDown = 5, KeyUp = 6, Resize = 7};那么在其他枚举内就不可以再声明‘None’和‘Bala’这两个标识了,例如再声明一个枚举:enum eWaka{ None = 0, // 编译不通过!None重定义了!

2022-04-26 21:55:00 4106 5

原创 【OpenGL-矩阵】旋转矩阵推导

参考博文https://blog.csdn.net/lady_killer9/article/details/89306082绕x轴逆时针旋转的矩阵推导过程这是绕x轴逆时针旋转的矩阵形式:在OpenGL中,默认的旋转方式是逆时针,所以下图表示的是在y-z平面上,绕x轴逆时针旋转β的过程:旋转矩阵的使用方法通常可以使用glm库,glm里提供了丰富的几何变换方法,包括矩阵、向量、四元数等,或者我们也可以自己封装数学库,OpenGL提供了默认了旋转方法:glRotated,在现代OpenGL中这

2022-04-26 17:52:16 1310

原创 【OpenGL-矩阵】OpenCV相机内参(Intrinsics)与OpenGL投影矩阵(ProjectionMatrix)

参考博客:https://blog.csdn.net/AIchipmunk/article/details/41489825?spm=1001.2014.3001.5502https://blog.csdn.net/xx780452700/article/details/124425539?spm=1001.2014.3001.5502相机内参OpenCV的相机内参矩阵包括fx、fy、u0或cx、v0或cy这4个参数,它们分别是相机的水平焦距、垂直焦距、水平方向中心点、垂直方向中心点,我们还

2022-04-26 16:55:20 5753 5

原创 【OpenGL-矩阵】投影矩阵(ProjectionMatrix)理解

参考资料:https://jsantell.com/3d-projection/http://www.songho.ca/opengl/gl_projectionmatrix.html说明:投影矩阵用于投影变换,投影变换是三维场景中的物体正确渲染到二维屏幕的重要过程之一。在透视矩阵中,有几个重要元素:视场角、成像设备的宽高比、场景中能看到的最近距离以及最远距离,通过这几个参数可以定义一个视锥体对象,从而模拟人眼或者相机的在三维空间中的成像原理,通常有这个几个值就可以构造一个4x4的矩阵,通过

2022-04-26 15:51:53 3966

原创 【c++常见错误01】error C2662: ‘const xxx‘: cannot convert ‘this‘ pointer from ‘xxx‘ to ‘xxx‘

原因造成这个错误的一般原因是常量对象尝试调用该对象里的非常量函数,例如class Bala里有一个普通的成员函数func(),在某处声明了Bala类常量对象bala,const Bala bala,这是通过bala调用func()肯定是不行的。class Bala{ void func() { // balabala... } void func_2() const { // balabala... }}int main(){ const Bala bala; ba

2022-04-21 15:43:47 8270

原创 git pull出现fatal: unable to access ‘https://github.com/xxx.git‘: Failed to connect to github.com port

问题执行git命令:git pull origin main;出现:fatal: unable to access ‘https://github.com/xxx.git’: Failed to connect to github.com port 443 after xxx ms: Timed out。解决方法手动配置Git代理:1.打开ShadowsocksR软件;2.右键ShadowsocksR图标,点击《选项设置》,查看本地端口,我的是1080;2.执行 git config --g

2022-04-21 09:31:04 4960

原创 glm::quat 四元数,坑了一下午

构造函数问题使用glm的四元数时,由于构造函数参数问题调试了一下午,一直以为是旋转矩阵出错了,没想到是这么一个不起眼的问题,期间也看了定义,但也只看了定义/(ㄒoㄒ)/~~。它的成员变量里顺序明明是x,y,z,w,结果到了构造函数里参数顺序就变成了(w,x,y,z)!!!使用不熟悉的接口时一定要看注释!看注释!看文档!看文档!看文档! template <typename T, precision P> struct tquat { enum ctor{null};

2022-04-13 14:31:21 2307 1

原创 设计模式-02:适配器模式理解

设计模式-02:适配器模式理解1.本质适配器模式本质上就是对现有类接口(Adaptee)的封装及扩展(Adapter),以适配新的需求(Target)。2.接口说明1.在目标类(Target)中定义新的接口;2.适配者类(Adaptee)的接口不需要做任何改变;3.适配器类(Adapter)调用适配者类的现有接口并扩展功能,以实现目标类中定义的新接口;4.考虑到软件设计中的合成复用原则,应尽量采用对象适配器,另外一种是类适配器,采用了继承的方式实现。3.使用场景1.几个功能不同的类需要兼容

2022-04-12 11:15:58 119

原创 设计模式-01:观察者模式理解

设计模式-01:观察者模式理解1.本质观察者模式本质上就是一个对象(Subject)通过容器(List、Array等)管理着几个依赖它的对象(Observer)。2.接口说明1.这几个Observer对象通常具有相同的接口或者继承于相同的父类,这些接口由Subject对象统一调用;2.其他常见的接口如订阅(Subscribe)、取消(Unsubscribe),本质上就是增加、移除Observer对象,在Subject或者Observer里实现都可以,要注意线程安全。3.使用场景1.最好在模块内

2022-04-08 12:48:52 104

原创 计算射线与椭球相交

椭球方程式:(x-x0)² / a²+ (y-y0)² / b²+ (z-z0)²/ c²= 1; ①射线起点:s,射线方向:d,射线上任一点位置:p = s + λ * d; ② 假设椭球圆心为(0,0,0),则椭球方程式为 x²/a² + y²/b² + z²/c² = 1; ③将②带入③可得:(sx+λ*dx)²/ a² + (sy+λ*dy)²/ b² + (sz+λ*dz)²/ c² = 1;...

2020-10-30 08:56:23 855

原创 no known conversion for argument 1 from 'class-name' to 'class-name&'

声明复制构造函数,参数需要const修饰,若没有const修饰在VS编译环境下可以通过,但是Linux下使用g++编译,则会报错。templateclass SmartPtr{public:TYPE* m_pData;public:SmartPtr(){m_pData = NULL;}SmartPtr(const SmartPtr &

2017-08-30 15:52:20 6677

原创 warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]

include using namespace std;void Test() { int n = 10; (void*)n; }int main() { Test(); return 0; }此时使用g++编译报错: root@ubuntu:/home/Test/Temp# g++ -o app temp.cpp temp.cpp: In fu

2017-08-23 16:11:02 3069

原创 error: jump to label ‘xxxxx’ [-fpermissive]

C++中使用goto语句可以跳到指定的函数末端,在使用g++编译时,要注意在goto语句出现之后是不允许出现新申明的变量,所以需要申明变量需要放在所有goto语句之前。(VisutalStudio编译无此问题)。#include void Test(int m){int i = m;if (i > 10) goto res;int j = i

2017-08-23 15:20:45 10832

VisualAssistX(VS2019)

0.关闭杀毒软件; 1.在VS扩展中卸载VisualAssist; 2.删除“C:\Users\用户名\AppData\Local\Microsoft\VisualStudio\vs版本号\Extensions”文件夹; 3.删除“C:\Users\用户名\AppData\Local\Microsoft\VisualStudio\vs版本号”文件夹; 4.删除注册表"HKEY_CURRENT_USER\SOFTWARE\Whole Tomato"; 5.Everything搜索VAssist或者VirtualAssist,删除相关目录; 6.右键"VA_X_Setup2366_0.exe"设置兼容性,并勾选兼容模式,双击运行"VA_X_Setup2366_0.exe"; 7.如果提示“An error was reported by Visual Studio VSIXInstaller...”,不要关闭窗口,打开Everything搜索VaXSetup.vsix,拷贝出来; 8.重复步骤1-5; 9.双击运行“VaXSetup.vsix”; 10.拷贝VA_X.dll和PiaoYun

2023-04-17

空空如也

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

TA关注的人

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