自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (7)
  • 收藏
  • 关注

原创 C++面试八股文

C++面试

2022-10-15 00:55:12 2989 2

原创 Git项目自动更新Git版本信息

我们的目标是,从git仓库pull之后,在生成项目时可以自动更新git版本信息。但是目前存在尚未解决的问题,在push项目之后仓库中保存的git版本信息仍然是上一个版本。该问题留作后续研究,问题流程如下图所示:注意:下面所有文件都必须放在项目目录下,而不能放在解决方案目录下,否则执行sh文件时无法找到version文件(对sh文件不太了解,不知道为什么)一、version.h文件定义保存了版本信息的头文件,保存了(1)git版本号(2)最近一次提交时间(3)最近一次编译时间(即当前时间),此

2022-01-06 20:07:29 1493

原创 OCC通过点反求参数

通过GeomLib_Tool中的接口完成功能接口使用: //根据点反求参数 //以求平面上的点对应的参数为例 Handle(Geom_Plane) pln = new Geom_Plane(gp_Pnt(0, 0, 0), gp_Dir(0, 0, 1)); gp_Pnt p(1, 2, 0); float maxDistance = Precision::Confusion(); Standard_Real u = 0; Standard_Real v = 0; Geom

2022-01-06 19:44:08 756

原创 OCC几何求交

OCC求交工具:(1)二维曲线求交:Geom2dAPI_InterCurveCurve(2)三维曲线与曲面求交:GeomAPI_IntCS(3)三维曲面与曲面求交:GeomAPI_IntSS(4)三维曲线求交:(这里有点不太懂)通过GeomAPI_ExtremaCurveCurve用于两条曲线求机制,可用于三维曲线的求交接口使用://求交//以二维曲线求交为例Handle(Geom2d_Line) l1 = new Geom2d_Line(gp_Pnt2d(0, 0), g

2022-01-06 19:42:40 2322 1

原创 OCC7.6.0编译教程

1.下载OCC7.6.0:Download - Open CASCADE Technology下载之后,按照默认步骤进行安装即可。2.通过CMake进行编译,点击Configure。选择VS2017,x64.3.Configure报错...这是因为找不到第三方库目录。设置3RDPARTY_DIR,选择第一步安装的目录,勾选BUILD_INSPECTOR,然后重新点击Configure,点击Generate。4.使用VS2017打开编译好的项目,点击重新生成解决方案即.

2021-12-24 16:21:36 1417 1

原创 集成Opencascade+Gmsh+OSG的CAD测试程序

程序整体流程如下图:一、配置 1.配置OCC 需要先编译好OCC库,我的编译目录为“OCCBuild”目录。在自建项目中,项目属性》》VC++目录》》添加包含目录“OCCBuild\inc”,添加库目录“OCCBuild\win64\vc14\libd”。链接器》》输入》》添加如下附加依赖项:TKBin.libTKBinL.libTKBinTObj.libTKBinXCAF.libTKBO.libTKBool.libTKBRep...

2021-12-24 15:20:44 2665 1

原创 编译Gmsh,生成dll和lib文件,在自建程序中使用Gmsh函数

