- 博客(295)
- 资源 (12)
- 收藏
- 关注
原创 《实时渲染》第2章-图形渲染管线-2.6管线综述
概述了实时渲染中图形渲染管线的四个主要阶段(应用程序、几何、光栅化和像素处理),并以交互式CAD应用中的华夫饼机模型为例说明其工作流程,同时对比了固定功能管线与现代可编程GPU的发展。
2026-01-17 22:51:40
521
原创 C++ 封装 C FFI 接口最佳实践:以 Hugging Face Tokenizer 为例
详细介绍了如何通过 Rust 的 C FFI 封装 Hugging Face tokenizers,并在 C++ 中利用 RAII 和智能指针实现安全、简洁、高效的资源管理,最终遵循现代 C++ 的“零法则”完成工业级封装。
2026-01-17 22:37:58
860
原创 《实时渲染》第2章-图形渲染管线-2.5像素处理
像素处理阶段包括可编程的像素着色(如纹理贴图)和不可编程但可配置的合并操作(如深度测试、混合与双缓冲),用于确定最终显示在屏幕上的颜色。
2026-01-16 23:18:38
617
原创 从DEM到三维地形:用PLY、OBJ、glTF构建GIS可视化模型
通过从DEM生成PLY白模、OBJ纹理模型到glTF标准资产的完整代码示例,系统揭示了三维GIS模型构建的核心原理与技术演进。
2026-01-16 21:14:20
1021
原创 《实时渲染》第2章-图形渲染管线-2.4光栅化
光栅化是将投影后的三角形图元转换为屏幕像素的过程,包含三角形设置和三角形遍历两个子阶段,用于确定像素覆盖并生成带插值属性的片元。
2026-01-14 20:24:37
345
原创 从DEM到等高线:手撕矢量与栅格两种地形表达
深入解析等高线地形图的矢量与栅格两种生成原理,并通过 C++ 代码从零实现 DEM 到等高线的完整流程,揭示 GIS 地形表达的核心逻辑。
2026-01-14 13:00:53
1106
原创 《实时渲染》第2章-图形渲染管线-2.3几何处理
几何处理阶段在GPU上完成顶点着色、投影、裁剪和屏幕映射,将模型从局部空间逐步转换至窗口坐标,为后续光栅化做准备。
2026-01-13 19:46:32
614
原创 不只是图片:深入理解 GIS 栅格数据本质与 GDAL 读写实战
深入剖析 GIS 栅格数据的本质——它不只是普通图片,还能表示高程、降雨、土地类型等空间信息,并通过 GDAL 演示了 GeoTIFF 的读取与创建实战。
2026-01-13 19:34:45
697
原创 《实时渲染》第2章-图形渲染管线-2.2应用程序阶段
应用程序阶段由CPU主导,负责处理输入、碰撞检测、剔除等任务,并将渲染图元传递给后续图形管线阶段,部分工作也可通过GPU计算着色器加速。
2026-01-10 14:07:12
181
原创 从Shapefile到GeoJSON:用GDAL实现GIS矢量数据读写与空间分析
通过 GDAL/OGR 实现了 GIS 矢量数据的完整处理流程——从 Shapefile 读取、WGS84 到 Web 墨卡托坐标转换,到 GeoJSON 写入,并演示了点与多边形拓扑关系(如 Contains)的判断方法。
2026-01-10 10:03:10
1146
原创 《实时渲染》第2章-图形渲染管线-2.1架构
介绍了实时渲染的核心——图形渲染管线,它由应用程序、几何处理、光栅化和像素处理四个阶段组成,各阶段协同工作将三维场景转化为二维图像。
2026-01-09 21:00:20
720
原创 GIS开发必知:WKT 与 EPSG 如何表达空间参考坐标系?附 GDAL 实现
深入解析 GIS 中空间参考坐标系的标准化表达方式——WKT 与 EPSG 编码,并通过 GDAL 代码实战演示如何创建与输出地理坐标系和高斯-克吕格投影坐标系。
2026-01-09 09:19:41
999
原创 GIS中的“高度”到底指什么?一文厘清正高、正常高与大地高的区别
深入解析 GIS 中高程参考系统的核心概念——大地水准面、似大地水准面与参考椭球面的关系,厘清正高、正常高与大地高的区别及转换方法,并介绍我国高程基准与全球重力模型。
2026-01-08 22:02:19
1111
原创 CMake构建学习笔记32-CMake版本切换
通过 update-alternatives 管理多个 CMake 版本可解决兼容性问题,但需注意清除 Shell 命令哈希缓存以确保切换生效。
2025-12-27 22:51:24
660
原创 Git使用经验总结9-Git提交关联到Issue
GitHub/GitLab 等平台通过提交信息中的关键词自动关联或关闭 Issue,而 Git 钩子则用于在代码提交等操作时触发自定义自动化任务。
2025-12-27 22:48:36
478
原创 Ubuntu下编辑文本文件的方法
在 Ubuntu 系统中,从 MobaXterm 的图形化编辑到终端 Vim 操作,提供了多种灵活且适应不同权限与环境的文本文件编辑方法。
2025-12-26 22:11:47
1067
原创 从后端获取数据传输到前端进行显示(cpp-httplib+Vditor+Handlebars)
通过 cpp-httplib 后端提供 Markdown 文章的 JSON API,前端使用 Vite + Handlebars + Vditor 实现动态渲染与目录交互,完成了一个简单的前后端分离博客展示系统。
2025-12-26 22:06:38
322
原创 使用cpp-httplib发布静态文件服务
cpp-httplib 的静态文件服务依赖内置 MIME 映射,对 .md 等未识别类型会触发下载,而手动设置 Content-Type: text/markdown 可使其在浏览器中直接显示。
2025-12-25 19:57:16
839
原创 C++中JSON序列化和反序列化的实现
介绍了 C++ 中使用 nlohmann/json 库实现 JSON 序列化与反序列化的完整方案,包括基础用法、嵌套对象支持、向后兼容处理及可选字段的健壮设计。
2025-12-25 19:48:42
1302
原创 一种基于 SQLite3 的半自动 C++ ORM 实现
提出一种轻量级、半自动的 C++ ORM 风格封装,通过枚举字段名、std::variant 字段值与模板生成 SQL,在缺乏反射的 C++ 中实现类型安全、可维护的 SQLite CRUD 操作,并结合构建时代码生成确保数据库结构与代码同步。
2025-12-24 22:06:14
1384
原创 CMake构建学习笔记31-构建前执行可执行程序
通过一个 数据库结构生成器 的示例,说明了如何在 CMake 构建过程前按需自动生成 C++ 代码。
2025-12-24 22:03:31
219
原创 使用cpp-httplib发布HTTP服务
介绍了如何使用轻量级 C++ 库 cpp-httplib 快速构建支持文本、HTML 页面和 JSON 数据交互的 HTTP 服务器。
2025-12-20 23:46:35
334
1
原创 Ubuntu 下配置 SFTP 服务并实现安全数据共享
通过配置 Ubuntu 的 SFTP 服务并使用 bind mount 共享指定目录,可在 Windows 上借助 FreeFileSync 实现安全、高效的镜像同步。
2025-12-19 22:31:00
654
原创 Github项目CI&CD部署
从零搭建基于 GitHub Actions 的轻量级 CI/CD 流程,实现产品项目的灵活部署,并展望了向专业交付体系演进的方向。
2025-12-19 22:26:38
770
1
原创 为什么协程能让程序不再卡顿?——从同步、异步到 C++ 实战
结合 C++17 与 Boost.Coroutine2,详解协程在 Qt GUI 中缓解卡顿的原理与实现,并探讨其与多线程在 I/O 密集场景下的协同。
2025-12-18 21:56:54
1434
原创 最小二乘问题详解9:使用Ceres求解非线性最小二乘
通过对比手写 Levenberg-Marquardt 算法与使用 Ceres Solver 实现同一非线性最小二乘问题,深入解析了 Ceres 的核心机制、自动微分原理、优化配置及工程优势。
2025-12-18 21:25:42
991
原创 通过SSH反向隧道让远程服务器走本地代理
通过建立 SSH 反向隧道,使无法直连外网的远程 Linux 服务器能借助本地 Windows 电脑的代理网络执行 git pull 等操作。
2025-11-23 20:56:46
393
原创 Git使用经验总结8-Git仓库历史记录清除
介绍了一种通过彻底清除Git历史并重新初始化仓库的方式来移除敏感信息、减小仓库体积的方法,并提供了逐文件提交的PowerShell脚本以应对大文件或网络不稳定的情况。
2025-11-23 20:55:08
401
原创 CMake构建学习笔记30-Ceres Solver库的构建
介绍了使用自动化构建工具 BuildCppDependency 在 Windows 和 Linux 平台编译 Ceres Solver 的方法,详细说明了其依赖库及关键 CMake 构建参数,最终以静态库形式成功构建。
2025-11-22 12:58:32
736
原创 CMake构建学习笔记29-SuiteSparse库的构建
介绍了稀疏矩阵求解库 SuiteSparse 的构建方法,基于已构建的 OpenBLAS、gmp 和 mpfr 依赖,使用自动化工具 BuildCppDependency 在 Windows 和 Linux 平台完成编译,并详细说明了关键 CMake 构建参数的作用。
2025-11-22 12:56:26
445
原创 CMake构建学习笔记28-gmp&mpfr库的构建
介绍了如何使用自动化构建工具 BuildCppDependency 在 Windows 和 Linux 平台编译 GMP 与 MPFR 库,并展示了基于 Autotools 的 Linux 构建脚本细节。
2025-11-21 09:09:47
450
原创 CMake构建学习笔记27-初步完成C&C++自动化构建工具
BuildCppDependency是一个轻量级、跨平台的C/C++依赖库自动化构建工具,内嵌源码、无需外部依赖,支持完全离线构建并统一处理多种构建方式。
2025-11-21 09:07:56
602
原创 CMake构建学习笔记26-OpenBLAS库的构建
本文介绍在 Windows 下用 CMake 构建线程安全的 OpenBLAS,详解关键选项与多线程协同方法。
2025-11-20 09:07:24
1059
原创 C++信创适配踩坑记
记录了在国产信创环境(如银河麒麟 ARM64)下适配 C++ 项目时,通过配置 openEuler 软件源、自编译 GCC 9 并管理多版本编译器,最终成功解决运行时与依赖库问题的实战经验。
2025-11-20 09:03:49
1367
原创 最小二乘问题详解8:Levenberg-Marquardt方法
本文系统讲解了Levenberg-Marquardt方法的原理、算法流程与C++实现,阐明其如何通过自适应阻尼在Gauss-Newton与梯度下降之间智能切换,从而高效稳健地求解非线性最小二乘问题。
2025-11-04 20:53:58
1010
原创 最小二乘问题详解7:正则化最小二乘
本文系统阐述了正则化最小二乘(岭估计)的动机、理论推导、求解方法与数值实例,揭示其通过L2惩罚项改善病态问题和过拟合的机制。
2025-10-31 22:05:37
561
原创 最小二乘问题详解6:梯度下降法
介绍了使用梯度下降法求解非线性最小二乘问题的原理与实现,通过C++和Eigen库对指数模型进行参数拟合,展示了算法流程、雅可比矩阵计算及收敛行为,并对比了其在机器学习与计算机视觉中的应用差异。
2025-10-28 21:21:48
938
原创 最小二乘问题详解5:非线性最小二乘求解实例
通过拟合非线性函数的实例,详细讲解了非线性最小二乘问题中Gauss-Newton方法的实现过程,并给出了基于Eigen库的C++代码示例及收敛分析。
2025-10-16 20:05:10
1104
给Markdown渲染网页增加一个目录组件(Vite+Vditor+Handlebars)
2025-06-12
解决Vditor加载Markdown网页很慢的问题(Vite+JS+Vditor)
2025-06-03
使用Vditor将Markdown文档渲染成网页(Vite+JS+Vditor)
2025-05-30
【遥感与地理信息系统】高分辨率卫星影像真正射影像生成的替代方法比较分析:针对线阵相机场景的优化技术
2025-05-08
【遥感与地理信息系统】基于多边形的真正射影像生成技术:隐藏区域检测与补偿方法设计
2025-05-08
《COM组件设计与应用》系列文章和代码
2025-04-24
热力图生成算法的具体实现(C++,OpenCV)
2022-05-21
Draco解压缩Mesh的示例
2022-05-18
gmp-6.2.0.7z
2020-03-16
格网DEM生成不规则三角网TIN
2021-05-02
Resource.7z
2020-05-23
Graphing.7z
2020-03-17
WebGLTutorial-master.zip
2019-12-08
ImgViewer.zip
2020-02-23
Git如何删除历史提交
2024-08-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