自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

揽月凡尘

程序原创世界

  • 博客(40)
  • 收藏
  • 关注

原创 基于UE官方像素实现的像素流部署程序

基于UE5官方像素流改造的部署程序,具备一键启动,动态进程等特性

2024-03-14 22:10:59 343 1

原创 C++中OpenMP的使用方法

OpenMP是一种用于共享内存并行系统的多线程程序设计方案

2024-03-06 21:39:29 1390

原创 自研在线CAD系统介绍

完全自研的在线CAD系统

2024-03-06 21:33:30 680

原创 关于在线CAD编辑的解决方案思考

对于MVT的矢量切片,JSMap的逻辑是在上层基本完全复刻CAD的基本对象,在对象中添加一个渲染方法,最终是将生成的SVG对象传入到Canvas中。梦想控件 在线CAD有两种方式,一种是比较古老的Com组件(不能跨平台、依赖IE)和最新使用threejs来实现的在线CAD的渲染,支持将CAD的渲染图层嵌入到mapbox-js的自定义图层中渲染(主要是接管WebGL的上下文),其渲染的样式由mxCAD基于threejs来来实现其渲染,其原理还是使用在前端来实现自定义渲染。本文简单的测试了一下。

2023-04-19 08:52:28 1726 2

原创 PixiJS 渲染优化

最近做在线CAD可视化与编辑,对前端的可视化渲染技术进行了选型,对于二维CAD来说一般用canvas就够了,但是canvas每一次平移,缩放,更新数据都需要重新计算渲染所有的图形数据,数据一多就显得非常卡。如果使用三维webgl,在没有任何第三方的开源封装技术下,通过webgl去实现二维也是会遇到很多问题。基于此,找到了PixiJS这个支持canvas和webgl渲染的引擎,关键是非常快(之前在github看到过一个在线的程序测试,有十几种渲染引擎的测试,我对比过确实是最强的,这个网站忘记在哪里了)

2023-04-16 17:14:13 2217 5

原创 腾讯云渲染实战

基于腾讯云的云渲染部署

2023-04-16 10:00:31 660

原创 PixiJS 文字模糊处理策略

WebGL中文字渲染解决策略,以PixiJS为例

2023-04-12 08:00:00 3052

原创 UE5 多实例像素流之动态调度及处理鼠标偏移

1. 解决多实例动态进程调度,节省资源2. 解决全屏状态下鼠标偏移问题

2023-02-12 10:27:10 2551 6

原创 UE5多人游戏

UE多人游戏项目中的解决方案

2023-02-05 21:56:54 1129

原创 UE多实例云渲染之Nginx代理

解决ue多实例的https的代理问题

2022-12-09 17:43:56 1357

原创 UE5之像素流云部署服务

云服务中部署UE5的像素流服务的全流程解决方案

2022-10-29 21:22:24 3465 6

原创 UE5 Linux下Docker部署

UE5的在liunx下的部署方案,从docker安装到UE部署整个流程

2022-10-23 16:37:45 3199 1

原创 LINUX之VLC4.0安装

linux 下编译vlc库问题总结

2022-10-16 21:27:18 2954

原创 UE5 多实例像素流自动化部署(非动态调度)

继《vue3集成ue5像素流自定义网页》之后的UE5多实例像素流自动化配置解决方案

2022-09-20 08:54:40 3655 1

原创 Blazor开发WEB程序

Blazor从0到1开发一个项目所遇到的问题汇总

2022-09-19 16:04:41 1692 1

原创 SkiaSharp C# 绘图研究

最近研究C#跨平台,对Skia的C#封装也做了一些研究,对其中遇到的一些重难点问题进行了总结

2022-09-04 17:23:48 7866 1

原创 渲染引擎对Web的支持方案

C++ webassembly 在项目中的实战总结

2022-08-30 09:10:46 615

原创 Qt程序中调用MFC动态库

Qt库调用MFC界面库一般都使用OCX的方式,本文直接基于句柄方式实现嵌入MFC界面

2022-07-04 11:58:46 3180 1

原创 SWIG基础知识

SWIG基础知识讲解

2022-06-27 19:48:43 608

原创 vue3集成ue5像素流自定义网页

Vue3.js 集成 UE5 虚幻引擎像素流

2022-06-27 08:57:12 8852 12

原创 SWIG高级应用之智能指针

SWIG 对于自定义智能指针的处理

2022-05-16 18:03:39 336

原创 C++之WebAssembly入门

cmake之webassembly入门例子

2022-05-14 16:47:10 1968

原创 SWIG高级应用之向下转换

swig多语言封装技术中对于类的向下转换并不支持,本文通过一些技术手段解决了swig封装中继承类的向下转换问题

2022-05-08 21:42:54 455

原创 SWIG 源码编译以及调试

SWIG直接通过Cmake的编译方法

2022-04-24 15:27:53 734

原创 windows下编写C++与C# 无崩溃程序

