正版资源OpenGL-自主高性能三维GIS平台架构与实现-第二季(价值2999)
《OpenGL-自主高性能三维GIS平台架构与实现-第二季(价值2999)》92861afd67f368d23037a136cc6b2710_format,webp.webp (96.26 KB, 下载次数: 50) 下载附件 保存到相册 2025-3-2 01:45 上传【技能收获】学完可掌握:核心实战技能、项目驱动学习。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;每完成 2~3 节可结合笔记整理一份学习小结,最终尝试独立复现一套完整 Demo 写入个人作品集。【
支付成功后自动发货,可在「我的订单」查看网盘链接;链接失效可联系客服免费补链。
这套资料的主题很明确:用 OpenGL 从零搭一个自主可控的三维 GIS 平台,而且是第二季。如果你第一季跟过,大概知道它的重心放在渲染管线打通、坐标系与投影、瓦片调度这些底层环节;第二季则进入平台化的架构层,处理的是"能跑起来"到"能承载业务"之间的工程差距。
技术栈与选型思路
核心是 OpenGL,并且是偏现代的那一套:着色器程序管理、VBO/VAO 组织、帧缓冲与离屏渲染,而不是早年固定管线的写法。围绕这个核心,通常还牵扯到数学库(矩阵、四元数、视锥体计算)、影像与地形数据的解码、以及一个用于线程调度和资源加载的基础设施层。这套组合的意义在于,它不依赖商业引擎,所有环节都暴露在你面前,遇到性能问题可以从 CPU 端的场景图一路查到 GPU 端的 draw call 和状态切换。
读这份资料时,建议先确认它的 GL 上下文创建方式(GLFW 还是 Qt)和版本约定,因为这决定了后续大量代码的写法。很多人在这一步没对齐,后面看到 glBindVertexArray 之类调用会误以为是旧代码。
平台架构里值得拆出来复用的部分
三维 GIS 平台的难点不在单个渲染技巧,而在几个横切模块,这些模块单独拿出来也能放进别的项目:
- 相机与场景组织:地球半径级别的坐标怎么用浮点表达才不抖,相机控制如何与瓦片层级联动。
- 瓦片调度与 LOD:四叉树或类八叉树的节点划分、可见性剔除、异步加载队列与优先级。这是决定平台能否流畅的关键,也是最容易写出内存泄漏的地方。
- 资源管理层:纹理、地形高程、矢量数据的缓存与释放策略,通常需要引用计数加后台线程配合。
- 渲染状态封装:把 GL 的状态切换收敛成一层薄封装,避免散落在业务代码里。
这四块如果能独立跑通,你就拥有了一个可迁移的三维渲染底座,而不只是某个具体项目的代码。
怎么用它自学,而不是当视频刷
这类资料最大的浪费方式是"看完就过"。更有效的做法是:先只看架构章节,把模块边界和数据流向画成一张图,然后关掉视频自己写一遍接口声明。等接口定下来,再回来看具体实现,重点比对差异——为什么要在这里加锁,为什么这个缓冲要复用而不是重建。
每两到三节整理一次笔记,但笔记不要抄代码,写三样东西:本节的输入输出是什么、关键数据结构长什么样、有哪些隐含假设(比如"假设瓦片已经解码完成")。这些假设往往就是后续章节要填的坑。
适合什么样的开发者
它不适合完全没碰过图形 API 的人,也不适合只想调库快速出图的人。它适合已经会用 OpenGL 画三角形,但不知道一个真实三维 GIS 系统的代码该如何分层、如何调度资源、如何在几百万面片下维持帧率的人。如果你手头正有一个自研三维可视化项目,需要参考一套可对照的架构,这份资料的参考价值会比单纯看官方文档高不少。
学习顺序上,建议先建立整体架构认知,再进入具体渲染与调度章节,最后尝试脱离资料独立复现一个最小可运行版本——能加载地形、能旋转缩放、能按层级加载瓦片,就算过关。
92861afd67f368d23037a136cc6b2710_format,webp.webp (96.26 KB, 下载次数: 50) 下载附件 保存到相册 2025-3-2 01:45 上传
课程推荐
《OpenGL-自主高性能三维GIS平台架构与实现-第二季(价值2999)》92861afd67f368d23037a136cc6b2710_format,webp.webp (96.26 KB, 下载次数: 50) 下载附件 保存到相册 2025-3-2 01:45 上传【技能收获】学完可掌握:核心实战技能、项目驱动学习。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;每完成 2~3 节可结合笔记整理一份学习小结,最终尝试独立复现一套完整 Demo 写入个人作品集。【就业发展】可面向岗位:Linux 运维工程师、SRE、云计算工程师、DevOps 工程师。云原生与自动化运维仍是企业 IT 刚需方向,认证 + 实战项目组合能显著提升面试通过率,适合向中高级运维或架构岗进阶。 若你已有一定编程或运维基础,本课程可帮助你在现有技能栈上快速叠加热门方向能力,提升求职时的项目说服力与薪资谈判空间。
视频目录(94 节)
* 1 开题介绍-视频最后展示-成果.mp4
* 2 DEM基础介绍.mp4
* 3 DEM基础.mp4
* 4 DEM数据结构定义.mp4
* 5 wgs84投影.mp4
* 6 wgs84投影-算法实现.mp4
* 7 智能指针重构框架.mp4
* 8 引入图层(Layer).mp4
* 9 Layer-bug排查(绘制过程中出现错位偶发).mp4
* 10 引入数据源(TileSource).mp4
* 11 数据格式管理(FormatMgr).mp4
* 12 Task(任务)优化.mp4
* 13 DEM-数字高程定义.mp4
* 14 高程瓦片数据读取.mp4
* 15 高程瓦片文件的读取.mp4
* 16 瓦片数据结构重构.mp4
* 17 DEM重构绘制流程.mp4
* 18 DEM-数据精度问题(CPU).mp4
* 19 DEM-数据精度问题(LogDepth).mp4
* 20 DEM-数据结构优化.mp4
* 21 DEM-GPU缓冲区优化.mp4
* 22 瓦片生成优化对象池.mp4
* 23 **任务系统支持对象池.mp4
* 24 重构CPU拾取流程.mp4
* 25 绘制拾取结果.mp4
* 26 任务系统完善避免任务队列无线膨胀.mp4
* 27 如何避免瓦片数据抖动.mp4
* 28 瓦片数据管理-fepk文件格式支持-全球数据加载.mp4
* 29 fepk高程数据读取.mp4
* 30 高程**处理.mp4
* 31 lesson-734-高程瓦片**处理(2)-算法实现.mp4
* 32 高程瓦片**处理(3)-问题排查.mp4
* 33 高程瓦片**处理(4)-(后代节点更新问题).mp4
* 34 瓦片视锥裁剪错误.mp4
* 35 lesson-738-http服务.mp4
* 36 lesson-739-http服务-DEM.mp4
* 37 **系统-为支持三位球做准备.mp4
* 38 lesson-739-投影接口完善-支持三维坐标.mp4
* 39 三维球体实现-里程碑.mp4
* 40 三维球体实现-完善.mp4
* 41 lesson-744-三维球体实现-问题排查-v1.mp4
* 42 三维球体实现-高程适配.mp4
* 43 三维球体实现-单浮点精度问题.mp4
* 44 三维球操作器(相机操作)完善.mp4
* 45 把模型放置到地球上.mp4
* 46 三维球体实现-放置模型-算法适配-vs2022.mp4
* 47 法线计算.mp4
* 48 顶点法线计算共享法线计算.mp4
* 49 法线数据压缩.mp4
* 50 GPU中计算产生法线数据(去掉CPU中计算).mp4
* 51 自定义数据源绘制.mp4
* 52 引入shp矢量数据(加载shapefile).mp4
* 53 shapefile解析成要素数据.mp4
* 54 shp绘制2(逻辑实现).mp4
* 55 shp绘制(3) 绘制实现验证.mp4
* 56 多影像图层支持加载卫片与路网.mp4
* 57 四叉树图层相关改制支持多图层.mp4
* 58 lesson-755-shp绘制(4)-优化.mp4
* 59 lesson-756-shp-多文件以及投影.mp4
* 60 lesson-757-shp-多线程优化.mp4
* 61 lesson-758-shp-agglite.mp4
* 62 lesson-759-图层融合.mp4
* 63 lesson-760-(任意)图层融合-优化.mp4
* 64 lesson-761-白膜-投影转换(proj4).mp4
* 65 lesson-762-白膜-数据解析.mp4
* 66 lesson-763-白膜-GeometryDefine.mp4
* 67 lesson-764-白膜-2DBuildingTo3DGeometry.mp4
* 68 lesson-765-白膜-Node.mp4
* 69 lesson-766-白膜-Node2.mp4
* 70 lesson-767-白膜-绘制(流程).mp4
* 71 lesson-768-白膜-绘制(GPU法线计算).mp4
* 72 lesson-769-白膜-绘制(性能优化1).mp4
* 73 lesson-770-白膜-绘制(性能优化2).mp4
* 74 lesson-771-白膜-绘制(性能优化3).mp4
* 75 lesson-772-白膜-绘制(性能优化4) -绘制问题排查.mp4
* 76 lesson-773-白膜-绘制-优化(5)-性能优化.mp4
* 77 lesson-774-白膜-凹多边形处理成凸多边形.mp4
* 78 lesson-776-白模-光照效果修复.mp4
* 79 lesson-775-白模-绘制命令优化.mp4
* 80 lesson-800-QT-Widget.mp4
* 81 lesson-801-QGisWidget(2).mp4
* 82 lesson-802-QGisWidget(3).mp4
* 83 lesson-900-browerse(原理学习).mp4
* 84 lesson-901-拖拽地球.mp4
* 85 lesson-902-browerse-拖拽完善.mp4
* 86 lesson-903-重力系统-动画框架-基础实现.mp4
* 87 lesson-904-browerse-相机动画.mp4
* 88 lesson-905-browerse-相机动画(功能调试).mp4
* 89 lesson1000-开发环境建立.mp4
* 90 lesson1001-vulkan对象.mp4
* 91 lesson1002-vulkan对象-取消OpenGL库.mp4
* 92 lesson1003-vulkan对象-接口实现(纹理).mp4
* 93 lesson1004-vulkan对象-Shader修改.mp4
* 94 lesson1005-vulkan对象-VBO接口实现.mp4
课程目录
课程目录92 集
- 1 课程介绍.mp4
- 100 瓦片插件-Shapefile(Shp)瓦片.mp4
- 101 801-架构设计-矢量.mp4
- 102 802-架构设计-矢量接口实现(shp文件解析).mp4
- 103 803-架构设计-矢量接口实现(shp文件解析.mp4
- 104 804-架构设计-矢量接口实现(shp文件解析)..mp4
- 105 805-架构设计-矢量接口实现(shp文件解析).mp4
- 11 框架之多线程绘制.mp4
- 12 框架之多线程绘制(2).mp4
- 13 上下文管理(框架数据结构).mp4
- 14 上下文管理(框架数据结构)-资源管理.mp4
- 15 上下文管理(框架数据结构)-资源管理2.mp4
- 16 上下文管理(框架数据结构)-纹理管理.mp4
- 17 上下文管理(框架数据结构)-Image.mp4
- 18 鍒涘缓3D鍦烘櫙.mp4
- 2 绐楀彛寤虹珛.mp4
- 21 摄像机控制.mp4
- 22 摄像机控制-鼠标缩放.mp4
- 23 三维向量实现包围盒包围球.mp4
- 24 包围盒计算通用化以及变化更新.mp4
- 27 坐标转换,实现经纬度世界坐标窗口坐标.mp4
- 29 射线的应用-三角形相交.mp4
- 3 环境配置.mp4
- 30 射线的应用-拾取.mp4
- 31 摄像机的完善.mp4
- 32 优化完善框架-资源数据优化处理.mp4
- 33 优化OpenGL线程上下文处理.mp4
- 35 摄像机原理介绍.mp4
- 36 第三人称摄像机.mp4
- 37 摄像机的旋转-中心点.mp4
- 38 代码整理封装.mp4
- 39 摄像机的旋转-任意点.mp4
- 3dmap-107课时.zip
- 4 窗口类的抽象封装.mp4
- 40 摄像机缩放-任意点推进.mp4
- 41 摄像机移动漫游.mp4
- 42 场景管理的知识介绍OctreeQuadTreeBSP.mp4
- 44 瓦片Id计算&坐标转换.mp4
- 45 场景管理-四叉树-初步.mp4
- 46 场景管理-四叉树-框架.mp4
- 47 场景管理-四叉树-框架2.mp4
- 48 场景管理-四叉树-节点分割退化.mp4
- 49 场景管理-四叉树绘制.mp4
- 5 上下文管理(OpenGLSetup).mp4
- 50 场景管理-四叉树-瓦片加载.mp4
- 51 场景管理-四叉树-无数据处理.mp4
- 52 场景管理-四叉树-无数据处理(2).mp4
- 53 场景管理-四叉树-无数据处理-方式2.mp4
- 54 场景管理-四叉树-无数据处理-方式2-数据不全处理.mp4
- 55 场景管理-四叉树-优化操作-总结.mp4
- 56 场景管理-四叉树-优化操作-总结.mp4
- 57 数据管理-异步数据加载.mp4
- 58 任务系统-线程模型(生产者与消费者).mp4
- 59 任务系统-线程间通讯的基础.mp4
- 60 任务系统-接口定义实现.mp4
- 61 任务系统-框架实现.mp4
- 62 任务系统-框架实现(2).mp4
- 63 任务系统-打通流程.mp4
- 64 任务系统-OpenGL数据流程.mp4
- 65 任务系统-流程优化.mp4
- 66 任务系统-流程优化2.mp4
- 67 影响性能的因素(时间都去哪里了).mp4
- 68 API调用时间原理分析.mp4
- 69 顶点数据打包.mp4
- 7 浜嬩欢澶勭悊.mp4
- 70 顶点数据打包-索引方式.mp4
- 71 纹理打包(方式1).mp4
- 72 纹理打包(方式2-数组cache).mp4
- 73 纹理打包(方式2-数组cache)2.mp4
- 74 降低绘制数据量.mp4
- 75 优化节点(不可见处理).mp4
- 76 优化节点(不可见处理)2.mp4
- 77 优化节点(不可见处理).mp4
- 78 纹理压缩.mp4
- 79 cache锛堢紦瀛橈級.mp4
- 8 获取OpenGL高版本功能.mp4
- 81 框架设计原理.mp4
- 82 利用dll(动态链接库)重构架构.mp4
- 83 主工程的接口设计与实现.mp4
- 84 改进完善代码支持嵌入到其他窗口中.mp4
- 85 外部输入事件处理.mp4
- 86 瓦片插件-任意格式瓦片支持.mp4
- 87 瓦片插件-任意格式瓦片支持2.mp4
- 88 瓦片插件-任意格式瓦片支持3.mp4
- 89 瓦片插件-任意格式瓦片支持4.mp4
- 90 瓦片插件-任意格式瓦片支持5.mp4
- 91 图源插件应用-TMS图源加载.mp4
- 95 瓦片插件-通用插件(1).mp4
- 96 瓦片插件-通用插件(2).mp4
- 97 瓦片插件-通用插件(3).mp4
- 98 瓦片插件-用户自定义绘制.mp4
- 99 -瓦片插件-GDI多线程绘制.mp4




