- 博客(29)
- 资源 (7)
- 收藏
- 关注
原创 Git项目自动更新Git版本信息
我们的目标是,从git仓库pull之后,在生成项目时可以自动更新git版本信息。但是目前存在尚未解决的问题,在push项目之后仓库中保存的git版本信息仍然是上一个版本。该问题留作后续研究,问题流程如下图所示:注意:下面所有文件都必须放在项目目录下,而不能放在解决方案目录下,否则执行sh文件时无法找到version文件(对sh文件不太了解,不知道为什么)一、version.h文件定义保存了版本信息的头文件,保存了(1)git版本号(2)最近一次提交时间(3)最近一次编译时间(即当前时间),此
2022-01-06 20:07:29
1766
原创 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
1044
原创 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
2835
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
1564
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
3102
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
4866
25
原创 同一解决方案下使用其他项目的函数,出现无法解析的外部函数错误
1.为项目添加“引用”:项目》》添加》》引用》》函数所在项目2.设置函数所在项目类型:项目》》属性》》配置属性》》常规》》配置类型》》静态库lib
2021-12-20 15:10:27
258
原创 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
4232
原创 使用AutoCAD创建管道并导出PCF文件
首先编辑管道信息:(1)管道编号(2)管道半径(3)管道类型。此处注意,一定要为管道设定编号,不然无法导出。点击Route Pipe创建管道切换到Isos菜单,点击PCF Export导出PCF文件勾选要导出的管道信息,设置要导出的目录用txt打开导出的pcf文件,可以看到管道信息...
2021-09-29 15:48:55
1800
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
594
原创 Doxygen错误error:failed to run html help compiler on index.hhp
解决方案:不用鸟它。之所以没有生成正确的chm文件是因为没有勾选Input——Recursive,勾上就可以递归遍历所有文件夹,然后生成文档了
2021-05-28 17:36:51
1903
原创 DX例子运行时,出现错误‘main‘: entrypoint not found
在没有添加hlsl文件的时候是可以正常运行的,一旦添加之后,就会出现'main': entrypoint not found错误,经过查阅之后,发现需要修改配置属性:右键hlsl文件,“属性->配置属性->常规->项类型”,将“HLSL编译器”改为“不参与生成”,就可以正常运行了...
2021-04-26 14:22:03
1586
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
1252
原创 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
1086
原创 毕设项目(四)残影效果的实现
一、原理我在项目中实现残影效果比较暴力,就是在对应的地点创建一个GameObject,这个GameObject有着与玩家相同的Mesh,再创建时再加上一个残影消失的控制脚本即可。二、残影的创建1.残影GameObject的创建创建一个新的GameObject,为它添加MeshFilter与MeshRenderer,需要将一个与玩家相同的mesh赋值给MeshFilter的mesh,将与玩家相同的Material赋值给MeshRenderer的material。(1)设置一个循环,遍.
2020-05-18 12:09:31
453
原创 毕设项目(三)玩家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
769
原创 毕设项目(二)摄像机平滑跟随,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
587
原创 数据库中的嵌套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
1362
原创 山东大学2019上半学期增强现实课程重点整理
一.概述1.增强现实的定义:增强现实是由计算机生成的虚拟信息与现实物体共存的环境,并且虚拟信息能够产生与现实物体相同的感知体验。2.增强现实三要素:虚拟信息与现实物体共存,虚拟信息与现实物体的三维注册,虚拟信息的实时交互性。3.增强现实中相关空间及坐标系:世界坐标系,虚拟坐标系,相机坐标系,图像坐标系4.三维刚体变换矩阵:5. P = K [R t]的推导(空间三维点与图象点的...
2019-06-05 01:08:35
2950
3
原创 Unity_Shader学习(六)基础透明Shader
今天学习了简单的透明Shader的实现,真的是比想象中简单很多,但是有很多需要注意的点,特别是渲染顺序! 1. 渲染顺序首先我们要知道,对于透明物体,他只开启了深度测试而没有开启深度写入我们来考虑这样一种情况,物体A是透明的,物体B是不透明的。物体A在物体B前面,刚好遮住了B。(1)如果我们先渲染物体B,B将会写入颜色缓冲与深度缓冲中。然后渲染物体A,我们发现物体A是透明物体,...
2019-01-28 15:11:49
523
原创 Unity_Shader学习(五)基础纹理Shader
在之前的学习中,我们学会了怎么样来实现基础光照Shader,但是在我们的应用中,很少只使用一个颜色,我们更多的使用纹理,使材质表现的信息更加的丰富。所以我们这一节来看一下使用贴图的基础纹理Shader是怎么实现的。 1.使用Blinn-Phong光照模型的单张纹理Shader:Shader "Custom/SingleTexture" { Properties { _Color...
2019-01-26 19:53:07
393
原创 Unity_Shader学习(四)基础光照Shader
一.基本概念首先,对于基础光照Shader我们需要先学习光照相关的知识。我们使用辐照度来量化光,假设顶点法线为normal,入射光线向量为light,二者夹角为a,辐照量与cos(a)的值成正比。着色指的就是根据材质属性,光照信息等根据一个公式计算辐照度的过程。我们把计算辐照度的这个公式称作光照模型。在我们的光照模型中,需要考虑如下四种光类型:自发光:一个物体本身发光的辐射...
2019-01-21 22:26:48
497
原创 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
207
转载 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
171
原创 Unity_Shader学习(二)Shader结构与分类
Shader的结构一个UnityShader的结构如下所示:Shader "ShaderName"{ Properties{ _value("valueName",valueType) = DefaultValue } SubShader{ //SubShader1 } SubShader{ //...
2019-01-19 17:19:24
343
原创 Unity_Shader学习(一) 基础篇
本系列学习是以冯乐乐学姐编写的《UnityShader入门精要》为基础资料来学习的。据隔壁学霸介绍,此书有很多实用Shader而且讲解细致,所以在这里也向大家推荐一下。 计算机图像是通过渲染流水线的方式进行渲染的:分为应用阶段,几何阶段,光栅化阶段。(每个阶段本身通常也是一个子流水线) 应用阶段:由CPU负责实现,分三步:(1)把数据加载到显存当中。这一步是因为显卡访问...
2019-01-18 21:14:13
222
原创 Unity实现第三人称视角
最近耍了一波巫师3,突然想到能不能做个简单的第三人称视角的摄像机控制。不过这个摄像机控制目前还没有被卡视角的功能(就是那种根据地形调整摄像机距离)准备在后面几天实现卡视角功能。不过先来做个简单的第三人称视角控制吧。开冲!在场景中用Cube搭个简易的小人(插个标志标明小人的前方向),以一个Plane为地面,用一个Cube与一个Sphere作为标识,容易辨别视角移动。新建一个C#脚本C...
2019-01-13 22:46:12
7538
2
集成OCC+Gmsh+OSG的CAD测试程序
2021-12-24
RayTracing.zip
2020-09-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人