通过windows 异常处理技术解决C++ 、C#的内存异常等严重错误,防止软件无故崩溃

2022-04-11 08:49:14 641

原创 draw.io 二次开发调试

前端开源绘图框架drawio 环境搭建

2022-04-10 09:38:21 502

原创 崩溃系统检测利器

C++发布程序处理崩溃检测,解决各种无法重现缺陷的调试

2022-04-08 15:52:44 2003

原创 skia 之canvas

canvas是skia的核心部分,skia的逻都是围绕skcanvas对象来组织管理的,通过skcanvas可以指定不同的渲染上下文、draw call(绘制命令)、以及绘制状态管理(如绘图矩阵、操作栈等)skcanvas的状态skcanvas和 skpaint共同提供了sksurface和skbasedevice上绘制的状态,skcanvas保存了所有操作的堆栈,通过 save和restore这两个方法来管理skcanvas的操作状态信息。Backendskcanvas是可以指定在特定的像素上.

2022-03-26 08:41:59 2329

原创 skia库windows下编译动态库及webassembly编译

skia是一个开源的矢量渲染引擎,不仅用于Google Chrome浏览器,新兴的Android开放手机平台也采用skia作为绘图处理。编译skia需要一个稳定的上网环境(一定要有科学上网环境,不然没有办法拉取第三方库,网上也有说通过配置一些来获取第三方库的,但我都出现了各种问题,花了一天都没有解决,最后还是找到一个科学上网环境来解决的)1. 环境准备skia源码 https://github.com/google/skia.gitskia 官网 https://skia.org/python

2022-03-16 11:39:52 1818

原创 实现类CAD的交互式命令系统

看一段操作:上面这个动画是我自己花了一周实现CAD绘图系统,里面实现了类CAD的交互命令交互式命令操作流程通过在命令栏或者菜单触发命令来启动相关功能,在命令执行过程中,命令栏提示当前命令的输入状态,当用户根据命令提示中的输入信息完成相应的操作(如在地图中点击某个点或者输入某个字符串)之后继续命令的下一步操作,直到命令的结束。这种操作方式在设计类、地图类软件中经常用到,如AutoCAD,ARCGIS软件中,实现方式也有很多种。也各有优缺点,本文主要介绍类CAD系统中的交互命令实现。在AutoC

2022-01-04 16:35:19 1563

原创 单文件打包工具介绍

单文件打包的软件具有单文件、免安装、拷贝方便的特点,对于研发人员来说,也相对于对程序进行了一个简单的加密(防止别人看到软件使用了那些库,解决一些开源协议、闭源SDK的使用问题)单文件打包的两种方式使用类似于winrar的压缩为exe这种方式原理就是类似于winrar的自解压(即压缩包也可以像setup程序一样,双击后显示一个软件许可,然后自动解压在指定目录,最后自动运行软件,不明白的可以直接度娘"自解压"),实现了数据和程序的打包。非常的方便。但是使用winrar自带的功能还是比较麻烦的,这里介绍一

2022-01-03 13:11:14 1746

原创 cario windows 下编译

cario windows 下编译什么是Cairocairo是一个小型的2D图形库,支持Linux、Windows、macOS X等平台。封装了一部分在当前平台上的图形API,或是直接访问底层接口。他支持win32、x-window、svg、opengl等多种输出设备。cario的编译相对比较简单,但是在windows下遇到各种问题,就是没有很好的解决办法你需要准备什么MSYS2在windows下模拟liunx的环境的软件,MSYS 是用于辅助 Windows 版 MinGW 进行命令

2020-06-27 09:25:34 1428

原创 从0到1构建自己的插件系统--插件管理