本文参考了CAD大神潇湘散人的Gmsh编译博客:使用VS2015编译gmsh4.8 with opencascade7.4,并用gmsh.lib创建简单工程测试网格_XXM的博客-CSDN博客在编译过程中遇到了一些其他问题,并最终解决,成功编译。1.下载Gmsh4.8.0:Index of /src2.打开CMake,选择下载并解压的源码文件夹,要保存编译文件的文件夹。点击Configure,选择VS2015和x64平台。3. 等待Configure完成,选择所需的功能(以EN.

2021-12-22 14:42:55 4201 25

原创 同一解决方案下使用其他项目的函数,出现无法解析的外部函数错误

1.为项目添加“引用”:项目》》添加》》引用》》函数所在项目2.设置函数所在项目类型:项目》》属性》》配置属性》》常规》》配置类型》》静态库lib

2021-12-20 15:10:27 219

原创 PCF文件管道信息解析

PCF全称Piping Component File,意为管道组件文件。下面介绍要用到的管道关键点信息:1.一段直线管道ISOGEN-FILES ISOCONFIG.FLSUNITS-BORE INCHUNITS-CO-ORDS INCHUNITS-WEIGHT LBSUNITS-BOLT-DIA INCHUNITS-BOLT-LENGTH INCHPIPELINE-REFERENCE 1001 DATE-DMY 09/29/21 ATTRIBUT...

2021-09-29 16:14:39 3226

原创 使用AutoCAD创建管道并导出PCF文件

首先编辑管道信息:(1)管道编号(2)管道半径(3)管道类型。此处注意,一定要为管道设定编号,不然无法导出。点击Route Pipe创建管道切换到Isos菜单,点击PCF Export导出PCF文件勾选要导出的管道信息,设置要导出的目录用txt打开导出的pcf文件,可以看到管道信息...

2021-09-29 15:48:55 1369 1

原创 如何让编译器识别OSG源码(OSG头文件)

在我们编译好OSG之后,由于所有的头文件都是无扩展名的,导致我们不能正常阅读源码,不能在源码中正常跳转。解决方法如下:1.打开OSG项目2. 转到工具-选项。3. 打开文本编辑器部分,然后单击文件扩展名。4. 在窗口底部,勾上 Map Extensionless Files To(将无扩展名文件映射到) 选框,然后在右侧的列表中选择 Microsoft Visual C++。之后头文件就可以正常识别了参照:http://www.openscenegraph.org/inde.

2021-08-24 14:58:49 492

原创 Doxygen错误error:failed to run html help compiler on index.hhp

解决方案:不用鸟它。之所以没有生成正确的chm文件是因为没有勾选Input——Recursive,勾上就可以递归遍历所有文件夹,然后生成文档了

2021-05-28 17:36:51 1593

原创 DX例子运行时,出现错误‘main‘: entrypoint not found

在没有添加hlsl文件的时候是可以正常运行的,一旦添加之后,就会出现'main': entrypoint not found错误,经过查阅之后,发现需要修改配置属性:右键hlsl文件,“属性->配置属性->常规->项类型”,将“HLSL编译器”改为“不参与生成”,就可以正常运行了...

2021-04-26 14:22:03 1412 1

转载 解决This application failed to start because no Qt platform plugin could be initialized问题

原文:https://www.cnblogs.com/kuangke/p/10862103.htmlQT为了简化生成发布版本,特别提供了工具 "windeplayqt.exe",这个工具在 "...\Qt5.8.0\5.8\msvc2015_64\bin"的目录下,通过该命令,可以解决上述错误。打开控制台窗口 设置搜索路径以便系统可以搜索到 "windeployqt.exe" 运行 "windeplayqt.exe D:\work\project\sample\bin\Release\sampl

2021-03-13 15:36:19 1189

原创 OPENCASCADE编译运行过程中遇到了一些问题

官方编译安装教程:https://dev.opencascade.org/doc/overview/html/build_upgrade__building_occt.html不过建议看其他博客,官方的比较复古。编译过程中没啥问题,就按照流程设置第三方链接库,然后把Build_Sample勾上,然后把Build_Inspector勾上。第一次成功编译后:编译后运行时有以下错误:(1)模块机器x64与目标模块机器x86冲突(2)无法解析外部符号_FT_NEW_xxx于是我去看项目属性,

2021-01-08 17:46:38 958

原创 毕设项目(四)残影效果的实现

一、原理我在项目中实现残影效果比较暴力,就是在对应的地点创建一个GameObject,这个GameObject有着与玩家相同的Mesh,再创建时再加上一个残影消失的控制脚本即可。二、残影的创建1.残影GameObject的创建创建一个新的GameObject,为它添加MeshFilter与MeshRenderer,需要将一个与玩家相同的mesh赋值给MeshFilter的mesh,将与玩家相同的Material赋值给MeshRenderer的material。(1)设置一个循环,遍.

2020-05-18 12:09:31 352

原创 毕设项目(三)玩家BUFF管理

一、BUFF结构体将BUFF设置成一个结构体(或者设置成一个单独的类),BUFF结构体中包含以下内容:(1)BUFF类型:int:本游戏中共设置了4种BUFF,1-移速,2-攻速,3-防御,4-攻击。(2)BUFF剩余时间:float:用于BUFF计时(3)BUFF值:float:BUFF加强的值,不同类型对该值的应用方法不同,比如:移速类型BUFF为:speed = speed * BUFFValue(4)各类接口,用于修改获取属性,计时。 struct Buff {

2020-05-18 11:38:50 679

原创 毕设项目(二)摄像机平滑跟随,Lerp函数

在过去开发的项目中,大多数游戏都直接在Update中更新摄像机位置,并没有一个平滑的效果,在毕设项目中使用插值函数(Lerp函数)来实现摄像机的平滑移动。一、Lerp函数解析Vector3 Lerp(Vector3 from, Vector3 to, float t)这个函数表示,在两个位置from与to之间进行插值,插值位置为t,比如:t=0.5,那么返回值就是在from与to之间的中点位置;t=0.1,那么返回值就是靠近from端的一个点,from到这个点的长度为线段的1/10。二.

2020-05-18 11:13:52 489

原创 数据库中的嵌套Not Exists语句

最近在准备复试,看到一道sql查询题,涉及到两层not exists,不是很理解,查看了一个dalao的解析之后,才明白了啥意思。查询选修了所有课程的学生 的姓名Select SnameFrom SWhere not exists( Select * from C Where not exists( Select * F...

2020-03-04 12:15:32 1193

原创 毕设项目(一)人物角色移动与转向

毕业设计人物如下(资源来自游戏《玄乌》):

2020-02-27 23:07:31 877

原创 山东大学2019上半学期增强现实课程重点整理

一.概述1.增强现实的定义:增强现实是由计算机生成的虚拟信息与现实物体共存的环境,并且虚拟信息能够产生与现实物体相同的感知体验。2.增强现实三要素:虚拟信息与现实物体共存,虚拟信息与现实物体的三维注册,虚拟信息的实时交互性。3.增强现实中相关空间及坐标系:世界坐标系,虚拟坐标系,相机坐标系,图像坐标系4.三维刚体变换矩阵:5. P = K [R t]的推导(空间三维点与图象点的...

2019-06-05 01:08:35 2788 3

原创 Unity_Shader学习(六)基础透明Shader

今天学习了简单的透明Shader的实现,真的是比想象中简单很多,但是有很多需要注意的点,特别是渲染顺序! 1. 渲染顺序首先我们要知道,对于透明物体,他只开启了深度测试而没有开启深度写入我们来考虑这样一种情况,物体A是透明的,物体B是不透明的。物体A在物体B前面,刚好遮住了B。(1)如果我们先渲染物体B,B将会写入颜色缓冲与深度缓冲中。然后渲染物体A,我们发现物体A是透明物体,...

2019-01-28 15:11:49 489

原创 Unity_Shader学习(五)基础纹理Shader

在之前的学习中,我们学会了怎么样来实现基础光照Shader,但是在我们的应用中,很少只使用一个颜色,我们更多的使用纹理,使材质表现的信息更加的丰富。所以我们这一节来看一下使用贴图的基础纹理Shader是怎么实现的。 1.使用Blinn-Phong光照模型的单张纹理Shader:Shader "Custom/SingleTexture" { Properties { _Color...

2019-01-26 19:53:07 344

原创 Unity_Shader学习(四)基础光照Shader

一.基本概念首先,对于基础光照Shader我们需要先学习光照相关的知识。我们使用辐照度来量化光,假设顶点法线为normal,入射光线向量为light,二者夹角为a,辐照量与cos(a)的值成正比。着色指的就是根据材质属性,光照信息等根据一个公式计算辐照度的过程。我们把计算辐照度的这个公式称作光照模型。在我们的光照模型中,需要考虑如下四种光类型:自发光:一个物体本身发光的辐射...

2019-01-21 22:26:48 425

原创 Unity_Shader学习(三)我的第一个Shader

根据我们上一次学习的Shader的结构,我们来编写我们的第一个Shader:Shader "Custom/TestShader" { Properties{ } SubShader{ Pass{ CGPROGRAM #pragma vertex vert #pragma fragment frag float4 vert(float4 v:POSI...

2019-01-20 11:40:41 176

转载 Unity SurfaceShader结构的重点

原文:https://onevcat.com/2013/07/shader-tutorial-1/ SurfaceShader的结构:(1)Properties (2)SubShader (3)Fallback  1.Properties:在属性的声明中,有如下几种类型:    (1)Color,由RGBA四个量来定义 (2)2D,一张2的阶数大小的贴图,这张贴图将在采样后...

2019-01-19 17:21:30 142

原创 Unity_Shader学习(二)Shader结构与分类

Shader的结构一个UnityShader的结构如下所示:Shader "ShaderName"{ Properties{ _value("valueName",valueType) = DefaultValue } SubShader{ //SubShader1 } SubShader{ //...

2019-01-19 17:19:24 310

原创 Unity_Shader学习(一) 基础篇

本系列学习是以冯乐乐学姐编写的《UnityShader入门精要》为基础资料来学习的。据隔壁学霸介绍,此书有很多实用Shader而且讲解细致,所以在这里也向大家推荐一下。 计算机图像是通过渲染流水线的方式进行渲染的:分为应用阶段,几何阶段,光栅化阶段。(每个阶段本身通常也是一个子流水线) 应用阶段:由CPU负责实现,分三步:(1)把数据加载到显存当中。这一步是因为显卡访问...

2019-01-18 21:14:13 181

原创 Unity实现第三人称视角

最近耍了一波巫师3,突然想到能不能做个简单的第三人称视角的摄像机控制。不过这个摄像机控制目前还没有被卡视角的功能(就是那种根据地形调整摄像机距离)准备在后面几天实现卡视角功能。不过先来做个简单的第三人称视角控制吧。开冲!在场景中用Cube搭个简易的小人(插个标志标明小人的前方向),以一个Plane为地面,用一个Cube与一个Sphere作为标识,容易辨别视角移动。新建一个C#脚本C...

2019-01-13 22:46:12 7420 2

Git项目自动更新版本信息

Git项目自动更新版本信息

2022-01-06

集成OCC+Gmsh+OSG的CAD测试程序

集成OCC、Gmsh和OSG的测试程序,包含解析Gmsh中Mesh数据并传输给OSG的部分。赚个辛苦费嘿嘿,不想花钱的友友也可以私信我,我看到消息之后可以免费提供代码。

2021-12-24

OCAF过程.docx

整理了OCAF中CreateBox和Undo(CreateBox)的过程,每一个缩进表示调用了下一层的函数

2021-03-19

OCC控制台程序.docx

OCC创建一个控制台程序

2021-03-13

用OCC结合QT创建并显示一个几何.docx

OCC结合Qt创建并显示一个几何体

2021-03-13

RayTracing.zip

Ray Tracing in a Weekend,Ray Tracing_ The Next Week,Ray Tracing_ the Rest of Your Life

2020-09-10

Unity第三人称视角

Unity3D第三人称视角,和博客是同步的,有需要请下载。

2019-01-13

空空如也

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

TA关注的人

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