从0到1构建自己的插件系统–插件管理之前的文章已经可以完整的写完一个插件,在本章节中我们解决插件的管理问题插件管理是可以让各个插件调用的桥梁,达到连通各个插件的目的,插件编写者无需考虑插件之间的依赖关系,所有的这一切都由插件管理类来解决。插件管理主要有两个部分组成,插件管理类和模块信息类。插件管理本身也可以认为是一个插件,这个插件是需要依赖lib的插件,在这个特殊插件中我们需要解决不同类型插件(如C++,JAVA,C#写的二次开发插件)插件加载插件接口类为了解决插件可以使用不同的语言实现

2020-06-26 17:33:06 924

原创 C#的WinForm中嵌入Qt界面库

C#的WinForm中嵌入Qt界面库为何会有如此奇葩需求一处代码,多处运行C#有两种写界面的框架,winFrom和WPF,这二者写的界面可以相互调用,但C#编写的界面组件在非托管C++虽然理论上可以,但是这种类似反射的机制使用其他来说特别不舒服。而对于编写组件式SDK而言,核心的界面组件可以在C++、C#、JAVA中使用而无需修改太多的代码是我们的终级目标。ocx 编写难度太大使用MFC编写的OCX控件可以嵌套在各种高级语言甚至浏览器中,但对于新时代的开发人员而言,会MFC开发的越

2020-06-20 07:58:46 8113 13

原创 从0到1构建自己的插件系统--类注册

从0到1构建自己的插件系统–类注册ps:纠正前面一个错误,之前的函数获取类的接口列表返回了数组,这是没有这个用法。可以使用std::vector代替,或者返回数组指针。插件的核心在之前的一篇文章中,我么了解到了建立插件的优势以及如何去建立一个插件类,但最终的目的还是为了能够在在插件dll中找到这个类并且创建它,这就是我们写插件的目的,这也是我们写插件的核心。类注册就是为了实现类的对象的创建工作,类注册的方式最核心的其实就是写回调函数(可以是全局函数或者是类的静态函数),这种方式可以理解为抽象工厂模式

2020-06-16 08:13:42 233

原创 从0到1构建自己的插件系统--接口定义与类对象的实现逻辑

从0到1构建自己的插件系统–接口定义与类对象的实现逻辑上篇文章我们简述了自主插件的特点以及基本的流程,本文着重讲插件化框架的基本实现策略看看插件的类对象如何使用没有使用过COM 组件开发的研发人员,可能对于组件的强大是没办法理解的。那么我们先来看看一个简单的例子Object<ISample> sample_class(CLSID_SAMPLE);sample_class->add(2,4);非常简单的一段代码,初步看起来没有什么特点,看起来像是一个智能指针类的创建方式,那么

2020-06-15 08:32:18 446

原创 从0到1构建自己的插件系统--序篇

从0到1构建自己的插件系统--序篇从今天起、我们谈谈如何构建自己简单易用的插件系统,让我们的系统瞬间变的高大上,让自己的架构能力上一个档次。不纳入插件系统,有什么危害需求的不断变化,导致系统越来越臃肿,扩展不方便一旦对软件产品进行功能更新,会导致一系列的变化,导致研发成本特别高,需要对整个系统进行测试常用插件系统与自制系统对比Qt是一个跨平台的C++的图形界面库,整个生态很完整,类似于Boost,提供了几十个模块(基础STL库、绘制、3D、网路、多媒体、协程、多进程、NFC、数据库、.

2020-06-11 09:28:41 750

原创 gdal linux环境下的android 全编译

相关参考Asen_十足坏蛋的GDAL for Android 从编译到读写shp预先说明gdal 版本为2.3.1 编译的so版本为arm-v7a操作系统为在Virtual Box 6.0上安装的ubuntu-16.04.1-desktop-amd64.iso 版本本次编译中依赖的第三方库编译包括proj、geos、expat、kml、json-c、sqlite准备工作Vi...

2019-04-08 10:33:03 839 3

原创 ANDROID 与C++ 联合调试踩坑指南

使用C ++与Android的联合开发背景本人在一家做GIS软件公司担任研发经理的职务。主要工作是做测绘软件产品的研发。目前公司需要自主研发一套测绘行业软件,要求做一套类CAD的平台,对采集的地理信息数据(MDB,SHP,DWG)进行存储(要求支持的矢量数据支持在GB以上,并能够快速的查询搜索定位数据),之后将矢量数据展现在地图视口中,对海量数据进行快速的展示与渲染,同时支持矢量数据的符号...

2018-08-06 15:18:13 304

原创 SWIG与JAVA的交互指南一

项目背景最近开始研究做移动端项目,但是本人基本是做了五六年的c++的底层研发,对C++的研发可以说是驾轻就熟了,但是对于android还是属于刚入门阶段,虽然断断续续做移动端也做了一年,但是没有一个系统的去研究过android,怎么才能结合两者的优势呢。我决定用C++写底层。 * ANDROID是运行JAVA虚拟机层,编译的是字节码,效率不会太高,特别是密集型CPU计算。 * 希望用更快速...

2018-06-16 15:07:08 1736 2

基于UE官方像素流改造的UE部署程序

- 单程序,支持windows和linux,无任何其他第三方依赖,双击即可运行完成像素流部署,解决官方部署依赖Node问题,结束程序时自动关闭关联的UE程序。 - 最大进程限制,可根据配置预启动进程或者前端用户接入时动态启动进程。 - 解决官方像素流易出现鼠标偏移问题 - 使用nginx解决负载均衡问题,提供nginx.conf模板文件。 - 支持`MatchMarker`、信令服务、UE程序分在不同的服务器调度. - 前端文件与官方文件基本保持一致,降低学习成本。 - 支持stun公网穿透,在公网间互连

2024-03-14

webgpu C++ 学习示例程序

1. 里面包含了对应的第三方库,直接使用cmake就可编译执行 2. webgpu库是编译的共享库,使用的vs2022编译的,如果对于不方便编译的可以使用这个库,这个库的采用的是2024年2月28日最新的源码编译。 3. 示例里面实现了简单的索引绘制,mvp矩阵变换以及绘制二维图的多边形三角化

2024-03-06

空空如也

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

TA关注的人

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